一.深挖创建任务

这里就是创建了一个Task1的任务。点击创建任务往内部跳转。得到如下的一个TCB结构体。

TCB结构体
在内存里面分配一个TCB结构体表示一个任务的创建。
现在问题来了,,

1000:代表着这个任务所需栈的大小,为1000*4位,
栈的大小:1.取决于局部变量 2.调用深度 所以最好多分配一下 适当调整
栈:就是一块空闲的内存

vTask1的大小从那里分配呢?


从这个大的数组中划分出一部分给某个任务使用。

创建的整个流程用图表示:

二.任务状态的切换




点击pxReadyTasksLists


创建的三个任务是这样执行的:


三.任务顺序的调度



空闲任务礼让:如果有同是优先级0的其他就绪任务,空闲任务主动放弃一次运行机会。


空闲任务主要就是为了清理工作。

总结
仅供个人学习使用
跟着韦东山学习的视频
445

被折叠的 条评论
为什么被折叠?



