MPC is a Memory Protection Controller which helps in configuring the memory as secure or non-secure.
MPC provides the following functionality:
An ARMv8-M TrustZone-M compliant memory protection controller between Secure and Non-Secure worlds (S-MPC and NS-MPC) and make the memory accessible and visible either in its Secure address alias or its Non-Secure address alias.
For S-MPC, any Non-secure access targeting this region is blocked. The S-MPC controls Secure access targeting this region.
For NS-MPC, any Secure access targeting this region is blocked. The NS-MPC controls Non-secure access to this region.
Breaks down the memory space into fixed-sized blocks/pages and the MPC configures the attributes of each block for all PCs.
Block size is design-time configurable and is recommended at 4KB.
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.
For more information on the MPC , refer to the technical reference manual (TRM).
The mpc driver does not have any specific deviations.
Version | Changes | Reason for Change |
---|---|---|
1.0 | Initial version |
API Reference | |
Macros | |
Functions | |
Data Structures | |
Enumerated Types | |
Prot Driver error codes. | |