2007年03月28日

Windows で avrdude

USB910 向けに高速化した Windows 用 avrdude を作ってみることにしました。

ビルド環境は、MinGW/MSYS を使うことにします。

linux向けに作ったパッチをあてて configure したら (一行だけ修正が必要でしたが)ビルドできてしまいました。uisp と違ってこういうところはいいですね。(作る側が楽)。

さて本当に動くのか確認。avrdude.exe と avrdude.conf を同じディレクトリに置いて動かしてみます。

D:\>avrdude -F -p t861 -c avr910 -P COM4 -U flash:w:usb910a.hex
Found programmer: Id = "USB910A"; type = S
Software Version = 2.4; Hardware Version = 2.4
Programmer supports auto addr increment.

Programmer supports the following devices:
Device code: 0x20 = ATtiny84

avrdude: warning: selected device is not supported by programmer: t861
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e930d
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "usb910a.hex"
avrdude: input file usb910a.hex auto detected as Intel Hex
avrdude: writing flash (6946 bytes):

Writing | ################################################## | 100% 14.05s

avrdude: 6976 bytes of flash written
avrdude: verifying flash memory against usb910a.hex:
avrdude: load data flash data from input file usb910a.hex:
avrdude: input file usb910a.hex auto detected as Intel Hex
avrdude: input file usb910a.hex contains 6946 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 5.28s

avrdude: verifying ...
avrdude: 6946 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done. Thank you.


...なんか動いてしまいました。違うのは性能だけ。


書き込み ベリファイ
Windows 高速化なし   15.58s 7.47s
Windows 高速化版 14.05s 5.28s
Linux 高速化なし 30.38s 13.90s
Linux 高速化版 6.58s 3.49s


Windows はなにもしなくてもソコソコ早いかわりに、チューニングがほとんど効かない。Linux は、なにもしないとすごく遅いけど、チューニングすると何倍も早くなる結果でした。-- OS の性質がもろ出ているようで面白いですね。

ビルドしたものを avrdude-usb910.zipとして置いておきます。(必要ない人も多いと思いますが、GPL なのでソースもまるごと入れました。)
もし、USB910を Windows で使いたい人がいれば使ってみてください。
追記1:
MinGW/MSYS はビルド環境です。この avrdude.exe を動かすだけならインストールする必要はありません。
追記2:
これをビルドした環境も実は古かったので、最新版 MinGW-5.1.3/MSYS-1.0.10 を試してみました。なぜか libhid 関係で undefine のエラーが出て make でエラーになりました。 ser_avrdoper.c で #undef HAVE_LIBHID を入れると ビルドできました。参考まで。
追記3:
WinAVR を使っていれば、それに添付されている avrdude にパスが通っています。混同しないように avrdude-910 とか rename して、WinAVR/bin に置くのが良さそうです。
posted by すz at 19:01| Comment(0) | TrackBack(0) | USB910B
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/30760384
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック