Hi,
I have a question regarding Flash Remapping feature on iMXRT1064. Does it contain any recovery mechanism in case the 'new' SW image does not work?
I'm thinking of a situation where a new SW image has been programmed into a free section in internal FLASH. The Remapping Registers are then set to point to the new image. Assuming that the device then boots up and starts executing SW from the new location but the SW is now working as expected and it ends up in a reset loop, for example. Is there an in-built recovery mechanism that would return to use the original SW image instead? If not, it then means that the only way to recover is to reprogram the device through USB port, right?
Thanks for your support!
Best regards,
Jari
解決済! 解決策の投稿を見る。
Hello Jari,
1) Yes, your understanding is correct. When a reset occurs the RT will boot to the first image and it won't jump to the second image until the condition that you declared is met.
2) To see how to switch between images please refer to the software that we provide with the application note AN12255. You can download it from the following link.
Regards,
Victor
Hello Jari,
The flash remapping feature on the RT1064 does not contain any recovery mechanism. To recover, besides the option that you already mentioned you could also do a POR reset, to return to the original image.
Regards,
Victor
Hi Victor,
Thanks for your answer!
A few more detailed questions so that I understand the mechanism behind the remapping functionality.
1) So, you say that the device will return to the original SW image after POR. In other words, every time the device is powered on, it will execute code from the original SW image, right? If, for example, SW Watchdog was set in the original image, and the "secondary" fails to run correctly, the Watchdog reset would recover the device?
2) I have read the document AN12240 (Enhanced Features in i.MX RT1060), in chapter 3.2.1 it explains Flash Address Remapping Setting. Does the execution "jump" the new location right away after settng the three registers (IOMUXC_GPR_GPR30, _GPR31 and _GPR32)? Any other specific steps or configurations are not needed?
Best regards,
Jari
Hello Jari,
1) Yes, your understanding is correct. When a reset occurs the RT will boot to the first image and it won't jump to the second image until the condition that you declared is met.
2) To see how to switch between images please refer to the software that we provide with the application note AN12255. You can download it from the following link.
Regards,
Victor
Hi Victor,
Thanks for you message!
I will look into the reference implementation and try to figure out if that would be suitable for our needs. I have no further questions at this point. If further questions arise regarding the topic, I will open a new discussion thread.
Thanks again for your support!
Best regards,
Jari