请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

FreeRTOS出现Hardfault报错

[复制链接]
yyjyyj 提问时间:2023-11-20 20:14 / 已解决

我用CM_backtrace找到报错的代码是在xPortStartScheduler函数中最后一行return 0;正常是不会跑到或者这一行的,不知道是什么导致的,想寻求各位大佬的支援。

附上报错信息

image.pngimage.png

image.png

image.png

收藏 评论4 发布时间:2023-11-20 20:14

举报

4个回答
watershade 最优答案 回答时间:2023-11-22 10:28:39

1 检查一下优先级:

你的程序中有没有用到中断?你的SysTick的优先级是多少?看看发生故障时,有没有中断产生。

看一下这里有没有帮助:https://zhuanlan.zhihu.com/p/551096072

2 检查一下堆栈分配

可以configCHECK_FOR_STACK_OVERFLOW,看一下有没有问题

watershade 回答时间:2023-11-21 13:47:12

最简单的线程跑通了吗?

yyjyyj 回答时间:2023-11-21 20:45:35

watershade 发表于 2023-11-21 13:47
最简单的线程跑通了吗?

可以

yyjyyj 回答时间:2023-11-23 16:25:35

watershade 发表于 2023-11-22 10:28</p>
<h2>1  检查一下优先级:</h2>
<p>你的程序中有没有用到中断?你的SysTick的优先级是多少?看看发生故障时,有 ...

[md]嗯,检查完任务堆栈后发现是有一个任务给的堆栈太小

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版