chakokuのブログ(rev4)

日々のごった煮ブログです

Linux(debian)上にAVR開発ツールを入れる

LinuxでAVR開発ツール(gcc系)を入れるのは非常に簡単で、さらに、debianの場合、パッケージ管理ツール、aptを使えばサクサクと入る。(gcc-avrはコンパイラ、avr-libcはライブラリ、avrdudeはライタ制御ソフトです。)


% apt-get install gcc-avr
% apt-get install avr-libc
% apt-get install avrdude

これでコンパイル、フラッシュへのプログラミングまでのツールがそろう。
自分のライタはusbaspなんですが、これを一般権限で実行すると以下のエラーが出る

% avrdude -c usbasp -p attiny2313 -U flash:w:main.hex:i
avrdude: Warning: cannot query manufacturer for device: error sending control message: Operation not permitted
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
make: *** [flash] Error 1

原因は権限違反のようで、root権限で実行するとエラーは発生しなさそうだ(デバイスとの接続まではOK)。デバイス権限を決めるコンフィグか、permissionを変更するのだろうか。。


■ご参考記事
avrdudeのpermissionに関するQA
http://osdir.com/ml/hardware.avr.avrdude.devel/2006-05/msg00019.html

■サイト内関連記事

usbaspを作る
http://d.hatena.ne.jp/chakoku/20080709

■追記 080814

debianのパッケージに含まれるavr-gccは4.1.0で、2進数表記 (例:0b101101100)が処理できない。2進数表記のサポートは、4.3以降らしい。最新版のavr-gccをソースからコンパイルするべきか。。