Arduino初心者の私ですが、AVRISP mkIIを購入しましたので、早速、新品のATMEGA328P-PUにArduinoのブートローダーを書き込んでみました。
まず、ATMEL社のWebよりAVR Studio5をダウンロード、そしてインストール。続いてAduinoボードから現在動作しているATMEGA328を、足を曲げないよう丁寧に取り外し、新規に購入したATMEGA328に装着し直します。AVRISP mkIIをISPコネクタにつなぎ、さらにUSBケーブルでPCに接続します。Arduinoボード本体も電源を入れます。
AVR Studio5を起動して「Tools – AVRprograming」の順に進み [Tool]欄が”AVRISP mkII”, [Device]欄が”ATmega328P”,[Interface]欄が”ISP”になるようにセットして「Apply」ボタンをクリックします。その後表示された「Interface settings」メニューをクリックすると、書き込みスピードの設定画面になります。ここはデフォルトのまま125KHzにしておきました。
さて次は”Arduino bootloader”の指定です。やはり左のメニューから「Memories」をクリックして、[Flash]欄に適正なHexファイルを指定します。最後に「Program」ボタンをクリックで書き込むことができます。その後メニューの 「Fuses」 をクリックしてヒューズビットを書き込みました。
今回私は
arduino-1.0\hardware\arduino\bootloaderes\atmega\ATmegaBooT_168_atmega328.hex を書き込んでみました。
書くと簡単ですが、私が上記の手順を発見するまで結構時間がかかってます。(….半日ほど)でも、実際の書き込み作業は数秒で終わり、まったくあっけないです。
果たして生ATMEGA328はArduinoの動作をはじめました。もう、私は得意満面です。
ところが、です。今度はAduinoIDEから同様に書き込もうとしましたが、何回やってもエラーが出てうまくいきません。原因を調べたところ。ここに回答が載っていました。
AVR StudioとArduinoIDEは、同時にこの機能を使うことはできないみたいです。具体的にはAVR Studioが使うAVRISP mkII用のUSBドライバとArduinoIDEが使うAVRISP mkII用のUSBドライバが違う物で、共存できないとのことでした。
そういえば、AVR Studio5をインストールするときに”USB なんたら jungo driver をインストールするか?”との表記があったような気がします。 「当然でしょう!」と悪態ついた事を思い出しました。
ArduinoIDE用のAVRISP mkII用USBドライバは上記フォーラム中に書いてありますが、
..\arduino-XXXX\hardware\tools\avr\utils\libusb\bin 以下のディレクトリに入っていました。
ArduinoIDEの1.0版では、Fileメニューに「Upload Using Programmer」の項目があります。試してみるとブートローダだけでなく、スケッチもAVRISP mkII経由で書き込みができました。すごいですね、Arduino!
ピンバック: AVRライターでArduinoのスケッチを書き込む | ina111's blog
ありがとうございます。
この記事は大変参考になりました。
僕がやってみて成功した結果を申しますと、Atmel-ICEのドライバは書いていただいたとおり、USBなのですが、Jungoになっていて、Arduino-IDEでは認識できないようです。
一旦 JungoのドライバをLibUSB(Sourceforgeにあります)に置き換えるとArduino-IDEでも認識できるようになりました。
残念な点は、Atmel-Studioから使えなくなってしまいましたが、使っているPCは、何年も前のものであることもあって、非常に起動時間がかかって重いので、使いこなせていませんから、まぁいいかってところです。
はいたか かずひろさん今晩は、コメントありがとうございます。
私は知らなかったのですが、libusb のfilter driverを使うと双方で使える様になるのですね。
情報ありがとうございました。
説明が悪くて済みません。うちではとりあえずArduino-IDEで使えるように
なっただけで、Atmel-Studioで使うところまでいっていないのですが、
おっしゃるとおり、Filter Driverを使うやり方は、次のURLに書かれています。
https://ehbtj.com/electronics/arduino-sckech-avrisp-mkii/
やってみてください。
こんばんは。URL教えて頂き、ありがとうございました。参考にさせて頂きます。