Even when using only privileged-mode code in an application, the MPU can be useful to detect stack overflow and other memory access problems. For this to work, the MPU needs to restrict privileged-mode code.
Proposed changes
I propose to add a configure function in the M0 and M4 modules that can configure access permissions for both privileged and unprivileged modes in all the combinations that the hardware supports.
This is not a breaking change. The existing Region struct and configure_unprivileged functions can still be used as before.
The updated code is working correctly on my Cortex-M4 microcontroller.
Motivation
Even when using only privileged-mode code in an application, the MPU can be useful to detect stack overflow and other memory access problems. For this to work, the MPU needs to restrict privileged-mode code.
Proposed changes
I propose to add a
configure
function in the M0 and M4 modules that can configure access permissions for both privileged and unprivileged modes in all the combinations that the hardware supports.This is not a breaking change. The existing
Region
struct andconfigure_unprivileged
functions can still be used as before.The updated code is working correctly on my Cortex-M4 microcontroller.