01
UEFI与ATF概述
基本概念、在系统启动中的作用、协同工作的价值。
概念启动
02
开发环境搭建
Linux开发环境配置、交叉编译工具链安装、EDK2与TF-A源码获取。
环境工具链
03
UEFI基础框架
EDK2工程结构、模块类型(DXE/SMM/PEI)、固件体积管理。
EDK2模块
04
ATF基础框架
BL1/BL2/BL31/BL32/BL33层级、PSCI接口、安全监控模式调用。
ATFPSCI
05
硬件抽象层设计
FDT设备树传递、MMU与缓存配置、GIC中断控制器初始化。
硬件GIC
06
启动流程协同
ATF作为BL33加载UEFI、UEFI调用PSCI实现CPU热插拔、电源状态切换。
启动协同
07
内存布局规划
ATF安全内存与UEFI非安全内存划分、TZC-400配置、DDR初始化时序。
内存TZC
08
异常处理协同
同步异常路由、SMC调用约定、UEFI与ATF的异常向量表共享。
异常SMC
09
固件更新机制
UEFI Capsule Update与ATF Firmware Update接口对接、回滚保护。
更新回滚
10
安全启动链
UEFI Secure Boot与ATF Trusted Board Boot的证书链整合。
安全证书
11
调试与日志
ATF的LOG_LEVEL配置、UEFI的DEBUG_PROPERTY、串口输出同步。
调试日志
12
性能优化
ATF的CPU_OPP调优、UEFI的FastBoot模式、启动时间测量方法。
性能优化
13
虚拟化支持
UEFI的ACPI与ATF的HVC调用、EL2虚拟化扩展配置。
虚拟化HVC
14
多核启动
ATF的CPU_ON/CPU_OFF实现、UEFI的MP服务协议、spin-table机制。
多核MP
15
电源管理
ATF的Suspend/Resume流程、UEFI的ACPI _PSx对象、PSCI状态编码。
电源PSCI
16
RTC与定时器
ATF的Generic Timer配置、UEFI的EFI_TIME协议、计时同步。
定时器RTC
17
IOMMU/SMMU配置
ATF的SMMU初始化、UEFI的DMA保护、设备隔离策略。
SMMUDMA
18
可信执行环境
ATF的OP-TEE集成、UEFI的安全存储接口、TA加载流程。
TEEOP-TEE
19
网络启动
UEFI PXE协议与ATF的网络驱动对接、HTTPS Boot证书管理。
网络PXE
20
ACPI与设备树
UEFI生成ACPI表、ATF解析FDT、多平台兼容策略。
ACPIFDT
21
固件分区表
GPT分区布局、ATF的FIP打包工具、UEFI的Firmware Volume管理。
分区FIP
22
安全漏洞缓解
ATF的CVE补丁管理、UEFI的SMM保护、ROP/JOP防护。
安全CVE
23
自动化测试
UEFI SCT测试套件、ATF的TFTF测试框架、CI/CD集成。
测试CI/CD
24
QEMU模拟器调试
QEMU的virt平台配置、GDB连接ATF与UEFI、断点设置技巧。
QEMUGDB
25
JTAG硬件调试
OpenOCD配置、JTAG连接ATF与UEFI、内存断点使用。
JTAGOpenOCD
26
日志分析工具
ATF的crash console解析、UEFI的CR导出的JSON日志、Trace32脚本。
日志Trace32
27
社区协作
UEFI论坛与ATF邮件列表、补丁提交规范、代码审查流程。
社区补丁
28
版本迁移
UEFI EDK2 2024新特性、ATF v2.10变化、迁移注意事项。
迁移版本
29
案例实战
基于Raspberry Pi 4的UEFI+ATF移植、常见问题排错。
实战树莓派
30
未来趋势
UEFI+ATF在RISC-V架构的应用、FF-A接口标准、机密计算扩展。
趋势RISC-V