西本 寛
nsmt****@ca2*****
2003年 8月 23日 (土) 10:39:36 JST
西本@やっとできました。 カーネルロードと実行を、RedBoot の BootScript を使って自動実行する事が できました。 >ecos.eccにCYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPTという項目があるので、 >ここにコマンドを入れておくと、自動的に実行してくれます。 >#ただし、使った事がないのでちゃんと動くかどうか不明。 > >たぶん"load 〜\nexec -c 〜\n"と入れておけば目的は果たせると思います。 ヒントを頂いた様に、ecos.eccのCYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPTを設定 する事で実現できます。例としては cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT { user_value 1 "(unsigned char *)&\"LOAD -r -b 0x400000 linux.bin;exec -c \\\"console=ttySC1,38400n81\\\"\\n" } の様に指定するのですが、ecosconfig tree の処理で最後の\n部分がなくなっ てしまいます。 とりあえずの処置として作成されたinstall/include/pkgconf/redboot.h のCYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPTを直接編集して make しました。 # この部分どう記述すれば意とした結果になるのか?それともバグ? これで、RedBoot立ち上がって10秒後にコマンドが実行されます。 +DP83902A - eeprom ESA: 00:02:cb:01:32:59 Ethernet eth0: MAC address 00:02:cb:01:32:59 IP: 192.168.0.202/255.255.255.0, Gateway: 192.168.0.254 Default server: 192.168.0.210, DNS server IP: 0.0.0.0 RedBoot(tm) bootstrap and debug environment [ROM] Non-certified release, version UNKNOWN - built 08:43:28, Aug 24 2003 Platform: Akizuki H8/3068 Network micom (H8/300H) Copyright (C) 2000, 2001, 2002, Red Hat, Inc. RAM: 0x00400000-0x005f4000, 0x00400000-0x005f4000 available == Executing boot script in 10.000 seconds - enter ^C to abort RedBoot> LOAD -r -b 0x400000 linux-h8max.bin;exec -c "console=ttySC1,38400n81" Using default protocol (TFTP) ^CでアボートするとRedBoot>のプロンプトが出ます。 # ドキュメントが読みにくくて嫌になりました。 -- http://www.nishimoto-site.net/~h8max/ 西本 寛 mailto:nsmt****@ca2*****