SAM3N0B Atmel Corporation, SAM3N0B Datasheet - Page 306

no-image

SAM3N0B

Manufacturer Part Number
SAM3N0B
Description
Manufacturer
Atmel Corporation
Datasheets
20.5.3
11011A–ATARM–04-Oct-10
In Application Programming (IAP) Feature
The IAP feature is a function located in ROM that can be called by any software application.
When called, this function sends the desired FLASH command to the EEFC and waits for the
Flash to be ready (looping while the FRDY bit is not set in the MC_FSR register).
Since this function is executed from ROM, this allows Flash programming (such as sector write)
to be done by code running in Flash.
The IAP function entry point is retrieved by reading the NMI vector in ROM (0x00800008).
This function takes one argument in parameter: the command to be sent to the EEFC.
This function returns the value of the MC_FSR register.
IAP software code example:
(unsigned int) (*IAP_Function)(unsigned long);
void main (void){
/* Initialize the function pointer (retrieve function address from NMI
vector) */
/* Send your data to the sector here */
/* build the command to send to EEFC */
/* Call the IAP function with appropriate command */
}
unsigned long FlashSectorNum = 200; //
unsigned long flash_cmd = 0;
unsigned long flash_status = 0;
unsigned long EFCIndex = 0; // 0:EEFC0, 1: EEFC1
IAP_Function = ((unsigned long) (*)(unsigned long)) 0x00800008;
flash_cmd =
flash_status = IAP_Function (EFCIndex, flash_cmd);
(0x5A << 24) | (FlashSectorNum << 8) | AT91C_MC_FCMD_EWP;
SAM3N
306

Related parts for SAM3N0B