XDK API  3.6.0
Documentation
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

All rights reserved. The use is subject to the XDK SDK EULA by Bosch Connected Devices and Solutions GmbH.
This documentation file has been automatically generated on Thu Mar 14 2019 19:12:52 by doxygen 1.8.8