BBB(am335x)のブートシーケンス調べる(MLOのロード先アドレス)
BBBのブートシーケンスを調べるのつづき。 am335xは起動時に内蔵ROMのBoot Codeから、 何かしら外部めもり(eMMC, SD)上のMLOイメージを探してRAM上にコピーするらしい。 ■内蔵RAM Map ----------------------0x402F0400 | | | Downloaded image | | | | | |--------------------|0x4030B800 | 6KB Public stack | |--------------------|0x4030CE00 | RAM Exc. Vectors | |--------------------| | Tracing Data | |--------------------| | Static Variables | ----------------------0x4040FFFF ■u-boot-spl.bin 1 130000ea 14f09fe5 14f09fe5 14f09fe5 2 14f09fe5 14f09fe5 14f09fe5 14f09fe5 3 20042f40 24042f40 28042f40 2c042f40 4 30042f40 34042f40 38042f40 78563412 ■MLOの中身 1 40000000 0c000000 00000000 00000000 2 00000000 43485345 5454494e 47530000 3 ffffffff ffffffff ffffffff ffffffff 4 ffffffff ffffffff ffffffff ffffffff 5 c1c0c0c0 00010000 00000000 00000000 6 00000000 00000000 00000000 00000000 7 00000000 00000000 00000000 00000000 8 00000000 00000000 00000000 00000000 9 00000000 00000000 00000000 00000000 10 00000000 00000000 00000000 00000000 11 00000000 00000000 00000000 00000000 12 00000000 00000000 00000000 00000000 13 00000000 00000000 00000000 00000000 14 00000000 00000000 00000000 00000000 15 00000000 00000000 00000000 00000000 16 00000000 00000000 00000000 00000000 17 00000000 00000000 00000000 00000000 18 00000000 00000000 00000000 00000000 19 00000000 00000000 00000000 00000000 20 00000000 00000000 00000000 00000000 21 00000000 00000000 00000000 00000000 22 00000000 00000000 00000000 00000000 23 00000000 00000000 00000000 00000000 24 00000000 00000000 00000000 00000000 25 00000000 00000000 00000000 00000000 26 00000000 00000000 00000000 00000000 27 00000000 00000000 00000000 00000000 28 00000000 00000000 00000000 00000000 29 00000000 00000000 00000000 00000000 30 00000000 00000000 00000000 00000000 31 00000000 00000000 00000000 00000000 32 00000000 00000000 00000000 00000000 33 2c9a0100 00042f40 130000ea 14f09fe5 34 14f09fe5 14f09fe5 14f09fe5 14f09fe5 35 14f09fe5 14f09fe5 20042f40 24042f40 36 28042f40 2c042f40 30042f40 34042f40 37 38042f40 78563412 00042f40 00fc7040 ■さて u-boot-spl.bin は先頭から実行コードが入っている。 以下のサイトによると、MLOは、これに8バイトの情報を先頭に付加する。とある。 (http://beagle1.blog.so-net.ne.jp/2011-07-26) (1) ファイルサイズ:4 bytes (2) ロードアドレス:4 bytes データはファイルの中でリトルエンディアンで配置されてるようだ。 しかし、手元でU-Bootをビルドして作ったMLOは、 なぜか上記8バイト以外に、512バイトのデータが先頭にくっついている。 (どうやらu-bootではtools/mkimageでu-boot用イメージをつくるが、 これ上記サイトのx-loaderとは違うものらしい)) でもまあ、とりあえず、x-loaderのサイズと配置させる先頭アドレスは下記のとおり。 ファイルサイズ:019a2c -> 105004 bytes ロードアドレス:402f0400 -> 内蔵RAMアドレスの先頭 105004はu-boot-spl.binのファイルサイズと一致。 一応整合性は確認できた。 以上。
2014-03-22 14:18
nice!(0)
コメント(0)
トラックバック(0)
コメント 0