2. 硬件基础回顾
在开始联合 Bring-up 之前,必须先把 SoC/MCU 的硬件骨架在脑中建立成一张可追踪的“地图”。电源、时钟、复位、启动介质这四条链路彼此耦合:电源没稳,时钟无法锁定;时钟没起,复位释放后 CPU 也取不到指令;启动介质选错,即使前三者正常,系统仍会停在 BootROM。本节从硬件结构出发,为后续联合调试建立统一的观察坐标系。
一、电源树结构:从输入到负载的层级分配
电源树描述的是电能从板级输入到各负载的分配关系。典型结构为:适配器或电池输入 → 保护与滤波 → 一级 DC-DC 降压 → 多路二级 LDO/DC-DC → 各电源域(VDD_CORE、VDD_IO、VDD_DDR、VDD_PLL、VDD_ANA 等)。每一级都有使能(EN)、电源良好(PG)和上电时序要求。
理解电源树的关键不是记住电压值,而是记住三件事:谁给谁供电、谁控制谁的使能、谁先谁后上电。例如 DDR 电源通常要求先于 DDR 控制器 IO 上电,PLL 模拟电源要求最干净且最后上电。若时序错误,可能出现 IO 倒灌、锁存或 PLL 失锁。
二、时钟树结构:从晶振到各时钟域
时钟树描述参考时钟如何经过 PLL、分频器、门控单元分配到 CPU、总线、外设和 DDR。典型路径为:晶振(XO/TCXO)→ 主 PLL → 各分频器 → 时钟多路选择器(MUX)→ 门控(GATE)→ 各模块。部分 SoC 还有独立音频 PLL、DDR PLL、USB PLL。
时钟树调试的核心是“先有源,再有锁,再有分频,再有门控”。若晶振未起振,PLL 的 LOCK 位永远为 0;若 PLL 未锁定就切换时钟源,CPU 可能跑飞。因此 Bring-up 顺序通常是:确认晶振波形 → 配置 PLL → 等待 LOCK → 切换时钟源 → 打开模块门控。
三、复位类型与来源
复位不是单一信号,而是一组按域划分的复位网络。常见类型包括:上电复位(POR)、系统复位、看门狗复位、软件复位、外设独立复位、调试复位。来源可能是复位芯片、PMIC、SoC 内部 POR 模块、看门狗定时器或调试器。
- POR:上电时产生,释放后 CPU 从 BootROM 开始执行。
- 系统复位:复位大部分模块,但可能保留 DDR 或 RTC 域。
- 外设复位:仅复位单个 IP,常用于驱动初始化。
- 看门狗复位:软件跑飞后的兜底,需确认复位原因寄存器。
四、启动介质与启动阶段划分
启动介质决定 BootROM 从哪里加载第一阶段代码。常见介质有:SPI NOR、SPI NAND、eMMC、SD 卡、UART/USB 下载模式。SoC 通常通过启动模式引脚(BOOT_MODE)或 eFuse 选择介质。
启动阶段一般划分为:
- BootROM:芯片内部固化代码,初始化最小时钟与介质控制器,加载 SPL/一级引导。
- SPL/一级引导:初始化 DDR、时钟树,加载 U-Boot 或二级引导。
- 二级引导:加载内核、设备树,准备操作系统运行环境。
- 内核/RTOS:挂载根文件系统,启动用户空间。
联合 Bring-up 时,启动阶段是“验收点”:电源树正常 → 时钟树锁定 → 复位释放 → BootROM 能读到介质 → SPL 能初始化 DDR。任何一环失败,都会停在对应阶段。
五、典型 SoC/MCU 系统框图与联合关系
下图把电源树、时钟树、复位网络、启动介质与 SoC 内部核心域放在同一张关系图中,便于建立“四链联合”的整体视角。
六、联合 Bring-up 的检查清单
| 链路 | 关键对象 | 典型观测点 | 失败现象 |
|---|---|---|---|
| 电源树 | DC-DC、LDO、PG | 各路电压、上电斜率、PG 电平 | 后级无电、反复重启 |
| 时钟树 | 晶振、PLL、分频、门控 | 晶振波形、LOCK 位、时钟输出 | CPU 不跑、外设无时钟 |
| 复位网络 | POR、看门狗、外设复位 | 复位原因寄存器、复位引脚 | 停在 BootROM、循环复位 |
| 启动介质 | SPI NOR、eMMC、SD | 启动模式引脚、介质读写波形 | BootROM 报无启动设备 |
| 启动阶段 | BootROM、SPL、二级引导 | 串口日志、阶段跳转点 | 卡在 DDR 初始化或加载内核 |
七、常见误区与复盘
误区一:只测电压,不测时序。电源电压正常不代表上电顺序正确,PG 未释放会导致后级永远不工作。
误区二:忽略时钟 LOCK 位。PLL 未锁定就切换时钟源,CPU 可能执行随机指令,表现为“莫名跑飞”。
误区三:把复位当成单一信号。系统复位、外设复位、调试复位作用域不同,混用会导致 DDR 数据丢失或外设状态异常。
误区四:启动介质选择与启动模式引脚不一致。硬件拨码与软件配置不匹配时,BootROM 会直接跳过该介质。
掌握电源树、时钟树、复位网络、启动介质与启动阶段这五个基础结构后,后续的联合调试就不再是“盲调”,而是沿着明确的信号流和状态流逐级验证。硬件基础回顾的价值,正在于把复杂的 SoC/MCU 系统拆解成可观测、可测量、可复位的若干条链路。