NAND Flash Specific Header Detection
This is the first method used to determine NAND Flash parameters. After Initialization and Reset command, the
Boot Program reads the first page without an ECC check, to determine if the NAND parameter header is present.
The header is made of 52 times the same 32-bit word (for redundancy reasons) which must contain NAND and
PMECC parameters used to correctly perform the read of the rest of the data in the NAND. This 32-bit word is
described below:
31
30
29
28
27
26
25
24
key
-
eccOffset
23
22
21
20
19
18
17
16
eccOffset
sectorSize
15
14
13
12
11
10
9
8
eccBitReq
spareSize
7
6
5
4
3
2
1
0
spareSize
nbSectorPerPage
usePmecc
Note: Booting on 16-bit NAND Flash is not possible; only 8-bit NAND Flash memories are supported.
• usePmecc: Use PMECC
0: Do not use PMECC to detect and correct the data
1: Use PMECC to detect and correct the data
• nbSectorPerPage: Number of Sectors per Page
• spareSize: Size of the Spare Zone in Bytes
• eccBitReq: Number of ECC Bits Required
0: 2-bit ECC
1: 4-bit ECC
2: 8-bit ECC
3: 12-bit ECC
4: 24-bit ECC
• sectorSize: Size of the ECC Sector
0: For 512 bytes
1: For 1024 bytes per sector
Other value for future use.
• eccOffset: Offset of the First ECC Byte in the Spare Zone
A value below 2 is not allowed and will be considered as 2.
• key: Value 0xC Must be Written here to Validate the Content of the Whole Word.
If the header is valid, the Boot Program continues with the detection of a valid code.
SAMA5D3 Series [DATASHEET]
71
Atmel-11121F-ATARM-SAMA5D3-Series-Datasheet_02-Feb-16