手軽なMIDIインターフェースが欲しくて、AVRで何かできないかと探してみたらUSB-MIDIコンバーター MICOMOCOなるものを発見。
なにこれ素敵。
早速ATTiny4313ともろもろの部品揃えてさぁやろうと思ったんだけど、考えてみたらAVRのISPプログラマー持ってない。
調べてみるとArduino IDEにArduinoISPというスケッチがあって、ArduinoがISPの代わりをしてくれるらしい。
幸いな事にArduino UNO R3は持っているので、ISPの問題は解決。が、Arduino IDE Ver 1.05が中で使っているGCCのバージョン(4.3.2)が古いらしく、 ATTiny4313を知らずスケッチのビルドに失敗する。
Oh….
という事で、新しいGCCをArduinoIDEに突っ込む備忘録。
環境
OSX Lion 10.7.5
Arduino IDE 1.05
CrossPack
AVR向けののGCCをビルドする方法はそんなに難しくなく、情報はごろごろ出てくる。が、不治の病である面倒くさい病にかかっているため他の手がないかggrggr。
調べてみるとCrossPack for AVRなるAVRの開発ツール一式が提供されてる。
リリースノートを見てみると
Release Notes
Version 2013-02-12
Header with I/O definitions for ATTiny4313 was inconsistent with data sheet. Fixed.
・・・対応してんじゃん。
しかもGCC 4.6.2。
ということで上記のサイトからCrossPackのMac版をインストール。
/usr/local/CrossPack-AVR-20130212
上記のパスにインストールされる。
中を覗いてみると、Aruidno.appの以下のパスの中とほとんど一緒。これは勝てる。
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr
どーん
$ sudo cp -R /usr/local/CrossPack-AVR-20130212/* /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr
Tinyな情報
ArduinoIDEがTinyなAVRの情報をもっていないので、その情報を追加。
上記から、coreとかarduino-tinyとか取ってきて、Arduinoのドキュメントフォルダに突っ込めば終了。
後はこの記事でも参考にすればOK。
実は
頑張ったけどArduinoIDE使わない(使えない)・・・。
ArduinoIDEはスケッチをビルドしてAVRに書き込んでくれるけど、上記のMICOMOCOはCのソースで提供されているのでArduinoIDE用のスケッチはない。
Makefileは提供されているのでCrossPack for AVRさえ入れてbinにパス通してしまえば
$ make
$ make flash
でいけちゃう。
今回のようにArduinoISPを使う場合は、micomocoフォルダのMakefile21行目
AVRDUDE = avrdude -c usbtiny -p$(MCU)
を
AVRDUDE = avrdude -c arduino -p$(MCU)
に変更すればmake flashでArduinoISP経由でHEXが書き込まれます。
勉強になったなぁ。