OpenMCU(三):STM32F103 FreeRTOS移植

概述

        本文主要描述了STM32F103移植FreeRTOS的简要步骤。移植描述过程中,忽略了Keil软件的部分使用技巧。默认读者熟练使用Keil软件。本文的描述是基于OpenMCU_RTOS这个工程,该工程已经下载放好了移植STM32F103 FreeRTOS的所有文件

        OpenMCU_RTOS工程的愿景主要有:

        1.、能移植支持主流mcu的freeRTOS

        2、深入分析FreeRTOS代码和第三方库代码,让嵌入式学习变得非常容易;

        3、集成一些嵌入式产品中常用的第三方库文件,并且该工程会开发做一些产品原型,所有的技术方案,就像它的名字一样,全部开源。

移植步骤

1、keil创建STM32F103的工程

注意:一定要选中RTE中CMSIS中的CORE部分

2、工程创建完毕后,在keil中建立分组管理,如下所示:

3、创建完成后的效果:

4、下载FreeRTOS源码

本文在描述过程中,所有的源码都是基于OpenMCU_RTOS工程。文章的最后部分,有该工程的链接。

5、在刚才新创建的keil STM32F103工程目录下创建Appication文件夹

6、将如下文件拷贝到Application文件夹下面.

注:

该文件已经拷贝并放入了OpenMCU_RTOS工程;读者可以通过文章最后的连接,获得工程源码。

7、Application分组添加c文件

8、CMSIS添加system_stm32f1xx.c C文件,文件存放的路径为:

OpenMCU_RTOS\arch\STM32\STM32F1XX\CMSIS\Device\ST\STM32F1xx\Source\Templates

9、添加STM32F103xx BSP驱动文件,文件路径为:

OpenMCU_RTOS\arch\STM32\STM32F1XX\STM32F1xx_HAL_Driver\Src

10、添加启动文件startup_stm32f103x6.s

OpenMCU_RTOS\arch\STM32\STM32F1XX\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm

11、添加freeRTOS内核C文件,文件路径为:

OpenMCU_FreeRTOS\kernel

12、添加内核移植中的与STM32F103架构相关的代码

需要关注的文件路径:

port.c文件:\OpenMCU_RTOS\kernel\portable\RVDS\ARM_CM3

heap_4.c: OpenMCU_FreeRTOS\kernel\portable\MemMang

FreeRTOSConfig.h: OpenMCU_RTOS\project\STM32F1\Keil\Application

13、所有分组添加完后如下图所示:

14、添加编译时的头文件路径

1、Application

2、OpenMCU_RTOS\arch\STM32\STM32F1XX\CMSIS\Include

3、OpenMCU_RTOS\arch\STM32\STM32F1XX\CMSIS\Device\ST\STM32F1xx\Include

4、OpenMCU_RTOS\arch\STM32\STM32F1XX\STM32F1xx_HAL_Driver\Inc

5、OpenMCU_FreeRTOS\kernel\include

6、OpenMCU_RTOS\kernel\portable\RVDS\ARM_CM3

添加完成后,如下所示:

15、编译器选项设置

a、编译器版本选择

加入STM32E230定义和修改编译警告级别

16、删除stm32f1xx_it.c文件中的如下函数定义

17、编译输出

工程连接

OpenMCU_RTOS: 开源MCU软件库管理https://gitee.com/yanl1229/OpenMCU_RTOS.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值