你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 9836|回复: 6

stm32程序停在void HardFault_Handler(void)

[复制链接]

13

主题

63

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-9-7 12:17:25 | 显示全部楼层 |阅读模式
程序停在void HardFault_Handler(void),求大神啊,快苦恼死了
<
回复

使用道具 举报

0

主题

6

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-9-7 23:30:36 | 显示全部楼层

RE:stm32程序

问题太不详细了吧
回复 支持 反对

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2013-9-9 11:30:31 | 显示全部楼层

RE:stm32程序停在void HardFault_Handler(void)

楼主把代码贴出来,大伙帮你看看吧
回复 支持 反对

使用道具 举报

6

主题

38

回帖

2

蝴蝶豆

中级会员

最后登录
2018-4-15
发表于 2013-9-9 12:35:58 | 显示全部楼层

RE:stm32程序停在void HardFault_Handler(void)

一般是FLASH访问错误,估计是你的指针指向的地址超出了地址区间。
不过也可能是其他原因,具体问题具体分析
回复 支持 反对

使用道具 举报

22

主题

456

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-20
发表于 2013-9-10 15:27:09 | 显示全部楼层

RE:stm32程序停在void HardFault_Handler(void)

这个问题在使用F3F4的时候经常碰到,有时候能够很快就解决了,有时候也无法找到原因。
   在打开FPU功能后,需要确认 系统启动文件里面是否开启了FPU功能,预定义里面是否加入FPU功能的编译码,还有,初始化变量最好设置为0,别空。
   总体来说,出现这个错误主要是两个方面:
1、内存溢出或者访问越界
2、堆栈溢出。增加堆栈的大小。
   
出现问题时排查的方法:(建议参考一下)
1、发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、Return address、PSR、LR寄存器依次入栈,其中Return address即为发生异常前PC将要执行的下一条指令地址,因此在堆栈中反数第三个字即为出错位置。
2、默认的HardFault_Handler处理方法是B .将它改成BX LR直接返回的形式。然后在这条语句打个断点,一旦在断点中停下来,说明出错了,然后再返回,就可以返回到出错的位置的下一条语句那儿。
这个有时候可能需要在反汇编模式下调试,因为可以是程序跑飞一会儿才出现HardFault_Handler。
3、还是将中断函数修改,打印中断时的一些信息:
HardFault_Hander()定义如下:
[plain] view plaincopyprint?
    void HardFault_Handler(void)
    {
    uint32_t r_sp ;
    r_sp = __get_PSP(); //获取SP的值
    PERROR(ERROR,Memory Access Error!);
    Panic(r_sp);
    while (1);
    }
回复 支持 反对

使用道具 举报

0

主题

3

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-10-12 00:19:38 | 显示全部楼层

回复:stm32程序停在void HardFault_Handler(void)

一般可能是指针使用的问题,调试方法请参考我在CSDN的博文http://blog.csdn.net/xiahouzuoxin/article/details/10068455
回复 支持 反对

使用道具 举报

2

主题

13

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2013-10-12 23:18:19 | 显示全部楼层

回复:stm32程序停在void HardFault_Handler(void)

 检查一下数据类型
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版