This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

In Aplication Programming for LPC2368

Dear sir ;

In my project, I want to write some critical data in 512k FLASH of LPC2368.Here I am using In Application Programming for the same.

I refered code from, C:\Keil\ARM\Flash\LPC_IAP2_512 and I am facing a problem while I am writing to FLASH like,

int ProgramPage (unsigned long adr, unsigned long sz, long long int buf[][2]) {

  n = GetSecNum(adr);    // Get Sector Number

  IAP.cmd    = 50;       // Prepare Sector for Write
  IAP.par[0] = n;        // Start Sector
  IAP.par[1] = n;        // End Sector
 IAP_Execute (&IAP); // Execute IAP Command


  if (IAP.stat) return (1);    // Command Failed

  IAP.cmd    = 51;       // Copy RAM to Flash
  IAP.par[0] = adr;       // Destination Flash Address
  IAP.par[1] = (unsigned long)buf;// Source RAM Addres
  IAP.par[2] = sz;         // Fixed Page Size
  IAP.par[3] = CCLK;       // CCLK in kHz
 IAP_Execute (&IAP);      // Execute IAP Command


  if (IAP.stat) return (1);   // Command Failed

  return (0);              // Finished without Errors

This code is working fine if I am passing source address as some array ,which is locally declared in USER RAM. In my application ,I want to write the data present in the 8KB USB SRAM memory to FLASH memory.If I am copying the data from USB memory to USER RAM and then writing this USER RAM data to FLASH memory,it is success.

But if I am passing the USB address (0x7FD00000) as a parameter to ProgramPage() ,then it is returning "IAP.status" as "4" , which means Failure.

In LPC2368 user manual "user.manual.2368.lpc2378.pdf "page number 534 of 614, if I am getting "IAP.status" as "4",it is mentioned as "Source address is not mapped in the memory map.Count value is taken in to consideration where applicable ".

I would like to know whether copying data from USB memory to FLASH memory directly is the correct way or not. If it is correct, How can I map USB source memory(i.e. the 8kB USB SRAM) as mentioned in the above paragraph.

sincerely
shamsudheen OP

0