[其他ST产品]

关于HardFault的跳转方式和跳转前的动作

[复制链接]
595|1
手机看帖
扫描二维码
随时随地手机跟帖
onlycook|  楼主 | 2023-12-18 09:10 | 显示全部楼层 |阅读模式
想请问下论坛的各位大佬们,stm32有一个HardFault硬件错误,这个是当发生内存溢出等错误时硬件自动跳转到HardFault地址吗,还是有其他机制呢?还有一个问题就是进入HardFault前或者后是否会把stm32的中断都关掉?请大佬们解惑,谢谢

使用特权

评论回复
香水城| | 2023-12-18 20:14 | 显示全部楼层

整体上,产生Hardfault往往是因为发生了比较严重的程序非法运行,触发它比较常见的原因是

非法访问居多,比如数组越界访问、指针越位等,当然还有其它原因或机制,比方THUME \ARM

运行状态选择不对,这点根本原因源于指令。其它还有可能是因为中断上访导致。HARDFAULT本身

只是个优先级仅低于NMI和复位的异常,它不操作其它中断控制位,但由于其高优先级和它ISR处理

方式或堵塞其它低优先级中断的响应,会给人感觉它能关闭其它中断

使用特权

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

本版积分规则

438

主题

1656

帖子

3

粉丝