volatile StackType_t *pxTopOfStack; //任务堆栈栈顶 #if ( portUSING_MPU_WRAPPERS == 1 ) xMPU_SETTINGS xMPUSettings; //MPU 相关设置 #endif ListItem_t xStateListItem; //状态列表项 ListItem_t xEventListItem; //事件列表项 UBaseType_t uxPriority; //任务优先级 StackType_t *pxStack; //...
#define portUSING_MPU_WRAPPERS 0 Flash 及 RAM 区域划分(port.c 中的 prvSetupMPU 函数内会将该区域配置到 MPU 当中): 1 2 3 4 5 6 7 8 9 constuint32_t*__FLASH_segment_start__=(uint32_t*)0x08000000UL;constuint32_t*__FLASH_segment_end__=(uint32_t*)0x080FFFFF;/* 根据prvSetupMPU...
{volatileStackType_t *pxTopOfStack;/*任务堆栈栈顶指针*/#if( portUSING_MPU_WRAPPERS == 1 )xMPU_SETTINGS xMPUSettings;/*MPU相关设置*/#endifListItem_t xStateListItem;/*状态列表项,这是一个内置在TCB控制块中的一个链表节点,通过这个节点,将任务挂到其他链表中 比如就绪列表,阻塞列表,挂起列表等*/ ...
{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_SETTINGS xMPUSettings;/*< The MPU settings are defined as part of the port layer. ...
#endif /* portUSING_MPU_WRAPPERS */ if( ( void * ) pxCreatedTask != NULL ){ /* 赋值任务句柄 */ *pxCreatedTask = ( TaskHandle_t ) pxNewTCB; } else{ mtCOVERAGE_TEST_MARKER(); } } 1. 2. 3. 4. 5. 6. 7. 8. 9.
*/#if( portUSING_MPU_WRAPPERS == 1 )xMPU_SETTINGS xMPUSettings;/* MPU设置被定义为端口层的一部分。这必须是TCB结构体的第二个成员。 */#endifListItem_t xStateListItem;/* 任务的状态列表项引用的列表表示该任务的状态(就绪、阻塞、挂起)。 */ListItem_t xEventListItem;/* 用于从事件列表中引用任务...
typedefstructtskTaskControlBlock{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_SETTINGS xMPUSettings;/*< The MPU settings are defined ...
#if ( portUSING_MPU_WRAPPERS == 1 ) xMPU_SETTINGS xMPUSettings; /*MPU设置,必须位于结构体的第二项*/ #endif ListItem_t xStateListItem; /*任务的状态列表项,以引用的方式表示任务的状态*/ ListItem_t xEventListItem; /*事件列表项,用于将任务以引用的方式挂接到事件列表*/ ...
uxPriority &= ~portPRIVILEGE_BIT; #endif /* portUSING_MPU_WRAPPERS == 1 */ /* Avoid dependency on memset() if it is not required. */ #if( tskSET_NEW_STACKS_TO_KNOWN_VALUE == 1 ) { /* Fill the stack with a known value to assist debugging. */ ...
#if ( portUSING_MPU_WRAPPERS == 1 ) xMPU_SETTINGS xMPUSettings; /*< The MPU settings are defined as part of the port layer. THIS MUST BE THE SECOND MEMBER OF THE TCB STRUCT. */ #endif //状态列表 ListItem_t xStateListItem; /*< The list that the state list item of a task is ...