硬汉嵌入式论坛

 找回密码
 立即注册
搜索
查看: 49|回复: 3
收起左侧

[Embedded Studio] Embedded studio开发M7核MCU发生hardfault

[复制链接]

83

主题

202

回帖

451

积分

高级会员

积分
451
发表于 2 小时前 | 显示全部楼层 |阅读模式
在debug调试的过程中全速运行发生hardfault,在hardfault中断查以下故障寄存器值:CFSR=0x00000400,即BFSR发生了IMPRECISERR:Imprecise data bus error

在call back窗口显示了调用哪个函数出现了错误,发现调用的函数形参指针地址错误。

比如:全局变量结构体 HandleTypeDef g_handle;在map文件查看地址是:0x200026a4;函数void test(HandleTypeDef *h), 调用test(&g_handle), call back显示*h的地址是0x1001b082
如果在test调用处打断点,单步执行进test函数,形参地址是正确的,全速跑就出错,这会是什么原因造成的呢?栈空间足够大,不存在溢出。

求指点。
回复

使用道具 举报

4

主题

75

回帖

87

积分

初级会员

积分
87
发表于 2 小时前 | 显示全部楼层
AI
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
124403
QQ
发表于 1 小时前 | 显示全部楼层
IMPRECISERR是非精确异常,无法锁定出错位置的。只能排查
回复

使用道具 举报

83

主题

202

回帖

451

积分

高级会员

积分
451
 楼主| 发表于 1 小时前 | 显示全部楼层

它不是万能的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-10-22 12:48 , Processed in 0.207896 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表