[STM32F1] hardfault怎么定位

[复制链接]
548|13
 楼主| gongche 发表于 2022-3-5 14:26 | 显示全部楼层 |阅读模式
 楼主| gongche 发表于 2022-3-5 14:30 | 显示全部楼层
过程是否正确?
芯片:STM32F103C8T6
juventus9554 发表于 2022-3-5 14:32 | 显示全部楼层
貌似不对
 楼主| gongche 发表于 2022-3-5 14:35 | 显示全部楼层
如果错误应该怎么做? 下一步我该怎么做才能定位到问题代码?
wyjie 发表于 2022-3-5 14:38 | 显示全部楼层
关于这个定位的问题,搜索下别人的**,已经讲过好多次了,应该是通过SP的值来看的。
jlyuan 发表于 2022-3-5 14:38 | 显示全部楼层
通过菜单栏Peripherals >Core Peripherals >Fault Reports打开fault reports
chuxh 发表于 2022-3-5 14:40 | 显示全部楼层
查看使用的是哪个堆栈
查看LR的值可以知道进入hardfault时候程序用的是哪个堆栈。
dingy 发表于 2022-3-5 14:44 | 显示全部楼层
说错了,应该是楼下说的,看LR的值。
xxrs 发表于 2022-3-5 14:46 | 显示全部楼层
在所有你怀疑的地方打断点 看看是从哪个断点进去的
 楼主| gongche 发表于 2022-3-5 14:50 | 显示全部楼层
这是IAR    没有Peripherals
 楼主| gongche 发表于 2022-3-5 14:52 | 显示全部楼层
如图   LR是 0xFFFFFFF1 SP是  0x20000828 通过SP在内存中找到 0x20000924 实际上就是R1的值 然后再最有窗口反汇编找到的是一个结构体 并不是执行错误的语句 所以下一步不知道怎么做了
pengf 发表于 2022-3-5 14:55 | 显示全部楼层
IAR没有用过不会**,都是用的Keil
supernan 发表于 2022-3-5 14:57 | 显示全部楼层
我有keil的定位方法,但是IAR的没有
 楼主| gongche 发表于 2022-3-5 14:59 | 显示全部楼层
其实还是不大明白,我再琢磨琢磨吧,多谢了哈先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

768

主题

9410

帖子

2

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