Atmel StudioからArduino UNOを書き込み器として用いてATtiny85に書き込む
私の場合はATtiny85に書き込むツールとしてTL866ⅡPLUSを使用しているのですが、Arduinoで書き込みができないかという声がありましたので、試してみました。
やりたいことはAtmel Studioでプログラムを作成し、それを書き込み器として設定したArduino(ArduinoISP)でATtiny85に書き込むということです。
やりたいことはAtmel Studioでプログラムを作成し、それを書き込み器として設定したArduino(ArduinoISP)でATtiny85に書き込むということです。
(1)Arduino UNOを書き込み器として設定する。
「ツール」→「ボード」でArduino UNOを選択
「ツール」→「シリアルポート」でArduino UNOが接続されているポートを選択
「ツール」→「書込装置」でAVRISP mkIIを選択
スケッチをコンパイルして書き込む。
これでArduino UNOが書き込み装置になりました。
(2)ArduinoにATtiny85を認識させる。
「http://drazzy.com/package_drazzy.com_index.json」を書き込み、OKボタンを押す。(もう既に設定済みのものがあれば次の行に書き込みます。)
「ツール」→「ボード」→「ボードマネージャ」でフィルタにATtinyCoreと入力し、現れたATTinyCoreをインストールする。
「ツール」→「ボード」でATtiny25/45/85(No bootloader)を選択
「ツール」→「書込装置」でArduino as ISPを選択
(3)ArduinoにATtiny85を接続する。
次のように接続します。(画像参照)
Arduino UNO ATtiny85
13 <----------> SCK
12 <----------> MISO
~11 <----------> MOSI
~10 <----------> RESET
5V <----------> VCC
GND <----------> GND
Arduino UNO ATtiny85
13 <----------> SCK
12 <----------> MISO
~11 <----------> MOSI
~10 <----------> RESET
5V <----------> VCC
GND <----------> GND
以上でArduino側の準備は終了です。
(もちろん、電源は入れたままにしておきます。)
(4)Atmel Studioの設定
設定例
タイトル:ArduinoISP(ATtiny85)
コマンド:C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
引数:-c avrisp -P COM6 -b 19200 -p t85 -U flash:w:$(ProjectDir)Release\$(TargetName).hex:i -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m
(COM6はArduinoが接続されているポート、t85はATtiny85、3つのfuseの値は適宜設定)
さらに、「出力ウインドウを使用」にチェックを入れます。「起動時に引数を入力」にチェックを入れると書き込み時に引数を変更できますが、かえって面倒かもしれません。
これで、「ツール」メニュー中にArduinoISP(ATtiny85)が現れます。
[注意]これは書き込む条件、チップ毎に設定する必要があります。
しかし、私の場合、これだけではconfigファイルがないというエラーが出ましたので、C:\Program Files (x86)\Arduino\hardware\tools\avr\etc中にあるavrdude.confをavrdude.exeのあるフォルダにコピーします。
Releaseモードでビルドしてhexファイルが作られましたら、「ツール」メニュー中のArduinoISP(ATtiny85)を選択するとhexファイルが書き込まれます。
しかし、私の場合、これだけではconfigファイルがないというエラーが出ましたので、C:\Program Files (x86)\Arduino\hardware\tools\avr\etc中にあるavrdude.confをavrdude.exeのあるフォルダにコピーします。
(5)書き込み
Atmel Studioの出力ウインドウにメッセージが出ますので、書き込まれていることを確認できます。
[参考にしたサイト]
ArduinoISPの設定方法についてはAnalogic Intelligence Z80-MBCの作成 其の参を、
Atmel StudioへのArduinoISPの設定方法についてはシナプスのハード製作記を参考にさせていただきました。ありがとうございます。
こんばんはkabekinです。
返信削除こちらの記事の(4)以降をAtmel Studio7で試したところ記事の手順の通りで無事ATtiny85に書込みできました。
avrdude.exeをバッチファイルから扱う方法のいいですが統合環境からの書込みの方がスマートですね。
活用させていただきます^^ ありがとうございました。
kabekinさま
削除ビルドしてすぐに書き込みができるのは確かに便利で快適ですね。
統合環境と連動して使える書き込み器を所有していない方が多いと思いますので、割と普及しているArduinoが使えるのは有難いです。