首发,公众号【一起学嵌入式】
对于 RTOS 入门系列文章,已经更新完一款(RT-Thread):
助你快速入门 RT-Thread
这个系列的文章结合 RT-Thread,介绍过 RTOS 相关的核心知识。
接下来,开始另外一款 RTOS – FreeRTOS 入门系列,希望能够帮助初学者快速掌握 FreeRTOS,帮助老手回顾基础内容。
一起学习、一起进步。加油~
先来看看官网介绍,官方网址
https://freertos.org/
FreeRTOS 是一种面向微控制器和小型微处理器的市场领先实时操作系统(RTOS),与世界领先的芯片公司合作开发了18年,现在每 170 秒下载一次。
FreeRTOS根据麻省理工学院开放源码许可证免费发布,包括一个内核和一组越来越多的物联网库,适用于所有行业。FreeRTOS强调可靠性和易用性。
FreeRTOS 合作过的部分 IC 厂商:
FreeRTOS 的主要特点如下:
列举几个选择 FreeRTOS 用于项目开发的几点原因:
官方源码的下载地址为:
https://www.freertos.org/a00104.html
源码下载后,是一个压缩包 FreeRTOSv202112.00.zip
,解压后如下图所示
FreeRTOS 的源码在 FreeRTOS 和 FreeRTOS-Plus 这两个文件夹中。tools 文件夹存放的是一些脚本工具。剩下的文件,看名字就知道是干什么用的了。
这个文件夹里放的是 FreeRTOS 内核相关的文件,打开 FreeRTOS 文件,来看看里面的内容
Demo 文件夹里包含 FreeRTOS 官方为各种单片机移植好的示例工程代码。
Source 文件夹里存放的是 FreeRTOS 的内核源码文件。
Demo文件夹
这个文件夹里面存放的是 FreeRTOS 针对不同的 MCU 平台提供的例程 Demo。开发者可以参考这些 Demo 搭建自己的工程项目。如下图所示,官方提供的示例工程是非常全面的,几乎覆盖了常见的 MCU 平台。
Source 文件夹
这个文件夹里存放的是 FreeRTOS 的内核源码文件。也就是我们使用 FreeRTOS 必须用到的文件。下图中标示出各个部分的用途
include 文件夹是一些头文件,下面的这些 .c 文件就是 FreeRTOS 的源码文件。这两部分是不可或缺的,不必多说。
接下来看看 portable 文件夹,里面包含的是跟编译器相关的文件夹,使用不同的编译平台,选择对应的支持文件。
我们比较常用的是 keil,这个目录下只有一个文件,文件名字为 See-also-the-RVDS-directory.txt
。即这个目录下的内容和 RVDS 目录相同。使用 RVDS 文件夹内的文件即可,具体如下所示
这里边的关联文件是连接 FreeRTOS 和具体硬件平台的桥梁。编写这些接口文件就是真正的移植过程,这部分工作已经由 FreeRTOS 官方完成了,我们直接拿来用就可以了。
MemMang 文件夹下存放的是跟内存管理相关的文件,共有 5 个 heap_x.c
文件和 1 个 ReadMe
文件。在移植时,根据选用的内存堆分配算法,选用其中一个即可。
License 文件夹
该文件夹下只有一个文件 license.txt
,该文件描述的是相关的许可信息。用 FreeRTOS 做产品时需要看看。对于个人学习,暂时不需要关心。
FreeRTOS-Plus 文件夹里存放的是第三方产品。
该文件里面也有 Demo 和 Source 文件夹。Source 文件夹里存放的是一些扩展功能源码文件,例如 CLI、TCP、Trace等等。Demo 文件夹里存放的是扩展功能的示例工程。
如果只是学习和使用 FreeRTOS 系统内核,这部分内容就没必要看了。
官方的资料还是丰富的,打开官网即可获取到
可以看在线的资料文档,当然也可以下载官方 PDF 文件
两个 PDF 文件,一个是手把手入门教程,一个是 API 参考手册。
不过,这些资料都是英文的。
本篇文章简单介绍了 FreeRTOS 的一些基本情况,以及源码文件存放结构等。源码获取和资料获取都做了简单介绍说明。
为了方便学习,我将官方 PDF 资料和源码已经下载,并且搜集了一些 FreeRTOS 的学习资料,一起打包放在网盘里了。
在公众号后台留言【freertos】
今天先到这,下次继续。加油~
公众号【一起学嵌入式】,精彩首先送达