[技术问答] HardFault_Handler的解决方法

[复制链接]
 楼主| zengxing3624 发表于 2021-11-18 16:01 | 显示全部楼层 |阅读模式
网上说有N多种解决方法,在我的工程里,方法用遍,加之对工具不熟,CPU也不熟,所以遇到问题无从下手,我觉得我这个问题是所有新手都有可能遇到的,那就是堆栈大小设置,一般在Demo Code里什么事都没有,移到工程里就会有问题,因为工程里各种变量,数组,等等,可能导至堆栈越界,溢出,就出错了,所以遇到这个HardFault_Handler问题,我觉得首先就是要设置堆栈大小,给他搞大一倍左右,看看之前的问题是不是就没有了,我也是摸了很久才发现,
天天向善 发表于 2022-9-15 11:28 | 显示全部楼层
调试,看代码从什么地方跳到HardFault_Handler,然后在那附近找问题。
Bowclad 发表于 2022-9-16 19:02 | 显示全部楼层
调试一下
littlelida 发表于 2022-10-8 21:00 | 显示全部楼层
很多问题,都会跳到这里~~
只能仿真分析
chenqianqian 发表于 2022-10-9 08:08 来自手机 | 显示全部楼层
HardFault_Handler一般都是软件bug导致的
朝生 发表于 2022-10-11 21:04 | 显示全部楼层
调试慢慢找到从什么函数进入的HardFault_Handler,慢慢就会发现问题的。
V853 发表于 2022-10-11 21:05 | 显示全部楼层
HardFault_Handler也是比较常见的BUG了,当然也比较好找,多调试调试。
hh电子爱好者 发表于 2025-1-3 11:52 | 显示全部楼层
这个一般都是用debug仿真调试,用栈回溯的方法能很快定位问题
356053261 发表于 2025-1-6 17:47 | 显示全部楼层

在进入hardfault后通过串口打印出当前的PC地址和函数返回地址,基本可以定位在哪个函数的哪部分语句出的问题,有针对性的去检查
1736156697351.jpg
36824677ba66847647.png
chenjun89 发表于 2025-1-7 21:11 来自手机 | 显示全部楼层
跟踪调试一下看看程序运行到什么地方进入hardfualt的。
地瓜patch 发表于 2025-1-21 21:24 | 显示全部楼层
曾经遇到过数组下标溢出
申小林一号 发表于 2025-1-22 08:53 | 显示全部楼层
学习一下技术支持。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

17

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部