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。

☆ソースファイルの準備

○GNU プロダクツの入手

注意: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

☆インストール前の準備

クロス環境をインストールするディレクトリを /home/h8300 とする。
gcc等のソースファイルは /home/crossgcc 以下に展開した。
シェル変数を次の様に設定する(Cシェル系の場合)。
set target=h8300-TYLAB-hms
set prefix=/home/h8300
set i=$prefix/bin
別のディレクトリに変更する場合は、prefix変数を

☆クロスアセンブラの構築

binutiles をmake して、クロスアセンブラを構築する。
  1. ソースファイルの展開
    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
  2. Makefileの自動生成
    ./configure --prefix=$prefix --target=$target -v
  3. make & install
    make all >& make.log & ; tail -f make.log &
    make install >& install.log & ; tail -f install.log &

☆クロスCコンパイラの構築

  1. ソースファイルの展開
    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
  2. patchを当てる
    GCC 2.7.2.3において、2.7.2.2用のパッチでもリジェクトされずに当たる。
    patch -p1 < ~/html/h8/crossgcc/crossgcc-gcc-2.7.2.2.patch
  3. Makefileの自動生成
    ./configure --prefix=$prefix -target=$target -v
  4. make & install
    make all >& make.log & ; tail -f make.log &
    make install >& install.log & ; tail -f install.log &

☆newlibの作成

  1. ソースファイルの展開
    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
  2. Makefileの自動生成
    ./configure --target=$target --prefix=$prefix -v
  3. 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の作成

  1. ソースファイルの展開
    gdb-4.16.tar.gz を /home/crossgcc に展開する。
    cd /home/crossgcc
    tar -zxvf ~/ftp/GNU/gdb-4.16.tar.gz
    cd gdb-4.16
  2. Makefileの自動生成
    ./configure --target=$target --prefix=$prefix -v -host=i486-TYLAB-linux
    -hostは適宜、環境にあわせて変更して下さい。
  3. make & install
    make all >& make.log & ; tail -f make.log &
    make install >& install.log & ; tail -f install.log &

☆参考 Web Page


yasui.takao(このあとに「@nifty.com」を付加してください)