专栏名称: 汽车电子与软件
每天分享一篇技术文章!
今天看啥  ›  专栏  ›  汽车电子与软件

MCU进异常调试小技巧--以ARM内核为例

汽车电子与软件  · 公众号  ·  · 2024-09-14 09:07

文章预览

目录 1.Cortex-M7异常处理 2.Cortex-R52+异常处理 3.小结 调试板子总遇到莫名其妙进异常的情况,我们可以有哪些手段来定位现场? 今天就接着前几天介绍内核单元的文章继续聊聊ARM内核的异常以及错误处理。 1.Cortex-M7异常处理 Cortex-M7架构是Armv7-M,内核自带异常包括NMI、HardFault、MemManage等等,具体如下图: 这些异常处理函数,我们都可以在代码中找到,以S32K344为例,它的中断向量表长这样:  基本上每个函数的实现都是While(1),如下图: 那在这个函数里,我们可以做哪些事情呢?很明显,找到错误引发现场是首要目标。 在Armv7-M架构里有一块名为System Control Block的空间,里面设计有不同的寄存器用于记录上述不同异常发生时的信息。  我们以常见的触发MPU保护异常为例,看如何定位数组越界等错误。 当错误发生时,MMFAR( MemManage Fault Address Register )会保 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览