2020-10-20 任务三(一) RTOS系统初识
目录
一、RTOS系统是什么?
二、FreeRTOS 文件系统
文件系统
三、FreeRTOS 移植
准备工作
RTOS移植
移植验证
四、 RTOS系统的学习(4.5中断测试实验)
总结
前言
一、RTOS系统是什么?
FreeRTOS就是一个免费的RTOS系统。
通过给不同的任务分配时间片以及优先级,形成多任务同时运行的错觉。
RTOS系统时钟是由滴答定时器提供的,RTOS的系统时钟节拍应该匹配滴答定时器,其实就是设置滴答定时器的中断周期。
由于我们使用了HAL库,HAL库里的延时函数要求滴答定时器周期为1ms,因此FreeRTOS的系统节拍应该设置为1000HZ,也就是1ms的周期 HAL→SysTicks→FreeRTOS
查阅资料的网址:http://www.freertos.org
二、FreeRTOS 文件系统
1.文件系统
- Demo文件夹里面是FreeRTOS的相关历程
虽然minifly用的STM32F429的芯片,但是可以用F407的历程,因为都是Cortem-M4F的例程
- License文件夹 许可信息
- Source文件夹
存放RTOS的源码文件, 重点是portable文件夹,它是软硬件之间的连接桥梁,
不同的编译环境和MCU都有不同的规则,找到里面的Keil,找到RVDS,找到里面的CM4
里面有port.c文件 和 portmacro.h文件 ,这是我们所需要的
三、FreeRTOS 移植
准备工作
RTOS移植
移植验证
1.准备工作
要移植RTOS系统,需要一个简单的基础工程作为模板,这里直接以Minifly作为例程
2.RTOS移植
- 准备RTOS包
在TROS的source文件夹中,删除portable的无用部分,仅仅保留 keil mem rvds
建立一个FreeRTOS的文件夹,将source(源码内容)拷贝进去,相当于引入了一个FreeRTOS包
如图: 蓝色部分是基础工程模板
- 向工程分组中添加文件 以及 c文件路径 (见F429 FreeRTOS开发手册32页)
- 修改一些 sys systick usart函数的定义 (要配置系统滴答定时器 为1ms 因为引入了HAL库
- 对HAL库还不是很熟 标准库效率高 只是对一些寄存器进行了封装,HAL封装的功能更强大 但是效率会更低
3.移植验证
3.1 实验目的
测试是否移植成功(本文仅理解一下 RTOS系统下的编程 未实际操作)
3.2 实验设计
3.3实验程序与分析
略
注:
临界代码段:
四、 RTOS系统的学习(4.5中断测试实验)
4.1 RTOS工程实现步骤:
引入头文件
↓
宏定义
↓
int main()
{初始化 //本例中是在TIMx_Init(,)中初始化了定时器配置 以及调用了函数 实现了了中断配置 以及中断服务程序的编写↓创建优先级很高的开始任务↓开启任务调度
}void startTask(void *param)
{进入临界区();按优先级创建一系列任务();删除开始任务();退出临界区();
}
然后在其他 .c .h文件中对创建的一系列任务函数进行实现。
//本例中是在TIMx_Init(,)中初始化了定时器配置 以及调用了函数 实现了了中断配置 以及中断服务程序的编写
总结
一、对实时操作系统(RTOS)的文件系统进行了学习
二、大致了解了 RTOS包 的工程移植
三、对RTOS项目工程实现过程 有了了解
2020-10-20 任务三(一) RTOS系统初识相关推荐
- 2020.10.20课堂笔记(java8新特性 lambda表达式)
一.什么是Lambda? 我们知道,对于一个Java变量,我们可以赋给其一个"值". 如果你想把"一块代码"赋给一个Java变量,应该怎么做呢? 比如,我想把右 ...
- 2020.10月做题记录
PS:本博客仅选择了一些作者认为有必要记录的题目进行记录. week -1 2020.09.28-2020.10.4 军训+国庆放假-就这样又废了一周- 2020.10.04 回来第一天完全没有状态- ...
- lol服务器维护9月30,LOL云顶之弈2020年9月30日更新结束时间一览 10.20版本上线
LOL云顶之弈2020年9月30日的更新内容介绍,今天小编给大家带来的就是云顶之弈10.20版本的更新结束时间一览,希望对大家有所帮助. LOL将在9月30日凌晨3点开始全区停机维护(请注意:2点将关 ...
- python win7 64位 2020_Windows7 64位 2020第三版(2020.08.20)目前最完美支持Windows7的系统!!!...
此系统基于微软Windows7 SP1原版制作.全程离线!安装最新补丁,仅做了适量精简保证稳定运行!此次分离出Windows7 64位单次下载大小已经缩小! ## 1.保留打印机驱动. 2.默认开启 ...
- 微生物组-宏基因组分析第9期(报名直播课免费参加线下2020.10本年最后一期)
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...
- 宏基因组分析第9期(报名直播课免费参加线下2020.10本年最后一期)
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...
- Esp8266 进阶之路25【高级篇】深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS 系统的串口驱动文件。(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
- 【不忘初心】Win10_20H2_2009_19042.572_X64_六合一_[纯净精简版](2020.10.29)
母版来自MSDN WIN10_20H2.19042.508,集成补到19041.572,20H2相比1909 2004版本要稳定很多,精简起来也比较顺手,相对来说体积比之前的要小一些,精简方法基本上 ...
- 2020年全球自动化装卸车系统(ATLS)收入大约80百万美元,预计2026年达到134.5百万美元,2021至2026期间,年复合增长率为14.0%
本文研究全球市场.主要地区和主要国家自动化装卸车系统(ATLS)的销量.销售收入等,同时也重点分析全球范围内主要厂商(品牌)竞争态势,自动化装卸车系统(ATLS)销量.价格.收入和市场份额等. 针对过 ...
最新文章
- 看程序员如何给女朋友解释什么是锟斤拷?
- New Currency Rate IOS APP 上线
- 多目标跟踪新范式:CenterTrack
- 设计一个可以变换的c语言图案,关于图形和变换专题的数学试题
- Hadoop(HDFS,YARN)的HA集群安装
- Spring MVC 响应数据、作用域对象
- 这不是我想要的Serverless
- 今天主要改了罗宾钢琴的首页图片缩放问题
- expert php and mysql_Expert PHP and Mysql
- 神经网络与深度学习第1章:绪论 阅读提问
- 基于R语言的方差分析
- PMP考试计算公式汇总
- 系统建模uml语言(用例图、实现类图、状态图、顺序图、活动图、组件图、部署图、详细类图、uml文档设计)
- 怎样选择合适的电流继电器
- Spring Security 实战:实现自定义退出登录
- 淘宝美工教程:1小时让店铺高大上-优就业-专题视频课程
- Discuz小鱼游戏风影传说商业GBK+UTF8版模板/DZ游戏网站模板
- tableau函数与计算之二(表计算)
- 解决问题:CA_ERROR证书出错,请登录微信支付商户平台下载证书-企业付款到零钱接口(原创)
- QT 嵌入式 输入法 软键盘