2016年9月25日日曜日

avrosp+AtmelStudio7でATTiny10の開発環境のセットアップ

秋月とかで買える米粒マイコン ATTiny10 をプログラムしたい。

プログラムしたいけど、AVRISP mk2とか持ってない。買いたくないor買うのを待ってられない。

■準備するもの
・Arduino UNO
・ジャンパワイヤ
・ATTiny10





■ArduinoUNOをライタにする
参考サイト:http://d.hatena.ne.jp/pcm1723/20111210/1323524074

avr918をダウンロードして解凍。Arduino918.pdeArduino918.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 件のコメント:

コメントを投稿