1、源码结构
以 Keil 工具下 STM32F103 芯片为例,它的 FreeRTOS 的目录如下:
主要涉及 2 个目录:
- Demo:Demo 目录下是工程文件,以"芯片和编译器"组合成一个名字,
比如:CORTEX_STM32F103_Keil - Source:根目录下是核心文件,这些文件是通用的
--portable 目录下是移植时需要实现的文件,留下了RVDS和MemMang两个文件夹
--RVDS:如ARM_CM3,这表示 cortexM3 架构在 RVDS工具上的移植文件
--MemMang(内存管理文件)
2、移植
1.下载
进入FreeRtos官网下载,下载第一个完整版,带有工程示例。
2.在源程序中建立如图的文件夹FreeRTOS
3.移植结果:得到src,port,include三个文件夹+FreeRTOSConfig.h文件
src文件夹用于保存 FreeRTOS 中的核心源文件;
port 用于存放内存管理以及处理器架构相关代码,软硬件必须有桥梁来连接,这些与处理器架构相关的代码,可以称之为 RTOS 硬件接口层;
include文件,FreeRTOS\Source”目录下找到 “include”文件夹,它是我们需要用到 FreeRTOS 的一些头文件 ;
FreeRTOSConfig.h 也要加入进来;
3、剪裁
为了让freertos占用的内存更小,我们可以删除很多不必要的文件;
①src中可以留最核心的文件,或者项目用到的文件,其他的可以删除
②port中RVDS可能有很多芯片的架构资料,只留使用芯片的即可,其他也可以删除
MemMang有多种内存管理方式,一般我们采用heap4.c,其他的可以删除