打印

GD32/STM32,如何故意触发HardFault_Handler。

[复制链接]
2220|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heliosN1|  楼主 | 2019-3-7 10:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,GD32/STM32,如何故意触发HardFault_Handler。

有些偶然性的错误,会对系统造成严重影响。
一旦发生,想直接让程序,死在HardFault_Handler,并在里面做保护。

但不知道,怎么像普通中断那样,触发HardFault_Handler。
沙发
lvben5d| | 2019-3-7 21:28 | 只看该作者
内存越界试试, 指针访问数组 超过数组长度。 进行赋值, 我跑USCOSII的时候,也不知道咋滴 就进HardFault  忘记了, 任务堆栈设置太小也会进。

使用特权

评论回复
板凳
sdggg| | 2019-3-8 20:56 | 只看该作者
这简单,定义一个函数指针赋值为0,然后执行

使用特权

评论回复
地板
vibra2016| | 2019-3-23 00:15 | 只看该作者
这个只能在这个中断里面做规避处理的

使用特权

评论回复
5
baimiaocun2015| | 2019-3-23 20:34 | 只看该作者
这个的检查下硬件方面是否有故障的了

使用特权

评论回复
6
xujunyi3611| | 2019-3-28 17:12 | 只看该作者
lvben5d 发表于 2019-3-7 21:28
内存越界试试, 指针访问数组 超过数组长度。 进行赋值, 我跑USCOSII的时候,也不知道咋滴 就进HardFault  ...

同意,还有一些可能,就是外设的时钟没开启,就强制访问外设的,也会导致HardFault_Handler。

使用特权

评论回复
7
xujunyi3611| | 2019-3-28 17:13 | 只看该作者
baimiaocun2015 发表于 2019-3-23 20:34
这个的检查下硬件方面是否有故障的了

通常这种情况和硬件没关系,大部分是软件的问题。

使用特权

评论回复
8
xujunyi3611| | 2019-3-28 17:13 | 只看该作者
vibra2016 发表于 2019-3-23 00:15
这个只能在这个中断里面做规避处理的

网上有篇**,可以从发生错误的指针那里,反推哪里出错的。

使用特权

评论回复
9
123ycli| | 2019-3-28 17:29 | 只看该作者
sdggg 发表于 2019-3-8 20:56
这简单,定义一个函数指针赋值为0,然后执行

这样会触发硬件错误吗,怀疑?

使用特权

评论回复
10
sdggg| | 2019-6-18 14:57 | 只看该作者
123ycli 发表于 2019-3-28 17:29
这样会触发硬件错误吗,怀疑?

我试过,不记得哪个型号了

使用特权

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

本版积分规则

1

主题

5

帖子

2

粉丝