The Memory Protection Controller (MPC) driver allows to configure memory regions as secure or non-secure, helping to protect sensitive data and code in the application.
Key features of the MPC driver:
- Memory Protection Controller (MPC) offers a more granular and flexible approach to memory configuration compared to traditional Security Attribution Unit (SAU) and Implementation Defined Attribution Unit (IDAU) solutions.
- Supports ARMv8-M TrustZone-M technology, allows defining secure and non-secure memory regions. Secure regions are accessible only by trusted code, while non-secure regions are available to less trusted code.
- Utilizes Protection Contexts (PCs) as a key component, which define the rules that govern access to specific memory regions. By configuring PCs, you can control who can read, write, or execute code in designated memory areas.
- MPCs enables flexible memory separation and sharing, depending on your system's requirements. Memory separation ensures that different system components have isolated memory spaces, while sharing allows multiple components to access the same memory space.
- Divides memory into fixed-size blocks. Security and access permissions for each block can be configured, providing fine-grained control over memory protection.
The functions and other declarations used in this driver are in cy_mpc.h. You can include cy_pdl.h (ModusToolbox only) to get access to all functions and declarations in the PDL.
You can use this driver to configure memory regions as secure/non-secure.
More Information
For more information on the MPC , refer to the technical reference manual (TRM).
MISRA-C Compliance
The mpc driver does not have any specific deviations.