在STM32F103单片机上移植FreeRTOS

描述

移植 FreeRTOS

以正点原子的跑马灯工程为基础,在上面扩展。在基础工程中新建一个名为 FreeRTOS 的文件夹:

FreeRTOS

创建 FreeRTOS 文件夹以后就可以将 FreeRTOS 的源码添加到这个文件夹中,添加完以后 如图所示:

FreeRTOS

portable 文件夹,我们只需要留下 keil、MemMang 和 RVDS 这三个文件夹,其他的都可以删除掉:

FreeRTOS

打开基础工程,新建分组 FreeRTOS_CORE 和 FreeRTOS_PORTABLE,然后向这两个分组 中添加文件

FreeRTOS

分组 FreeRTOS_CORE 中的文件就是 FreeRTOS 源码。FreeRTOS_PORTABLE 分组中的 port.c 和
heap_4.c ,port.c 是 RVDS 文件夹下的 ARM_CM3 中的文件,因为 STM32F103 是 Cortex-M3 内核的,因此要选择ARM_CM3 中的 port.c 文件。heap_4.c 是 MemMang 文件夹中的,前面说了MemMang 是跟内存管理相关的,里面有 5 个 c文件:heap_1.c、heap_2.c、heap_3.c、heap_4.c 和 heap_5.c。这 5 个 c 文件是五种不同的内存管理方法。这 5个文件都可以用来作为 FreeRTOS 的内存管理文件,只是它们的实现原理不同,各有利弊。这里我们选择 heap_4.c。

添加相应的头文件路径:

FreeRTOS

头文件路径添加完成以后编译一下,看看有没有什么错误,结果会发现提示打不开 “FreeRTOSConfig.h”这个文件

FreeRTOS

这是因为缺少 FreeRTOSConfig.h 文件,这个文件在哪里找呢?你可以自己创建,显然这不是一个明智的做法。我们可以找找 FreeRTOS的官方移植工程中会不会有这个文件,打开 FreeRTOS 针对STM32F103 的移植工程文件,文件夹是CORTEX_STM32F103_Keil,打开以后官方的移植工程中有这个文件,我们可以使用这个文件,但是建议大家使用正点原子例程中的FreeRTOSConf.h 文件,这个文件是 FreeRTOS 的系统配置文件,不同的平台其配置不同。

FreeRTOSConfig.h 是何方神圣?看名字就知道,他是 FreeRTOS的配置文件,一般的操作系统都有裁剪、配置功能,而这些裁剪及配置都是通过一个文件来完成的,基本都是通过宏定义来完成对系统的配置和裁剪的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分