本篇应用笔记主要描述Cortex-M系列MCU Hard Fault中断的调试方法。笔记中会分析Hard Fault中断产生的原因以及如何依据Hard Fault中断信息定位软件中的问题。Hard Fault简介Hard Fault 是Cortex-M系列MCU中最为常见的一种故障类中断,Hard Fault属于不可屏蔽中断,并且中断优先级固定为-1,在软件运行过程中如果产生了CPU无法正常...
我的代码我做主
本篇应用笔记主要描述Cortex-M系列MCU Hard Fault中断的调试方法。笔记中会分析Hard Fault中断产生的原因以及如何依据Hard Fault中断信息定位软件中的问题。Hard Fault简介Hard Fault 是Cortex-M系列MCU中最为常见的一种故障类中断,Hard Fault属于不可屏蔽中断,并且中断优先级固定为-1,在软件运行过程中如果产生了CPU无法正常...
CMU模块CMU模块全称是Clock Monitor Unit,也就是一个时钟监测模块,可以用于实时检测系统的各种时钟工作状态是否正常。我们知道时钟是数字系统的基础,在MCU中时钟工作状态直接关系到整个系统的稳定性,如果系统时钟停止工作,那么整个MCU将不能执行程序,这样就无法实现预期的功能。因此,在设计MCU系统时,时钟的可靠性和稳定性是非常重要的因素,而在传统设计中只能通过WDG来进行时...
断点(break point)是嵌入式调试中最基础的功能,它的基本功能非常简单:在程序运行的某个地方提前设置一个停止操作,CPU运行到该位置之后就会自动暂停,这个时候我们就可以查看CPU各种寄存器的工作状态。根据断点机制不同,断点一般分为如下几种:硬件断点:这个需要CPU/MCU支持,可以直接在CPU内部寄存器写入期望断点的PC位置,硬件断点的数量一般是有限的,当调试器退出或者MCU重新上电...
本篇应用笔记主要描述Cortex-M系列MCU Hard Fault中断的调试方法。笔记中会分析Hard Fault中断产生的原因以及如何依据Hard Fault中断信息定位软件中的问题。Hard Fault简介Hard Fault 是Cortex-M系列MCU中最为常见的一种故障类中断,Hard Fault属于不可屏蔽中断,并且中断优先级固定为-1,在软件运行过程中如果产生了CPU无法正常...
异常处理的基本术语中断抢占 Preemption如果异常的优先级高于当前执行优先级,则可以先发制人当前执行。当一个异常优先于另一个异常时,这些异常被称为嵌套异常。中断返回 Return当异常处理程序完成时,就会发生这种情况。处理器弹出堆栈,并将处理器状态恢复到中断发生前的状态。末尾连续中断 Tail-chaining这种机制加快了异常服务。在异常处理程序完成后或返回操作期间,如果有符合异常输...