Bootloader · 游戏机启动实战
30章
从零到一
01
Bootloader概述
什么是Bootloader、游戏机中的作用、PSP/Switch/Xbox架构对比
02
嵌入式启动流程
CPU复位向量、中断向量表、启动模式、片内ROM与Flash映射
03
ARM Cortex-A启动详解
异常向量表、FIQ/IRQ切换、SVC模式、MMU初始化前准备
04
链接脚本与内存布局
ENTRY/MEMORY/SECTIONS语法、代码段/BSS/栈堆规划
05
汇编级启动代码
Reset_Handler、关看门狗、初始化时钟与SDRAM控制器
06
C语言运行环境搭建
BSS清零、数据段拷贝、设置堆栈、跳转main
07
时钟系统配置
PLL锁相环、时钟树、CPU/总线频率、动态调频
08
DDR/SDRAM初始化
时序参数、初始化序列、DDR测试与校验
09
Flash驱动开发
NOR/NAND区别、SPI Flash、分区表、磨损均衡
10
中断系统与异常处理
GIC配置、向量表重定向、嵌套中断、FIQ/IRQ切换
11
设备树解析
DTS语法、DTB编译、内核解析、Bootloader中解析
12
串口驱动与调试输出
UART初始化、波特率、中断/轮询、printf重定向
13
定时器与延时实现
系统滴答、微秒延时、定时器中断、软件定时器
14
DMA控制器驱动
内存到内存/外设到内存、描述符链、中断与优化
15
存储设备驱动(eMMC/SD)
SD/MMC协议、初始化、块读写、DMA优化
16
文件系统支持(FAT32/EXT4)
FAT32结构、目录解析、读写接口、Bootloader集成
17
USB设备驱动
USB协议栈、设备枚举、Mass Storage、HID
18
显示驱动与帧缓冲
HDMI/DP初始化、帧缓冲、Logo显示、简单GUI
19
安全启动链(Secure Boot)
PKI、镜像签名验证、信任链、防回滚
20
镜像格式与打包
ELF解析、uImage、自定义镜像头、CRC与加密
21
启动菜单与交互界面
命令行解析、菜单框架、按键输入、脚本支持
22
网络启动(TFTP/HTTP)
以太网驱动、精简TCP/IP、TFTP/HTTP客户端
23
多核启动与SMP
ARM通用定时器、核间中断、启动从核、缓存一致性
24
电源管理与休眠唤醒
PMIC配置、CPU调频、休眠保存、唤醒源
25
固件升级与恢复模式
AB分区、升级包格式、断点续传、恢复模式
26
性能优化与启动加速
启动时间分析、代码位置优化、缓存预取、并行初始化
27
调试技术与JTAG
JTAG/SWD协议、硬件断点、Trace、RTT日志
28
错误处理与看门狗
硬件/软件看门狗、错误日志、Panic、系统恢复
29
U-Boot分析与移植
架构分析、板级配置、驱动移植、自定义命令
30
实战项目:从零构建游戏机Bootloader
需求分析、架构设计、模块实现、集成测试、性能调优