AVR用GCCを自分でビルドしてみる
概要
GNU binutils、GCC、AVR Libcに、Atmelが配布しているパッチを適用してビルドします。
最終的に、/usr/local/avr
以下にすべてのファイルをインストールすることにします。
準備
ディレクトリを作成します。 スーパーユーザでmake installを行うと悲しいことが起きる可能性があります。 スーパーユーザで作業しなくて済むように、あらかじめchownで自分の物にしておきます。
% sudo mkdir /usr/local/avr % sudo chown 自分 /usr/local/avr % cd /usr/local/avr
パッチをもらってくる
% mkdir patch % cd patch % wget -r --level=2 --accept=patch http://distribute.atmel.no/tools/opensource/avr-gcc/ % find . -name '*.patch' -exec mv '{}' . ';' % /bin/rm -rf distribute.atmel.no % cd ..
binutils
このあたりからbinutils-2.20.1をもらってきます。
% tar xvjf binutils-2.20.1.tar.bz2 % cd binutils-2.20.1 % for f in ../patch/*-binutils-*; do patch -p0 < $f; done % mkdir build % cd build % ../configure --prefix=/usr/local/avr --target=avr --disable-nls --disable-werror % make % make install % cd ../..
パスを通しておきましょう。
% export PATH=/usr/local/avr/bin:$PATH
GCC
GCCそのものの実装のために、GMP、MPFR、MPCというライブラリが必要です。 OSに付属のパッケージがあれば、開発用のパッケージを選んでインストールしておきます。
% tar xvjf gcc-4.5.1.tar.bz2 % cd gcc-4.5.1 % for f in ../patch/*-gcc-*; do patch -p0 < $f; done % mkdir build % cd build % ../configure --prefix=/usr/local/avr --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --with-dwarf2 % make % make install % cd ../..
AVR Libc
このあたりからAVR Libc 1.7.1をもらってきます。
% tar xvjf avr-libc-1.7.1.tar.bz2 % cd avr-libc-1.7.1 % for f in ../patch/*-avr-libc-*; do patch -p0 < $f; done % ./bootstrap % mkdir build % cd build % ../configure --prefix=/usr/local/avr --build=$(../config.guess) --host=avr % make % make install
展開したあとにbootstrapというスクリプトを動かす必要があるのがワナです。
後片付け
必要に応じて、もらってきたアーカイブファイル、展開したソースなどを削除します。
最後に、必要であれば、/usr/local/avr
ディレクトリ以下をrootの持ち物に変更します。
% sudo chown -R root.root /usr/local/avr
(2012/9/21 - sgk)
Last modified
12 years ago
Last modified on Sep 21, 2012 3:04:41 PM
Note:
See TracWiki
for help on using the wiki.