アットウィキロゴ

Redbootコンパイル

AKI-H8/3069F用Redbootコンパイル

Redbootコンパイル手順について説明します。


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に関して古いので使用しない。


h8用ecos


$ cd /opt/ecos
$ cvs -z3 -d:pserver:[email protected]:/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行目の

<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:[email protected]:/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


環境変数の設定


$ 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を構築するのに必要な環境が整っている。


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


コンフィギュレーションをいじくる。

コンフィグレーションのファイル ecos.eccを編集します。

↓スタックは4096も要らないみたいなので。

cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
   user_value 2048
};

↓コマンドヒストリも16もいらない。

cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
   user_value 8
};

↓IPアドレスを設定。

cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
   user_value 1 "192, 168, 1, 88"
};

↓SCIの転送速度を38400bpsに設定。

cdl_option CYGNUM_HAL_H8300_SCI_BAUD_RATE {
   user_value 38400
};

↓DHCPを無効にする。

cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
   user_value 1
};


今回の変更はコレくらいです。
早速、コンフィギュレーションからソースを生成させます。
makefileとソース一式ができあがるので、makeを実行します。

↓コンフィギュレーションからソース一式を生成してビルド。

$ ecosconfig tree
$ make
最終更新:2008年05月17日 18:46