ホーム > ARM >

newlibベースのgccツールチェインの作成

インストール先と作業ディレクトリの指定

PREFIX=$HOME/local/arm-tools
WORK=$HOME/build/arm
mkdir -p $WORK

gmp,mpfr,mpcのインストール

gccをコンパイルするにはこれらのライブラリが必要。 ディストリビューション標準のライブラリはバージョンが古いことがあるので、 最新のバージョンをコンパイルする。

cd $WORK
# gmpのインストール
wget ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.2.tar.bz2
tar jxf gmp-5.0.2.tar.bz2
cd gmp-5.0.2
./configure
make
sudo make install
sudo /sbin/ldconfig
cd ../

# mpfrのインストール
wget http://www.mpfr.org/mpfr-current/mpfr-3.1.0.tar.bz2
tar jxf mpfr-3.1.0.tar.bz2
cd mpfr-3.1.0
./configure
make
sudo make install
sudo /sbin/ldconfig
cd ../

# mpcのインストール
wget http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz
tar zxf mpc-0.9.tar.gz
cd mpc-0.9
./configure
make
sudo make install
sudo /sbin/ldconfig
cd ../

binutilsのコンパイル

cd $WORK
wget http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2
tar jxf binutils-2.22.tar.bz2

mkdir build_binutils-2.22_arm
cd build_binutils-2.22_arm

../binutils-2.22/configure --prefix=$PREFIX --program-prefix=arm-elf- --target=arm-elf --enable-lto --enable-interwork --enable-multilib
make
make install

# binutilsがインストールされたディレクトリにパスを通す
export PATH=$PATH:$PREFIX/bin

gccのコンパイル(1回目)

cd $WORK
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.6.2/gcc-4.6.2.tar.bz2
tar jxf gcc-4.6.2.tar.bz2

mkdir build_gcc-4.6.2_arm_stage1
cd build_gcc-4.6.2_arm_stage1

../gcc-4.6.2/configure --prefix=$PREFIX --program-prefix=arm-elf- --target=arm-elf --enable-lto --enable-languages=c --without-headers --with-newlib --enable-interwork  --enable-multilib --disable-shared --disable-thread
make all-gcc
make install-gcc

newlibのコンパイル

cd $WORK
wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
tar zxf newlib-1.19.0.tar.gz

mkdir build_newlib-1.19.0_arm
cd build_newlib-1.19.0_arm

../newlib-1.19.0/configure --prefix=$PREFIX --target=arm-elf
make
make install

gccのコンパイル(2回目)

cd $WORK

mkdir build_gcc-4.6.2_arm_stage2
cd build_gcc-4.6.2_arm_stage2

../gcc-4.6.2/configure --prefix=$PREFIX --program-prefix=arm-elf- --target=arm-elf --enable-lto --enable-languages=c,c++ --with-newlib --enable-interwork  --enable-multilib --disable-shared --disable-thread
make
make install

eabi用のツールチェインをビルドする

上記の手順でarm-elfとしている部分をarm-eabiに変えればOK