初学STM32移植FreeRTOS遇到问题以及解决办法

目录

移植经历

最近尝试学习FreeRTOS移植,在这过程中碰到很多坑,也查了一些资料,简单总结这几天需要的问题以及经验。

下载方式

首先说下载,因为它的“源码”是免费的,可以直接到“https://www.freertos.org/”下载,如下图,会得到一个.exe的软件,通过软件将源码下载下来。
在这里插入图片描述
下载完成后如下图所示,主要看FreeRTOS下的代码。
在这里插入图片描述

keil下移植

因为本人用的是STM32F103ZET6,且使用keil软件,那么远也需要选用相同的文件。参考文档和使用代码都是正点原子的,参考文档为“STM32F1 FreeRTOS开发手册_V1.0.pdf”留下后文件如图
在这里插入图片描述
portable文件下载下来的时候有很多文件,删除后如图所示
在这里插入图片描述
这时候需要修改文件里的代码。

关于移植过程中出现的问题以及解决办法

引用的是正点原子代码点灯代码移植,在这其中遇到了的问题,算是对文档的补充吧,另外需要说明的是,有些步骤省略了,比如需要修改delay.c和sys.c代码等,只要是为了说明遇到问题,给予解决方式。
第一个问题 在自己尝试移植过程中,报错.Error: L6218E: Undefined symbol xTaskGetSchedulerState (referred from delay.o).解决如下图,其它类似错误可以来这个文件下找,尝试改。
在这里插入图片描述
第二个问题 在编译后没有出现错误但是灯不闪,debug仿真后跑到 STM32f10x_it.c下void HardFault_Handler(void)函数,原因可能有很多,多长调试发现是由于FreeRTOSConfig.h文件内容太少,看参考文档时,让去dome里找个这个文件,但是那个文件其实也需要改,解决办法直接用正点写好的。这个问题不会导致编译出错,所以当灯点不亮后,即使仿真也比较难找到原因。下图是展示这个文件。

在这里插入图片描述

补充说明

这里提供调试过移植好的代码

参考说明

前人栽树,后人乘凉。这里展示在调试过程中,参考过认为有帮助的文档或链接。
文档:
STM32F1 FreeRTOS开发手册_V1.0.pdf(可以去正点原子找)
链接:https://blog.csdn.net/qq_41544550/article/details/80729026(CSDN有关第一个问题解决办法参考)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好奇龙猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值