Hello,
I'm wondering if the MMU can be reconfigured during runtime by the application or should it only be configured by the startup code of a bootloader? If it is possible to reconfigure it during runtime, what should the process look like? Should the existing entry be deleted and a new one written in the same place or can specific entry just be overwritten?
Best regards
Solved! Go to Solution.
Hello,
I'm wondering if the MMU can be reconfigured during runtime by the application or should it only be configured by the startup code of a bootloader?
It is application dependent. I recommend to configure MMU at startup, as you need to initialize more than default 4kB of memory for some meaningful execution.
If it is possible to reconfigure it during runtime, what should the process look like?
You should take care not to use the regions you are reconfiguring.
Should the existing entry be deleted and a new one written in the same place or can specific entry just be overwritten?
You can simply overwrite it. Just make sure that code is not executed from such part and also there are no conflicts of regions with your application.
Best regards,
Peter
Hi Petervlna,
Is it possible to overwrite 1 entry by others entries with some overlaps
Sorry Petervlna, pls ignore my previous comment, the picture was not the correct one. pls checkout the below one
Is it possible to partially overwrite 1 entry (e.g 64KB) by 4 others entries ( 16KB each) with different properties
e.g: like this
First:
0x40060000 -> 0x4006FFFF - 64KB - Cache_Inhibit
Then:
0x40060000 -> 0x40064000 - 16KB - Cachable
0x40064000 -> 0x40068000 - 16KB - Cache_Inhibit
0x40068000 -> 0x4006C000 - 16KB - Cache_Inhibit
0x4006C000 -> 0x4006FFFF - 16KB - Cache_Inhibit
Thank you
Hello,
I'm wondering if the MMU can be reconfigured during runtime by the application or should it only be configured by the startup code of a bootloader?
It is application dependent. I recommend to configure MMU at startup, as you need to initialize more than default 4kB of memory for some meaningful execution.
If it is possible to reconfigure it during runtime, what should the process look like?
You should take care not to use the regions you are reconfiguring.
Should the existing entry be deleted and a new one written in the same place or can specific entry just be overwritten?
You can simply overwrite it. Just make sure that code is not executed from such part and also there are no conflicts of regions with your application.
Best regards,
Peter
Hello,
I see no issue here as long as you will make sure executed code in not running from regions being reconfigured and the changes wont affect code access in case it is requested by your SW.
You cannot change mapping of actively used region by code as you will get exception.
Best regards,
Peter