macでAVR (ATtiny2313 & AVRISPmk2)

  1. Homebrewの導入

    Homebrewはパッケージ管理システム。

    Homebrew — MacPortsは酒でも飲みたくなるでしょ?使おうHomeBrew!

  2. CrossPack for AVRの導入

    AVR-GCCコンパイラ)や、avrdude(書き込みツール)が使えるようになる。

    ダウンロードしてインストール。

    CrossPack - A Development Environment for Atmel’s AVR Microcontrollers

  3. 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

    すればいい。

  4. incファイルの入手

    機種に応じたインクルードファイル(たぶん)を入手する。

    今回はATtiny2313 を使うので、tn2313def.inc を使う。

    ATtiny.com | AVR definition files

  5. アセンブル

    アセンブルする。(test.Sとでもしておく。拡張子はS)

    avra test.S
  6. テスト

    同じディレクトリにアセンブリファイルと、incファイルを置く。

    この時、アセンブリファイルの.include は <>ではなく " " にすること。

    そして以下のコマンドを実行する。

    $ avrdude -c avrispmkII -P usb -p t2313 -U flash:w:test.hex

    avrdudeの詳しい情報については以下のURLを参考にさせてもらった。

    2012-01-05 - ki_vanのメモ帳

考察

CrossPack for AVR をインストールせずに、Homebrew からavrdude とかもインストールできるかもしれない。そっちの方が楽そう。

追記:Homebrew からavrdudeインストールできた。

*1:http://www.geocities.jp/doorknov/avr/assembly.html