9.9.5 __pmp__ Type Qualifier

This qualifier may be used with those devices that contain a Parallel Master Port (PMP) peripheral, which allows the connection of various memory and non-memory devices directly to the device. When variables or pointer targets qualified with __pmp__ are accessed, the compiler will generate the appropriate sequence for accessing these objects via the PMP peripheral on the device. For example:

__pmp__ int auxDevice
               __attribute__((space(pmp(external_PMP_memory))));
__pmp__ char * myPMPpointer;

In addition to the qualifier, the int variable uses a memory space which would need to be predefined. The pointer in this example does not use the space attribute as the it is located in data memory, but the qualifier indicates how the pointer targets are to be accessed. For more information on the space attribute, see the 9.10 Variable Attributes section. For basic information on the memory layout and how program memory is accessed by the device, see the 11.1 Address Spaces section.

For more on the qualifier, see the 11.4 Parallel Master Port Access section.