The sixth vector, at the offset 0x14, contains the size of the image to download. The user must replace this vector
with the user’s own vector. This procedure is described below.
Figure 12-7. Structure of the ARM Vector 6
31
0
Size of the code to download in bytes
The value has to be smaller than 64 Kbytes.
Example
An example of valid vectors:
00
04
08
0c
10
14
18
ea000006
eafffffe
ea00002f
eafffffe
eafffffe
00001234
eafffffe
B 0x20
B 0x04
B _main
B 0x0c
B 0x10
B 0x14 ← Code size = 4660 bytes
B 0x18
12.4.3.2 boot.bin File Check
This method is the one used on FAT formatted SD Card and eMMC. The boot program must be a file named
“boot.bin” written in the root directory of the file system. Its size must not exceed the maximum size allowed:
64 Kbytes (0x10000).
12.4.4 Detailed Memory Boot Procedures
12.4.4.1 NAND Flash Boot: NAND Flash Detection
After the NAND Flash interface configuration, a reset command is sent to the memory.
Hardware ECC detection and correction are provided by the PMECC peripheral. Refer to “Section 29.18 “PMECC
Controller Functional Description” for more details.
The Boot Program is able to retrieve NAND Flash parameters and ECC requirements using two methods as
follows:
The detection of a specific header written at the beginning of the first page of the NAND Flash,
or
Through the ONFI parameters for the ONFI compliant memories
However, it is highly recommended to use the NAND Flash Header method (first bullet above) since it indicates
exactly how the PMECC has been configured to write the bootable program in the NAND Flash, and not to rely
only on the NAND Flash capabilities.
Note: Booting on 16-bit NAND Flash is not possible; only 8-bit NAND Flash memories are supported.
SAMA5D4 Series [DATASHEET]
75
Atmel-11238C-ATARM-SAMA5D4-Datasheet_12-Jul-16