1. SD / MMC
偏移地址0x200 (第2块第0页,每块0x200 = 512字节)
80700200: a1aced00 00000100 00000028 00000075 ........(...u...
80700210: 00000000 00000000 00000000 00000000 ................
...
80700600: a1aced00 00000100 00000028 00000075 ........(...u...
80700610: 00000000 00000000 00000000 00000000 ................
用工具烧写的SD卡几乎前面的几个块开头都有UBL magic number 及描述符
a1aced00 00000100 00000028 00000075
|
Page 0 Address |
Value |
Address |
32-Bits |
Description |
|
0 |
a1aced00 |
|
0xA1AC EDxx |
Magic number (0xA1ACEDxx) |
|
4 |
00000100 |
|
Entry Point Address of UBL |
Entry point address for the user bootloader (absolute address) |
|
8 |
00000028 |
|
Number of blocks in UBL |
Number of blocks (size of user bootloader in number of blocks) |
|
12 |
00000075 |
0x75×0x200=EA00 |
Starting Block # of UBL |
Block number where user bootloader is located |
-
根据 Number of blocks in UBL 计算Ubl大小(非实际大小,可能略大于)
0x28 *0x200 (块/字节) = 20,480字节
支持最大UBL 30KB
-
Starting Block # of UBL 指明,从偏移地址EA00 处开始,为UBL实际内容:
8070ea00: ee190f31 e3a00001 ee090f31 ee190f11 1.......1.......
8070ea10: e59f0038 e380001d ee090f11 e59f0034 8...........4...
8070ea20: e59f1034 e59f2034 e1520000 9a000005 4...4 ....R.....
8070ea30: e0422000 e1a02142 e490c004 e2522001 . B.B!....... R.
8070ea40: e481c004 1afffffb e59f0004 e1a0f000 ................
8070ea50: 00010000 00000100 02000000 00010020 ............ ...
8070ea60: 02004428 e12fff1e 00000000 00000000 (D..../.........
(将SD卡读到内存 0x80700000处后直接看内存)
本文解析了SD卡上用户引导加载程序(UBL)的烧写布局与结构,包括魔数(Magic number)、入口地址(EntryPoint Address)、UBL占用块数(Number of blocks)等关键信息,并展示了UBL的实际内容。
1007

被折叠的 条评论
为什么被折叠?



