1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
SPI NOR Flash
Flash offset

+--------------------------------------------------+
| 0x000000 |
| TPL |
| |
| +----------------------------------------------+ |
| | 0x0000 | |
| | _start | |
| | | |
| | b reset | |
| | mtc0 ... | |
| +----------------------------------------------+ |
| |
| +----------------------------------------------+ |
| | 0x0040 | |
| | TPL_INFO | |
| | | |
| | magic = TPL_INFO_MAGIC | |
| | size = __image_copy_len | |
| +----------------------------------------------+ |
| |
| +----------------------------------------------+ |
| | 0x0200 ~ 0x04ff | |
| | MIPS Exception Vector | |
| +----------------------------------------------+ |
| |
| +----------------------------------------------+ |
| | 0x0500 | |
| | reset: | |
| | | |
| | TPL真正的初始化代码 | |
| | DDR初始化等 | |
| | ... | |
| +----------------------------------------------+ |
| |
| TPL结束位置 = tpli->size |
+--------------------------------------------------+

+--------------------------------------------------+
| |
| 64 Bytes |
| |
| ih_magic |
| ih_size |
| ih_load = 0x80100000 |
| ih_ep = 0x80100000 |
| ih_os |
| ih_comp |
| ... |
+--------------------------------------------------+

+--------------------------------------------------+
| SPL Payload |
| |
| u-boot-spl-ddr.bin |
| |
+--------------------------------------------------+

+--------------------------------------------------+
| U-Boot proper Legacy Image Header |
| 64 Bytes |
| |
| ih_magic |
| ih_size |
| ih_load = 0x80200000 |
| ih_ep = 0x80200000 |
| ih_os = IH_OS_U_BOOT |
| ih_comp = IH_COMP_LZMA |
| ... |
+--------------------------------------------------+

+--------------------------------------------------+
| U-Boot proper Payload |
| |
| 压缩后的 U-Boot |
| u-boot.bin.lzma |
| |
+--------------------------------------------------+