CygwinでARM(GBA/Zaulus)のクロスコンパイル環境を作る
ARMのバイナリが作れるようにクロスコンパイル環境を作ることにしました。具体的にはbinutilsとgccのtargetがARMのものを作ります。Linuxマシンがお亡くなりになってしまったので、WindowsXP+Cygwinで作りました。
当初、configureしてmakeしてinstallという簡単なものだと思っていたのですが、gccは少々手順が必要で、newlibちぅものも必要そうだというのがわかりました。以下はいろいろ調べて試して、gccのコンパイルが成功したときの手順です。
1.ソースのダウンロード
gcc、binutils、newlib
※ダウンロード先は~/armとした
2.ソースの展開
cd ~/arm
gzip -dc gcc-3.3.2.tar.gz | tar -xvf -
gzip -dc binutils-2.14.tar.gz | tar -xvf -
gzip -dc newlib-1.11.0.tar.gz | tar -xvf -
3.binutilsのビルド&インストール
cd ~/arm
mkdir BUILD
cd BUILD
mkdir binutils
cd binutils
../../binutils-2.14/configure --with-included-gettext \
--target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
--prefix=/usr/local/arm
make
make install
4.ビルドしたarm-elfのbinutilsへのパスを通す
export PATH=/usr/local/arm/bin:$PATH
5.gccのCコンパイラだけビルド&インストール
cd ~/arm/BUILD
mkdir gcc
cd gcc
../../gcc-3.3.2/configure \
--enable-languages=c,c++ \
--with-included-gettext --enable-shared --enable-threads \
--target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
--with-newlib \
--prefix=/usr/local/arm
make LANGUAGES=c all-gcc
make LANGUAGES=c install-gcc
6.newlibのビルド&インストール
cd ~/arm/BUILD
mkdir newlib
cd nbewlib
../../newlib-1.11.0/configure \
--target=arm-elf --host=i686-pc-cygwin --build=i686-pc-cygwin \
--prefix=/usr/local/arm
make
make install
7.gccの残りをビルド&インストール
cd ~/arm/BUILD/gcc
make
make install
8.シンボリックリンクの作成
arm-elf-gccとかだと使いにくいので、gcc-armなどでシンボリックリンクを作る
これで一通りクロスコンパイル環境が整いました。
さて、これでザウルスやGBAをターゲットとしたソースをコンパイルして動くのかどうかは未確認。確認はまた今度。
The comments to this entry are closed.
Comments
Linux (Debian Sarge/woody; RH8.0) 上でクロスコンパイル環境を作り、コンパイルした GBA (ARM7TDMI) の『ゲームではない』プログラミングを勉強中です。
多言語用のエディターをめざしています。
日・英・韓まで読み書きできます。
Posted by: oJIN | 2005.11.28 17:19