この記事は古いです。参考の為に残してます。
RedBootの作成
uClinuxのカーネルを立ち上げるのに必要みたいです……。
私の理解ではDOS/V機で最初に立ち上がるBIOSのイメージなのですが
違ってるかも……。
- 開発環境の構築
- RedBootを作成するための準備を行います。
+binutils-2.14.tar.bz2
+newlib-1.11.0.tar.gz - binuteils
# export H8PREFIX=/usr/local/h8
# bunzip2 < binutils-2.14.tar.bz2 | tar xvf –
# cd binutils-2.14
# mkdir builddir
# cd builddir
# ../configure –target=h8300-elf –prefix=${H8PREFIX} -v | tee configure.out
# make -w all | tee make.out
# make -w install | tee make-install.out - GCC
# export PATH=${PATH}:${H8PREFIX}/bin
# bunzip2 < gcc-3.3.2.tar.bz2 | tar xvf –
# tar zxpvf newlib-1.11.0.tar.gz
# mv newlib-1.11.0/newlib gcc-3.3.2
# mv newlib-1.11.0/libgloss gcc-3.3.2
# patch -p0 < gcc.diff-new | tee gcc-3.3.2/patch.out
# cd gcc-3.3.2
# mkdir builddir
# cd builddir
# ../configure –target=h8300-elf –prefix=${H8PREFIX} –enable-languages=c,c++ –with-newlib -v | tee configure.out
# make -w all | tee make.out
# make -w install | tee make-install.out - RedBoot(うまくいかなかった)
# wget –passive-ftp ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl
# sh ecos-install.tcl
てきとうなサイトを指定
てきとうなディレクトリを指定(デフォルト:/opt/ecos)
“q”をキーイン
# cvs -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/ecos-h8 login???????? cvsのパスを聞かれるのでそのままEnter
# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/ecos-h8 co ecos
DownLoad開始
# cd /opt/ecos/ecos-2.0
# mv /opt/ecos/ecos-2.0/tools .
# export PATH=$PATH:/opt/ecos/ecos-2.0/tools/bin
# export ECOS_REPOSITORY=/opt/ecos/ecos-2.0/packages - RedBoot(うまくいったのはこっち)
ストロベリーリナックスさんからDownloadさせて頂きました。
http://strawberry-linux.com/h8max/download.php
ダウンロードしたファイルを展開して(/srcに展開しました)。 - PATHの確認
# export PATH=$PATH:/src/ecos-2.0/tools/bin
# export ECOS_REPOSITORY=/src/ecos-2.0/packages
# export H8PREFIX=/usr/local/h8
# export PATH=${PATH}:${H8PREFIX}/bin - RedBootの構築
# ecosconfig new aki3068net redboot
U CYGSEM_HAL_ROM_MONITOR, new inferred value 1
↑このメッセージが返ってくる
# ecosconfig add CYGPKG_IO_ETH_DRIVERS
# ecosconfig add CYGPKG_DEVS_ETH_NS_DP83902A
# ecosconfig add CYGPKG_CYGMON
# ls ecos.ecc - ecos.eccを編集
ecos.eccを編集します。お手本をまねして、 - スタックは数値(4096)を調整
cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {???????? user_value 1024
}; - コマンドヒストリは数値(16)を調整
cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
user_value 2
}; - IPアドレス設定
cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
user_value 1 “192, 168, 183, 145”
}; - シリアル転送速度を38400bpsに設定
cdl_option CYGNUM_HAL_H8300_SCI_BAUD_RATE {
user_value 38400
} - DHCPを無効に
cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
user_value 1
};
そして、
# ecosconfig check
# ecosconfig tree
# make | tee make.outmake
を実行します。エラーがでず終了したら# cd install/bin
# h8300-elf-objcopy -O srec redboot.elf redboot.mot - 一応終了
一応終了だと思い、FTPでWinPCに作成した”.mot”ファイルを転送して
(まだ、VinelからRS232C経由で書き込む環境を整えていないので)
H8Writeで書き込みます(モードの切替えを忘れずに!)。
とりあえずハイパーターミナルをスピード38400にして電源ON!!!やった動いた!!!
+DP83902A – eeprom ESA: 00:02:cb:01:57:8eん?なんじゃ、メモリチェックみたいのは表示されたけど…………
その後がいくら待っても表示されん。どうやらネットで調べたところ,問題はこのボードのメモリにあるようです。なので以下のように修正します。/home/hamuken/H8/MakeRedboot/install/include/platform.inc INIT_REGS_DATA(CYGARC_DRCRA,0x3C)
↓
INIT_REGS_DATA(CYGARC_DRCRA,0x38)
に変更(DRAM FASTPAGEの問題)
# ecosconfig tree
# make
# cd install/bin
# h8300-elf-objcopy -O srec redboot.elf redboot.mot
頂いたコメント