STM32F103 FreeRTOS移植系列(五):完整移植过程详解
目录
1. FreeRTOS文件简介
2. 移植FreeRTOS
2.1 模版准备
2.2 复制粘贴Source文件
2.3 内核文件选择
2.4 添加文件组
2.5 添加源码文件
2.6 添加接口文件
2.7 添加路径
2.8 复制头文件
1. FreeRTOS文件简介
上一章我们了解了如何下载FreeRTOS文件,但是发现下载完后无法正常解压,那是因为文件夹内不仅仅只有STM32的工程文件,还有许多别的工程文件,我们这里主要学习FreeRTOS的编程思路,以STM32为例,可以先将不需要的文件移除出去,下面对FreeRTOS的文件进行一个简单的介绍:
打开FreeRTOS的文件夹:
查看“Demo”文件夹,这里是FreeRTOS对各种单片机移植好的工程代码,由于我们需要STM32F103系列的单片机,因此我们只需找到CORTEX_STM32F103系列的即可:
其中文件后面所跟的是编译器的名称,我在这里使用Keli5,所以找到文件CORTEX_STM32F103_Keil,打开可以看到:
返回最初的文件夹,找到“License”,它是一些许可信息:
再次返回最初的文件夹,其中“Source”文件夹包含的是FreeRTOS内核的源代码,我们想要使用它需要移植这段文件夹,点击查看:
其中除了“include”和“portable”以外,是通用的文件,可适配不同内核,对于“portable”,其是针对不同芯片,不同端口的一些文件:
2. 移植FreeRTOS
2.1 模版准备
首先,随便找一个之前使用的工程模版,创建一个用于存放FreeRTOS源码的文件夹,这里为了方便,我直接使用“FreeRTOS”这个名字:
2.2 复制粘贴Source文件
找到文章1中的文件“FreeRTOS”:
点击进入,找到“Source”:
点击进入,将Source的所有文件,复制粘贴到,我们准备的模版文件“FreeRTOS”中。
2.3 内核文件选择
点击“Source”文件,找到“portable”文件:
点击,找到“Keil”,“MemMang”,“RVDS”文件,其他文件全部删除:
(PS:这里是根据使用Keil的环境进行选择的,若是其他环境,需要更具环境进行配置)
2.4 添加文件组
打开我们的模版工程,会发现此时并没有FreeRTOS的工程文件:
需要手动添加,如下图③中命名可随意,按照自己命名习惯进行命名:
创建文件完成:
2.5 添加源码文件
如图操作进行添加:
除去文件夹文件,将.c文件全部选中,点击“Add”:
点击叉号,点击“OK”:
可以看到添加完成:
2.6 添加接口文件
如下图,进行添加接口文件:
找到“FreeRTOS”文件夹:
点击,找到“portable”文件夹:
点击,找到“MemMang”文件夹:
点击,找到“heap_4.c”文件,点击“Add”:
返回上一个文件夹,找到“RVDS”文件夹:
点击,根据自己使用的芯片内核挑选相应的内核文件,这里我使用的是STM32F103C8T6是M3内核的所以选择“ARM_CM3”:
点击,添加:
点击OK:
可以看出添加完成:
2.7 添加路径
如图所示步骤:
其中第“⑥”步所要添加的文件如下链接:
FreeRTOS文件夹下的include文件;
FreeRTOS文件夹下的portable文件夹下的RVDS文件下的ARM_CM3文件:
2.8 复制头文件
完成以上步骤,点击编译会发现,报错显示没有FreeRTOS的头文件:
此时需要找到Demo文件夹:
点击找到“CORTEX_STM32F103_Keil”:
点击找到“FreeRTOSConfig.h”:
将其复制粘贴到,我们模版FreeRTOS文件夹下,include文件夹内:
此时在编译不会在发生报错:
FreeRTOS_时光の尘的博客-CSDN博客
作者:时光の尘