MTB CAT1 Peripheral driver library
MPC (Memory Protection Controller)

General Description

MPC is a Memory Protection Controller which helps in configuring the memory as secure or non-secure.

MPC provides the following functionality:

  1. Allocates PCs (Protection Contexts) run-time memory separation/ isolation and sharing.
  2. 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.

  3. 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.

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.

Changelog

VersionChangesReason for Change
1.0 Initial version

API Reference

 Macros
 
 Functions
 
 Data Structures
 
 Enumerated Types
 Prot Driver error codes.