FreeRTOS初探与移植
源码下载:
官网下载: https://www.freertos.org/FreeRTOS-quick-start-guide.html
注意:因为是外网的原因,可能下载速度相对慢一点。
如下图,进入官网,点击Home页面后,在下图点击下载即可
文件下载后,如下图所示
文件预览
一、FreeRTOS文件夹
如上图,详情可参看README.md文件,
1、Demo文件夹:里面放的是FreeRTOS在不同MCU和不同开发环境下的例程,在进行程序移植时,可参考进行移植;
2、License文件夹:这个文件夹里面是相关许可信息,要用FreeRTOS做产品时可仔细看。
3、Source文件夹:里面是FreeRTOS的源码文件;
portable文件夹:如下图;FreeRTOS针对不同编译环境和MCU都有不同的“桥梁”,MemMang文件夹和内存管理相关;
二、FreeRTOS_Plus文件夹
本文件夹是在FreeRTOS系统上,另外增加的一些功能代码,比如CLI、FAT、Trace等等,就系统本身而言,和FreeRTOS是一模一样的。
FreeRTOS·移植(基与STM32F1系列)
一、添加FreeRTOS源码
在基础工程中新建FreeRTOS文件夹,
-
将FreeRTOS的源码添加到新文件夹中,
在portable文件夹中,只留下keil、MemMang和RVDS这三个文件夹,其余删除。 -
向工程分组添加文
打开基础工程,新建分组FreeRTOS_CORE和FreeRTOS_PORTABLE,然后向分组添加文件如下图
FreeRTOS_CORE中的文件来源于文件夹Source,FreeRTOS_PORTABLE分组中的port.c和heap.c,分别来自于RVDS文件夹下的ARM_M3、MemMang文件夹; -
添加相应头文件路径:如下图
头文件路径添加完成后编译,提示无法打开“FreeRTOSConfig.h”文件;打开Demo文件夹,找到针对STM32F10x系列的移植工程文件,然后找到“FreeRTOSConfig.h”文件,复制到自己的工程即可,
二、 修改SYSTEM文件
1、 修改sys.h文件:宏定义 SYSTEM_SUPPORT_OS 修改成1
2、修改usart.c文件:添加 FreeRTOS.h 文件;删除中断服务函数中的OSIntEnt()和OSIntExit();
#include "sys.h"
#include "usart.h"
//
//Èç¹ûʹÓÃucos,Ôò°üÀ¨ÏÂÃæµÄÍ·Îļþ¼´¿É.