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.