📘 Bootloader · 可移植性设计

📚 30 章节 ⚡ 风格 · 专业内核 v2.0
🎯 从入门到实战
01
什么是Bootloader · 嵌入式角色 · U-Boot/Barebox简介
02
硬件抽象层(HAL) · 分层设计 · 接口与实现分离
03
ROM Code → SPL → U-Boot → Kernel · 各阶段职责
04
ARM/RISC-V/MIPS差异 · 宏定义与条件编译
05
链接脚本(.lds) · 可移植内存映射 · DDR初始化抽象
06
系统时钟源 · 定时器驱动 · 延时函数可移植
07
UART初始化 · HAL收发封装 · 波特率跨平台
08
NOR/NAND Flash · eMMC · SD卡驱动抽象层
09
设备树作用 · 语法简介 · Bootloader中解析
10
描述硬件差异 · 减少硬编码 · 驱动自动匹配
11
GPIO控制接口 · 输入输出 · 中断支持抽象
12
总线控制器驱动 · 设备访问 · 多实例支持
13
以太网MAC/PHY · lwIP移植接口
14
USB主机/设备 · Mass Storage · HID类
15
FAT32/EXT4 · 文件路径抽象 · 从存储加载
16
多介质加载 · CRC/哈希校验 · 安全启动基础
17
可移植Shell · 命令注册 · 参数解析
18
Flash/EEPROM存储 · 读写抽象 · 默认值管理
19
统一错误码 · 调试日志 · 断言机制
20
中断控制器驱动 · 向量表设置 · 处理函数注册
21
Cache刷新/失效 · MMU页表 · 内存属性跨架构
22
SMP启动 · 核间通信 · 同步原语
23
休眠/唤醒 · 频率调节 · 电源域控制
24
初始化 · 喂狗 · 超时设置
25
实时时钟驱动 · 时间获取/设置 · 时间戳转换
26
DMA控制器 · 内存到内存/外设 · 描述符链
27
加密引擎 · 校验和加速 · 图像处理单元
28
单元测试(Cmocka) · 硬件在环 · 持续集成
29
注释规范 · Doxygen · 版本控制策略
30
为新板移植U-Boot · 调试技巧 · 性能优化