UEFI系统固件架构解析
1. UEFI与PI概述
UEFI(统一可扩展固件接口)和PI(平台初始化)是相互依赖的接口,用于使用UEFI架构创建系统固件。UDK(UEFI开发套件,EFI开发套件EDK的第二代是EDKII)是一个开源项目,提供了这些规范的实现。使用开源EDKII开发的任何系统固件都应指定底层的UEFI和PI规范,例如,截至2021年5月的最新开发可以参考UEFI规范2.9和PI版本1.7。
2. UEFI规范
通常,主板组件包括处理器、内存单元、各种I/O设备以及系统固件,系统固件负责在将控制权转移到操作系统加载器之前执行所需的初始化。根据UEFI规范,它提供了操作系统、附加驱动程序和系统固件之间的编程接口。这些属于UEFI规范的接口和服务可由操作系统、高级软件和预操作系统应用程序访问。
UEFI规范2.9中有几个关键概念需要理解:
- 对象
- UEFI镜像
- EFI服务
- EFI系统表
- 协议
- 处理数据库
- 事件
- UEFI驱动模型
- 驱动连接过程
- 设备路径
- EFI字节码(EBC)
3. 对象
对象是基于UEFI的固件可以通过各种服务管理的实例数量。广泛使用的对象包括:
- EFI系统表
- 句柄
- 协议
- 事件
- 内存
UEFI规范在系统固件编程中引入了面向对象的思维概念,其中每个结构(句柄、协议、事件等)在中央对象存储库中表示为一个对象。以下是一个UEFI固件管理多个对象的示例: <
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



