2013年5月19日日曜日

ATMEGA32U4をArduinoとして使う

AtmelのATMEGA32U4上でArduinoとしてインプリしたコードを動かす。 

目的はブートまでの時間の短縮化だ。

 ATMEGA32U4をArduino化する 
http://arduino.densikit.com/home/adafruit-32u4toleonardo 

主にBoot loaderの書き込みについて書いてある。 
これだとBoot loaderをAVRISP mkII(専用ライター)で書き込んだあとは
ファームウェアをUSBシリアルで書き込んでいるが、
当然ファームもAVRISP経由で書き込める。

 しかし手順が若干めんどくさい。

 そこで、
AVRISP mkIIをArduino IDE上で使えるようにする簡単ベンリな方法
board.txt設定ファイルの書き換え方を解説している。 http://www.johndimo.com/2011/05/06/how-to-program-your-arduino-uno-with-an-avr-isp-mkii/ 


ISPライターのコネクタピン配置についてはここのAtmelのページから。 http://www.atmel.no/webdoc/avrispmkii/avrispmkii.section.zgf_vsd_lc.html 


ハードウェア部分についてはここもかなり詳しかった。
リセットピンのプルアップの条件とかも。
Kanda - AVR ISP Circuit Schematics http://www.kanda.com/avr-isp-circuits.html

USBで書き込む場合はLeonardoのBoot loaderを書き込んだ後に
Arduino Leonardoとして認識しなきゃならいなのだが、
ここにも例があるよう .inf ファイルを使っての認識はうまくいかない。(理由は不明) http://blog.livedoor.jp/hardyboy/archives/5313903.html 

Mac OSXでも同様だった。
やはりAVRISP mkIIをファームの書き込みでも使うことをオススメ。 

ここ、苦労と格闘の歴史がツラツラ書いてあるんだけど、ちょっと長くて読んでない。 http://blog.livedoor.jp/pcnahibi/archives/1946670.html