01
Bootloader概述
什么是Bootloader · 嵌入式角色 · U-Boot/GRUB/Barebox对比
概念对比
02
分区表基础
分区概念 · MBR与GPT · 分区对齐原则
MBRGPT对齐
03
设备树(DTS)入门
设备树起源 · DTS/DTC/DTB · 在Linux启动中的作用
DTSDTB编译
04
Bootloader与内核交互
启动参数传递 · ATAG vs 设备树 · 为何设备树取代ATAG
ATAG设备树
05
U-Boot环境变量
printenv/setenv/saveenv · 存储位置 · bootargs/bootcmd
envbootargs
06
U-Boot启动流程
SPL与U-Boot proper · 启动介质选择 · bootcmd流程
SPL启动
07
分区表配置实战
U-Boot定义分区 · mtdparts命令 · 分区大小对齐计算
mtdparts对齐
08
设备树基本语法
节点/属性 · reg · compatible · 中断控制器
语法节点
09
设备树绑定文档
内核绑定文档 · GPIO/I2C/SPI绑定示例
绑定GPIOI2C
10
设备树包含文件
dtsi作用 · #include与/dts-v1/ · 多板级管理
dtsi包含
11
U-Boot设备树支持
加载设备树 · fdt命令详解(fdt addr/list/set)
fdtU-Boot
12
设备树覆盖(Overlay)
overlay概念 · dtbo生成 · 动态加载
Overlaydtbo
13
内存节点配置
memory节点 · reg属性 · 多块内存配置
memoryreg
14
时钟与复位节点
clock节点 · clock-names · assigned-clocks · 复位控制器
clockreset
15
GPIO控制器节点
gpio-controller · #gpio-cells · gpio-hog · 命名规范
GPIO控制器
16
I2C控制器节点
i2c节点 · clock-frequency · slave子节点 · reg地址
I2C频率
17
SPI控制器节点
spi节点 · cs-gpios · spi-max-frequency · 设备子节点
SPI片选
18
MMC/SDIO节点
mmc节点 · bus-width · non-removable · sd-uhs-sdr104
MMCSDIO
19
以太网节点
ethernet节点 · phy-mode · phy-handle · mac-address
以太网PHY
20
显示与GPU节点
display · panel · backlight · GPU节点
显示GPU
21
USB控制器节点
usb节点 · dr_mode · maximum-speed · usb-phy
USBOTG
22
音频节点
sound节点 · codec · dai-format · mclk-fs
音频codec
23
电源管理节点
regulator节点 · regulator-name · min-microvolt · boot-on
regulator电源
24
设备树调试技巧
编译错误 · dtc工具 · fdtdump · 内核log分析
调试dtc
25
U-Boot与设备树联调
fdt addr加载 · boardsetup钩子 · 修改与保存
联调fdt
26
分区与设备树协同
分区表在设备树中描述 · fixed-partitions · partitions节点
分区设备树
27
多核与SMP配置
cpu节点 · enable-method · cpu-release-addr · spin-table
SMP多核
28
安全启动与设备树
签名设备树 · 校验机制 · HAB · 信任链
安全HAB
29
常见问题排查
内核panic · 内存映射错误 · 中断冲突 · 时钟配置错误
排查panic
30
实战项目
从零构建完整嵌入式系统Bootloader分区与设备树
实战综合