A scheduler is required by modules like STL in order to support periodic tasks like register coverage, scrubbing, etc. PMU firmware also uses scheduler for LPD WDT functionality. This will be explained in the following section. PMU MicroBlaze has 4 PITs (0-3) and Scheduler uses PIT1. The scheduler supports up to 10 tasks. Table shows the Scheduler’s task list data structure with members.
Member | Values/Range | Additional information |
---|---|---|
Task ID 0 | 0.. 9 | 0 - Highest priority |
Interval | Task interval in Milliseconds | |
OwnerId | 0.. 9 | Modules that owns this task |
Status | Enabled/Disabled | |
Callback | Function pointer | Default to NULL |
Note: By default, scheduler functionality is disabled. To enable the same,
ENABLE_SCHEDULER build flag needs to be defined.