快速定位 STM32 导致 HardFault 错误的位置

发布者:闪耀星空最新更新时间:2025-02-07 来源: jianshu关键字:快速定位  STM32  HardFault 手机看文章 扫描二维码
随时随地手机看文章

参考了安富莱的 SEGGER 的硬件异常分析方法,此处记录一下。

首先需要移植


这两个文件到自己的工程里,文件可以去安富莱论坛寻找。

使用 JLink 硬件仿真,全速运行后暂停,就会发现停在了下图这里,这个是 SEGGER_HardFaultHandler.c 里提供的 void HardFaultHandler(unsigned int* pStack) 中断函数。

我们在调试窗口将 _Continue 的值修改为任意非 0 值,如下图所示。


逐次单步运行,最终退出中断函数,返回导致 HardFault 错误的代码处,如下图所示。


关键字:快速定位  STM32  HardFault 引用地址:快速定位 STM32 导致 HardFault 错误的位置

上一篇:stm32 CubeMx配置
下一篇:STM32代码中变量定义后的放置位置

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved