Frduino ビルドと書き込み2

書き込み設定の続きです。

YCIT版 avrdudeの初回設定
 書き込み基板をFrduinoに接続する
・programmerの設定
 Programmerに(diecimila FT232 Sync Bang)を選択:(1)
 Command line Optionの欄は
 変更しなくて構いません(2)。 
 Read(3)をクリックしてターゲットデバイスが認識できているか確認
 ((4):Atmeg328P)
・fusebitの設定(5)
  Lo:FF
  Hi:DA
  Ex:07
 と入力し、[write](6)で書き込み
 (間違えると認識しなくなる場合もあるので注意)
これで外部8MHzで動作するので
通信速度が速くなり、書き込み速度も上がります。

 [補足]:
 本家のpro mini 3.3Vだと、Exは:05ですが、これはBODLEVELの設定箇所。
 05だと、BODLEVELが2.7Vに設定され、電源電圧が2.7Vを下回るとAVRが落ちててしまう
 07はBODLEVELを解除して電圧でのリセットは無制限。
 FrduinoでLEDをたくさん明るく光らせたりした場合など、単6電池で供給できず、一時的に電圧が下がる場合があり、05のままだと一瞬でも2.7V下回ると停止してしまいます。
 多少のリスクがあっても実力で動く限りは動作させたかったので、
 Fuduinoのデフォルトではこの設定を解除としました。
 制限なしが不安であれば1.8Vで制限の、Ex:06でもいいと思います。
 詳しくはAtmega328pの仕様書のTable 29-13. BODLEVEL Fuse Coding付近を見てください
http://www.atmel.com/dyn/products/product_docs.asp?category_id=163&family_id=607&subfamily_id=760&part_id=4198

一度これらを設定した後は、下記の作業のみで書き込み可能です。



■HEXファイルの書き込み

 Serial monitorを開いている場合は閉じてください。
 書き込み基板をFrduinoに接続する

 
 IDEでVerify後、[Find](7)をクリックすると、自動でIDEがビルドしたファイルを選択して、Flash欄に表示されます
尚、IDEのBoardは”Arduino Pro mini (3.3V 8MHz)”でビルドしてください
 すでにあるHEXファイルを書き込む場合は、flashのfile先(8)を
 任意のHEXファイ保存先に指定してください。
 [Write](9)をクリックするとプログレスバーが出て、書き込みされます。
 自動的にVerifyもされます。
 [Run](10)をクリックすると書き込んだsketchが走り出します。


最初に書き込むのはブートローダーにするとArduino化できます。
 ..arduino-1.0-rc2\hardware\arduino\bootloaders\atmega
 のATmegaBOOT_168_atmega328_pro_8MHz.hex
 を書き込んでください。
 これ以降はIDEを使ったシリアルの書き込みもできるようになります。
 但し、その後avrdudeでISP書き込みした場合は、IDEを使う前にブートローダーを再度書いておいてください。
 (IDEかavrdudeか交互に使うと混乱しそうなので、どちらか一方だけ使ったほうがいいと思います)

 これで初期設定は終わりです。


 [補足]:
 IDEを使ったシリアル書き込みよりも、avrdude-GUI経由でavrdudeを呼び出した方が断然書き込みが速いので、
 常時 avrdude-GUIを利用した書き込みをお薦めします。
 また、sketch名を変更しなければ、ビルドする度に(8)でファイル名を選ぶ必要がなく、
 [Write]を押すだけで再書き込みします。


 個人的には開発時には、何度も書き込みとテストを行うので、
 IDEとYCIT版 avrdudeを同時に開いて、sketch名を変えずに


  1)sketch変更
  2)IDEでビルド
  3)YCIT版 avrdudeで書き込み
  4)[TargetRun]
  5)動作確認


 を繰り返してsketchを試行錯誤しています
 ただし、YCIT版 avrdudeで書き込む前に、シリアルモニターを閉じてください。共用はできません。

 また、認識しなくなった場合、[Port_upd]ボタンで、認識しているポートを一覧できます。以下のように
 ポートを認識していることを確認してください。認識されていなければ
 USBコネクタの抜き差しを行うことで回復できる場合があります。
 
 # -- Available COM Ports --
 # COM4 = USB Serial Port 'A6008JNL'=ft0
 # -- 1 Port Added --