とりあえず組み立てて、Arduinoブートローダを書き込んでみた。
結構苦労して、最終的には楽な方に逃げてしまったのだけど、まあそれも含めて覚え書き。
結論から言うと、ATMega168Pへの書き込みがどうしてもうまくいきませんでした。
使ったのは純正のAVRライタ。
ブートローダの書き込みにはpermissionが~と言われるので、とりあえず管理者モードでArduinoIDEを起動
$ sudo arduinoあとは168で5Vのブートローダを選べば…
avrdude: Expected signature for ATMEGA168 is 1E 94 06秋月のキット付属のマイコンはATmega168pで168じゃないから、チェックでハネられてしまうみたい。
Double check chip, or use -F to override this check.
この辺りのサイトを参考に/usr/share/arduino/hardware/tools/avrdude.confを差し替え。
http://d.hatena.ne.jp/LaclefYoshi/20110108/1294475337
http://www.geocities.jp/arduino_diecimila/bootloader/index.html
なんか妙なエラーが出たのでコメントアウト…はともかく、それでも結局うまく書き込めない。
(avrdude.confは元に戻しました)
WindowsのAVR Studioからブートローダを書き込んでみると、エラーも無くブートローダの書き込み自体は成功している様子。
そこでArduinoIDEからスケッチを書き込もうとすると
avrdude: stk500_recv(): programmer is not responding
結局よくわからないので、マイコンをATMega328Pに取り替えて、ターゲットボードをArduinoUNOとしてIDEからブートローダを書き込んでみると、拍子抜けするほどあっさり成功。
ライタを外してスケッチを書き込んでみるとちゃんと動く。
…よくわからないけど動いたから良いや。168Pも普通のマイコンとしてなら使えるだろうし。
No comments:
Post a Comment