2010年12月10日金曜日

Tiny85以外のTinyにFastbootをテストする。

Tiny13/45 この二個は、DIPでリセッタを作ったので安心してPB5を使えるようにResetをOFFにしてる。LVPのISPでもう書けない状態でテスト。


Tiny13(9.6MHz Reset OFF)

C:\>fboot /c4 /b115200 /vt45Blink.hex
COM4 at 115200 Baud: Connected
Bootloader V2.1
Target: 1E9007 fbDEF
Buffer: 32 Byte
Size available: 542 Byte
Hex-file to large for target!

Tiny45 (8Mhz Reset OFF)

C:\>fboot /c4 /b115200 /pBlink.cpp.hex
COM4 at 115200 Baud: Connected
Bootloader V2.1
Target: 1E9206 fbDEF
Buffer: 64 Byte
Size available: 3582 Byte
Program Blink.cpp.hex: 00000 - 00325 successful
CRC: o.k.
Elapsed time: 1.69 seconds

Tiny2313 (8MHz Reset ON)

C:\>fboot /c4 /b115200 /pt45Blink.hex
COM 4 at 115200 Baud: Connected
Bootloader V2.1
Target: 1E910A ATtiny2313
Buffer: 32 Byte
Size available: 1566 Byte
Program t45Blink.hex: 00000 - 00325 successful
CRC: o.k.
Elapsed time: 1.81 seconds

Tiny13は、Hexが大きすぎると出てるが他はちゃんと書き込めてるからOKだろう。
書き込めるメモリー量や、バッファの差に注目、ちゃんと認識されてます。

DOS版のFBOOTが書き込めるAVR
1e9007 : ATtiny13
1e910a : ATtiny2313
1e9205 : ATmega48
1e9206 : ATtiny45
1e9207 : ATtiny44
1e9208 : ATtiny461
1e9306 : ATmega8515
1e9307 : ATmega8
1e9308 : ATmega8535
1e930a : ATmega88
1e930b : ATtiny85
1e930c : ATtiny84
1e930d : ATtiny861
1e930f : ATmega88P
1e9403 : ATmega16
1e9404 : ATmega162
1e9406 : ATmega168
1e9501 : ATmega323
1e9502 : ATmega32
1e9609 : ATmega644
1e9802 : ATmega2561


これがデフォルトのDEFファイルの中身だから、シグニチャーさえ調べて追加すれば、他のも対応出来ると思う、気がつくとこだと、ATmega328Pや、644Pが無いが・・書き足せば動くと思う。
マイコン用の方は、基本的に、AVRStudioのASMなので、MCUのdefを変更して、周波数とソフトシリアルで使うポートとか設定すればいい訳だ。
試していないが、ソフトシリアルを使ってるって事は、mega系のUARTポートで無くてもいいのかも知れない。

ちょっと心配なのは、今回書き込んでのは、昨日T85用にArduinoで作ったコードを、T45に変えて、再コンパイルした物なのだが・・
T45で動作していない。

たぶんHEXと、MCUとの関係は問題無いはずなので、昨日のと差は、DOSか、MACか(書き込んだアプリが違うMACは最新版だから、DOS版のバグの可能性)・・コードと別に、イニシャルを書き込めるタイプなので、そこに、自動起動とかの設定があり、その設定を、MAC版はしてるが(最後にアプリケーションスタートって出てるから)DOS版はしてない可能性。
このどちらかなんだと思うが・・どっちみちプロトコルの方に入るので、ほったらかして先に進む。

<<動かないの件>>
解消しました。単に、Reset止めた場合、オートリスタートしないから、もう一回電源を入れ直せば動く・・が正解でした。それと、Ardinoの方のコード見直したら・・動くわけ無いじゃん・・でした。(LED PINが、13番と、15番って・・T45にありえない訳だし)


T13・・・543Byteしか残らない問題・・PIC10F200のコードも書く私から見れば・・ブートローダー込みでこの状態なら、目的にもよるが無理じゃ無い気はするんですが・・
(ただ先日もらった見積で、t13と、t85の価格差が、20円なら・・t45とt85に至っては5円しか違わないなら、t85だけでいいかーーと言う感じに・・・)
T13のSOPが、一回り小振りなのが、惜しいんですけどねーーt25って有るらしいけど、たぶん、やっぱ大差無いし、大きいし・・(大きいと言っても、横幅が、6mmか8mmかの差ぐらいの話ですが)

T2313はデスコンだそうで・・・秋月の在庫が有る限り、DIPなら供給されると言う事らしいです。現実的な話し、t84とか、t861に行って、Arduinoに依存する形の方が色々便利かも知れません。

特にアマチアの場合、開発速度とか考えると、8KBクラスのTinyならArduinoで使えるから、安定したライブラリが得られますから・・
単なる2発の、LEDチカチカで805Byte食いましたから、最低でも4KBは欲しいですね。余裕見て8KBはいい線だと思います。

Arduino以外の開発環境を持ってるならば、若干話が違います。600Bでも書けてしまうのも有りますからブートローダーが半分食うのは苦しいけれど、PB5のリセットPIN無しで、外から書き換え出来るのは、悪い話では無いですから、これの開発も続けます。


0 件のコメント:

コメントを投稿