Top Page Index About Link Mail Form |
version 1.0.5 出ました。(2009.1.4)
avrdudeは Atmel AVRシリーズのプログラマ(ライタ)や開発機器をコントロールするプログラムです。オープンソースで開発されており、Windowsシリーズだけでなく Linuxや Mac OS X, FreeBSD等でも使用できます。非常に多くのプログラマとデバイスをサポートしています。
ただし、avrdudeそのものはコマンドラインで実行するように作られており、初心者にはとっつきにくいものになっています。実はこの avrdude用の GUI(ウインドウで操作するシステム)として avrdude-guiというものがあるのですが、現在では開発が止まっていて最新版の avrdudeで使えないこともあります。
そこで最近の avrdudeに対応した WindowsXP用 GUIプログラムを作りました。開発は C#で行っており、avrdude-guiとは全く無関係です。恥ずかしいソースも公開しましたのでご自由に改良とかしてください。修正BSDライセンス扱いとします。
メインフォーム。基本的にボタンを押すとそれに応じた引数で avrdude.exeを実行するだけです。
エラー発生時のダイアログ。単に avrdude.exeの出力文字列を表示するだけですが。正常に動作している場合はフォーム最下段のプログレスバーが順調に延びていくはずです。
ターミナルモード。こちらも単に cmd.exe上(いわゆる DOS窓)で実行するだけです。
avrdude-GUI Version 1.0.5 実行バイナリ(2009.1.4) : 実行には .NET Framework 2.0 が必要です。
avrdude-GUI Version 1.0.5 ソース
変更履歴
avrdude.exe Version 5.6 binary (with USBasp software control of ISP speed patch)
avrdude.exe Version 5.5 実行バイナリ
avrdude.exe Version 5.4 実行バイナリ
: WindowsXPの CygWin環境でビルドしたものです。添付の avrdude.conf には ChaNさんの「COMポート制御ISPアダプタ」の設定も追加してあります。ソースは avrdude公式サイトをご覧下さい。→ダウンロードサイト
2008.11.29 追記。ChaNさんのCOMポート制御ISPアダプタ用 avrdude.confファイルは設定が適切ではないようです。
programmer id = "avrsp"; desc = "serial port banging, reset=dtr sck=rts mosi=txd miso=dsr"; type = serbb; reset = 4; sck = 7; mosi = 3; miso = 6;
と、sckを 6 → 7、misoを 5 → 6に変更するといいそうです。→修正版 avrdude.conf
情報どうもありがとうございました。
LibUSB-Win32 : avrdude.exeの実行に必要です。→ダウンロードサイト
旧バージョン
avrdude-GUI Version 1.0.4 実行バイナリ(2007.7.10)
avrdude-GUI Version 1.0.4 ソース
avrdude-GUI Version 1.0.3 実行バイナリ(2007.7.6)
avrdude-GUI Version 1.0.3 ソース
avrdude-GUI Version 1.0.2 実行バイナリ(2007.7.1)
avrdude-GUI Version 1.0.2 ソース
avrdude-GUI Version 1.0.1 実行バイナリ(2007.6.30)
avrdude-GUI Version 1.0.1 ソース
プログラマ特有のデバイスドライバが必要な場合はあらかじめインストールしておいて下さい。パラレルポートを使う場合には giveio.sysが必要になるらしいです。→giveio.sys インストール手順
注:Windows Vistaに LibUSBをインストールすると USBが使えなくなるようです。Windows Vistaにはインストールしないでください。ってことは Windows Vistaでは avrdude + USBaspは使えない……。
シリアルポートのみで USBを使わないタイプのプログラマであっても avrdude.exeの実行の際に必要になります。ダウンロードサイトから最新版をダウンロードしてください。2007年6月現在、バージョン 0.1.12.1 が最新版のようです。
ダウンロードした libusb-win32-filter-bin-0.1.12.1.exe を実行します。デフォルト設定でインストールを進めればいいと思います。
本来は公式サイトからダウンロードしてビルドするわけですが、WindowsXP用にこちらでビルドした物があるのでお使い下さい。特にインストーラはありませんので、解凍して avrdude.exe と avrdude.conf を適当なフォルダに入れて下さい。
また、WinAVR-20070525にはバージョン 5.3.1の avrdude.exeが含まれています。デフォルトでインストールした場合は c:\WinAVR-20070525\bin にあります。
やはりインストーラは作っていませんので、解凍して適当なフォルダに入れてください。avrdude.exeと同じフォルダでいいでしょう。.NET Framework 2.0が必要になります。インストールされていない場合は Windows Update / Microsoft Update でインストールしておいて下さい。
avrdude-GUI.exeを実行するとスクリーンショットのようなウィンドウが開きますが、最初の状態ではテキストボックスやコンボボックスは空白状態になっています。
一番上の「avrdude.exe File」の右側のボタンを押してインストール済みの avrdude.exe ファイルを指定します。この設定は終了時に自動保存しますので、一度設定したら以降はいじる必要は無いと思います。同様に「Programmer」「Display Window」「Port」「Device」「Command line Option」も自動保存されます。
avrdude.exeが選択されたら自動的に「Programmer」に使用可能なプログラマが設定されています。その中から自分の使うプログラマを選んで下さい。
「Port」は起動時に特定のポートと、シリアルポートについてはポートとして有効な物が全て設定されます。プログラマが使うポートを選択してください。USB-シリアル変換器を使う場合はあらかじめつないでおいてから avrdude-GUI.exe を実行してください。
「Device」はこれから書き込むデバイス名を選択します。
「Command line Option」は通常は空白のままでかまわないと思いますが、一部、シリアルポートを使うプログラマの場合にボーレート等の指定が必要になるかもしれません。その際に avrdude.exe に必要なコマンドラインオプションを記入してください。参考:man avrdude (Version 5.4) また、ポート名に特殊な指定が必要な場合は「Port」指定は空白のままにして、こちらに「-P avrdoper」などとすることもできます。
「Display Window」は有効にすると実行時に DOS窓で実行状態を確認できますが、通常はチェックしなくていいでしょう。
あとは適当な値やファイルを設定してボタンを押すだけです。だいたいわかるでしょ? Fuseや Lock Bitの値は 16進数で設定します。デバイスごとに意味が違いますので、書き換える際は必ずデータシートをよく読んで設定して下さい。値を間違えるとプログラミングが不可能になることもあります。
「Terminal」ボタンは avrdude.exe を別窓で起動して対話形式で操作します。つまり、avrdude.exe を -t オプション付きで起動するわけです。quit コマンドで avrdude.exe が終了しますが、DOS窓はそのまま維持します(エラー処理の関係でこうなる)。更に exit[Enter] と入力するか、ウィンドウのクローズボタンを押して終了させてください。
avrdudeのエラーメッセージとその対処法
avrdude Error Message and the Action method
プログラマ | Programmer | Port | 備考 |
---|---|---|---|
AVRISP mkII | avrispmkII | 未選択 | Command line Optionに「-P usb」と入力する |
usb | version 1.0.5 以降 | ||
AVR-Doper | stk500v2 | avrdoper | HIDモードで使用すること |
USBasp | usbasp | 未選択 | USB usb でも可 |
ChaNさんの COMポート制御ISPアダプタ | avrsp | COM1 or COM2 | avrdude.conf にこちらの設定追加が必要 |
STK200 ISP dongle | stk200 | LPT1 or LPT2 | giveio.sysのインストールが必要 |