[MM32软件] 怎么知道MCU是否是异常复位?

[复制链接]
6617|78
tifmill 发表于 2024-12-12 16:12 | 显示全部楼层
在MCU中实现异常处理机制,如异常中断服务程序,以便在异常发生时能够及时响应和处理。
phoenixwhite 发表于 2024-12-12 16:36 | 显示全部楼层
检查复位电路的硬件连接,包括RC积分电路、二极管、电阻等元件是否正常。
uiint 发表于 2024-12-12 17:02 | 显示全部楼层
检查堆栈是否溢出,以及内存是否存在非法访问或损坏。
adolphcocker 发表于 2024-12-12 17:28 | 显示全部楼层
合理配置看门狗定时器,以防软件跑飞导致的异常复位。
geraldbetty 发表于 2024-12-12 17:58 | 显示全部楼层
读取这些寄存器可以确定是上电复位(POR)、硬件复位、看门狗复位、软件复位等。
10299823 发表于 2024-12-12 18:23 | 显示全部楼层
MCU的供电稳定,使用稳压器和滤波电路来减少电源噪声
claretttt 发表于 2024-12-12 18:42 | 显示全部楼层
利用调试工具(如JTAG、SWD等)连接MCU,并设置断点或监视特定寄存器的值,可以帮助实时监控MCU的状态和行为,从而更准确地判断复位原因。
uptown 发表于 2024-12-12 19:07 | 显示全部楼层
在每次正常启动时写入特定的序列到EEPROM或Flash等非易失性存储器中。如果下次启动时发现这个序列不正确,则可以推断出发生了异常复位。
hudi008 发表于 2024-12-12 19:31 | 显示全部楼层
在某些MCU中,可以在后备寄存器或非易失性存储器中保存复位前的状态信息。
如果在复位后这些信息丢失或不一致,可能表明发生了异常复位。
phoenixwhite 发表于 2024-12-12 19:55 | 显示全部楼层
检查是否有软件复位寄存器的写入操作,触发软件复位。
pl202 发表于 2024-12-12 20:22 | 显示全部楼层
检查是否存在外部电磁干扰或静电干扰,导致MCU复位。
adolphcocker 发表于 2024-12-12 20:41 | 显示全部楼层
在软件中设置标志位,当复位发生时,检查该标志位的状态。
cemaj 发表于 2024-12-12 21:09 | 显示全部楼层
检查复位电路、电源电路和时钟电路,确保没有焊接问题或接触不良。特别是复位脚的配置,确保其连接正确。
juliestephen 发表于 2024-12-12 21:30 | 显示全部楼层
在MCU外围电路中增加保护措施,如瞬态电压抑制器(TVS)和静电放电(ESD)保护器件。
bestwell 发表于 2024-12-12 21:49 | 显示全部楼层
检查PCB设计,确保没有长走线引入干扰,特别是在复位脚和其他关键信号线上。
modesty3jonah 发表于 2024-12-12 22:13 | 显示全部楼层
检查电源质量是否稳定,包括电压波动、纹波等。
jonas222 发表于 2024-12-12 22:42 | 显示全部楼层
通过调试器捕获复位时刻的CPU状态,包括寄存器值、栈内容等
sdlls 发表于 2024-12-13 20:14 | 显示全部楼层
在MCU的软件中设置特定的标志,当软件正常关闭时清除这些标志,如果复位后这些标志仍然设置,则可能表明发生了异常复位。
pixhw 发表于 2024-12-13 20:39 | 显示全部楼层
使用调试工具              
软核硬核 发表于 2024-12-13 23:45 | 显示全部楼层
检查mcu的reset引脚(如nrst)的电平变化,可以通过外部电路(如上拉电阻、电容)记录复位状态。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部