Is there an example for using the Cortex-M33 MPU with nRF Connect SDK Bare Metal?

Hello,

We want to use the Arm Cortex-M33 Memory Protection Unit on the nRF54L15 with nRF Connect SDK Bare Metal to protect selected memory regions, for example, making a region read-only, preventing execution from a RAM region, or restricting access to privileged code.

The nrfx nRF54L15 driver support page does not list an MPU component, so we would appreciate clarification on the following:

  1. Can a Bare Metal application configure and use the Cortex-M33 MPU directly through the CMSIS ARM_MPU_* functions?

  2. Is there an example demonstrating MPU region configuration, access permissions, and handling of memory access violations?

  3. Does the S145 SoftDevice use or reserve any MPU regions, or impose restrictions on the application’s MPU configuration?

  4. If MPU configuration is not currently supported, does Nordic plan to add support and examples in a future release of nRF Connect SDK Bare Metal?

Thank you very much!

2.16.1.2
Parents Reply Children
  • Thank you for the clarification.

    I checked the linked S145 documentation and the referenced SoftDevice Controller and MPSL integration notes. For the nRF54L Series, I can see several reserved peripherals and channels, but I cannot find the Cortex-M33 MPU in those lists.

    We are developing software for a Class C medical device and need segregation between software components. In particular, we must treat the S145 SoftDevice as Software of Unknown Provenance (SOUP), so we are evaluating whether the MPU can isolate safety-related code and data and prevent unintended memory access by the SoftDevice.

    Could you please point me to the specific documentation stating that S145 reserves access to the MPU, or clarify whether you meant another peripheral?

    Thank you.

  • I am sorry, I meant to write that that the softdevice *doesn't* reserve access to the MPU. The MPU can be used freely by your application. I hope this is enough to get the necessary isolation between your critical application code and softdevice.

Related