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

Hitachi H8/300h MCU 向けに Cross GNU C Compiler を構築するためのインストール方法を記す。各種ツールのバージョンアップに対応した。また、日立製作所製モニタープログラムにgdbを対応させた。
Last Update:06/18/2001 Rev.06

変更履歴:
06/18/2001 Rev.06:最新プログラムに対応。日立製作所製モニターを使用したremoteデバック出来るよう、Quick Hack patch作成。
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向けのソースアーカイブをベースに構築する。
ここ(http://h8300-hms.sourceforge.net/)に構築手順や、パッチが有ります。
ここSourceForge(http://sourceforge.net/project/showfiles.php?group_id=24580)にRedHat7用のソース/バイナリパッケージ、cygwin用バイナリが有ります。

今回は、2001/05/09に公開されている gcc-2.95.3 のパッチを適用したツールを構築します。

次のファイルは、SourceForgeからDownloadします。
h8300-hms-binutils-2.11-1.src.rpm
h8300-hms-gcc-2.95.3-2.src.rpm
h8300-hms-gdb-5.0-4.src.rpm

gdb 5.0用の 日立モニタ対応用パッチは、ここからDownloadして下さい。
h8300-hms-gdb-5.0-HITACHI_MON-1.tar.gz


ホスト側の環境は、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
Rev.05の時とgccを変更しています。

インストール手順

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

binutilsのインストール

基本的には、平田さんの作成された.specファイルを元にマニュアルで作業します。
(1)次の様にして、rpmからtar+gz形式に変換。
rpm2tgz ~/ftp/h8300-hms-binutils-2.11-1.src.rpm
(2)展開する。
tar zxvf h8300-hms-binutils-2.10-2.src.tgz
すると次のファイルが展開される。
-rw-r--r-- 1 yasui users 7769038 Apr 5 11:45 binutils-2.11.tar.bz2
-rw-r--r-- 1 yasui users 2207 Apr 5 11:47 h8300-hms-binutils-2.11-1.spec

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

gccのインストール

(1)次の様にして、rpmからtar+gz形式に変換。
rpm2tgz h8300-hms-gcc-2.95.3-2.src.rpm
(2)展開する。
tar zxvf h8300-hms-gcc-2.95.3-2.src.tgz
すると次のファイルが展開される。
-rw-r--r-- 1 yasui users 9848842 Mar 25 21:38 gcc-2.95.3.tar.bz2
-rw-r--r-- 1 yasui users 23497 May 10 11:25 h8300-hms-gcc-2.95.3-2.patch
-rw-r--r-- 1 yasui users 2783 May 10 11:25 h8300-hms-gcc-2.95.3-2.spec
-rw-r--r-- 1 yasui users 3400423 Dec 16 2000 newlib-1.9.0.tar.gz
(3)gcc, newlib を展開する。
tar yxvf gcc-2.95.3.tar.bz2
tar zxvf newlib-1.9.0.tar.gz
(4)パッチを当てる。
cd gcc-2.95.3
patch -p1 < ../h8300-hms-gcc-2.95.3-2.patch
(5)newlib へのシンボリックリンクをはる
ln -s ../newlib-1.9.0/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-4.src.rpm
(2)展開する。
tar zxvf h8300-hms-gdb-5.0-4.src.tgz
すると次のファイルが展開される。
-rw-r--r-- 1 yasui users 9505342 May 22 2000 gdb-5.0.tar.bz2
-rw-r--r-- 1 yasui users 23195 Jun 6 2000 h8300-hms-gdb-5.0-4.patch
-rw-r--r-- 1 yasui users 1668 Oct 6 2000 h8300-hms-gdb-5.0-4.spec
(3)gdbを展開する。
tar yxvf gdb-5.0.tar.bz2
(4)日立モニタ対応パッチを展開する。
tar zxvf h8300-hms-gdb-5.0-HITACHI_MON-1.tar.gz
(5)パッチを当てる。
cd gdb-5.0
patch -p1 < ../h8300-hms-gdb-5.0-4.patch
cd gdb
patch -p0 < ../../h8300-hms-gdb-5.0-HITACHI_MON-1/monitor.c.diff
patch -p0 < ../../h8300-hms-gdb-5.0-HITACHI_MON-1/remote-hms.c.diff
cd ..
(6)Makefileの生成とmake
mkdir objdir
cd objdir
../configure --target=h8300-hms --prefix=/usr/local
make -j4
(7)Install
su
make install
exit
(8)以上。

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