Hi, I'm currently on a project which uses the LPC2131 mp. The problem I'm trying to tackle at the moment is trying to get the IAP to successfully copy RAM data into flash. After browsing through the 15,000+ messages on this board regarding the IAP, I could not get any of the solutions posted to work for me (unless I'm missing something very simple). This device runs with 1 FIQ process (PWM) and 4 other IRQs. Some of the solutions I've found from the other boards include 1) Make sure the jump to IAP location is 0x7FFFFFF1 using a BX instead of MOV or standard B. 2) Make sure the CCLK value is correct (In this case, 20 Mhz external clock PLL'ed to 60 Mhz) 3) Disable interrupts before jumping into the IAP address 4) Change MEMMAP to use RAM space instead of user flash since IAP disallows any access of flash memory while IAP is active I've followed what I could from the above solutions. Here are the results when I try several different things with regards to IAP: 1) Turning interrupts off via MSR/MRS instruction, watchdog (1 second timeout) running - device goes into software reset. 2) Turning interrupts off via VIC, watchdog running - device goes into software reset. 3) Turning interrupts off, watchdog disabled - device locks up, requires power down/up to restart again. Now, this IAP routine is supposed to execute when it receives a proper frame via the serial bus (UART0), and it does so (I've verified this). Now, if I attempt to do the copy RAM to flash IAP process in the startup sequence (IE. interrupts & watchdog not yet enabled), I can see that the RAM -> flash process was successful by viewing the bytes on the destination sector. Yet, it doesn't seem to work while everything else is running. Possible interrupt problem? If you have any thoughts to share on this, it would be very much appreciated. Thanks for your time. Anthony
Message
IAP problems (LPC2131)
2006-04-18 by adelacruz01
Attachments
- No local attachments were found for this message.