[开发资料] MCU调试典型问题与解决策略

[复制链接]
412|4
 楼主| forgot 发表于 2025-7-30 09:34 | 显示全部楼层 |阅读模式
1. 程序卡死/跑飞
栈溢出:
在启动文件(如startup_stm32fxxx.s)中增大Stack_Size。
使用__get_MSP()检查栈顶是否被改写。

中断冲突:
确认中断优先级分组(NVIC_SetPriorityGrouping())。
检查未处理的中断标志(清除Pending位)。

HardFault定位:
在HardFault_Handler中读取SCB->CFSR(故障状态寄存器)、SCB->HFSR、SCB->MMFAR(内存管理地址)。
使用ARM Cortex-M的故障诊断库(如CmBacktrace)自动定位崩溃代码行。

 楼主| forgot 发表于 2025-7-30 09:36 | 显示全部楼层
2. 外设不工作(如UART、SPI)
时钟使能遗漏,
引脚复用错误,
查数据手册Alternate Function Mapping表。
可能遗漏重映射,
DMA冲突:检查传输完成标志未清除导致后续传输阻塞。
 楼主| forgot 发表于 2025-7-30 09:36 | 显示全部楼层
3. 低功耗异常
无法唤醒:确认唤醒源(RTC/WKP引脚)配置正确,退出低功耗后需重新初始化外设。
功耗偏高:
将未用引脚设为模拟输入(避免浮空)。
检查外设时钟是否在睡眠前关闭。
OKAKAKO 发表于 2025-8-15 15:01 | 显示全部楼层
MCU调试典型问题与解决策略
szt1993 发表于 2025-8-19 16:03 | 显示全部楼层
过程问题解决还是非常重要的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2112

主题

14683

帖子

59

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