logo slogan

MPU

μC/OS-MPU is an extension for Micrium’s µC/OS-II that provides memory protection, and greater stability and saftey for your applications.

The μC/OS-MPU extension prevents applications from accessing forbidden locations, thereby protecting against damage to safety-critical applications, such as medical devices and avionics.

 

μC/OS-MPU builds a system with MPU processes, with each containing one or more tasks or threads. Each process has an individual read, write, and execution right. Exchanging data between threads is accomplished in the same manner using μC/OS-II tasks, however handling across different processes is achieved by the core operating system.

 

This system facilitates integration of Micrium or third-party software such as:

Protocol stacks
Graphics modules
File system libraries
Other components


Debugging and error diagnosis is simplified as an error management system provides information on the different processes. The hardware protection mechanism cannot be bypassed by software.

Existing μC/OS-applications can be adapted with minimal effort. μC/OS-MPU is available for any microcontroller containing a Memory Protection Unit (MPU) or Memory Management Unit (MMU). Third-party certification support is also available.

 

Features

µC/OS-MPU includes the following features:

Prevents access of forbidden locations
Appropriate for safety-critical applications
Easy integration of protocol stacks, graphical modules, FS libraries
Simplified debugging and error diagnosis
Available for any microcontroller equipped with a hardware Memory Protection Unit (MPU) or Memory Management Unit (MMU).
Third-Party Certification support available


Applications

µC/OS-MPU is used in a wide variety of industries:

Medical Equipment/Devices
Avionics
Automation/Industrial Controls
Transportation
Other Safety-Critical Applications

 

Memory protection of tasks

µC/OS-MPU offers a hardware-supported memory protection of one or more tasks

 

Services

 

The accumulation of one or more µC/OS-II tasks is called a process. A process represents a protected memory area. The tasks running within this process are called “threads”, in order to point out that they only have limited access in the memory.

Threads are executed in the user execution mode, i.e. the entire memory space is readable, but they can only write to their own process memory.

 

Contrary to this, the µC/OS-II services are executed in the privileged execution mode. They have the right to read and write in the entire memory space. For the interrupt-service functions, you can specify whether a handler should be executed in the user or privileged mode.

 

Inter-process communication

For communication between the processes, the µC/OS-II services can be utilized without any changes, that is, with the same API. This reduces the time and effort for transferring an already existing traditional µC/OS-II application to a memory-protected µC/OS-MPU system to a minimum.

In addition to the traditional µC/OS-II services, there are shared memory areas in the µC/OS-MPU system. Any number of shared memory areas can be created and linked to one or more processes.