BootloadHIDによるISPコネクタ要らずのAVR使用USB機器開発

http://www.obdev.at/products/avrusb/bootloadhid.html

AVRマイコンにはセルフプログラミング機能が搭載されており、ブートローダ部分にライタプログラムを書き込むことでマイコン自身にUSB経由でのフラッシュ書き換え機能を実装することが可能です。

これにより、ISPコネクタが不要になり、シンプルな回路設計が可能になります。

以下使い方メモ

準備

  • bootloaderconfig.hでbootloader起動条件を設定
  • usbconfig.hでUSBのD+/D-を設定しているピンを設定
  • Makefileを変更
    • DEVICE/F_CPUの設定
    • BOOTLOADER_ADDRESSの設定
      • (使用AVRのflashメモリの容量 - 2) * 1024 in hex
      • たとえばatmega164p (flash 16k)の場合は3800 (cf. google電卓)
  • Fuse bitの設定
    • BOOTRSTを0 (enable)に
    • BOOTSZを1024 wordに設定。多くの場合は00
  • bootloadHIDをmake!
  • bootloadHID のmain.hexを書き込み

ユーザプログラム書き換え

  • bootloaderconfig.hで指定した起動条件を満たすようにする
    • ジャンパーピンを挿す等
  • bootloadHID.exeを使用して書き込み
    • ex) bootloadHID.exe main.hex