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处后直接看内存)