基于尚硅谷FreeRTOS视频笔记——6—滴答时钟—上下文切换 ...

打印 上一主题 下一主题

主题 1583|帖子 1583|积分 4749

FreeRTOS滴答

FreeRTOS需要有一个时钟参照,并且这个时钟不会被轻易打断,所以最好选择systick

为什么需要时间参照


就是在高优先级任务进入阻塞态后,也可以明白为进入delay()函数后,需要有一个时间参照,就是需要计时,看是否delay函数竣事,这就是为什么需要systick。
上下文切换


上下文就是代码的实行状态(就是这段代码有没有实行过)
还有一些变量数据,比如a=1;这种变量。

任务的切换


当任务A需要切换时,就需要此刻保存任务A的上下文,就是数据,实行到哪一行等
那么,怎样进行保存任务的这些数据呢?
我们都知道,任务都是在CPU中运行,而CPU中有许多寄存器,而在任务A实行的环境中,CPU中全部的值都为任务A的,
而每个任务都有一个属于自己的任务栈。
所以,任务A在切换的途中,就会将自己全部在CPU中的数据都拷贝到任务栈中。


任务切换时,CPU中只保存任务的指针,而数据都拷贝在任务对应的栈中。
当任务被恢复时,CPU直接利用指针来查找相应的数据栈
后将数据恢复到CPU中。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81429

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表