![]() |
xilplmi
Vitis Drivers API Documentation
|
This file contains code Task handling.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00 kc 02/06/2019 Initial release 1.01 kc 07/16/2019 Added PERF macro to print task times 1.02 kc 02/17/2020 Task dispatcher updated with round robin from FCFS bsv 04/04/2020 Code clean up 1.03 kc 07/28/2020 WDT support added to set PLM live status bm 10/14/2020 Code clean up td 10/19/2020 MISRA C Fixes 1.04 kc 11/30/2020 Disable interrupts while updating shared data 1.05 skd 03/12/2021 Added provision to skip scheduling a task if it is already present in queue ma 03/24/2021 Reduced minimum digits of time stamp decimals to 3 skd 03/31/2021 Adding non periodic tasks even if a task with the same handler exists, to ensure no interrupt task handlers get missed bm 04/03/2021 Move task creation out of interrupt context bsv 04/08/2021 Moved Task Time prints to DEBUG_DETAILED to reduce logs on console 1.06 td 07/08/2021 Fix doxygen warnings ma 07/12/2021 Minor updates to task related code ma 08/05/2021 Add separate task for each IPI channel 1.07 bm 02/04/2022 Fix race condition in task dispatch loop bsv 03/05/2022 Fix exception while deleting two consecutive tasks of same priority bsv 03/11/2022 Restore race condition fix that got disturbed by previous patch 1.08 ng 11/11/2022 Updated doxygen comments 2.00 ng 12/27/2023 Reduced log level for less frequent prints ng 01/28/2024 optimized u8 variables
Functions | |
| XPlmi_TaskNode * | XPlmi_TaskCreate (TaskPriority_t Priority, int(*Handler)(void *Arg), void *PrivData) |
| This function creates the task and initializes its fields with the user parameters. More... | |
| XPlmi_TaskNode * | XPlmi_GetTaskInstance (int(*Handler)(void *Arg), const void *PrivData, const u32 IntrId) |
| This function returns the instance of the task with matching handler and private data or with matching interrupt id. More... | |
| void | XPlmi_TaskTriggerNow (XPlmi_TaskNode *Task) |
| This function adds the task to the task queue so that it can be triggered based on its priority. More... | |
| void | XPlmi_TaskInit (void) |
| This function initializes the task queues list. More... | |
| void | XPlmi_TaskDispatchLoop (void) |
| This function will be checking for tasks in the queue based on the priority. More... | |