dingux 続き3

あめりあんです。

SL-C860をベッドから落下させてしまい、GW-FC54Gが逝きました。なぜ彼だけ。物凄く愛用していて、うなぎパイよりお供していたのにね。

合掌。今までありがとう。

ちょっとだけdingux関係で進展。dual-bootの仕組みを追うために、まず「SELECT押下判断」をキーにしようとgrepしていて、hwinitでヒット。

hwinit
main.c
void c_main(void)
bsel = __gpio_get_pin(BOOT_SELECT_PIN);

こんな感じなんですが、うーん、bselてスタックなんで全く意味ないと思われ、ちゅか、boot先の分岐処理さえないし。え??てなったのですが、113キーコード定義が別にあるんじゃないかと再grepして、ようやくヒット。

u-boot-1.1.6
nand_boot_jz4740.c
void nand_boot(void)

if (!__gpio_get_pin(GPIO_BOOT_SELECT)) {

ここにありました。ingenic拡張のu-bootを更に改変してデュアルにしているんですね。ちゅうことは、u-bootに仕込まれているので、やはり既存のブートローダを上書きしているんだと思ったのですが。。でも、デュアルブートローダのインストーラで「デュアルブートにしない」と選択が出来るので、そうなると矛盾する訳です。オリジナルブートローダに戻すちゅうても、そのイメージはどこ退避?てなるし。そもそも、ingenicがjz4740用とかのu-boot公開しているということは、オリジナルもlinux上で動作なん?て。dingooのオリジナルてソース非公開のような。。GP2Xと同じお祭りになるんですかね。
話が脱線した。オリジナルは、この流れではどうでも良いので。これで、flashの配置が少しは見えてくるんじゃないかな!