3. 产线刷写总体流程设计

在 NVIDIA DRIVE 产线中,刷写不是一次孤立的“烧录动作”,而是一条从板卡上电到下线测试的完整工艺链。它同时受三方面约束:一是 SoC 与 MCU 的启动时序,二是镜像完整性与安全启动链,三是产线节拍与工位划分。流程设计的核心目标,是让每一块板卡在可追溯、可判定、可复位的条件下,稳定地完成“进入刷写模式—写入镜像—校验—激活—下线测试”的全过程。

一、端到端流程的六个阶段

从工程视角看,DRIVE 板卡的产线刷写可拆为六个阶段,每个阶段都有明确的进入条件与退出判据。

1. 上电与基础自检。板卡进入工位后,先由治具提供稳定的 12V/24V 供电与散热条件。此时 BootROM 执行最小自检,串口或调试口输出启动日志。产线需要确认的关键点是:供电电压在允许窗口内、SoC 复位释放正常、eFuse 未被误写、调试串口可读。若板卡无法进入 BootROM 或日志无输出,应直接判为硬件异常,不进入刷写流程。

2. 进入刷写模式。DRIVE 平台通常通过 Recovery 模式或 USB/以太网刷写通道进入刷写态。以 Recovery 为例,治具拉低特定 GPIO 或通过按键组合使 SoC 在复位时采样到 Recovery 电平,BootROM 随后枚举为可被主机识别的设备。产线脚本应在此阶段完成设备枚举检测,例如等待 lsusb 出现 NVIDIA 设备,或通过 tegrarcm/flash.sh 的探测接口确认通道可用。若枚举失败,需检查 Recovery 电平、线缆与 USB 控制器,而不是反复重试刷写。

3. 镜像传输。镜像通常由 BSP、内核、设备树、根文件系统、安全固件与 MCU 固件组成。传输阶段将镜像按分区写入 eMMC/UFS 或 QSPI。产线应使用与版本绑定的镜像包,并在刷写前记录镜像版本号、校验和与签名信息。传输过程中要监控写入速率与重传次数,异常重传往往意味着存储介质或链路问题。

4. 校验。写入完成后必须做回读校验。常见做法是对每个分区计算哈希并与镜像清单比对,或使用刷写工具自带的 verify 选项。校验不通过时,不能简单重刷,而应先判断是镜像损坏、存储坏块还是传输链路问题。对于安全启动场景,还需验证签名链是否完整。

5. 激活与首次启动。校验通过后,板卡退出 Recovery 模式并复位,进入正常启动流程。此时 BootROM 依次加载 BL、UEFI、内核与根文件系统。产线应观察启动日志是否到达用户空间,关键服务是否拉起,以及安全启动是否放行。首次启动可能触发分区扩容、密钥注入或校准数据写入,这些动作必须在流程中预留时间窗口。

6. 下线测试(EOL)。激活成功后进入 EOL 工位,执行功能与接口测试,例如 CAN 通信、以太网、摄像头链路、GPIO、存储读写与温度传感器。EOL 通过后,板卡才被标记为可出货。

DRIVE 产线刷写端到端流程与工位划分 工位A:上电与自检 工位B:刷写与校验 工位C:激活与首启 工位D:EOL 测试 ① 上电与自检 12V/24V 供电 BootROM 日志 eFuse / 复位检查 ② 进入刷写模式 Recovery GPIO 拉低 USB/以太网枚举 设备通道确认 ③ 镜像传输 BSP/内核/根文件系统 MCU 固件 / 安全固件 分区写入 eMMC/UFS ④ 校验 分区回读哈希 签名链验证 版本清单比对 ⑤ 激活与首启 退出 Recovery 复位 BL→UEFI→内核 用户空间服务拉起 ⑥ 下线测试 EOL CAN / 以太网 / 摄像头 GPIO / 存储 / 温度 结果判定与标记 校验/激活失败 → 隔离复判,禁止直接重刷 关键判据: 上电日志可读 → 设备枚举成功 → 分区写入无异常重传 → 哈希/签名一致 → 首启到达用户空间 → EOL 全项通过

二、工位划分与节拍设计

流程确定后,必须把它落到工位上。产线通常按“上电自检—刷写校验—激活首启—EOL 测试”划分四个工位。这样划分的理由是:刷写与校验耗时最长,且需要独占 USB/以太网通道;激活与首启需要等待系统启动,可与刷写工位并行;EOL 测试需要连接外部负载与仪器,放在最后可避免反复插拔。

节拍设计上,假设单板刷写镜像约 8GB,写入速率 80MB/s,则传输约 100 秒;校验回读约 60 秒;激活首启约 40 秒;EOL 约 90 秒。若四工位串行,单板节拍约 290 秒。若把刷写与校验放在同一工位、激活与 EOL 放在后续工位,并通过缓存区解耦,则整线节拍可压缩到约 150~180 秒。这里的数值是示例估算,实际应以产线实测为准。

三、流程中的关键控制点

第一,镜像版本绑定。刷写前必须确认镜像包版本与工单一致,并把版本号、校验和写入板卡的可追溯区域。第二,失败隔离。校验或激活失败时,不能直接重刷,应先记录失败分区、错误码与日志,再决定是重试、换介质还是判废。第三,安全启动。若产线启用了安全启动,镜像必须签名,且 eFuse 中的密钥哈希要与签名链匹配,否则激活阶段会被 BootROM 拒绝。第四,断电保护。刷写过程中断电可能导致分区不完整,流程应支持从断点恢复或整片重刷。

建议在刷写工位旁设置“待复判”缓存区,把校验失败、激活超时、EOL 单项失败的板卡分开存放,避免与正常板卡混流。

四、一个可执行的刷写工位检查表示例

检查项判据记录方式
供电电压12V ±5%治具自动记录
BootROM 日志串口有输出且无异常复位日志文件
Recovery 枚举主机识别到 NVIDIA 设备脚本返回值
镜像版本与工单版本一致版本号写入追溯区
分区校验哈希与清单一致校验报告
首启状态到达用户空间且关键服务运行启动日志
EOL 结果全部测试项通过测试报告