freeRTOS学习二

临界段,用一句话概括就是一段在执行时不能被中断的代码段。

临界段被打断的情况,一个是系统调度,还有一个就是外部中断。

对临界段的保护就是对中断的开和关。


空闲任务与阻塞延时

 

 xTicksToDelay是任务控制块的一个成员,用于记录任务需要延时的时间,单位为SysTick的中断周期。


 多优先级

FreeRTOS中,数字优先级越小,逻辑优先级也越小。

空闲任务的优先级最低,为0。空闲任务一直处于就绪状态。

就绪列表是一个数组,里面存储的是就绪任务的TCB中的xStateListItem节点。

创建任务时,会根据任务的优先级将任务插入到就绪列表不同的位置。相同的优先级会插入就绪列表的同一链表中。


 任务延时列表

当任务需要延时时,则先将任务挂起,即先将任务从就绪列表中删除,然后插入任务延时列表,同时更新下一个任务的解锁时刻变量xNextTaskUnblockTime的值,xNextTaskUnblockTime = xTickCount (系统时基计数器)+ xTicksToDelay。


 

动态创建任务

 

posted @ 2019-08-16 19:54  Practical  阅读(177)  评论(0编辑  收藏  举报