プログラムしたいけど、AVRISP mk2とか持ってない。買いたくないor買うのを待ってられない。
■準備するもの
・Arduino UNO
・ジャンパワイヤ
・ATTiny10
■ArduinoUNOをライタにする
参考サイト:http://d.hatena.ne.jp/pcm1723/20111210/1323524074
avr918をダウンロードして解凍。
Arduino918.pde
をArduino918.ino
にリネームして(歴史を感じる)、Arduino UNOに書き込み。unoとattiny10の配線は付属の画像など参照。
■書き込みツールのavrospの準備。
参考サイト:http://atmel.force.com/support/articles/en_US/FAQ/AVR911-Open-Source-Programmer-XML-files
Download and extract AVR911 zip file from http://www.atmel.com/Images/AVR911.zip and replace the ‘AVRDevice.cpp’ file with the modified file attached here. Inside this file, modify the search path to correspond to the XML files folder by editing the following line上の引用部分の中のリンクからavr911.zipをダウンロードする
Attachment(s) [ZIP]AVR911.zipこっちのリンクのavr911.zipもダウンロードする。avr911(1).zipとするw
avr911.zipを解凍すると、
AVR911_CODE_UPDATED
なるディレクトリが生成され、中にはAVROSP.exe
が。このディレクトリの中に、avr911(1).zipを解凍してできた
Partdescriptionfiles
ディレクトリの中のATtiny10.xml
を先のAVR911_CODE_UPDATED
配下に設置。つまり、avrosp.exeとATtiny10.xmlが同じ階層に。
コマンドプロンプトからmode com1 baud=115200 data=8 parity=n dtr=off
と入力してボーレートなどの設定。
次に、
avrosp -cCOM1 -dATtiny10 -s -q -Oと入力し、正しくATTiny10が読み書きできそうか確認。こんな感じに帰ってきた。
AVR Open-source Programmer $Revision: 1163 $ (C) 2004 Atmel Corp.
Serial port timeout set to 5 sec.
Found AVR ISP on COM4!
Entering programming mode...
Reading signature bytes: 0x1e 0x90 0x03
Parsing XML file for device parameters...
Parsing '.\ATtiny10.xml'...
######
Saving cached XML parameters...
Signature matches device!
Reading fuse bits...
0xffff
Reading OSCCAL from device...
0x92
Leaving programming mode...
読めたっぽい?ATTinyのsignatureは0x1e9003。■AtmelStudioでの設定
参考サイト:
https://synapse.kyoto/tips/ArduinoISP_AVRWriter/page003.html
AtmelStudioはインストール済とする。
まず、avrosp.exeとATTiny10.xmlを、ビルドするプロジェクトのDebugディレクトリがあるところと同じ階層に設置(これめっちゃ頭悪いやりかたなんだけどとりあえず動かすだけなので)。
ツール->外部ツール から、書き込みに使うavrospを指定する設定を書く。
タイトルは適当にattiny10とかに設定しておく。
コマンドは、avrosp.exeを指定。
引数には書き込み時のオプションを設定。
-cCOM4 -dATtiny10 -if$(ProjectDir)Debug\$(TargetName).hex -e -pf -vf
コンパイルはCtrl+At+F7、書き込みはツール->attiny10(など設定した名前)でおけ。マイコンが動作していると認識に失敗することがあるみたいだけどもう一度書き込みをすると認識されることが多いのでよしとする。書き込み後の自動リセットなどがないので自分でやる。■余談
・Arduino Leonardo をAVRISP mk2化する方法があるらしい。makefileをいじったけどLEDの設定が衝突してるとかなんとか言われたし、それを直してもコンパイルがうまく行かなかったので諦めた
・
0 件のコメント:
コメントを投稿