标签 MCU 下的文章

ARM Cortex-M7与Cortex-M33微控制器中DebugMonitor异常机制的深入解析与远程调试实践

I. 引言:实时系统调试的挑战与DebugMonitor的架构定位1.1 传统侵入式调试(Halting Debug)的局限性嵌入式系统开发人员长期以来依赖的核心调试方法是中止式调试(Halting Debug)。在这一模式下,当处理器遇到调试事件(例如硬件断点或观察点)时,通过设置调试暂停和控制状态寄存器(DHCSR)中的特定位,中央处理单元(CPU)会进入完全中止(Halt)状态¹。这种...

继续阅读 »

如何实现MCU更可靠的系统启动

介绍稳定可靠的启动是嵌入式系统设计的一个重要方面。本文档介绍了如何通过使用MCU的看门狗定时器、芯片内部的异常处理机制来实现更可靠的系统启动。MCU的启动过程MCU的启动过程是指MCU上电后,系统从复位状态到进入用户应用程序的过程。这个过程通常包括以下几个步骤:上电复位:MCU上电后,首先会进入复位状态,所有的寄存器和外设都被初始化为默认值。SRAM ECC初始化:在复位状态下,MCU会对S...

继续阅读 »

HardFault调试

本篇应用笔记主要描述Cortex-M系列MCU Hard Fault中断的调试方法。笔记中会分析Hard Fault中断产生的原因以及如何依据Hard Fault中断信息定位软件中的问题。Hard Fault简介Hard Fault 是Cortex-M系列MCU中最为常见的一种故障类中断,Hard Fault属于不可屏蔽中断,并且中断优先级固定为-1,在软件运行过程中如果产生了CPU无法正常...

继续阅读 »

CMU模块介绍

CMU模块CMU模块全称是Clock Monitor Unit,也就是一个时钟监测模块,可以用于实时检测系统的各种时钟工作状态是否正常。我们知道时钟是数字系统的基础,在MCU中时钟工作状态直接关系到整个系统的稳定性,如果系统时钟停止工作,那么整个MCU将不能执行程序,这样就无法实现预期的功能。因此,在设计MCU系统时,时钟的可靠性和稳定性是非常重要的因素,而在传统设计中只能通过WDG来进行时...

继续阅读 »

提高调试效率:从断点的使用开始

断点(break point)是嵌入式调试中最基础的功能,它的基本功能非常简单:在程序运行的某个地方提前设置一个停止操作,CPU运行到该位置之后就会自动暂停,这个时候我们就可以查看CPU各种寄存器的工作状态。根据断点机制不同,断点一般分为如下几种:硬件断点:这个需要CPU/MCU支持,可以直接在CPU内部寄存器写入期望断点的PC位置,硬件断点的数量一般是有限的,当调试器退出或者MCU重新上电...

继续阅读 »