www.ti.com
Block
0
UBL def
1
2
UBL block 1
3
UBL block 2
4
UBL block 3
5
UBL block 4
6
UBL block 5
7
UBL block 6
8
UBL block 7
9
UBL block 8
10
UBL block 9
11
UBL block 10
12
UBL block 11
13
UBL block 12
14
UBL block 13
15
UBL block 14
16
UBL block 15
17
UBL block 16
18
UBL block 17
19
UBL block 18
20
21
22
23
24
25
26
27
28
29
...
N
Byte addr
0
4
8
12
Number of blocks in UBL
Entry point addr of UBL
UBL magic number ID
32-bits
Starting block # of UBL
0xA1ACED00
0x00002100
0x00000013
0x00000002
UBL start addr
19 blocks
Block 2
User boot loader (UBL) definition
0x10000
0x13FFF
0x0000
0x3FFF
0x0020
IVT
IRAM0
0x781F
0x4000
IRAM1
0x1781F
0x14000
0x7FFF
0x17FFF
ITCM
DTCM
RBL stack space
(last 32 bits reserved for block
number of valid descriptor)
Found magic number
ROM bootloader
copies UBL into
IRAM0
Then transfers control
to UBL entry point
ARM ROM Boot Modes
Figure 11-11. ARM MMC/SD ROM Boot Loader Example
166
Boot Modes
SPRUFB3 – September 2007