Bootloader 调试与异常定位

📘 30 章 · 实战技巧 v2.0
01Bootloader基础概念
什么是Bootloader嵌入式角色U-Boot/Barebox/TF-A
02启动流程剖析
上电到Bootloader复位/异常向量表链接脚本&内存布局
03调试环境搭建
JTAG/SWD选型OpenOCD配置GDB连接目标板
04串口调试技巧
UART初始化波特率自适应串口重定向GDB
05LED与GPIO调试法
LED指示阶段GPIO电平翻转逻辑分析仪时序
06内存访问异常
Data Abort定位Prefetch AbortMMU配置错误
07栈回溯与调用链
栈帧结构GDB backtrace手动栈回溯
08HardFault处理
Cortex-M HardFault错误状态寄存器故障现场恢复
09看门狗与复位问题
看门狗超时重启复位原因寄存器软/硬复位区分
10时钟配置异常
PLL锁定失败时钟树验证HSE/LSE起振
11Flash编程与校验
擦写时序调试校验和计算ECC错误处理
12DDR初始化问题
DDR控制器配置时序参数调优内存测试算法
13设备树解析
FDT/DTB结构设备树覆盖调试技巧
14外设初始化失败
GPIO复用冲突时钟门控外设复位状态
15中断系统调试
向量表重定位中断优先级嵌套中断处理
16DMA传输异常
描述符链调试传输完成中断地址对齐问题
17USB启动模式
USB DFU协议枚举失败分析端点配置检查
18网络启动(TFTP/NFS)
网络协议栈PHY芯片调试TFTP超时处理
19SD卡/eMMC启动
MMC协议初始化分区表解析文件系统挂载
20SPI Flash启动
SPI时序调试四线模式配置Flash ID读取
21NAND Flash启动
坏块管理ECC校验页读取时序
22安全启动与签名验证
签名算法调试公钥存储信任链建立
23固件升级失败
完整性校验版本兼容性回滚机制
24双备份启动
A/B分区切换启动计数器恢复出厂设置
25日志系统设计
环形缓冲区日志级别控制远程日志输出
26性能分析与优化
启动时间测量代码执行热点Cache命中率
27电源管理调试
低功耗模式切换唤醒源分析电压调节器
28多核启动同步
主/从核启动核间通信共享资源保护
29硬件抽象层(HAL)调试
HAL与硬件交互寄存器封装测试抽象层性能开销
30综合调试案例
启动失败→成功常见问题速查调试工具链总结