FreeRTOS简介

FreeRTOS简介



前言

FreeRTOS是一个可以基于ROM运行的、可裁剪的、抢占式、实时多任务内核,具有高度可移植性,在一段学习后留个笔记简单记录下相关知识欢迎大佬指正!!!!


一、什么是FreeRTOS?

Free 和 RTOS,Free 就是免费的、自由的、不受约束的意思,RTOS 全称是 Real Time Operating System,中文名就是实时操作系统。可以看出 FreeROTS 就是一个免费的 RTOS 类系统,FreeRTOS 是 RTOS 系统的一种,FreeRTOS 十分的小巧,可以在资源有限的微控制器中运行,当然了,FreeRTOS 不仅局限于在微控制器中使用。但从文件数量上来看 FreeRTOS 要比UCOSII 和 UCOSIII 小的多。

二、FreeRTOS的特点

FreeRTOS是一个可裁剪、可固化到 ROM 的抢占式实时内核,并且可管理任务的数量不受限制,具有以下几个重要的特性:

免费、开源且小巧:FreeRTOS 免费!这是最重要的一点,UCOS 是要收费的, 并且FreeRTOS 系统简单、小巧、易用,通常情况下内核占用 4k-9k 字节的空间。
支持多种不同架构的不同型号的处理器: ARM架构系列,例如STM32和GD32的 F1、 F4、 F7 和 H7 等型号的 MCU 都可支持,已经在超过 30 种架构的芯片上进行了移植。,非常方便
资料齐全:文档相对齐全,在 FreeRTOS 的官网:https://www.freertos.org/zh-cn-cmn-s/上可以找到所需的文档和源码,但是所有的文档都是英文版本的,而且下载 pdf 文档的时候是要收费的。
应用范围广:高可移植性,代码主要 C 语言编写,因此许多软件厂商也使用 FreeRTOS 做本公司软件的操作系统,比如著名的 TouchGFX,其所有的例程都是基于 FreeRTOS 操作系统的。ST 公司的所有要使用到 RTOS 系统的例程也均采用了 FreeRTOS,由此可见免费的力量啊!
内部资源丰富:持抢占式,合作式和时间片调度、任务数量不限、任务优先级不限、软件定时器、创新的事件组(或者事件标志)、消息队列、多种信号量、任务通知、内存管理、时间戳等;还包括强大的跟踪执行功能和堆栈溢出检测功能。

三、FreeRTOS的版本和参考资料

1、FreeRTOS版本

FreeRTOS 衍生出来了另外两个系统:OpenRTOS 和 SafeTROS,FreeRTOS 开源许可协议允许在商业应用中使用 FreeRTOS 系统
,两者特征比较如下表所示:
在这里插入图片描述

2、FreeRTOS源码获取

在移植FreeRTOS 时候还需要用到FreeRTOS官方提供的两个额外的库源码文件,中文官方地址:https://freertos.org/zh-cn-cmn-s/,提供了大量的 µC/OS-III 相关的资料和不同版本的源代码,现在的目标就是要获取 FreeRTOS的源代码,打开后如下图所示:
在这里插入图片描述

点击下载FreeRTOS ,可直接下载FreeRTOS。也可以从 Git 获取 RTOS 库 ,但最简单的入门方式是下载 FreeRTOS .zip 文件,因为此文件还包括针对每一个官方移植的演示项目 ,如果点击入门指南,跳转如下图所示:
在这里插入图片描述

3、FreeRTOS参考资料

在线参考资料在顶部导航栏“内核” ,就能看到FreeRTOS的详情页了,打开后如下图所示对内核的描述:
在这里插入图片描述
点击左侧FreeRTOS书籍,可以看到FreeRTOS的相关离线资料,FreeRTOS 官方有两份 PDF 文档,一份是 FreeRTOS 的指导手册,
一份是 FreeRTOS 的 API 函数参考手册。相比 uC/OS,FreeRTOS 的官方文档确实有点少
在这里插入图片描述
FreeRTOS 还有一个在线文档,可以直接在官网浏览,点击左侧开发者文档,里面可以看到FreeRTOS的各种资源介绍和使用方法,例如队列、任务通知、软件定时器等…,此处打开队列一项,显示如下:
在这里插入图片描述
点击左侧辅助文档,里面可以看到FreeRTOS的各种辅助工具使用方法,例如钩子函数、内存保护、跟踪调试等…
在这里插入图片描述
点击左侧辅助文档,可以看到一些能够适配受支持的微控制器系列中平台以及移植演示,的此页面仅列出了官方 RTOS 移植,仅供参考.
在这里插入图片描述
点击左侧API引用,详细地介绍了FreeRTOS中各个 API 的使用说明,包括 API 函数的参数说明、返回值说明以及 API 用法举例
在这里插入图片描述

四、FreeRTOS源码简介

FreeRTOS源代码已经下载完成,不过显示为:FreeRTOSv9.0.0.exe,直接双击,然后选择源码保存位置即可获取FreeRTOS源码
在这里插入图片描述
打开那么这三个文件分别是做什么用的呢?所示:
在这里插入图片描述
重点在于上面那两个文件夹:FreeRTOS 和 FreeRTOS-Plus, Plus 比普通的功能多一点,配置强大一点。点击FreeRTOS
在这里插入图片描述
● Demo 文件夹 :Demo 文件夹里面就是 FreeRTOS 的相关例程,是 FreeRTOS 针对不同的 MCU 提供了非常多的 Demo
● License 文件夹:这个文件夹里面就是相关的许可信息,要用 FreeRTOS 做产品的得仔细看看,尤其是要出口的产品。
● Source 文件夹 :看名字就知道了,这个就是 FreeRTOS 的源码了,点击如下
在这里插入图片描述
include 文件夹是一些头文件,移植的时候是需要的,下面的这些.C 文件就是 FreeRTOS 的源码文件了,移植的时候肯定也是需要的。
主要看一下portable 文件夹,里面的东西就是 FreeRTOS系统和具体的硬件之间的连接桥梁!不同的编译环境,不同的 MCU,其桥梁应该是不同的,打开 portable 文件夹:
在这里插入图片描述


  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值