Files | Functions
TaskMonitor

Monitor the system tasks in order to detect deadlocks or significant mismatch with the expected scheduling. More...

+ Collaboration diagram for TaskMonitor:

Files

file  BCDS_TaskMonitor.h
 

Functions

bool TaskMonitor_Check (void)
 Check the all registered task execution time with the corresponding upper-limit. More...
 
Retcode_T TaskMonitor_Initialize (void)
 Initialize the Task monitor. More...
 
Retcode_T TaskMonitor_Register (TaskHandle_t task, uint32_t upperLimit)
 Register the task for monitoring. More...
 
void TaskMonitor_Update (unsigned int *taskTag, unsigned int tickCount)
 Update the time stamp while exiting from task execution. This function is mapped with traceTASK_SWITCHED_OUT() to call from Freertos kernel. More...
 

Detailed Description

Function Documentation

bool TaskMonitor_Check ( void  )
Note
This function should be called from free rtos idle hook.
Return values
True: Anyone of the task execution fail
False: All task are executed successfully

usage

{
bool rc;
if(rc)
{
//Handle Error
}
}
Retcode_T TaskMonitor_Initialize ( void  )

All variables are initialed to default value

Return values
RETCODE_OK: Task Monitor is initialized successfully
Retcode_T TaskMonitor_Register ( TaskHandle_t  task,
uint32_t  upperLimit 
)
Parameters
[in]taskTask handler for given task
[in]upperLimitin Seconds Maximum allowed time out to trigger the task execution from freertos kernel.
Return values
RETCODE_OK: Task is registered successfully
RETCODE_TASKMONITOR_BUFFER_FULL_ERROR: Task is not registered.
RETCODE_INVALID_PARAM: task handler is NULL or upperLimit is zero
void TaskMonitor_Update ( unsigned int *  taskTag,
unsigned int  tickCount 
)
Note
This function is called at every task exit. Hence execution time should be very minimal. Usage #define traceTASK_SWITCHED_OUT() TaskMonitor_Update(&pxCurrentTCB->pxTaskTag, xTickCount)

Data types is added as ´┐Żunsigned int´┐Ż to avoid compilation warning in FreeRTOSConfig.h file

Parameters
[out]taskTagCurrent Tasks's task tag pointer to update the tickcount
[in]tickCountcount of ticks since vTaskStartScheduler was called

This documentation file has been automatically generated on Wed May 6 2020 20:45:22 by doxygen 1.8.8