I describe my problem
In my application, LPC1758 based, i have my own boot/loader that allow, using IAP, the programming of some areas of the internal memory (One area is code, one area is data)
While the boot/loader always resides in the bottom area (0x000000) the two externally programmable areas are located respectively at 0x50000 - 0x5FFFF and 0x78000 - 0x78FFF
I dont have any problem programming the first area (0x50000) but i have failures when programming the second one. The same results was obtained at least on two differents unit.
The failure is often located in single byte in the location range (0x78000 - 0x78FFF). The corrupted byte may have less "ones" or "less" zeroes. Actually, before programming this area i check if the flash content is effectively all 0xFF.
For the moment i solved the problem inserting a Do-Retry session. If the programmed block fails i erase and program again
I would like to investigate on this issue
Anyone faced with this problem?
Could you please try using the LCPOpen periph_flashiap example on the units presenting the issue to see the problem is also present? This example will erase and program the last sector with some data. After the program is complete, the signature for the programmed area is generated. you can download the LPCOpen pakage from this link:
Let me know the results!
Technical Support Engineer