MacでAVRISPmkIIを使う場合のクロック指定

AVRISPmkIIはATMEL純正のAVRマイコン書き込み器です。

公式ではWindows専用ですがフリーのAVRDUDEを使用することでMacからでもソフト開発・書き込みを行うことができます。(参考

USBドライバもセットになっているのでインストールは簡単です。

しかし環境依存か分かりませんがそのまま使うと非常に遅いという問題があります。どれぐらい遅いかというと8KBの書き込みに20分かかるという有様。

これでは実用にならないので対策を検索したのですが、特に見つからなかったので自分なりの対処をメモしておきたいと思います。

通常はターミナルからAVRDUDEを実行させます。(hexファイルやマイコン種別はそれぞれのケースに合わせて変更してください。例ではmega328pを使っています。)

例)avrdude -p m328p -c avrispmkII -P usb -U flash:w:main.hex:i

これで書き込みが非常に遅い(clkを計測したら40Hzぐらいだった)場合、ターミナルモードにしてクロック幅を指定します。

ターミナルモードにするには-tオプションを用います。

例)avrdude -p m328p -c avrispmkII -P usb -U flash:w:main.hex:i -t

プロンプトが出たらsckコマンドでクロック幅を指定します。値はμs単位です。値は一例です。

例)avrdude> sck 20

ターミナルを抜けると書き込みが始まります

例)avrdude> quit

これで実用的な速度になりました。