AVR Libc Home Page AVRs AVR Libc Development Pages
Main Page User Manual Library Reference FAQ Alphabetical Index Example Projects

avrdudeの使い方

注釈:
このセクションは、Brain Dean [ bsd@bsdhome.com ]より寄稿されました。
avrdudeは、以前avrprogと呼ばれていました。名称は、AtmelがAvrStudioと一緒に載せている avrprog プログラムと混乱を避けるため変更されました。

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>

Automatically generated by Doxygen 1.7.2 on Wed Feb 16 2011.

翻訳更新:2014年7月2日 by cega