RedBootの作成

この記事は古いです。参考の為に残してます。

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

You may also like...

コメントを残す

メールアドレスが公開されることはありません。


表示されている文字を入力してください! それ以外は任意です。