打印

请教stm32的hard fault调试步骤

[复制链接]
2095|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lisn1234|  楼主 | 2013-7-16 10:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟新手,在用stm32跑rt-thread操作系统,现在总是出现hard fault,看了些帖子,怀疑是数组越界了

可以看到出错时lr,pc等寄存器的值,但是不太会查错
求专家指导一下,在keil环境下,怎么去通过寄存器的值,查错误地点呢?

主要是操作上不太懂,或者大家有好的帖子推荐看一下~
谢谢了


沙发
lisn1234|  楼主 | 2013-7-17 09:09 | 只看该作者
自己顶一下~

使用特权

评论回复
板凳
outstanding| | 2013-7-17 13:50 | 只看该作者
我也碰见过,但是我的不是固件方面,是硬件导致的。

使用特权

评论回复
地板
airwill| | 2013-7-17 16:36 | 只看该作者
hard fault 其实是经常遇到的问题, 特别象我这种喜欢折腾的人.

遇到这样的问题比较讨厌, 但不用慌. 有办法解决的, 我一般这么搞
1. 查看 FAULT 寄存器, 先搞明白是什么类型的异常.
2. 打开内存窗口看堆栈. 找到发生 FAULT 的地址.然后在那个地址设置断点,
3. reset , 再执行. 到端点处看看为什么会异常.

使用特权

评论回复
5
cjhk| | 2013-7-17 18:52 | 只看该作者
按照版主的意见  修修改改  应该就行了   楼主   顶一个   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

26

帖子

1

粉丝