提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
学习uefi 系统架构,整理optionrom开发需要的资料,记录开发过程及开发过程中遇到的问题;
一、UEFI是什么?
Unified Extensible Firmware InterFace (统一可扩展固件接口);
1.uefi 架构
UEFI提供系统化的标准方法,加载驱动并管理他们之间的交互;
UEFI 提供了一个标准接口,可以在硬件发生变更时,固件能提供足够信息而保证操作系统不受影响。它包含有芯片组和外设芯片驱动程序,并通过系统表提供引导时服务和运行时服务;
2.uefi 系统框架
分阶段运行,不同阶段完成不同的任务;
UEFI core模块实现一组服务(service),一组基本协议(protocol),供其它模块调用;
core提供的服务以功能表(system table)的方式传递给其它功能模块;
功能模块(PEI Module, DXE driver),完成设备配置,协议实现;
C语言实现(99%为C语言实现,SEC模块,部分是asm实现);
二、学习网站
1.uefi 规范文档
https://uefi.org/specifications
2.edk2开发包下载
https://github.com/tianocore/edk2
总结
了解uefi的规范文档,edk2开发包。