helium / cortex-mpu

Cortex-M MPU library
Apache License 2.0
6 stars 5 forks source link

Add functions to configure the MPU for privileged mode #4

Open samcrow opened 3 years ago

samcrow commented 3 years ago

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 and configure_unprivileged functions can still be used as before.

The updated code is working correctly on my Cortex-M4 microcontroller.