Homepage  

Task Utilities
[API]




xTaskGetCurrentTaskHandle

task.h
xTaskHandle xTaskGetCurrentTaskHandle( void );

INCLUDE_xTaskGetCurrentTaskHandle must be set to 1 for this function to be available.

Returns:
The handle of the currently running (calling) task.

xTaskGetTickCount

task.h
volatile portTickType xTaskGetTickCount( void );

INCLUDE_xTaskGetSchedulerState must be set to 1 for this function to be available.

Returns:
The count of ticks since vTaskStartScheduler was called.

xTaskGetSchedulerState

task.h
portBASE_TYPE xTaskGetSchedulerState( void );

Returns:
One of the following constants (defined within task.h): taskSCHEDULER_NOT_STARTED, taskSCHEDULER_RUNNING, taskSCHEDULER_SUSPENDED.

uxTaskGetNumberOfTasks

task.h
unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void );

Returns:
The number of tasks that the real time kernel is currently managing. This includes all ready, blocked and suspended tasks. A task that has been deleted but not yet freed by the idle task will also be included in the count.

vTaskList

task.h
void vTaskList( portCHAR *pcWriteBuffer );

configUSE_TRACE_FACILITY, INCLUDE_vTaskDelete and INCLUDE_vTaskSuspend must all be defined as 1 for this function to be available. See the configuration section for more information.

NOTE: This function will disable interrupts for its duration. It is not intended for normal application runtime use but as a debug aid.

Lists all the current tasks, along with their current state and stack usage high water mark.

Tasks are reported as blocked ('B'), ready ('R'), deleted ('D') or suspended ('S').

Parameters:
pcWriteBuffer A buffer into which the above mentioned details will be written, in ascii form. This buffer is assumed to be large enough to contain the generated report. Approximately 40 bytes per task should be sufficient.

vTaskStartTrace

task.h
void vTaskStartTrace( portCHAR * pcBuffer, unsigned portLONG ulBufferSize );

[The function relates to the original trace utility - which is still provided - however users may find the newer Trace Hook Macros easier and more powerful to use.]

Starts a real time kernel activity trace. The trace logs the identity of which task is running when.

The trace file is stored in binary format. A separate DOS utility called convtrce.exe is used to convert this into a tab delimited text file which can be viewed and plotted in a spread sheet.

Parameters:
pcBuffer The buffer into which the trace will be written.
ulBufferSize The size of pcBuffer in bytes. The trace will continue until either the buffer in full, or ulTaskEndTrace() is called.

ulTaskEndTrace

task.h
unsigned portLONG ulTaskEndTrace( void );

[The function relates to the original trace utility - which is still provided - however users may find the newer Trace Hook Macros easier and more powerful to use.]

Stops a kernel activity trace. See vTaskStartTrace().

Returns:
The number of bytes that have been written into the trace buffer.






Copyright (C) 2003 - 2008 Richard Barry
Any and all data, files, source code, html content and documentation included in the FreeRTOS distribution or available on this site are the exclusive property of Richard Barry. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Richard Barry.