MDK的HardFault硬件异常和NMI异常原因总结

发出来,出现问题自行比对,现在一些代码,也会对这个进行分析。硬件异常原因:
Unaligned load or store Load 或者 store 指令访问未对齐地址
Undefined Instruction 执行 ARM 未定义的指令
EPSR Fault 当前程序没有在 Thumb 状态下执行,即是 EPSR.T=0
Data Access 由于内存访问越界而造成的总线错误
Instrution Fault 从标记为 XN(execute never)的内存取指或者执行指令
Stack Fault 硬件压栈或者栈弹出的时候总线出错
Fault Escalation SVCall 的中断优先级别小于或者等于当前正在执行的中断优先级别
Vector Read 在读中断向量入口的时候总线出错

NMI异常原因:
SecMode 非独占用户访问 PAE 区域
UsrWr 用户写操作越权
UsrRd 用户读操作越权
SfrWr 寄存器写权限错误
EntExe 代码执行越界

你可能感兴趣的:(c语言,嵌入式)