1、首先Stm32程序分析,会先执行启动文件 例如:startup_stm32f10x_md.s
在启动文件会先执行复位函数,进行系统初始化
配置主频,比如F103配置72M
2、配置好时钟后,就是进入main函数了
3、main函数中创建任务:其中创建任务会自动分配内存等
4、任务调度
在任务调度中会创建空闲任务和定时器的任务
5、空闲任务和定时器任务(不是滴答定时器)设置好了优先级,为默认优先级0,stm32的中断的优先级数字越低优先级越高,FreeRtos的任务优先级数字越大越高,所以这里的空闲任务和定时器任务优先级很低,这样不会影响真正的任务的切换
6、在开始任务中,进入了临界区,直到退出临界区,也就是在进入和退出临界区之间,这部分执行的任务部分不能被打断
7、一直到退出临界区,调度器才会根据各个的优先级执行任务之间的切换
8、假设没有临界区,会发生什么? 此时调度器正在运行,有可能出现刚创建的任务打断开始任务,导致另外的任务创建失败
FreeRtos的执行流程
2025/5/28 3:12:07
来源:https://blog.csdn.net/qq_40170041/article/details/141093060
浏览:
次
关键词:FreeRtos的执行流程
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
-
uniapp实现大视频文件上传-- 阿里云oss直传方式 - app、H5、微信小程序
-
mac for vscode集成的源代码管理 撤销和删除文件报错Permission denied
-
如果请求体不是JSON格式,UserController层会怎样?
热文排行
- Day01_Ajax入门
- GIT ---- 解决【fatal: Authentication failed for】
- 基于MATLAB对线阵天线进行泰勒加权
- 爬虫案例3——爬取彩票双色球数据
- n8n 中文系列教程_22. 如何在服务器部署/安装n8n:从零开始的完整指南
- 大语言模型中的 Token:它们是什么,如何工作?
- RuntimeError: CUDA error: device-side assert triggered
- 美团强势领涨恒指,港股即将迎来触底反弹?
- Ubuntu 常用指令手册
- 【个人开发】deepspeed+Llama-factory 本地数据多卡Lora微调【完整教程】