01
U-Boot概述
历史与演进 · 嵌入式地位 · 启动流程概览
基础概念
02
U-Boot源码结构
顶层目录 · board/cpu/drivers · Makefile/Kconfig
源码构建
03
U-Boot配置与编译
defconfig · 交叉工具链 · 编译详解与错误
配置编译
04
SPL与TPL机制
SPL作用 · TPL背景 · SPL/TPL启动流程
启动加载器
05
U-Boot镜像格式
uImage vs zImage · FIT格式 · Legacy格式
镜像格式
06
设备树 (Device Tree) 基础
起源与作用 · DTS/DTC/DTB · 加载与传递
设备树DTS
07
第一阶段启动 (汇编)
CPU初始化 · 异常向量 · 关闭MMU/Cache · 栈指针
汇编低层
08
第二阶段启动 (C语言)
board_init_f · board_init_r · 控制台初始化
C语言初始化
09
内存初始化与DDR配置
DDR控制器 · 时序参数 · 内存测试与校验
内存DDR
10
存储设备驱动
MMC/SD · NAND · SPI Flash · USB存储
驱动存储
11
网络协议栈
网络栈架构 · TFTP · NFS · PXE启动
网络协议
12
文件系统支持
FAT · ext4 · UBIFS · 文件系统加载镜像
文件系统
13
环境变量系统
存储位置 · 加载与保存 · 默认环境变量
环境变量
14
命令行接口 (CLI)
HUSH shell · 常用命令 · 命令扩展机制
CLI命令
15
镜像加载核心流程
bootm流程 · 镜像头解析 · 解压重定位 · 跳转内核
核心bootm
16
FIT镜像加载详解
FIT结构 · 校验与加载 · 多配置选择
FIT校验
17
安全启动 (Secure Boot)
RSA/ECDSA签名 · SHA256 · 信任链
安全签名
18
镜像校验与完整性检查
CRC32 · SHA256 · 签名验证流程
校验完整性
19
解压算法与性能
gzip/lzma/lzo · 速度与内存对比
解压性能
20
加载性能优化策略
缓存预取 · DMA · 并行加载 · 预加载
优化性能
21
存储设备读取优化
块对齐 · 多块连续 · DMA模式 · 缓存策略
存储读取
22
网络加载优化
TFTP窗口 · 缓冲区 · 链路层 · 多播
网络优化
23
镜像压缩优化
压缩算法选择 · 多级压缩 · 硬件加速
压缩优化
24
启动时间测量与分析
bootstage · 时间戳 · 分布分析 · 瓶颈定位
测量分析
25
快速启动 (Fastboot) 模式
Fastboot协议 · 命令集 · 与U-Boot交互
Fastboot
26
U-Boot与Linux内核交互
ATAG · 设备树 · 启动参数 · 内存布局
内核交互
27
多核处理器启动
big.LITTLE · RISC-V多核 · 核间同步
多核启动
28
U-Boot调试技术
串口 · JTAG · GDB · 打印分级
调试JTAG
29
U-Boot移植实战
BSP创建 · 时钟定时器 · GPIO与外设
移植BSP
30
最新特性与未来趋势
v2024新特性 · EFI · Rust · 容器化启动
前沿趋势