Go Down

Topic: Arduino Due's IAP Routine (Urgent) (Read 554 times) previous topic - next topic



I'm trying to access the IAP routine on the Due using the Arduino IDE.

The Atmel documentation for SAM3x (doc11057.pdf) states the following code:

Code: [Select]
(unsigned int) (*IAP_Function)(unsigned long);
void main (void){
unsigned long FlashSectorNum = 200; //
unsigned long flash_cmd = 0;
unsigned long flash_status = 0;
unsigned long EFCIndex = 0; // 0:EEFC0, 1: EEFC1
/* Initialize the function pointer (retrieve function address from NMI
vector) */
IAP_Function = ((unsigned long) (*)(unsigned long)) 0x00800008;
/* Send your data to the sector here */
/* build the command to send to EEFC */
flash_cmd = (0x5A << 24) | (FlashSectorNum << 8) | AT91C_MC_FCMD_EWP;
/* Call the IAP function with appropriate command */
flash_status = IAP_Function (EFCIndex, flash_cmd);

Now I understand that the function's NMI address is 0x00800008 and the code accesses the function from the address. How can I implement a similar code in the Arduino IDE?


Moderator: Apologies, I'm new here and posted this earlier in the wrong forum. Would appreciate if you could delete it from there (http://forum.arduino.cc/index.php?topic=177593.0).

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131