March 07, 2010
AVRマイコンへの道のり(1) -- WINAVRライターを買う --
久しぶりに電子工作始めたら, 世の中, いつのまにか流行がPICマイコンからAVRマイコンに変わってた! また, Arduinoという規格の決まったブートローダーが入ったAVRマイコンボードの完成品があって, Arduino IDEというソフトウェアの統合環境もあって, 簡単(そうに!?)に遊べるようになっていた. しかし, 初めての人には何が何やらわからず, やはり敷居が高い. さっぱりわからない...
まず最初はAVRマイコンにソフトを書き込む「ライター装置」が必要と思い調べる(完成品のArduino買えば不要?かも?ですが...).
hidaspxというライターを自作するのが良さそうだが, このライターはAVRマイコンで出来ているので, ライターを作るのにAVRライターが必要という困った状況に陥る!
で, 仕方なく, 既製品の安価そうな物で共立エレショップのAVRWRTを買うことにした. どうやって書き込むのかも不明だったが, ブレッドボードにピンを挿して接続するのだろうと想像して, ブレッドボードISPケーブルも同時に購入した.
指示されたピン接続をして書き込もうとしても焼けない! チップが認識されない!
どうやら, 回路側には別に電源供給しておかないといけいないようだ.
しかし, ネット検索したらAVRWRTの基板上のJP4の所(上の写真では右側の6Pコネクタの上)にジャンパーを立てて, ショートピンでショートすると回路(6PコネクタのVCC)にUSBからの電源が供給出来る事がわかった.
で, 何とかライティング環境(その1)が出来上がった.
まず最初はAVRマイコンにソフトを書き込む「ライター装置」が必要と思い調べる(完成品のArduino買えば不要?かも?ですが...).hidaspxというライターを自作するのが良さそうだが, このライターはAVRマイコンで出来ているので, ライターを作るのにAVRライターが必要という困った状況に陥る!
で, 仕方なく, 既製品の安価そうな物で共立エレショップのAVRWRTを買うことにした. どうやって書き込むのかも不明だったが, ブレッドボードにピンを挿して接続するのだろうと想像して, ブレッドボードISPケーブルも同時に購入した.
指示されたピン接続をして書き込もうとしても焼けない! チップが認識されない! どうやら, 回路側には別に電源供給しておかないといけいないようだ.
しかし, ネット検索したらAVRWRTの基板上のJP4の所(上の写真では右側の6Pコネクタの上)にジャンパーを立てて, ショートピンでショートすると回路(6PコネクタのVCC)にUSBからの電源が供給出来る事がわかった.
で, 何とかライティング環境(その1)が出来上がった.

6つのケーブルをマザーボード上で接続して書き込めば良い.これで, .HEXファイルさえ入手出来れば, どんなAVRマイコンにでも書き込めるってことになる!!
(Q1) .HEXファイルをどうやって作るのだろうか?
(A1) Arduino IDEという統合環境でスケッチというC言語もどきで作成することが出来る.
しかし, これが, また, Arduinoというブートローダー内蔵の規格品のマイコンボード専用の開発環境でArduinoを持っていない自分には良くわからない.
(Q2) Arduino IDEでコンパイルしたオブジェクト(.HEX)は, どこに出来るのか???
(A2) /Applications/Arduino.app/Contents/Resources/Java/lib/preference.txt の build.path=build のコメントを外したら /Applications/build の下に.HEXファイルが残るようになった. これをAVRWRTで焼けば良い訳ですね...
(Q3) 1個100円のATtiny2313のためのソフトは, Arduino IDEで作れないのか?
(A3) 「千秋ゼミ:ATtiny2313による Arduinoを考える」にヒントがありました. ライブラリを /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores に入れて, /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino の board.txt に "My Arduino w/ ATTINY2313" を加えて, このボード用にスケッチをコンパイルすると先のbuildフォルダの下に.HEXが出来上がる. これをAVRWRTで焼けば動いた!! ...で, このATtiny2313のための環境は「HIDaspx関連のアーカイブ」のdude-wrap-2010-0223.zipの中に解説付でありました.
(Q4) Mac OSで使えるAVRライターってないの?
(A4) hidaspxが使えます. これに鶏と卵問題があって, このライターを作成するためにAVRライターが必要なので, AVRWRTを購入したのでした...
(Q5) Fuse(ヒューズ)の設定が難しそう
(A5) PICのときのCONFIGが, AVRのFuse byteのようです. ExtとHighとLowの3バイト設定する. ここのヒューズ計算機を参考にします. ヒューズビットで外部クロックを指定してしまうと外部クロックのない回路(ブレッドボードにチップだけ挿した状態など)では2度と変更も確認も出来なくなってしまうので注意が必要. 設定方法はAVRWRTではマニュアル9ページに従う. hidaspxでは, -fL0xFF -fH0xDB -fX0xFF などとオプションで指定して, -rf オプションで確認する.
(つづく)
