📖 推荐博主书籍:《Yocto项目实战教程:高效定制嵌入式Linux系统》
🎥 更多学习视频请关注 B 站:嵌入式Jerry
Jetson 启动流程全解析 —— 对比 NXP i.MX 系列的核心理解
嵌入式 SoC 的启动过程,是系统工程师必须掌握的基础知识。NVIDIA Jetson 系列(Orin、Xavier、Nano)和 NXP i.MX 系列(i.MX6、i.MX8、i.MX9)虽然在硬件架构上有差异,但它们的启动流程却体现了类似的理念:从硬件上电到操作系统内核运行,通过一系列 Boot 阶段完成初始化、安全验证和系统加载。
本文将系统讲解 Jetson 的启动流程,并与 NXP i.MX 系列进行对比,帮助读者抓住核心要点,形成整体理解。
在这里插入图片描述
1. 启动的本质
启动(Boot)就是 从硬件无序状态逐步初始化到软件可控状态 的过程。核心目标包括:
- 初始化存储与内存
- 配置时钟与电源
- 建立安全信任链
- 加载操作系统内核与根文件系统
无论是 Jetson 还是 i.MX,启动都分为多个阶段,每一阶段由不同的固件(ROM Code、Bootloader、UEFI/U-Boot)接力完成。
2. Jetson 冷启动流程
下图(简化)描述了 Jetson Orin 的冷启动序列:
[Power On]
↓
[Boot ROM (PSC ROM / Boot ROM)]
↓
[MB1 / PSC BL1] → 初始化 DRAM、时钟、电源
↓
[MB2] → 加载 Arm Trusted Firmware (ATF)、OP-TEE
↓
[UEFI] → 统一固件接口,提供标准化启动环境
↓
[Linux Kernel + DTB + RootFS]
核心要点:
- 多核协处理器参与:Jetson SoC 内含 BPMP、MCE、TSEC 等固件,分别负责电源管理、安全与图形安全。它们在启动时并行初始化。
- 安全机制:Jetson 支持 安全启动 (Secure Boot),确保固件与操作系统镜像未被篡改。
- UEFI 引入:在较新的 Jetson 平台,UEFI 取代了早期的 CBoot,成为标准的 CPU Boot Loader (CPUBL)。
3. NXP i.MX 系列的启动流程
i.MX 平台的冷启动通常如下:
[Power On]
↓
[Boot ROM] → 从启动介质(eMMC/SD/NAND/QSPI)加载镜像
↓
[First Stage Bootloader (SPL/U-Boot SPL)]
↓
[U-Boot] → 初始化设备、加载内核
↓
[Linux Kernel + DTB + RootFS]
核心要点:
- ROM Code 固化:i.MX SoC 内部的 ROM Code 决定了启动源和校验方式。
- Bootloader 以 U-Boot 为主:几乎所有 i.MX 平台都依赖 U-Boot,分为 SPL 和正式的 U-Boot 两阶段。
- 安全启动支持 HAB:i.MX 提供 High Assurance Boot (HAB),用于签名验证。
4. Jetson 的 UEFI 特性
UEFI (Unified Extensible Firmware Interface) 是一种 统一固件接口规范,在 Jetson 上取代了 CBoot。其主要特性:
- 标准化操作系统加载:配合 SMBIOS、ACPI,可以加载标准 OS,无需操作系统做平台定制。
- 安全启动:内置标准化的 Secure Boot 机制,支持第三方软件(OS、PCIe ROM)的认证。
- 扩展支持:支持外部 PCIe 设备的 Option ROM,提供统一系统配置界面。
- 固件升级:定义了统一的固件更新方法。
换句话说,UEFI 让 Jetson 的启动模式更加接近 PC 服务器平台 的通用模式,这与 NXP 仍大量使用 U-Boot 的方式不同。
5. Jetson 与 i.MX 启动流程对比
| 对比维度 | Jetson Orin 系列 (NVIDIA) | i.MX8/9 系列 (NXP) |
|---|---|---|
| 第一阶段 | PSC ROM / Boot ROM | Boot ROM |
| 二阶段 Bootloader | MB1 / MB2 | SPL (U-Boot SPL) |
| 主 Bootloader | UEFI (取代 CBoot) | U-Boot |
| 安全机制 | Secure Boot + OP-TEE | HAB (High Assurance Boot) |
| 协处理器参与 | BPMP, MCE, TSEC 等 | 较少,主要靠 CPU 执行 |
| 启动环境 | 标准化 UEFI + ACPI/SMBIOS | 传统 U-Boot + Device Tree |
6. 总结
- Jetson 的启动链条更复杂,涉及多个协处理器固件,并逐步过渡到 UEFI,体现了类似 PC 服务器的启动逻辑。
- i.MX 系列更传统,延续 U-Boot SPL → U-Boot → Linux 的路径,更接近嵌入式 SoC 的经典设计。
- UEFI 的引入 让 Jetson 更加开放、标准化,适合加载通用 OS;而 i.MX 更强调灵活性与嵌入式场景的定制化。
整体理解:Jetson 的启动流程更偏向 “标准化 + 通用计算”,而 i.MX 更偏向 “嵌入式定制化”。
📖 推荐博主书籍:《Yocto项目实战教程:高效定制嵌入式Linux系统》
🎥 更多学习视频请关注 B 站:嵌入式Jerry
1万+

被折叠的 条评论
为什么被折叠?



