Greetings,
I am working with an LPC54608. I am calling IAP_CopyRamToFlash to reprogram flash. Every page successfully writes except for page 0 of the flash. I get an error code 10221. 102 kStatusGroup_IAP does not have a code 21 documented in the header files or the user manual for the processor.
Can someone help me understand this error code from the ROM IAP function?
Thanks.
Hi,
I suppose that you call the IAP_CopyRamToFlash() in application code, furthermore you allocate the application in the flash memory from 0x0000_0000, especially the interrupt and Reset vectors are located at 0x0000_0000, the page 0 is at the address 0x0000_0000, if you erase page0, the application code is destroyed, interrupt/Reset vectors are destroyed, you application code can not run in the case. that is why I suppose you can not erase page 0.
Hope it can help you
BR
XiangJun Rong
Thanks for your prompt response.
Actually. The error code documentation in UM10912 5.6.15 led me astray. 21 = 0x15 which is a user code checksum error. Our executable that we were writing into the flash did not have checksum applied. Calling the checksum command on the final binary solved our problem.
checksum -p LPC54608 -d our.bin
https://community.nxp.com/t5/LPC-Microcontrollers/LPC546xx-iap-write-returns-undocumented-error-code...