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の設定方法についてはシナプスのハード製作記を参考にさせていただきました。ありがとうございます。