FreeRTOS环境搭建

做项目前提条件:

1、keil工具,GD32环境已经搭建完成

2、GD32开发板。案例是以梁山派为开发板

3、FreeRTOS源码包。下载地址为: https://github.com/FreeRTOS/FreeRTOS/releases

4、项目参考名字:GD32F470_Template

如果GD32F470不知道搭建,请参考以下连接

工程模板创建-CSDN博客

我们最终要实现的项目工程目录:

FreeRTOS目录如下

gcc目录下:

F:支持浮点型

1. 拷贝代码到文件夹

2. 添加include path

3. 添加.c

4. 解决编译错误

错误解决

亚马逊云的配置文件,不是我们需要的

找到自己的处理器将freeRTOSConfig拷贝到这个目录中。

报错

删除到只留下这三个文件夹

添加这个文件

创建一个组取名:FreeRTOS_Port,并添加port.c文件

再添加heap_4.c作用是内存管理

complier6则选GCC,如果是complier5RVDS

本次我们选complier6因为速度快!

报错

.\Objects\GD32F470.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by port.o and gd32f4xx_it.o).

.\Objects\GD32F470.axf: Error: L6200E: Symbol SVC_Handler multiply defined (by port.o and gd32f4xx_it.o).

.\Objects\GD32F470.axf: Error: L6200E: Symbol PendSV_Handler multiply defined (by port.o and gd32f4xx_it.o).

SystemCoreClock找不到,在文件加入:extern uint32_t SystemCoreClock

gd32f4xx_it.c里面注释掉三个函数即可,因为用了FreeRTOS操作系统,已经帮忙接管了

以上不是最合理的,如下的解决方案更合理

1、先去配置里面加上:SYS_SUPPORT_OS,中间用英文逗号隔开

2、在代码中添加#ifndef #endif#ifdef #endif格式

如下

其他两个都一样写法

再报错

修改宏定义的数字,修改成0

修改

再修改成0

再修改成0

引入头

成功!!!

5. 编译不出错,移植成功

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值