AVR Libc Home Page | AVR Libc Development Pages | ||||
Main Page | User Manual | Library Reference | FAQ | Alphabetical Index | Example Projects |
avrdude
は、FreeBSD Unix上からAtmel AVRマイクロコントローラのフラッシュとEEPROMメモリの更新や読出しに使用するプログラムです。PCのparallel portを用いたAtmelシリアルプログラミングプロトコルをサポートし、RawバイナリファイルやIntel Hexフォーマットファイルをアップロードできます。そして、EPROMセルやヒューズビット、またロックビットの更新に対話モードを用いることができます。(これらのアクセスは、Atmelシリアルプログラミングプロトコルによってサポートされている場合です。) AVRのメインflashのインストラクションメモリを対話モードでプログラムすることができますが、1ビットをオフにできるだけのためあまり役に立ちません。フラッシュのビットをオンにする唯一の方法は、メモリ全体を削除することです。(avrdude
の-e
オプションを使用します。)
avrdude
は、FreeBSD portsシステムの一部です。インストールはシンプルに次のようにします。:
# cd /usr/ports/devel/avrdude # make install
インストールした後、avrdude
は、コマンドラインで指定された.hexファイルの内容を用いてプロセッサにプログラミングできます。この例は、
main.hex
をフラッシュメモリに書き込みます。
# avrdude -p 2313 -e -m flash -i main.hex avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0x1e9101 avrdude: erasing chip avrdude: done. avrdude: reading input file "main.hex" avrdude: input file main.hex auto detected as Intel Hex avrdude: writing flash: 1749 0x00 avrdude: 1750 bytes of flash written avrdude: verifying flash memory against main.hex: avrdude: reading on-chip flash data: 1749 0x00 avrdude: verifying ... avrdude: 1750 bytes of flash verified avrdude done. Thank you.
-p 2313
オプションは、AT90S2313チップ上で動作していることをavrdude
に識別させます。このオプションで指定されたデバイスIDは、avrdude
のコンフィグレーションファイル( /usr/local/etc/avrdude
.conf )内の、同じIDのデバイスと比較されます。有効なパーツのリストは、-v
オプションを指定してください。-e
オプションは、avrdude
がプログラミングする前にチップ消去を実行するよう指示します。これは、フラッシュをプログラミングする前にだいたいの場合必要です。-m flash
オプションは、 同時に-i main.hex
で指定する入力ファイルを、フラッシュメモリへデータをアップロードしたいことを示しています。
EEPROMのアップロードも同様で、唯一違うのは、-m flash
の代わりに-m eeprom
を使うことです。
対話モードを使用する二は、-t
オプションを用います。
# avrdude -p 2313 -t avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0x1e9101 avrdude> The '?' command displays a list of valid commands: avrdude> ? >>> ? Valid commands: dump : dump memory : dump <memtype> <addr> <N-Bytes> read : alias for dump write : write memory : write <memtype> <addr> <b1> <b2> ... <bN> erase : perform a chip erase sig : display device signature bytes part : display the current part information send : send a raw command : send <b1> <b2> <b3> <b4> help : help ? : help quit : quit Use the 'part' command to display valid memory types for use with the 'dump' and 'write' commands. avrdude>