当前位置: 首页 > news >正文

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

FreeRTOS滴答

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

为什么需要时间参照

就是在高优先级任务进入阻塞态后,也可以理解为进入delay()函数后,需要有一个时间参照,就是需要计时,看是否delay函数结束,这就是为什么需要systick。

上下文切换

上下文就是代码的执行状态(就是这段代码有没有执行过)

还有一些变量数据,比如a=1;这种变量。

任务的切换

当任务A需要切换时,就需要此刻保存任务A的上下文,就是数据,执行到哪一行等

那么,怎样进行保存任务的这些数据呢?

我们都知道,任务都是在CPU中运行,而CPU中有许多寄存器,而在任务A执行的情况中,CPU中所有的值都为任务A的,

而每个任务都有一个属于自己的任务栈。

所以,任务A在切换的途中,就会将自己所有在CPU中的数据都拷贝到任务栈中。

任务切换时,CPU中只保存任务的指针,而数据都拷贝在任务对应的栈中。

当任务被恢复时,CPU直接利用指针来查找相应的数据栈

后将数据恢复到CPU中。

相关文章:

  • OpenAI重返巅峰:o3与o4-mini引领AI推理新时代
  • Qt QThread 两种线程管理方法
  • 【 解决Cline插件无法激活及DeepSeek模型请求卡顿或者无法加载问题】
  • C++ `unique_ptr` 多线程使用
  • SpringAI+DeepSeek大模型应用开发——5 ChatPDF
  • 深入解析C++驱动开发实战:优化高效稳定的驱动应用
  • Spring_MVC 快速入门指南
  • 汽车免拆诊断案例 | 2011款雪铁龙世嘉车刮水器偶尔自动工作
  • wordpress 垂直越权(CVE=2021-21389)漏洞复现详细教程
  • 初识Redis · C++客户端string
  • 先导木工机床与养老领域的探索之旅
  • 仿腾讯会议项目实现——设置配置文件
  • 【特殊场景应对1】视觉设计:信息密度与美学的博弈——让简历在HR视网膜上蹦迪的科学指南
  • 6.7.图的深度优先遍历(英文缩写DFS)
  • EnlightenGAN:低照度图像增强
  • 【计算机网络 | 第一篇】计算机网络基础知识
  • 基于springBoot+vue的PC 端学习系统(源码+lw+部署文档+讲解),源码可白嫖!
  • L2-018 多项式A除以B
  • 电脑 BIOS 操作指南(Computer BIOS Operation Guide)
  • 累计达2.04亿户!中国联通首次公布5G网络用户数据
  • 北理工再通报:开除宫某党籍,免去行政职务,解除聘用关系
  • “云南舞蹈大家跳”暨牟定“三月会”下周举行,城际公交免票
  • 中国船东协会:强烈要求美方停止基于政治偏见的调查和行动
  • 福特预期6月美国市场涨价,机构称加税让每辆汽车成本至少增加数千美元
  • 一图看懂|特朗普政府VS美国顶尖高校:这场风暴如何刮起?
  • 一季度江西GDP达7927.1亿元,同比增长5.7%