🔬 从原理图到代码
MCU 调试实战
📘 30 章 · 硬件调试全流程
🧪 风格 · 硬核目录
01
调试准备
万用表·示波器·逻辑分析
搭建最小调试环境,仪表使用与安全
02
原理图审查
电源·时钟·复位
电源网络检查、时钟树分析、复位电路验证
03
电源轨调试
上电时序·纹波·LDO/DC-DC
上电时序测量、纹波噪声分析、选型验证
04
时钟系统
晶振起振·PLL锁定·抖动
晶振起振条件、PLL锁定检测、时钟抖动测量
05
复位电路
上电复位·手动消抖·看门狗
上电复位时间、手动复位消抖、看门狗复位测试
06
GPIO基础
推挽/开漏·上下拉·电平转换
推挽/开漏输出验证、上下拉电阻配置、电平转换测试
07
UART通信
波特率·帧格式·流控
波特率误差分析、数据帧格式验证、硬件流控测试
08
I2C总线
起始/停止·地址冲突·时钟拉伸
起始/停止条件、从机地址冲突、时钟拉伸问题排查
09
SPI总线
极性与相位·片选·高速完整性
极性与相位配置、片选信号时序、高速信号完整性
10
ADC采样
参考电压·采样率·数字滤波
参考电压稳定性、采样率与转换时间、数字滤波效果验证
11
PWM输出
频率/占空比·死区·电机控制
频率与占空比测量、死区时间插入、电机PWM问题
12
中断系统
优先级·响应时间·嵌套
中断优先级配置、响应时间测量、中断嵌套与抢占
13
定时器
基本定时·PWM·输入捕获
基本定时、PWM模式、输入捕获与输出比较
14
DMA调试
传输完成·循环·内存到外设
传输完成中断、循环模式与单次模式、内存到外设传输验证
15
Flash & RAM
读写时序·ECC·堆栈溢出
读写时序验证、ECC错误处理、堆栈溢出检测
16
Bootloader
跳转地址·固件校验·双区备份
跳转地址验证、固件校验、双区备份切换
17
低功耗模式
睡眠/停止/待机·唤醒源
睡眠/停止/待机模式电流测量、唤醒源验证
18
看门狗
窗口·独立·喂狗时序
窗口看门狗配置、独立看门狗喂狗时序、系统复位分析
19
CAN总线
位时序·错误帧·仲裁
位时序配置、错误帧分析、总线仲裁测试
20
USB设备
枚举·端点·描述符
枚举过程分析、端点配置、描述符验证
21
以太网
PHY初始化·MAC地址·通信
PHY芯片初始化、MAC地址配置、网络通信测试
22
传感器接口
I2C/SPI读取·校准·噪声
I2C/SPI传感器数据读取、校准参数验证、噪声抑制
23
电机驱动
H桥·PWM死区·电流保护
H桥控制逻辑、PWM死区时间、电流采样与过流保护
24
显示接口
LCD初始化·帧缓冲·触摸
LCD初始化序列、帧缓冲更新、触摸屏校准
25
音频接口
I2S时序·编解码·音量
I2S时序配置、音频编解码器初始化、音量控制验证
26
无线模块
AT指令·蓝牙/Wi-Fi·吞吐量
AT指令测试、蓝牙/Wi-Fi连接稳定性、数据吞吐量测试
27
固件升级
OTA流程·Flash分区·回滚
OTA流程验证、Flash分区管理、版本回滚机制
28
EMC & 完整性
辐射·去耦·地弹
辐射发射测试、电源去耦电容布局、地弹噪声抑制
29
生产测试
ICT/FCT·批量烧录·序列号
ICT/FCT测试项、批量烧录方案、序列号写入
30
综合案例
原理图→代码 完整复盘
从原理图到代码的完整调试流程,实际项目复盘