1.FreeRTOS 源码中有两个文件夹,4 个 HTML 格式的网页和一个 txt 文档,HTML 网页和 txt 文档看名字就知道是什么东西,重点在于FreeRTOS 和 FreeRTOS-Plus,这两个文件夹就是 FreeRTOS 的源码。
1. 打开 FreeRTOS 文件夹
●
Demo
文件夹
Demo
文件夹里面就是
FreeRTOS
的相关例程FreeRTOS 针对不同的 MCU
提供了非常多的
Demo
,其中就有
ST
的
F1
、
F4 和 F7 的相关例程。
●
License
文件夹
这个文件夹里面就是相关的许可信息。
●
Source
文件夹
FreeRTOS本身。
![](https://i-blog.csdnimg.cn/blog_migrate/15b37378cb7f0687bf6a407d7efcd8a2.png)
include
文件夹是一些头文件,移植的时候是需要,下面的.C
文件是
FreeRTOS
的源码文件了,移植的时需要。
portable这个文件夹,FreeRTOS
是个系统,是个纯软件,它怎样和硬件联系在一起呢?软件到硬件中间必须有一个桥梁,portable
文件夹里面的东西就是
FreeRTOS系统和具体的硬件之间的连接桥梁!不同的编译环境,不同的 MCU
,其桥梁应该是不同的,打开portable
文件夹
![](https://i-blog.csdnimg.cn/blog_migrate/8ab56f35212fdfae113e993113fd6b6d.png)
上图
中可以看出
FreeRTOS
针对不同的编译环境和
MCU
都有不同的“桥梁”,以 MDK
编译环境下的
STM32F103
为例。
MemMang
这个文件夹跟内存管理相关的,移植的时是必须的。Keil
文件夹里面的东西也是必须的,但是我们打开Keil
文件夹以后里面只有一个文件:
See-also-the-RVDS-directory.txt
。
看文件名字“
See-also-the-RVDS-directory”,意思就是参考 RVDS文件夹里面的东西!
再打开 RVDS 文件夹
RVDS 文件夹针对不同的架构的 MCU 做了详细的分类,STM32F103 就参考 ARM_CM3, 打开 ARM_CM3 文件夹,
ARM_CM3 有两个文件,这两个文件就是我们移植的时候所需要的
FreeRTOS-Plus 中的源码其实并不是 FreeRTOS 系统的源码,而是在 FreeRTOS系统上另外增加的一些功能代码,比如 CLI、FAT、Trace 等等。就系统本身而言,和 FreeRTOS里面的一模一样的