スキップしてメイン コンテンツに移動

Fastbootのネタ配布

ソースコードと私がコンパイルしたHEXファイルです。
ここ

中身はこんな感じ

Fastboot_tiny13_9MhzR1T0.hex Fastboot_tiny45_8MhzR1T0.hex
Fastboot_tiny2313_10MhzRxD0TxD1.hex Fastboot_tiny84_1MhzR1T0.hex
Fastboot_tiny2313_12MhzRxD0TxD1.hex Fastboot_tiny84_8MhzR1T0.hex
Fastboot_tiny2313_16MhzRxD0TxD1.hex Fastboot_tiny85_1MhzR1T0.hex
Fastboot_tiny2313_1MhzRxD0TxD1.hex Fastboot_tiny85_8MhzR1T0.hex
Fastboot_tiny2313_20MhzRxD0TxD1.hex Fastboot_tiny861_1MhzRxB0TxB1.hex
Fastboot_tiny2313_8MhzRxD0TxD1.hex Fastboot_tiny861_8MhzRxB0TxB1.hex
Fastboot_tiny45_1MhzR1T0.hex

ややこしいファイル名なのは、8ピン系は、Bポートしか無いので、R1T0は、RxPort RB1 TxPort PB0 の意味です。tiny84 tiny861とかもPortBです、Tiny2313だけ本来のRxTxに当ててます。(でもソフトシリアルです・・起動後、普通にUARTでコード書いて平気です)
2313だけは周波数バリエーションを増やしました。他は、内蔵クロック用です。(あんまり意味無いとおもってるから)

コンパイルは、ここを参照


UNIX MAC のローダーソフトはここのリンクに有ります。個々のMakeしなきゃいかんので、添付してません。
Windows版は、上のソースと一緒に入ってます。(元々入ってたから)

私が適当に作った時の、AVRStudioのプロジェクトファイルも入ってますから、それ開いて、Fboot21_a.asmの使いたいMCUを書き換えて、使いたいポートを決め、(別のファイルのFASTLOAD.Hの)周波数書き込めば、コンパイル出来ます。

Fboot21_a.asm内の、xxxxxx.incは、AVRStudioが持ってるファイルなので、Fboot21_a.asm内に記載の内、m328p,incとか書いてもビルド出来ます。

このまんま処理出来るのは、tiny13からmega2561までですが、フォーラムに、ATxmegaの説明も有りました。

一線式にするには、もう二カ所書き換えが必要だとフォーラムに有りました。

でんし研氏のとこに有る、Tiny45のISPの半二重に回路の方が簡単なので、私はそれを採用する気です。
Stk500自体が元々、半二重通信だそうで、これもFastbootも同じ論理で出来てるらしいです。

フォーラムに、AVRDUDEのパッチが有るのですが・・「すいません、私この分野は専門じゃ無いので解りません。」・・・差分バイナリーをパッチするとか、ネット検索したら出てきました。

ここの置いた、Fastboot ブートローダーは、試しに作って見た物で・・ピンアサインとか最終的に変えると思います。
(別な物で試した時に、Tiny45は、Rx=PB1でしか動かなかったので、それを継承してしまってます)
本国のフォーラムだと、Rx=PB5も有りって言う感じなので・・ポート番号を分断されるよりは、末番あたりの置いた方が楽だろうと感じてます。

tiny45/85のArduino コアはここに有ります。

Fastbootに書き込む場合、Boads.txtを
Tiny45
arduino_attiny45s.upload.maximum_size=3327
Tiny85
arduino_attiny85_8m.upload.maximum_size=7424
に書き直しておけば、これより大きなHEXが出来そうなら警告が出ます。

現在そのまんま書き込みは出来ないので、コンパイルして、FBOOTで、書き込む感じになります。

ダウンロード出来るようにした、HEXでもPB5を止められるのは確認済みですが、止めると、ISP出来なくなりますので、お試しは、RESETをI/Oにしない事をお勧めします。(高電圧書き込み出来るライターやら、リセッターをお持ちで意味が解る方なら、試してみて下さい。・・そこまで持ってれば、AVRstudioで自前でコンパイル出来る人だと思いますし・・)


Optibootより、圧倒的に守備範囲が広く、BPS指定が必要無い自動認識なので・・こっちの方が便利だけど・・Arduinoや、Avrdudeが対応してないから、直接書き込めない事はご理解下さい。

tiny13に書いて、何かに使えないか考えるのも、一興だと思います。



コードで私がいじった処は、待ち時間を、1秒に延ばした処だけです。
(私はそんなに急いで無いので・・原型は0.3秒でした)


書き込みタイミングは
Reset端子が生きてれば、Arduino互換のDTRリセット機構で、大丈夫です。
Optibootと違って、電源投入時にも、Bootloaderが、1秒(ここは私の改造)起動しますから電源のあたりにスイッチ付けてリセット代わりにも出来ます。
(このDTRの件と、電源断リセットで意味が解る方なら、回路は簡単ですね、トランジスタで、電源切っちゃえばいいだけです)
これに半二重通信モードを使えば、全部で3本しか電線は必要有りません。
(これやる場合は、再コンパイルしないとダメです)


コメント

このブログの人気の投稿

楽天 不正利用の顛末

楽天から届いたポイントメール 事の起こりはこのメールからだった・ 「へえ、俺楽天に、1500ポイントばかり有るけど、これって、1500円って事?」とTwitter仲間に話して、「そうだよ、ずいぶん買い物したねー」と言われて気付いた・・私は少なくともここ2年以上、楽天なんか使って無い! パスワードさえ本人が忘れてるような楽天のポイントが増えるのはおかしい。 パスワードをリセットして、初めて、「楽天ポイントの確認」なんかに入ってみた。 「えーっとたしか5年くらい前にVoIPの部品買った記憶はある」 確かにそれは存在したただし、合計1万円にも満たない・・ 「楽天って豪気だなー、ポイント一割もくれるのかー」と思ったが、全部を確認すると・・全くいわれの無い買い物がそこに有った。 何この14万のオーディオらしき物って! 僕は実際、楽天にポイントが有る事さえすっかり忘れていたし、どーでも良い会社だった。 これは何・・楽天に登録されてる僕のカードはこの時点で確実に失効してるので、僕のカード支払いでは無いし、こんな請求が来た事は無い。 2011/6/30 知人に聞くと、「楽天の店って、ノルマ高いから良く有る」との事・・こうやって、ほとんど休止してるアカウント悪用してる可能性が高いのだ。 こんなのが横行してたら、楽天の売り上げ高なんか、イカサマでいくらでも作れる事になる。 そしてまず、楽天のヘルプから苦情を投稿し、頭に来たので、三木谷氏のツイッターに送信した。 https://twitter.com/#!/hmiKitani Twitterの方が早く 楽天市場CS @ RakutenIchibaCS と名乗るとこから・・ 「 楽天市場お客様窓口担当です。この度はご心配をおかけいたしまして申し訳ございません。現在のところ、弊社から情報が漏洩したという事実はございませんが、お客様の現状を確認し、別途サポート担当より連絡をさせていただきます。今しばらくお待ち下さい。」 と来て 「なんで、公式のメールの方は帰って来ないのかと返信したら」 楽天市場CS  @ RakutenIchibaCS 「楽天市場お客様窓口担当です。この度はサポートセンターからの回答が遅れ、申し訳ございません。先ほど、ご質問の件に関しまして返信をいたしましたので...

私流USB-miniBコネクタのユニバーサル基板への装着法

私が一番使うUSBコネクタです。 秋月のこれ です。 普通のBコネクタに次いで安いのでいので良く買います。 普通のBコネクタより配線しやすく小さくて好きです。 まず4番ピンを切っちゃいます。 これは、IDと言われてますが、USBケーブルは4本しか通って無いので・ USB Ver3用かな??基本的に不要です。 残りのピンを曲げます。 こうゆうBコネクタも売ってるのですが200円で3個か4個かの差で ・・いつもこれです。 端子の先っぽを広げ、貫通用の端子を切ります。 貫通固定用端子は、ニッパで簡単に切れます。 基板の取り付け位置を決めてちょっと印します。 固定したい端子部分のランドをカッターで割ります。 私は、100円ショップのデザインカッターでやりました。 割った後テスターで通電確認しといて下さい。 半田を盛っておきます。 この辺から、SOP-ICの固定方法と同じです。 真ん中の一番短いのから固定します。 この状態で完全にブリッジしてますね・・ 気にしなくて大丈夫です。 ピン番号で2−3−1−5の順番で固定すると楽です。 真ん中の端子をハンダゴテで暖めてから半田吸い取り機で シュポンと一発すると、無駄な半田が取れます。 大体これでブリッジが解消します。 コツはあんまり一生懸命半田を吸い取らないように軽くやる事です。 この後、テスターで確認します。 ケースを基板に固定します。 5番ピン側シェルの固定の時に5番ピンからジャンパを飛ばして おきます。これでシェルごとGNDになり反対側から UVCCと並べてGNDを出したい時とかシェルから引けます。 この後通電をしっかり確認しましょう。 これで通電状況は、普通の図面通り、この上の写真で言うと、奥から、1-2-3-4(UVCC / D- /D+ /GND)になります。シェルからGNDを引けば、(GND/VCC/D-/D+)に出来、一個進んだ先のランドで、一列に並べる事が出来ます。 mega8u2や、V-USBの場合D-D+には、3.3vの制限ダイオードが必要なので次のランドでそれを繋いでしまいます。シェルグランドを応用すれば両側から出せますから綺麗にその列で整理してしまえます。 D- D+はその次のランドで、SOPの抵抗を付けてしまえば最短距離でICに接続を始められます。 コツはダイオードを付けてからだとUVCCが引っ...

秋月の低ハイト、ピンソケット

最初どうかなーー抜けやすかったら嫌だなあと思ったが、さすがにそうならない努力してあるらしく、パチンと言う感じではまる。長いソケットが、刺さる感じなのにこれは、はまる感じなのだ。 ソケットはともかくピン側は結構扱いに困る・・このままブレッドボーボードには刺さらない。丸ピンにも刺さらないから、相手に出来るのは、専用のソケットだけになる。 ただ、いいなあと思ってるのは、これをISPにすると、パチンとはまる事と、ピン側の高さが制限されて、AVRや、PICの基板に無骨に突っ立っていた、ISPコネクタのハイト下げられる。 低ピン→ブレッドボード × 低ピン→標準ピンソケット × 低ソケット→低ピン ○ (ピンはこれ以外の組み合わせを確認できていない) 低ソケット→標準ピン ○ 低ソケット→細ピン ?? 低ソケット→丸ピン × と言う関係なので、ISPには使える。古いISPコネクタと併用出来るから、ソケットにはいいのだ・(はみ出るけど) ISPのハイトが下がると、基板全体が薄くなる可能性が、SMDとかにある。・・薄くするためにDIP ICをソケット無しで、直接半田付けしちゃう私なんかも・・このハイトは助かる。