macでAVR (ATtiny2313 & AVRISPmk2)
-
Homebrewの導入
Homebrewはパッケージ管理システム。
-
CrossPack for AVRの導入
AVR-GCC(コンパイラ)や、avrdude(書き込みツール)が使えるようになる。
ダウンロードしてインストール。
CrossPack - A Development Environment for Atmel’s AVR Microcontrollers
-
avra の導入
AVR Assemblerに対応したアセンブラを用意する。
ターミナルから
$ brew install avra
でOK。
avra - Atmel AVR Assembler | Free software downloads at SourceForge.net
CrossPack for AVRにもアセンブラは含まれているが
CrossPack for AVRにはavr-asというアセンブラが含まれているが、これはgasというGCC流のアセンブリであり、ネット上で多く見ることのできるアセンブリの記法とは異なる。*1
ということなので、avraを導入する。
ここで下のようなエラーが出る場合は、autoconfとautomakeがない可能性がある。
Error: Failed executing: ./configure –prefix=/usr/local/Cellar/avra/1.3.0 (avra.rb:13)
autoconfとautomakeをインストールするには
$ brew install autoconf
$ brew install automakeすればいい。
-
incファイルの入手
機種に応じたインクルードファイル(たぶん)を入手する。
今回はATtiny2313 を使うので、tn2313def.inc を使う。
-
アセンブル
アセンブルする。(test.Sとでもしておく。拡張子はS)
avra test.S
-
テスト
同じディレクトリにアセンブリファイルと、incファイルを置く。
この時、アセンブリファイルの.include は <>ではなく " " にすること。
そして以下のコマンドを実行する。
$ avrdude -c avrispmkII -P usb -p t2313 -U flash:w:test.hex
avrdudeの詳しい情報については以下のURLを参考にさせてもらった。
考察
CrossPack for AVR をインストールせずに、Homebrew からavrdude とかもインストールできるかもしれない。そっちの方が楽そう。
追記:Homebrew からavrdudeインストールできた。
*1:http://www.geocities.jp/doorknov/avr/assembly.html