SoC调试实战 · 目录
📘 30章完整版
v2.0
01
芯片调试概述
为什么需要调试?调试在芯片开发流程中的位置,调试与验证的区别。
02
调试接口基础
JTAG接口标准、SWD接口标准、cJTAG、边界扫描原理。
03
调试器硬件架构
调试器内部组成,主流调试器对比(J-Link、ST-Link、OpenOCD+FT2232)。
04
SoC调试子系统
调试子系统架构(DAP、DP、AP),AHB-AP、APB-AP的区别与选择。
05
CoreSight调试架构
ARM CoreSight概览,ETM、ITM、STM、CTI、TPIU等组件功能。
06
调试目标连接
硬件连接(SWD/JTAG引脚、电平匹配、复位时序),供电隔离。
07
调试器固件与驱动
固件升级、驱动安装(Windows/Linux/macOS),常见问题排查。
08
OpenOCD入门
安装、配置文件编写(target、interface、adapter speed),启动与连接。
09
GDB调试基础
GDB与OpenOCD配合,常用命令(load、continue、break、step...)。
10
断点与观察点
硬件断点 vs 软件断点,Flash断点原理,Watchpoint使用与限制。
11
内存与寄存器访问
通过调试器读写内存(8/16/32/64位),系统寄存器,外设寄存器。
12
Flash编程与调试
Flash算法原理,烧录固件,Flash断点与访问冲突。
13
多核调试
多核同步调试,独立调试,交叉触发(Cross Trigger)机制。
14
Trace调试入门
ETM/ITM Trace原理,Trace数据采集,时间戳。
15
SWO/SWV调试
SWO引脚配置,SWV数据输出,printf通过SWO重定向。
16
性能分析
代码执行时间测量,函数调用计数,Cache命中率分析。
17
低功耗调试
低功耗模式调试连接保持,唤醒源调试,功耗测量结合。
18
异常与中断调试
异常向量表验证,中断延迟测量,嵌套中断调试技巧。
19
RTOS调试
任务切换跟踪,堆栈溢出检测,死锁与优先级反转调试。
20
硬件触发调试
硬件触发单元(HTU)配置,基于硬件事件的断点触发。
21
调试脚本自动化
TCL脚本在OpenOCD中的应用,Python与调试器交互(pyOCD、pylink)。
22
远程调试
通过网络远程连接调试器,GDB server模式,云端调试环境搭建。
23
安全调试
调试认证(DAP锁定、身份验证),安全调试路径,JTAG熔丝与保护。
24
调试器信号完整性
高速调试信号质量,线缆长度与阻抗匹配,地弹与噪声抑制。
25
常见调试故障排除
连接失败、断点不命中、调试器掉线、复位异常等系统排查。
26
FPGA原型调试
FPGA原型中的调试策略,内部信号探测,与仿真调试协同。
27
后硅调试(Post-Silicon)
芯片回片后的调试流程,ATE与调试器结合,扫描链调试。
28
调试数据可视化
Trace数据图形化展示,波形导出,性能计数器可视化。
29
调试器选型指南
根据项目需求选择调试器,厂商对比(SEGGER、ARM、Lauterbach、IAR)。
30
综合实战
从零调试一个SoC启动流程,结合所有知识点完成完整调试任务。
⚡