externuint32_t*vTaskStackAddr(void);/* need to modify the FreeRTOS/tasks source code */
externuint32_tvTaskStackSize(void);
externchar*vTaskName(void);
#include<FreeRTOS.h>
#include<task.h>
typedefstruct/* The old naming convention is used to prevent breaking kernel aware debuggers. */
{
volatileStackType_t*pxTopOfStack;/*< Points to the location of the last item placed on the tasks stack. THIS MUST BE THE FIRST MEMBER OF THE TCB STRUCT. */
#if ( portUSING_MPU_WRAPPERS == 1 )
xMPU_SETTINGSxMPUSettings;/*< The MPU settings are defined as part of the port layer. THIS MUST BE THE SECOND MEMBER OF THE TCB STRUCT. */
#endif
ListItem_txStateListItem;/*< The list that the state list item of a task is reference from denotes the state of that task (Ready, Blocked, Suspended ). */
ListItem_txEventListItem;/*< Used to reference a task from an event list. */
UBaseType_tuxPriority;/*< The priority of the task. 0 is the lowest priority. */
StackType_t*pxStack;/*< Points to the start of the stack. */
charpcTaskName[configMAX_TASK_NAME_LEN];/*< Descriptive name given to the task when created. Facilitates debugging only. *//*lint !e971 Unqualified char types are allowed for strings and single characters only. */