Hello,
I am using i.MX RT1064. I am developing a Firmware Update feature into my project.
For this, I want to use Flash remapping feature and also my requirement is to store the previous image in the flash as it is as a backup till I receive 3rd image.
I have read these documents:
https://www.nxp.com/docs/en/application-note/AN12240.pdf
https://www.nxp.com/docs/en/application-note/AN12255.pdf
Issue:
I am storing my images at the addresses as follows
Image 1: Address 1 = 0x70008000
Image 2: Address 2 = 0x70204000
I am able to remap Image 2 on address 1 successfully.
My observation is, I am able to see the Image 2 data on Address 1 in memory window of MCU Expresso. Also, I checked that, Image 1 data is not erased, it is there on Address 1 physically. I checked this data using NXP-MCUBootUtility (External Flash read tool).
Now when I want to receive 3rd image and want to store it at address 1(as it is not getting used physically) while my Image 2 is running, I cannot store it.
I am using flexspi_nor_flash_page_program() API to store the image on the addresses. But it is giving me status error as 7001.
Any help will be appreciated!
Thanks.