2017年5月8日月曜日

ArduinoIDEから生AVRマイコンに書き込み

Arduinoのスケッチを、工場出荷状態(ブートローダなし)の生AVRマイコンに書き込む手順を確認してみました。先人の情報によりArduinoIDEから違和感なく書き込みできるようになりました。

事前準備
ArduinoIDEには、"書込装置を使って書き込む"というメニューがありますがやってみると失敗してしまいます。ファイル⇒環境設定で"より詳細な情報を表示する"にチェックを入れて確認するとavrdudeのエラーが出ています。
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch
         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
         Using Port                    : usb
         Using Programmer              : stk500v2
スケッチの書き込み中にエラーが発生しました
avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2104)
avrdude done.  Thank you.
これはAtmel Studio 7.0とセットでArduinoIDEと互換性のないJungoドライバがインストールされてしまうことが原因で、ArduinoIDEがAVRISP MK IIを認識できない状態のようです。
解決策として、Jungoドライバと共存できるようにlibusb-win32ドライバをインストールします。AVRISP mkII を接続したままlibusb-win32-devel-filter-1.2.6.0.exeを実行。ウィザードの最終段階でLaunch filter installer wizardにチェック。Install a device filterとして、リストからAVRISP mkIIを指定してインストールします。(参考記事1参考記事2

ArduinoIDE/AVRISP mkIIを使ったスケッチの書き込み
さらに、kosakalabの開発環境を導入してデバイスを選んで開発できるようにしてみました。ここでは、デバイスとしてATmega328、クロックは内蔵8MHzを指定しています。この段階ではヒューズビットの書き換えまでは反映していません。


ArduinoIDE/AVRISP mkIIを使ったヒューズビットの書き換え
kosakalabの開発環境では、ツール⇒ブートローダを書き込む とすると、ダミー操作のブートローダ書込を行った後にヒューズビットの書き換えとプログラムの消去が行われます。このため改めてプログラムを書き込む操作が必要です。

0 件のコメント:

コメントを投稿