目录

一、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  移植

  1. 准备工作

  2. RTOS移植

  3. 移植验证

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系统初识相关推荐

  1. 2020.10.20课堂笔记(java8新特性 lambda表达式)

    一.什么是Lambda? 我们知道,对于一个Java变量,我们可以赋给其一个"值". 如果你想把"一块代码"赋给一个Java变量,应该怎么做呢? 比如,我想把右 ...

  2. 2020.10月做题记录

    PS:本博客仅选择了一些作者认为有必要记录的题目进行记录. week -1 2020.09.28-2020.10.4 军训+国庆放假-就这样又废了一周- 2020.10.04 回来第一天完全没有状态- ...

  3. lol服务器维护9月30,LOL云顶之弈2020年9月30日更新结束时间一览 10.20版本上线

    LOL云顶之弈2020年9月30日的更新内容介绍,今天小编给大家带来的就是云顶之弈10.20版本的更新结束时间一览,希望对大家有所帮助. LOL将在9月30日凌晨3点开始全区停机维护(请注意:2点将关 ...

  4. python win7 64位 2020_Windows7 64位 2020第三版(2020.08.20)目前最完美支持Windows7的系统!!!...

    此系统基于微软Windows7  SP1原版制作.全程离线!安装最新补丁,仅做了适量精简保证稳定运行!此次分离出Windows7 64位单次下载大小已经缩小! ## 1.保留打印机驱动. 2.默认开启 ...

  5. 微生物组-宏基因组分析第9期(报名直播课免费参加线下2020.10本年最后一期)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...

  6. 宏基因组分析第9期(报名直播课免费参加线下2020.10本年最后一期)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程和转录组的线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线下课 ...

  7. Esp8266 进阶之路25【高级篇】深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS 系统的串口驱动文件。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  8. 【不忘初心】Win10_20H2_2009_19042.572_X64_六合一_[纯净精简版](2020.10.29)

    母版来自MSDN  WIN10_20H2.19042.508,集成补到19041.572,20H2相比1909 2004版本要稳定很多,精简起来也比较顺手,相对来说体积比之前的要小一些,精简方法基本上 ...

  9. 2020年全球自动化装卸车系统(ATLS)收入大约80百万美元,预计2026年达到134.5百万美元,2021至2026期间,年复合增长率为14.0%

    本文研究全球市场.主要地区和主要国家自动化装卸车系统(ATLS)的销量.销售收入等,同时也重点分析全球范围内主要厂商(品牌)竞争态势,自动化装卸车系统(ATLS)销量.价格.收入和市场份额等. 针对过 ...

最新文章

  1. 看程序员如何给女朋友解释什么是锟斤拷?
  2. New Currency Rate IOS APP 上线
  3. 多目标跟踪新范式:CenterTrack
  4. 设计一个可以变换的c语言图案,关于图形和变换专题的数学试题
  5. Hadoop(HDFS,YARN)的HA集群安装
  6. Spring MVC 响应数据、作用域对象
  7. 这不是我想要的Serverless
  8. 今天主要改了罗宾钢琴的首页图片缩放问题
  9. expert php and mysql_Expert PHP and Mysql
  10. 神经网络与深度学习第1章:绪论 阅读提问
  11. 基于R语言的方差分析
  12. PMP考试计算公式汇总
  13. 系统建模uml语言(用例图、实现类图、状态图、顺序图、活动图、组件图、部署图、详细类图、uml文档设计)
  14. 怎样选择合适的电流继电器
  15. Spring Security 实战:实现自定义退出登录
  16. 淘宝美工教程:1小时让店铺高大上-优就业-专题视频课程
  17. Discuz小鱼游戏风影传说商业GBK+UTF8版模板/DZ游戏网站模板
  18. tableau函数与计算之二(表计算)
  19. 解决问题:CA_ERROR证书出错,请登录微信支付商户平台下载证书-企业付款到零钱接口(原创)
  20. QT 嵌入式 输入法 软键盘

热门文章

  1. Java核心技术卷一 -第九章:集合
  2. 怎么把已经初始化的字符数组设置为空?
  3. CentOS命令之一
  4. 用户登录界面的测试用例
  5. Linux下shell脚本的4中执行方式
  6. 北京华虹正式加入CPChain行业节点
  7. Access数据库常用函数大全
  8. RadioButton设置默认选中后无法取消,可选中多个的问题
  9. 认识Apache Bookkeeper
  10. 基于Matlab的车牌识别系统完整版课论文分享 快看