PMU Configuration

Memory and Peripheral Protection Unit for PL Isolation in Zynq UltraScale+ Devices (XAPP1353)

Document ID
XAPP1353
Release Date
2022-05-04
Revision
1.1 English

To configure the PMU, five source files and a linker script are imported into the pmufw src directory:

  1. xpfw_config.h
  2. xpfw_mod_sched.c
  3. xpfw_mod_em.c
  4. xpfw_pl_xmpu.c
  5. xpfw_pl_xmpu.h
  6. lscript.ld

In the xpfw_config.h , you can enable the options for the scheduler, error manager, XMPU/XPPU (PS) interrupts, and detailed print statements. The following figure shows a code snippet.

Figure 1. xpfw_config.h Snippets

This configuration greatly increases the memory footprint of the PMU, mostly due to the detailed debug messaging enabled for this demonstration. The linker script, lscript.ld, reduces the size of the stack from 0x1000 to 0x800 so that pmufw can fit into the allotted 128 KB:

_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE: 0x800;