Advertisement

定位hardfault using keil

阅读量:

首先,我在程序中配置了一个硬故障:

随后执行程序复位操作,通过日志输出可观察到通用寄存器所存储的数据值:

主要关注lr的数值,随后进行程序调试,启动keil的反汇编视图,在View菜单选项中,通过鼠标拖拽定位至0x800d7b1附近区域(大致位置即可),hardfault发生的代码通常位于lr地址所指向的后续地址位置。

我们对D7B2这一地址进行双击操作,程序执行流程跳转至对应函数位置,经详细核查该函数本身未发现异常,因此初步判断问题可能源自调用该函数的其他部分。

![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/PWYuShxK

全部评论 (0)

还没有任何评论哟~