1、首先Stm32程序分析,会先执行启动文件 例如:startup_stm32f10x_md.s
在启动文件会先执行复位函数,进行系统初始化
配置主频,比如F103配置72M
2、配置好时钟后,就是进入main函数了
3、main函数中创建任务:其中创建任务会自动分配内存等
4、任务调度
在任务调度中会创建空闲任务和定时器的任务
5、空闲任务和定时器任务(不是滴答定时器)设置好了优先级,为默认优先级0,stm32的中断的优先级数字越低优先级越高,FreeRtos的任务优先级数字越大越高,所以这里的空闲任务和定时器任务优先级很低,这样不会影响真正的任务的切换
6、在开始任务中,进入了临界区,直到退出临界区,也就是在进入和退出临界区之间,这部分执行的任务部分不能被打断
7、一直到退出临界区,调度器才会根据各个的优先级执行任务之间的切换
8、假设没有临界区,会发生什么? 此时调度器正在运行,有可能出现刚创建的任务打断开始任务,导致另外的任务创建失败
FreeRtos的执行流程
2025/2/24 12:41:51
来源:https://blog.csdn.net/qq_40170041/article/details/141093060
浏览:
次
关键词:FreeRtos的执行流程
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
热文排行
- Day01_Ajax入门
- RuntimeError: CUDA error: device-side assert triggered
- 爬虫案例3——爬取彩票双色球数据
- LabVIEW提高开发效率技巧----事件日志记录
- 安卓端侧大模型 MLC-LLM 部署全攻略:以 InternLM2.5-1.8B 为例
- 苹果iOS 17.6.1正式推送,有哪些机型值得更新呢?
- CosyVoice 实测,阿里开源语音合成模型,3s极速语音克隆,5分钟带你部署实战
- React Native 应用中预加载 SQLite 数据库的全面指南
- 2024华数杯C题解题思路、参考论文已出(无偿分享)~
- DSP——从入门到放弃系列2——PLL锁相环(持续更新)