2017-03-26

AVR開発環境の構築

Linux上で、AVR用GCCツールチェインを構築します。

用意するファイル

gccは執筆時(2013-07-27)現在、4.8.1が最新ですが、最新のgccではコンパイル中にエラーが出ることがあります。4.5.2はATTINY2313に対応していないそうです。ここでは、問題の無かった4.4系の最終版であるgcc-4.4.7を採用しました。

手順

前述のアーカイブをすべて展開しておきます。

su
export PATH=/usr/local/avr/bin:$PATH

cd gmp-5.1.2
mkdir build
cd build
../configure --prefix=/usr/local --disable-shared
make
make install
cd ../../
 
cd mpfr-3.1.2
mkdir build
cd build
../configure --prefix=/usr/local --disable-shared --with-gmp=/usr/local
make
make install
cd ../../

cd mpc-1.0.1
mkdir build
cd build
../configure --prefix=/usr/local --with-gmp=/usr/local --with-mpfr=/usr/local
make
make install
cd ../../

cd binutils-2.23.2
mkdir build
cd build
../configure --prefix=/usr/local/avr --target=avr --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --disable-nls
make
make install
cd ../../

cd gcc-4.4.7
mkdir build
cd build
../configure --prefix=/usr/local/avr --target=avr --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --enable-languages=c,c++ --enable-long-long --disable-shared --disable-libada --disable-libssp --disable-nls MAKEINFO=missing
make
make install
cd ../../

cd avr-libc-1.8.0
mkdir build
cd build
../configure --prefix=/usr/local/avr --host=avr
make
make install
cd ../../

gcc の configure の最後に付いている MAKEINFO=missing ですが、texinfo文書を処理しないことを指定します。無くても成功する場合がありますが、古いgccと新しいmakeinfoの組み合わせでビルドすると、互換性の問題で、次のようなエラーが発生します。

../../gcc/doc/cppopts.texi:772: @itemx must follow @item
Makefile:4270: recipe for target 'doc/cpp.info' failed

Debian 8 (Jessie) では gcc のビルドの途中で失敗するようです。 Debian 7 (Wheezy) では成功しました。