« SDメモリ問題その後 | Main | xinetdとinetdの再起動 »

2003.12.19

CygwinでARM(GBA/Zaulus)のクロスコンパイル環境を作る

ARMのバイナリが作れるようにクロスコンパイル環境を作ることにしました。具体的にはbinutilsとgccのtargetがARMのものを作ります。Linuxマシンがお亡くなりになってしまったので、WindowsXP+Cygwinで作りました。
当初、configureしてmakeしてinstallという簡単なものだと思っていたのですが、gccは少々手順が必要で、newlibちぅものも必要そうだというのがわかりました。以下はいろいろ調べて試して、gccのコンパイルが成功したときの手順です。

1.ソースのダウンロード
 gccbinutilsnewlib
 ※ダウンロード先は~/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をターゲットとしたソースをコンパイルして動くのかどうかは未確認。確認はまた今度。

|

« SDメモリ問題その後 | Main | xinetdとinetdの再起動 »

Comments

Linux (Debian Sarge/woody; RH8.0) 上でクロスコンパイル環境を作り、コンパイルした GBA (ARM7TDMI) の『ゲームではない』プログラミングを勉強中です。
多言語用のエディターをめざしています。
日・英・韓まで読み書きできます。

Posted by: oJIN | 2005.11.28 at 17:19

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/1594/35368

Listed below are links to weblogs that reference CygwinでARM(GBA/Zaulus)のクロスコンパイル環境を作る:

» クロスコンパイル環境の構築./クロスコンパイル環境の構築 [PukiWiki/TrackBack 0.1]
▲ はじめに 注意点 とりあえず はじめに † 手始めに、gba向けの環境を整えてみたいと思います。 ↑注意点 ... [Read More]

Tracked on 2004.04.11 at 12:13

« SDメモリ問題その後 | Main | xinetdとinetdの再起動 »