We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi All,
I managed to update my FW, but the new FW is not start to work.
I checked that the new FW is burn correctly (I verify it with uVision3 with the verify option at the utility settings).
Please advice Kobi
Hi Dennis,
In order to update all the FLASH you need to run your IAP functions from the RAM.
After you receive you new FW image, and you decide to burn it, your application should run a routine from the RAM that will erase all the FLASH and will burn the new one instead of it. Obviously you should save the new FW at external FLASH or save it at the upper addresses of you controller and therefore erase only half of the controller.
In my case, I received the new image to external FLASH, then parse it and copy it to the upper controller addresses and as soon as the new FW is at the controller, I run routine from the RAM in order to copy it from the upper addresses to the lower one. This architecture can be more efficient (copy it from the external FLASH directly to the lower controller addresses) but the first one requires less code in the RAM.
In addition you have to add the checksum to the new image at address 0x14. The old ISP application of NXP add the checksum to the code.
Regards Kobi