www.ti.com
NAND boot mode
Read page 0
of block M
(M++)
Start searching for valid magic number
in page 0 of block M=1. If a failure, read
next consecutive block up to block M=24.
ECC
OK
?
Attempt ECC
correction
ECC
correction
OK?
No
Yes
Magic
number
OK?
Yes
No
No
Yes
Write block
number M to
AIM 0x7FFC
Configure
based on
boot description
Copy page N of
UBL to AIM
(N++)
ECC
OK
?
Attempt ECC
correction
ECC
correction
OK?
No
Yes
No
Yes
All
UBL pages
copied
?
No
Yes
Branch to UBL
entry address
M>24
?
No
Yes
Try
MMC/SD boot
When a valid UBL signature is found, the corresponding
block number (M=1, 2, 3,...24) will be written to
the last 32 bits of ARM internal memory
(0x7FFC)
Configure the following based on boot descriptor:
- I-cache, DMA, fast EMIF options
- Starting block of UBL - can be same block as UBL descriptor
- Starting page of UBL
- Number of NAND pages of UBL - pages will be consecutive
- Entry point address - absolute entry point address after loading UBL
Copy N consecutive pages of UBL to AIM until entire UBL is
copied from NAND to AIM. The starting block and page and
the number of pages are specified in the UBL descriptor
If a failure has occured,
read the next consecutive
block up to block M=24
ARM ROM Boot Modes
Figure 11-6. NAND Boot Mode Flow Chart
158
Boot Modes
SPRUFB3 – September 2007