Hi,
We are currently testing an application jump from App1 to App2 on the FRDM-S32K344.
Our application layout is:
App1 Start Address: 0x00400000
App2 Start Address: 0x00500000
For debugging, we are using separate debug configurations with flash memory protection enabled.
When debugging App1, the memory protection range is configured as:
0x00500000 to 0x005FFFFF (to protect App2)
When debugging App2, the memory protection range is configured as:
0x00400000 to 0x004FFFFF (to protect App1)
However, during programming through the debug configuration, we observe that the protected flash region is still being erased, even though the memory protection range has been configured.
Could anyone clarify the following?
Is the Flash Programmer expected to honor the configured memory protection ranges during erase/program operations?
Is there any additional configuration required to prevent the protected flash region from being erased?
Has anyone successfully used memory protection to preserve another application while programming only one application on the FRDM-S32K344?
Any guidance or recommendations would be greatly appreciated.
Thank you.
Hi @Avinpat123
I did quick test in the same version of S32 Design Studio to be sure it is working. I used the same setup – one application forced to 0x40_0000 while 0x50_0000 area is configured to be preserved and second application forced to 0x50_0000 while 0x40_0000 area is configured to be preserved:
Here are the logs which shows that this configuration is taken into account:
And I can see in the memory that the content is really preserved, so it works as expected.
I saw in your screenshots that you configured the address range but the “Preserve this range” check box is not enabled. Isn’t that the problem?
Regards,
Lukas