SAM9G10 Atmel Corporation, SAM9G10 Datasheet - Page 64

no-image

SAM9G10

Manufacturer Part Number
SAM9G10
Description
Manufacturer
Atmel Corporation
Datasheets

Specifications of SAM9G10

Flash (kbytes)
0 Kbytes
Pin Count
217
Max. Operating Frequency
266 MHz
Cpu
ARM926
Hardware Qtouch Acquisition
No
Max I/o Pins
96
Ext Interrupts
96
Usb Transceiver
3
Usb Speed
Full Speed
Usb Interface
Host, Device
Spi
2
Twi (i2c)
1
Uart
4
Ssc
3
Sd / Emmc
1
Graphic Lcd
Yes
Video Decoder
No
Camera Interface
No
Resistive Touch Screen
No
Temp. Sensor
No
Crypto Engine
No
Sram (kbytes)
16
Self Program Memory
NO
External Bus Interface
1
Dram Memory
sdram
Nand Interface
Yes
Picopower
No
Temp. Range (deg C)
-40 to 85
I/o Supply Class
1.8/3.3
Operating Voltage (vcc)
1.08 to 1.32
Fpu
No
Mpu / Mmu
No/Yes
Timers
3
Output Compare Channels
3
Input Capture Channels
3
32khz Rtc
Yes
Calibrated Rc Oscillator
No
11.4.4.2
64
64
ONFI 2.2 Parameters
SAM9G35
SAM9G35
NAND Flash Boot: PMECC Error Detection and Correction
In case no valid header has been found, the Boot Program will check if the NAND Flash is ONFI
compliant, sending a Read Id command (0x90) with 0x20 as parameter for the address. If the
NAND Flash is ONFI compliant, the Boot Program retrieves the following parameters with the
help of the Get Parameter Page command:
By default, ONFI NAND Flash detection will turn ON the usePmecc parameter, and ECC correc-
tion algorithm is automatically activated.
Once the Boot Program retrieves the parameter, using one of the two methods described above,
it will read the first page again, with or without ECC, depending on the usePmecc parameter.
Then it looks for a valid code programmed just after the header offset 0xD0. If the code is valid,
the program is copied at the beginning of the internal SRAM.
Note:
NAND Flash boot procedure uses PMECC to detect and correct errors during NAND Flash read
operations in two cases:
The ROM code embeds the software used in the process of ECC detection/correction: the
Galois Field tables, and the function PMECC_CorrectionAlgo(). The user does not need to
embed it in other software.
This function can be called by user software when PMECC status returns errors after a read
page command.
Its address can be retrieved by reading the third vector of the ROM Code interrupt vector table,
at address 0x100008.
The API of this function is:
pPMECC: pointer to the PMECC base address,
pPMERRLOC: pointer to the PMERRLOC base address,
PMECC_desc: pointer to the PMECC descriptor,
PMECC_status: the status returned by the read of PMECCISR register;
• Number of bytes per page (byte 80)
• Number of bytes in spare zone (byte 84)
• Number of ECC bit correction required (byte 112)
• ECC sector size: by default set to 512 bytes, or 1024 bytes if the ECC bit capability above is
• when the usePmecc flag is set in the specific NAND header. If the flag is not set, no ECC
• when the NAND Flash has been detected using ONFI parameters.
0xFF
correction is performed during NAND Flash page read.
unsigned int PMECC_CorrectionAlgo(AT91PS_PMECC pPMECC,
Booting on 16-bit NAND Flash is not possible, only 8-bit NAND Flash memories are supported.
AT91PS_PMERRLOC pPMERRLOC,
PMECC_paramDesc_struct *PMECC_desc,
unsigned int PMECC_status,
unsigned int pageBuffer)
11053B–ATARM–22-Sep-11
11053B–ATARM–22-Sep-11

Related parts for SAM9G10