Install Cross GNU C Compiler for H8/300 on Linux(x86)(日本語版)
Hitachi H8/300h MCU 向けに Cross GNU C Compiler を構築するためのインストール方法を記す。
Last Update:09/17/1998 Rev.03
変更履歴:
09/20/1998 Rev.04:誤記訂正
09/17/1998 Rev.03:gcc-2.8.1でnewlib-1.8.1構築不可を追加。細かい点追加。
04/19/1998 Rev.02:公開
☆構築環境
Slackware 3.0 Base Linux Kernel Version 2.1.96 (Intel x86),
as GNU assembler version 2.8.1 (i686-pc-linux-gnu), using BFD version 2.8.1,
ld GNU ld version 2.8.1 (with BFD 2.8.1),
Libc 5.4.33, GCC 2.7.2.1
CPU Pentium Pro 166(DUAL)
☆参照ドキュメント
ftp://ftp.cygnus.com/pub/embedded/crossgcc/FAQ
crossgccディレクトリ以下にいくつかパッチが有るので、それもget。
- crossgcc-gcc-2.7.2.2.patch
☆ソースファイルの準備
○GNU プロダクツの入手
- gcc-2.7.2.3.tar.gz
- binutils-2.8.1.tar.gz
- gdb-4.16.tar.gz
注意:binutils-2.8.1.tar.gz + gcc-2.8.1.tar.gz + crossgcc-2.8.1.patch + newlib-1.8.1 の環境で newlib-1.8.1のコンパイル時に cross-gcc が signal6で 異常終了することがありました。
現時点では、先に挙げたバージョンの組合わせで、環境を構築することをお勧めします。
egcsなどは試していません。[09/17/1998]
○Cygnus Cライブラリの入手
ftp://ftp.cygnus.com/pub/newlib
- newlib-1.8.0.tar.gz
- COPYING.NEWLIB
☆インストール前の準備
クロス環境をインストールするディレクトリを /home/h8300 とする。
gcc等のソースファイルは /home/crossgcc 以下に展開した。
シェル変数を次の様に設定する(Cシェル系の場合)。
set target=h8300-TYLAB-hms
set prefix=/home/h8300
set i=$prefix/bin
別のディレクトリに変更する場合は、prefix変数を
☆クロスアセンブラの構築
binutiles をmake して、クロスアセンブラを構築する。
- ソースファイルの展開
binutils-2.8.1.tar.gz を /home/crossgcc に展開する。
cd /home/crossgcc
tar -zxvf ~/ftp/GNU/binutils-2.8.1.tar.gz
cd binutils-2.8.1
- Makefileの自動生成
./configure --prefix=$prefix --target=$target -v
- make & install
make all >& make.log & ; tail -f make.log &
make install >& install.log & ; tail -f install.log &
☆クロスCコンパイラの構築
- ソースファイルの展開
gcc-2.7.2.3.tar.gz を/home/crossgcc に展開する。
cd /home/crossgcc
tar -zxvf ~/ftp/GNU/gcc-2.7.2.3.tar.gz
cd gcc-2.7.2.3
- patchを当てる
GCC 2.7.2.3において、2.7.2.2用のパッチでもリジェクトされずに当たる。
patch -p1 < ~/html/h8/crossgcc/crossgcc-gcc-2.7.2.2.patch
- Makefileの自動生成
./configure --prefix=$prefix -target=$target -v
- make & install
make all >& make.log & ; tail -f make.log &
make install >& install.log & ; tail -f install.log &
☆newlibの作成
- ソースファイルの展開
newlib-1.8.0.tar.gz を /home/crossgcc に展開する。
cd /home/crossgcc
tar -zxvf ~/html/h8/crossgcc/newlib/newlib-1.8.0.tar.gz
cd newlib-1.8.0
- Makefileの自動生成
./configure --target=$target --prefix=$prefix -v
- make & install
折り返しは無視して、一行で指定してください。
make all CC_FOR_TARGET=$i/${target}-gcc AS_FOR_TARGET=$i/${target}-as LD_FOR_TARGET=$i/${target}-ld AR_FOR_TARGET=$i/${target}-ar RANLIB_FOR_TARGET=$i/${target}-ranlib >& make.log & ; tail -f make.log &
make install CC_FOR_TARGET=$i/${target}-gcc AS_FOR_TARGET=$i/${target}-as LD_FOR_TARGET=$i/${target}-ld AR_FOR_TARGET=$i/${target}-ar RANLIB_FOR_TARGET=$i/${target}-ranlib >& install.log & ; tail -f install.log &
☆gdbの作成
- ソースファイルの展開
gdb-4.16.tar.gz を /home/crossgcc に展開する。
cd /home/crossgcc
tar -zxvf ~/ftp/GNU/gdb-4.16.tar.gz
cd gdb-4.16
- Makefileの自動生成
./configure --target=$target --prefix=$prefix -v -host=i486-TYLAB-linux
-hostは適宜、環境にあわせて変更して下さい。
- make & install
make all >& make.log & ; tail -f make.log &
make install >& install.log & ; tail -f install.log &
☆参考 Web Page
yasui.takao@nifty.com