gba/クロスコンパイル環境の構築
binutils, gcc を自分でビルドする
各種ツールを自分でビルドして GBA のクロスコンパイル環境を構築します。下記の書籍/ムックを参考にしています。
準備
※既にインストール済の場合は読み飛ばしてください。Ubuntu には gcc や make などがプリインストールされていないので、
build-essential をインストールする。
$ sudo apt-get install build-essential
texinfo, bison, flex パッケージをインストールする。
$ sudo apt-get install texinfo $ sudo apt-get install bison $ sudo apt-get install flex
binutils
- ftp://ftp.gnu.org/gnu/binutils/
- ftp://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.b... -- 2007-11-18 はこれが最新だった
ARM 用 binutils をビルド/インストールする
$ wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.bz2 $ tar jxf binutils-2.18.tar.bz2 $ cd binutils-2.18 $ mkdir build_arm $ cd build_arm $ ../configure --prefix=/usr/local/gnu --program-suffix=-arm \ --target=arm-gba-elf $ make $ sudo make install
i686 用 binutils をビルド/インストールする
$ mkdir build_686 $ cd build_686/ ../configure --prefix=/usr/local/gnu $ make $ sudo make install
gcc-core
- ftp://core.ring.gr.jp/pub/GNU/gcc/
- ftp://core.ring.gr.jp/pub/GNU/gcc/gcc-3.3.6/gcc-co... -- 3.3.x の最新にした
/usr/local/gnu/bin に PATH を通す
$ export PATH=/usr/local/gnu/bin:$PATH
ARM 用 GCC をビルド/インストールする
$ wget ftp://core.ring.gr.jp/pub/GNU/gcc/gcc-3.3.6/gcc-core-3.3.6.tar.bz2 $ tar jxf gcc-core-3.3.6.tar.bz2 $ ls $ cd gcc-3.3.6/ $ ls $ mkdir build_arm $ cd build_arm/ $ ../configure --target=arm-gba-elf --prefix=/usr/local/gnu \ --program-suffix=-arm --disable-shared --disable-threads --disable-nls $ make $ sudo make install
arm-gba-elf-gcc のシンボリックリンクを貼る
$ cd /usr/local/gnu/bin $ sudo ln -s arm-gba-elf-gcc gcc-arm
i686 用 GCC をビルド/インストールする
$ wget ftp://core.ring.gr.jp/pub/GNU/gcc/gcc-3.3.6/gcc-core-3.3.6.tar.bz2 $ tar jxf gcc-core-3.3.6.tar.bz2 $ ls $ cd gcc-3.3.6/ $ ls $ mkdir build_arm $ cd build_arm/ $ ../configure --target=arm-gba-elf --prefix=/usr/local/gnu \ --program-suffix=-arm --disable-shared --disable-threads --disable-nls $ make $ sudo make install
クロスコンパイル環境が整ったかどうか確認する
$ which gcc /usr/local/gnu/bin/gcc $ gcc -v Reading specs from /usr/local/gnu/lib/gcc-lib/i686-pc-linux-gnu/3.3.6/specs Configured with: ../configure --prefix=/usr/local/gnu Thread model: posix gcc version 3.3.6
うまくいかないときは、環境変数 PATH の先頭に /usr/local/gnu/bin が入っているか確認する (シェルを一度抜けるとうまくいくかもしれない)
$ echo $PATH /usr/local/gnu/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin: /bin:/usr/bin/X11:/usr/games
devkitPro を使う (よくわかんない人はこっち^^;)
有名な開発環境 devkitPro を使う方法もあります。wwwproxy を設定する必要があるときは以下のようにセットする。
$ export http_proxy=http://your.wwwproxy:8080
ダウンロードと展開
$ wget http://jaist.dl.sourceforge.net/sourceforge/devkitpro/buildscripts-20060412.tar.bz2 $ mkdir /tmp/buildscripts $ cd /tmp/buildscripts $ tar jxf buildscripts-20060412.tar.bz2
ビルドとインストール(ビルドには結構時間がかかる)
$ ./build-devkit.sh 1: build devkitARM (gba gp32 ds) 2: build devkitPPC (gamecube) 3: build devkitPSP (PSP) >> 1 1: I have already downloaded the source packages 2: Download the packages for me (requires wget) >> 2 Please enter the directory where you would like 'devkitARM' to be installed: for mingw/msys you must use <drive>:/<install path> or you will have include path problems this is the top level directory for devkitpro, i.e. e:/devkitPro >> /home/yourname/gba/devkitpro_r18
2007年12月05日(水) 01:32:24 Modified by hal_emmerich