楽墨堂ソフトウェア研究室:AKI-H8/3069F:eCos:開発環境構築
 
AKI-H8/3069FにeCosを動作させるために必要な開発環境をcygwinがインストールされていることを前提にして構成する方法を示す。
以下、少し情報が古いかもしれない。

1.toolchain
最初、最新のもの(gcc4.1等)のソースから構築してみたのだけれど、うまくeCosがコンパイルできないので、gcc3.3のソースからやってみようと思ったら、今度はgcc3.3自体が構築できないので出来合いのtoolchainをストロベリーリナックス(http://strawberry-linux.com)さんからもらってくることにした。(有難うございました。)

H8MAX download center ( http://strawberry-linux.com/h8max/download.php )から
h8300-elf-tools.i386linux.tar.bz2をダウンロードし/srcに置く。展開して/gnutoolsに置く。
# mkdir /src
# cd /src
# wget http://strawberry-linux.com/h8max/down/h8300-elf-tools.i386linux.tar.bz2
# tar xjf h8300-elf-tools.i386linux.tar.bz2
# mkdir /gnutools
# cp -r /src/usr/local/* /gnutools
# rm -fr /src/usr

2.ecos configuration tools
コンフィグ用ツールをダウンロード
# cd /src
# mkdir /opt/ecos
# wget --passive-ftp ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl
# sh ecos-install.tcl
色々と聞かれるのでデフォルトで答える(enterキー)。ただしダウンロードサイトは数字で答える(26)
ここで同時にダウンロードされるpackagesはH8に関して古いので使用しない。


3.h8用ecos
# cd /opt/ecos
# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/ecos-h8 co ecos
修正1
/opt/ecos/ecos/packages/redboot/current/src/net/net_io.c

#define IP_ADDR(a) _IP_ADDR(a)
#define _IP_ADDR(a, b, c, d) ((a << 24) | (b << 16) | (c << 8) | d)
の次の行に
#define _IP_ADDR(a) (a)
を追加。これをしないとredboot with flashの構築に失敗する。

修正2
/opt/ecos/ecos/packages/devs/eth/h8300/alo3068net/current/src/if_aki3069.net
の71行目の
#include <cyg/io/eth/eth_drv.h>
をコメントアウトする。これをしないとnetテンプレートでの構築が失敗する。

修正3
次のkernel関連ファイルやnet関連ファイルはecosのCVSの方が新しくバグフィックスされているので、入れ替える。ただしnet/bsd_tcpip/current/include/sys/time.hは新しい方には無いので古いものを使うこと。
# mkdir /opt/ecos-org
# cd /opt/ecos-org
# cvs -z3 -d:pserver:anoncvs@ecos.sourceware.org:/cvs/ecos co -P ecos
# cp -f -r /opt/ecos-org/ecos/packages/net/* /opt/ecos/ecos/packages/net
# cp -f -r /opt/ecos-org/ecos/packages/kernel/* /opt/ecos/ecos/packages/kernal

4.h8用書き込みツール
# cd /src
# wget http://prdownloads.sourceforge.jp/ecos-h8/13227/h8flash-20050619.tar.gz
# tar xzf h8flash-20050619.tar.gz
# cd h8flash-20050619
# make
# cp h8flash /gnutools/bin

5.環境変数の設定
# cd ~
# echo "export PATH=/opt/ecos/ecos-2.0/tools/bin:/gnutools/bin:$PATH" >> .bash_profile
# echo "ECOS_REPOSITORY=/opt/ecos/ecos/packages" >> .bash_profile
これで再ログインした時にecosを構築するのに必要な環境が整っている。


6.redboot作成
# mkdir ~/develop/ecos/redboot
# cd ~/develop/ecos/redboot
# ecosconfig new aki3068net redboot
# ecosconfig add CYGPKG_DEVS_FLASH_H8300_PROGS
# ecosconfig add CYGPAK_IO_FLASH
# ecosconfig add CYGPKG_IO_ETH_DRIVERS
# ecosconfig tree
# make

7.flash書き込み
ボードをブートプログラム書き込みモード(on,on,off,on)にしてシリアル接続(/dev/ttyS0)して電源オン。
# cd ~/develop/ecos/redboot/install/bin
# h8flash -f 20 redboot.srec

8.minicomの初期設定(一回だけ)
# LANG=US minicom -s
Serial port setup を選択
/dev/ttyS0
38400 8N1
Modem and dialing を選択
A - H まで全て空文字列にする
Save setup as dfl を選択
Exit from Minicom を選択

9.redboot起動
# LANG=US minicom
ボートをモード5+フラッシュ書き込み可(on,off,on,on)にしてシリアル接続(/dev/ttyS0)して電源オン。
起動メッセージが表示されるはずである。

 
Copyright© 2006 Laksmi-Do Corp. All rights reserved.
連絡先(@を半角に) develop@laksmido.com