FreeRTOS(二)

2021-12-01 20:20:51 浏览数 (1)

FreeRTOS 官网:https://freertos.org/

在官网中可以下载到 FreeRTOS 的源码,博主下载了一份,解压后目录如下:

FreeRTOS 源码中有三个文件夹,7 个 HTML 格式的网页和 2 个 txt 文档,HTML 网页和 txt 文档看名字就知道是什么东西了,重点在于上面那两个文件夹:FreeRTOS 和 FreeRTOS-Plus,这两个文件夹里面的东西就是 FreeRTOS 的源码。

1、FreeRTOS 文件夹

1)Demo 文件夹里面就是 FreeRTOS 的相关例程:

FreeRTOS 针对不同的 MCU 提供了非常多的 Demo,其中就有 ST 的 F1、F4 和 F7 的相关例程,这对于我们学习来说是非常友好的,我们在移植的时候就会参考这些例程。

2)License 文件夹里面就是相关的许可信息,要用 FreeRTOS 做产品的得仔细看看,尤其是要出 口的产品。

3)Source 文件夹里面就是 FreeRTOS 源码。

可以看出 FreeRTOS 真正的源码就这么几个 .c 文件,系统非常小,只有几 K。

重点来看一下其中的 portable 这个文件夹,FreeRTOS 是个系统,归根结底就是个纯软件的东西,它是怎么和硬件联系在一起的呢?软件到硬件中间必须有一个桥梁,portable 文件夹里面的东西就是 FreeRTOS 系统和具体的硬件之间的连接桥梁!不同的编译环境,不同的 MCU,其桥梁是不同的。

portable 文件夹

FreeRTOS 针对不同的编译环境和 MCU 都有不同的“桥梁”,以 MDK 编译环境下的 STM32F103 为例。MemMang 这个文件夹是跟内存管理相关的,我们移植的时候是必须的

Keil 文件夹里面的东西肯定也是必须的,打开 Keil 文件夹以后里面只有一个文件:See-also-the-RVDS-directory.txt,意思就是参考 RVDS 文件夹里面的东西。

打开 RVDS 文件夹

RVDS 文件夹针对不同的架构的 MCU 做了详细的分类,STM32F103 就参考 ARM_CM3,打开 ARM_CM3 文件夹:

ARM_CM3 有两个文件,这两个文件就是我们移植的时候所需要的!

2、FreeRTOS-Plus 文件夹

FreeRTOS-Plus 也有 Demo 和 Source,Demo 是一些例程。我们看一下 Source:

FreeRTOS-Plus 中的源码其实并不是 FreeRTOS 系统的源码,而是在 FreeRTOS 系统上另外增加的一些功能代码,比如 CLI、FAT、Trace 等等。就系统本身而言,和 FreeRTOS 里面的一模一样的,所以我们如果只是学习 FreeRTOS 这个系统的话,FreeRTOS-Plus 就没必要看了。

0 人点赞