原帖 | Jack | 2024-09-07 03:25 | 👍0 | 阅读约1
什么时候会进入Hardfault中断?(重点答案在最下面)
这几种 ARM异常最终都会进入hardfault中断,我们需要对其具体异常原因进行了解。什么错误对应着什么中断。
举几个例子:
busfault:
Cpu尝试访问无效地址时会触发该错误
Memory management faults
当尝试往址读存储器中写入数据
Usage fault:
除0错误
Hard faults :
当其他几种错误已经产生,但是CPU在几个指令集周期内没有没有对错误进行处理时,就会产生 hardfault,所以有时候栈回溯不能只回溯一层,可能要好几层(栈回溯的具体操作见 栈回溯学会了,总结一下:栈回溯解决的是HardFault类问题)
相关笔记