CygwinGCCクロスコンパイラ環境の構築

Copyright(C)30Oct2005
coskx & R Iguchi j01501


1.はじめに
この文書は,WindowsXP,WindowsVista,Windows7パソコンにCygwinのC言語クロスコンパイル環境を構築する手順を記述しています。cygwinフォルダ内にh8用のGCCの環境が出来ていれば,windowsのドラッグ&ドロップで作業できます。

2.CygwinのCクロスコンパイル環境の構築

(1)binutils-2.16.1.tar.tar, gcc-3.3.2.tar.gz , newlib-1.14.0.tar.gz をダウンロードします。
以下のところでダウンロードします。
binutils http://www.gnu.org/directory/binutils.html
gcc   http://directory.fsf.org/gcc.html
newlib C library http://sources.redhat.com/newlib/



(2)cygwinのカレントディレクトリを「c:/cygwin/usr/src」に移動する。
その中に,binutils,gcc,newlibのディレクトリを作り,ダウンロードした3つのファイルを格納する。
c:/cygwin/usr/src/binutils/binutils-2.16.1.tar.tar
c:/cygwin/usr/src/gcc/gcc-3.3.2.tar.gz
c:/cygwin/usr/src/newlib/newlib-1.14.0.tar.gz


(3)まず全てのファイルを解凍するため、以下のコマンドを実行
c:/cygwin/usr/src/binutilsにて
$ tar xvf binutils-2.16.1.tar.tar

c:/cygwin/usr/src/gcc/にて
$ tar zxvf gcc-3.3.2.tar.gz

c:/cygwin/usr/src/newlibにて
$ tar zxvf newlib-1.14.0.tar.gz


gccはbinutilsを、newlibはgccを利用して構築しているため, 必ず(4)→(5)→(6)の順に作業してください。
また, make installには管理者権限が必要なので, ログインするユーザに気をつけてください。



(4)binutils-2.16.1の構築
$ cd /usr/src/binutils/binutils-2.16.1
$ ./configure --target=h8300-hms --prefix=/usr/local/h8300
$ make CFLAGS="-O2"
$ make install


1)ここで「h8300」はCPUの名前,「hms」は会社の名前(日立マイクロコンピュータシステムズ?)
2)「--prefix=」はインストール先のディレクトリ名
3)makeで使う,「CFLAGS="-O2"」は「最適化のみ」の意味。
 デフォルトでは「-g -O2」になっていて,最適化とデバッグ情報付加の意味になっている。

(5)gcc-3.3.2の構築
$ export PATH=/usr/local/h8300/bin:$PATH
$ cd /usr/src/gcc/gcc-3.3.2
$ ./configure --prefix=/usr/local/h8300/ --target=h8300-hms --enable-languages=c --with-newlib --with-headers=/usr/src/newlib/newlib-1.14.0/newlib/libc/include
$ make CFLAGS="-O2"
$ make install


1)「--with-headers=/usr/src/newlib/newlib-1.14.0/newlib/libc/include」では,すでに(2)で展開されているはずのincludeファイル群のあるディレクトリを指定

(6)newlib-1.14.0の構築
$ cd /usr/src/newlib/newlib-1.14.0
$ ./configure --target=h8300-hms --prefix=/usr/local/h8300
$ make CFLAGS="-O2"
$ make install


これで、GCCを用いたCクロスコンパイル環境が構築されます。