楽墨堂ソフトウェア研究室:AKI-H8/3069F:eCos:RedBootを使ってeCosプログラムをテストする方法
 
RedBootを使ってeCosプログラムをテストする方法

1.ram用カーネルを作成
# mkdir ~/ecos/ram_kernel
# cd ~/ecos/ram_kernel
# ecosconfig new aki3068net net
ネットを使わない場合は
# ecosconfig new aki3068net
で良い。

ここでecos.eccを編集してCYG_HAL_STARTUPをRAMにする。
具体的には
cdl_component CYG_HAL_STARTUP {
の数行下にある
    # user_value ROM

    user_value RAM
とする。
そして
# ecosconfig tree
# make
次に大きなプログラムでも動作できるようにメモリマップを変更。
~/ecos/ram_kernel/install/lib/target.ldを以下のように修正
  ram : ORIGIN = 0x400000, LENGTH = 0x30000

  ram : ORIGIN = 0x400000, LENGTH = 0x200000

2.テストプログラム作成
# mkdir ~/ecos/hello
# cd ~/ecos/hello
このディレクトに次の内容のプログラム(hello.c)を作成する。
#include 

int main(int argc, char* argv[])
{
  printf("Hello eCos world!\n");
  return 0;
}
次にスクリプトファイルをコピーしてビルド。そして実行ファイル作成
# cp /opt/ecos/ecos/exsamples/build_Make* ./
# chmod +x build_Make*
# SRCS=hello.c DST=hello ./build_Makefile ~/ecos/ram_kernel
# h8300-elf-objcopy -O srec hello hello.srec
後はRedBootから
load -h ホストIP hello.srec
go
で実行される。(ネット関連初期化メッセージも表示される)
上記RedBootからのコマンドはコンパイルを行っているPCでTFTPサーバが稼動されているのが前提。
ホストIPはTFTPサーバが稼動している、すなわちコンパイルしているPCのIPを指定。
TFTPサーバでhello.srecが読み込めるように予めのディレクトリ等設定しておくこと。

TFTPサーバはフリーのものも多く見受けられるのでVECTOR等でダウンロードするのが良いであろう。

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