Features Supported
- APIs to setup MPU regions, including region address, size, attributes like access permissions, cache properties
- APIs to enable, disable MPU
- API to check if MPU is enabled
Features NOT Supported
NA
Important Usage Guidelines
- Refer to ARMv7-R or ARMv7-M architecture manual for more details
- The number of MPU entries varies based on the ARM R5, ARM M4 instantiated in a given DEVICE, refer DEVICE datasheet for more details.
- In R5 for this DEVICE, there are 16 MPU regions
- In M4 for this DEVICE, there are 16 MPU regions
- MPU regions can overlap each other, with higher numbered regions taking more precedence in case of address overlaps.
Example Usage
Include the below file to access the APIs,
Example to setup MPU regions and enable MPU is shown below,
#define MAX_REGIONS (16u)
uint32_t regionId = 0;
regionId++;
regionId++;
regionId++;
if(regionId >= MAX_REGIONS)
{
while(1) { ; }
}
API
APIs for MPU for ARMv7 (ARM R5, ARM M4)