OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3481|回复: 3

freeRTOS运转出错,具体问题如下

[复制链接]

75

主题

185

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
金钱
293
注册时间
2021-2-5
在线时间
135 小时
发表于 2021-2-6 20:57:49 | 显示全部楼层 |阅读模式
带有freertos的代码在STM32F103C8T6上无法运行,但是如果不用freertos,单用while循环这种前后台系统就能正常运行,debug后代码追后卡死在if( xPortStartScheduler() != pdFALSE )                {
                        /* Should not reach here as if the scheduler is running the
                        function will not return. */
                }
这个位置,翻译注释说的是如果系统正常运行,是不会运行到这个位置的,具体没有什么信息可以判断出有什么具体错误,希望各位前辈提点一下,谢谢!


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

136

帖子

0

精华

高级会员

Rank: 4

积分
577
金钱
577
注册时间
2020-11-19
在线时间
113 小时
发表于 2021-2-22 12:38:53 | 显示全部楼层

回帖奖励 +2 金钱

信息太少了。。。
八十、八十、八十!
回复 支持 反对

使用道具 举报

75

主题

185

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
金钱
293
注册时间
2021-2-5
在线时间
135 小时
 楼主| 发表于 2021-3-1 09:51:56 | 显示全部楼层
这个问题已经解决,如果你玩的是STM32F103系列的板子,就会有正点原子给的官方资料,里面有freertos操作指南以及源代码,你按照步骤移植之后还是会遇到问题,我遇到的如下:1,没报错,但是无法调度,最后debug就卡在任务调度函数里面,这个时候你需要在freertosconfig.h中加上#define xPortPendSVHandler         PendSV_Handler
#define vPortSVCHandler         SVC_Handler这两个宏定义,就能解决这个问题,2,如果你遇到xTaskGetCurrentTaskHandle未定义之类的错误,这个时候就在刚才那个头文件中案几上
回复 支持 反对

使用道具 举报

75

主题

185

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
金钱
293
注册时间
2021-2-5
在线时间
135 小时
 楼主| 发表于 2021-3-1 09:53:40 | 显示全部楼层

#define INCLUDE_xTaskGetCurrentTaskHandle 1  这么一句宏定义就能解决这个问题

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 19:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表