Home > Products > MPU-Plus

MPU-Plus®  ARM Cortex-M MPU Support

MPU-Plus adds support for the ARM Cortex‑M Memory Protection Unit to SMX®, making it a secure RTOS.

The MPU is the main means of hardware memory protection available for Cortex-M processors. These processors are in widespread use in small- to medium-size embedded systems. Therefore it is important to use the MPU effectively in order to achieve the reliability, security, and safety that modern embedded systems require.

Use of an MPU adds another dimension to software development that is different than the thought process used to write functional, correct code, and it will feel foreign to even an experienced developer who has not used an MPU before. Also, the Cortex-M v7 MPU has limitations that make it difficult to use. The primary goal of MPU-Plus is to make using the MPU as easy as possible, while offering as much protection as possible.

A key idea of our approach is to allow progressively increasing the security of a system (see blog Part 5 below). This is important to ease the transition to using the MPU, using manageable steps. MPU-Plus and its documentation were designed with a focus on modifying existing products. Many systems in the field need to be made more secure, and even new projects are based on code from previous ones. A major goal has been to minimize the changes that need to be made to existing code. We have refined this, as we have modified our own middleware to use it.

Below are several technical papers we have written about using the MPU.


  • Adds strong security to existing and new products.
  • Per-task or task group isolation.
  • Supports privileged ptasks and unprivileged utasks.
  • SWI RTOS API for utasks with restricted services.
  • Direct RTOS API for ptasks with unrestricted services.
  • Switched background mode for improved ptask protection.
  • Supports incrementally improving security.
  • Simple to use and effective protection.

Although some RTOSes offer MPU support, little is said about it, suggesting little was done. We have put a lot of thought into how to make the MPU usable, with all of its limitations. The following articles cover much of it, and full documentation is available; see below.



For more information, please register or email sales@smxrtos.com.
Indicate your interest in MPU-Plus. Full documentation will be supplied to qualified prospects.


smx Kernel

SMX RTOS Products Page

SMX Learning Kits are free, fully functional releases of the smx kernel for non-commercial use in personal and class projects, proofs of concept, and prototypes. They are available for several low-cost boards that are popular in the DIY / Maker community.

SMX Evaluation Kits are available for a much larger number of evaluation boards and include SMX middleware. They require registration, and a sales person will be in contact. Evaluation Kits are intended to allow developers to work with SMX in order to decide whether to purchase a license for their projects.

     back to top
  Register for More Info

SMX Modules