Top Page Index About Link Mail Form |
※avrdude-GUIを作りましたのでそちらもご利用ください。
AVR-Doperは STK500(Ver.2)互換なのですが、書き込むプログラムサイズが大きくなると AVR Studeo 4などから使った場合に動作が不安定になるようです(2007年6月現在)。WinAVRに含まれる avrdude.exe を使った方がいいでしょう。
avrdudeの Windows用実行ファイルは WinAVRに含まれます。AVR-Doperを使うには avrdude バージョン 5.3.1以降が必要で、WinAVR-20070525 に入っています。インストールファイルをダウンロードして実行して下さい。
インストールの際の言語を選択します。Japaneseでいいでしょう。
インストール開始〜。
ライセンスの確認。
インストールするフォルダを選択します。デフォルトのままでいいと思います。
ここも通常はデフォルトでいいと思います。しかし、GCCなどの開発環境としては旧バージョン(20060421版)の方がまだ安定しているようです。avrdudeのみ最新版を使い、他のツールは旧バージョンを使う場合は下の画面のようにして下さい。
旧バージョンを残して開発環境はそちらを使い、avrdudeの最新版だけ使いたい場合はこの画面のように「Add Directories to PATH (Recommended)」のチェックを外して下さい。
全く新規にインストールする場合はこのチェックを外すと開発ツールが動作しません。
インストールが始まります。終わるとブラウザに「WinAVR User Manual」が表示されます。
avrdude.exeはコマンドラインツールなので cmd.exeから使うのですが、この引数の設定がけっこう面倒です。avrdude-gui というのもありますが、これは開発が止まっていて、COM8までしか使えず、AVRISPmkIIなどの USBは指定できません。バッチファイルを作ってもいいのですが、ここでは WSHを使います。
なお、AVR-Doperは HIDモードで使います。うちの基板の場合は JP1のジャンパ(USBコネクタのすぐ脇)をショートした状態で USBに接続して下さい。ドライバは不要です。
device = "m168" efuse = "F8" hfuse = "D5" lfuse = "E2" port = "avrdoper" avrdude = "c:\WinAVR-20070525\bin\avrdude.exe" if (MsgBox("device : " & device & vbNewLine & "efuse : " & efuse & " hfuse : " & hfuse & " lfuse : " & lfuse & vbNewLine & vbNewLine & "以上の設定でヒューズを書き込みます。よろしいですか?", vbYesNo Or vbQuestion, "avrdude ヒューズ設定") <> vbYes) then WScript.Quit end if Set objShell = WScript.CreateObject("WScript.Shell") arg = " -c stk500v2 -P " & port & " -p " & device if (hfuse <> "") then arg = arg & " -u -U hfuse:w:0x" & hfuse & ":m" end if if (lfuse <> "") then arg = arg & " -u -U lfuse:w:0x" & lfuse & ":m" end if if (efuse <> "") then arg = arg & " -u -U efuse:w:0x" & efuse & ":m" end if objShell.Run "%comspec% /k " & """" & avrdude & """" & arg |
↑こちらの内容をコピーペーストして *.vbsファイルを作って下さい。deviceや、各fuseの値はターゲットに応じて書き換えます。avrdude.exe を別のフォルダにインストールした場合は avrdude のパス名も書き換えてください。拡張ヒューズの無いデバイスの場合は efuse の値を "" にして下さい。デバイス名は例えば ATtiny13 は t13、ATmega88 は m88 などと省略します。
↓こちらはプログラム(Flash)の書き込みです。
device = "m168" hexFile = "MMCboot.hex" port = "avrdoper" avrdude = "c:\WinAVR-20070525\bin\avrdude.exe" if (MsgBox("device : " & device & vbNewLine & "HEXファイル : " & hexFile & vbNewLine & vbNewLine & "以上の設定でプログラムを書き込みます。よろしいですか?", vbYesNo Or vbQuestion, "avrdude プログラム書き込み") <> vbYes) then WScript.Quit end if Set objShell = WScript.CreateObject("WScript.Shell") arg = " -c stk500v2 -P " & port & " -p " & device arg = arg & " -U flash:w:" & hexFile & ":a" objShell.Run "%comspec% /k " & """" & avrdude & """" & arg |
ヒューズの場合と同様にデバイス名と HEXファイル名を書き換えて下さい。