系列文章目录
嵌入式操作系统FreeRTOS文件详解
嵌入式操作系统FreeRTOS文件详解
- 系列文章目录
- FreeRTOS下载
FreeRTOS下载
官网下载解压后得到的文件,如下图所示:
打开图 1.3.1.2 中的 FreeRTOS 子文件夹,就能够看到 FreeRTOS 内核的文件,如下图所示
Demo 文件夹
Demo 文件夹里面就是 FreeRTOS 的演示工程
Demo 文件夹中有,FreeRTOS 支持多种芯片架构的多种不同型号的芯片,其中就包括了 ST 的 F1、F4、F7 和H7 系列的相关 FreeRTOS 演示工程
这对于入门学习FreeRTOS 是十分有帮助的,在学习移植FreeRTOS 的过程中就可以参考这些演示工程
License 文件夹
License 文件夹中包含了 FreeRTOS 的相关许可信息,如果是要使用 FreeRTOS 做产品的话,就得仔细地看看这个文件夹中的内容。
Source 文件夹
这个文件夹中的内容就是 FreeRTOS 的源代码了,这就是学习和使用 FreeRTOS 的重中之重,Source 文件夹打开后如下图所示:
图中的文件就是 FreeRTOS 的源文件了。可以看到,就文件数量而言,FreeRTOS 的
文件数量相对与 µC/OS 而言少了不少。Source 文件夹中各文件和文件夹的描述如下表所示:
可以看到,Source 文件夹中的 portable 内包含了 FreeRTOS 的移植文件,这些移植文件是针对不同芯片架构的。FreeRTOS 操作系统归根到底是一个软件层面的东西,那 FreeRTOS 是如何将硬件联系在一起的呢?portable 文件夹里面的东西就是连接软件层面的 FreeRTOS 操作系统和硬件层面的芯片的桥梁。打开 protable 文件夹后,可以看到 FreeRTOS 针对不同的芯片架构和不同的编译器提供了不同的移植文件,由于本文是使用 MDK 开发正点原子的 STM32 系列板卡,因此这里只重点介绍其中的部分移植文件,如下图所示:
Keil 文件夹
Keil 文件夹是在 MDK 中使用 ARMCC 编译器(AC5)时使用的打开 Keil 文件夹后可以看到,Keil 文件夹中之后一个文件,文件名为:“See-also-the-RVDSdirectory.txt”
RVDS 文件夹
从图中可以看出,FreeRTOS 提供了 ARM Cortex-M0、ARM Cortex-M3、ARM CortexM4、ARM Cortex-M7 等内核芯片的移植文件
ARMClang 文件夹是在 MDK 中使用ARMClang 编译器(AC6)时使用的,打开 ARMClang 文件夹后可以看到,ARMClang 文件夹中只有一个文件,文件名为:“Use-the-GCC-ports.txt”,看文件名就知道要转到 GCC 文件夹了。
GCC 文件夹
从图 1.3.2.5 中可以看出,FreeRTOS 提供了 ARM Cortex-M0、ARM Cortex-M3、ARM CortexM3、ARM Cortex-M7、ARM Cortex-M23、ARM Cortex-M33 等内核芯片的移植文件
MemMang 文件夹
MemMang 中的文件是 FreeRTOS 提供的用于内存管理的文件,从图 1.3.2.6 中可以看到,MemMang 文件夹中包含了五个 C 源文件,这五个 C 源文件对应了五种内存管理的方法。
END