Install Cross GNU C Compiler for H8/300 on Linux(x86) 改定版

Hitachi H8/300h MCU 向けに Cross GNU C Compiler を構築するためのインストール方法を記す。各種ツールのバージョンアップに対応した。
Last Update:09/17/2000 Rev.05

変更履歴:
09/17/2000 Rev.05:約二年ぶりに改定
09/20/1998 Rev.04:誤記訂正
09/17/1998 Rev.03:gcc-2.8.1でnewlib-1.8.1構築不可を追加。細かい点追加。
04/19/1998 Rev.02:公開

使用するツールのバージョン等

平田さんの公開されている RedHat Linux向けのソースアーカイブをベースに構築する。
h8300-hms-binutils-2.10-2.src.rpm
h8300-hms-gcc-2.95.2-5.src.rpm
h8300-hms-gdb-5.0-3.src.rpm
上記ソースは、次のWeb Pageにて公開されています。かなりサイズが大きいのですが、、頑張ってGetしてください。
GNU Development Tools for the Hitachi H8/300[HS] Series

ホスト側の環境は、Slackware 7.0ベースで、binutils, gccは次の通りです。
binutils:
GNU assembler version 2.9.1 (i386-slackware-linux), using BFD version 2.9.1.0.25
gcc:
Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/pgcc-2.91.66/specs gcc version pgcc-2.91.66 19990314 (egcs-1.1.2 release)
libc:glibc 2.1.2
ホストハード:P-!!! 550MHz(DUAL) + 256MByte MEM

インストール手順

前回までと異なり、クロス環境のインストール先を /usr/local 以下に変更しています。ソースファイルは rpm2tgz で tar+gz形式に変換してから 任意のディレクトリに展開します。インストール先を/usr/cross/h8300 にするとgccのmakeに失敗するんです。。

binutilsのインストール

基本的には、平田さんの作成された.specファイルを元にマニュアルで作業します。
(1)次の様にして、rpmからtar+gz形式に変換。
rpm2tgz h8300-hms-binutils-2.10-2.src.rpm
(2)展開する。
tar -zxvf h8300-hms-binutils-2.10-2.src.tgz
すると次のファイルが展開される。
-rw-rw-r-- yasui/users 5570368 2000-06-26 04:14 binutils-2.10.tar.bz2
-rw-rw-r-- yasui/users 49915 2000-06-26 04:13 h8300-hms-binutils-2.10-2.patch
-rw-rw-r-- yasui/users 1930 2000-06-26 04:14 h8300-hms-binutils-2.10-2.spec

(3)binutilsを展開する。
tar -yxvf binutils-2.10.tar.bz2
(4)パッチを当てる。
cd binutils-2.10
patch -p1 < ../h8300-hms-binutils-2.10-2.patch

(5)Makefileの生成とmake
mkdir objdir
cd objdir
../configure --prefix=/usr/local --target=h8300-hms
make -j4
※make -j4は環境により指定。この場合は、Dual CPU環境である為。一般的には CPU個数+1を指定するそうな。
(6)Install
su
make install
exit
(7)以上。

gccのインストール

(1)次の様にして、rpmからtar+gz形式に変換。
rpm2tgz h8300-hms-gcc-2.95.2-5.src.rpm
(2)展開する。
tar -zxvf h8300-hms-gcc-2.95.2-5.src.tgz
すると次のファイルが展開される。
-r--r--r-- 1 yasui users 9784016 Mar 20 2000 gcc-2.95.2.tar.bz2
-rw-r--r-- 1 yasui users 4036 May 13 10:31 h8300-hms-gcc-2.95.2-5.patch
-rw-r--r-- 1 yasui users 2249 May 13 09:41 h8300-hms-gcc-2.95.2-5.spec
-rw-r--r-- 1 yasui users 3015101 Feb 3 2000 newlib-1.8.2.tar.gz
(3)gcc, newlib を展開する。
tar -yxvf gcc-2.95.2.tar.bz2
tar -zxvf newlib-1.8.2.tar.gz
(4)パッチを当てる。
cd gcc-2.95.2
patch -p1 < ../h8300-hms-gcc-2.95.2-5.patch
(5)newlib へのシンボリックリンクをはる
ln -s ../newlib-1.8.2/newlib .
(6)Makefileの生成とmake
mkdir objdir
cd objdir
../configure \
--target=h8300-hms --prefix=/usr/local \
--with-newlib --enable-languages="c,c++"
make -j4 CFLAGS="-O2 -fno-strength-reduce -fomit-frame-pointer"
(7)Install
su
make install
exit
(8)以上。

gdbのインストール

(1)次の様にして、rpmからtar+gz形式に変換。
rpm2tgz h8300-hms-gdb-5.0-3.src.rpm
(2)展開する。
tar -zxvf h8300-hms-gdb-5.0-3.src.tgz
すると次のファイルが展開される。
-rw-r--r-- 1 yasui users 9505342 May 22 11:49 gdb-5.0.tar.bz2
-rw-r--r-- 1 yasui users 23195 Jun 6 22:47 h8300-hms-gdb-5.0-3.patch
-rw-r--r-- 1 yasui users 1591 Jun 6 22:21 h8300-hms-gdb-5.0-3.spec
-rw-r--r-- 1 yasui users 9509504 Sep 17 12:44 h8300-hms-gdb-5.0-3.src.rpm
(3)gdbを展開する。
tar -yxvf gdb-5.0.tar.bz2
(4)パッチを当てる。
cd gdb-5.0
patch -p1 < ../h8300-hms-gdb-5.0-3.patch
(5)Makefileの生成とmake
mkdir objdir
cd objdir
../configure --target=h8300-hms --prefix=/usr/local
make -j4
(6)Install
su
make install
exit
(7)以上。

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