PLM Software - 2023.1 English

Versal Adaptive SoC System Software Developers Guide (UG1304)

Document ID
UG1304
Release Date
2023-05-16
Version
2023.1 English

The PLM application performs processor initialization, module initialization, and executes start-up tasks.

Processor Initialization
Includes initializing the stack and corresponding protections in hardware, enabling required interrupts and exceptions.
Start-up Tasks
Start-up tasks include module initialization, executing PMC CDO, loading boot PDI, and running user hooks at predetermined places.
Modules
Consists of module initialization functions that are included in the PLM to register the commands, interrupt handlers, and scheduler tasks with XilPLMI. The modules can:
  • Register various commands using XilPLMI with the registered module ID. Commands can be part of PDI, or can come from the IPI message.
  • Schedule tasks with PLMI.
  • Register interrupt handlers for any PLM interrupts.
PLM Hooks
In the PLM application, hook functions are present in predefined places for you to add your own code. Predefined user hooks are present at:
Table 1. PLM Hooks
Function Description
XPlm_HookBeforePlmCdo Executed before processing the PMC CDO file.
XPlm_HookAfterPlmCdo Executed after processing the PMC CDO file.
XPlm_HookAfterBootPdi Executed after loading the Boot PDI.
Note: The PLM hooks are meant to be used for small tasks that have to be handled during the boot process.
Exception Handling
The exception handler is invoked when an exception occurs in the PPU. The handler logs the exceptions.