UEFI: 模块和包概述

UEFI规范中有两个最重要的概念:模块(Module)和包(Package)。

模块 Module

UEFI上最小的可单独编译的代码单元,或者是预编译的二进制文件比如efi执行文件。

包 Package

由模块、平台描述文件(DSC)和包声明文件(DEC)组成。可以包含模块,也可以不包含。例如前面用来做实验的MdeModulePkg和EmulatorPkg。

如果把包和Vistual Studio的工程相比,DSC相当于sln文件,描述多个project的信息;INF文件类似于某个project的proj文件,描述工程本身的信息,比如用到的库、源码位置等信息。

常见模块类型:

UEFI_DRIVER, UEFI_APPLICATION, PEI_CORE, PEIM, DXE_CORE, DXE_DRIVER等。对于非BIOS工程师来说,由于没有真实环境,所以涉及的是UEFI_APPLICATION和UEFI_DRIVER这两个。

关于UEFI_APPLICATION的补充:由三个类型:

1. UefiMain入口

可运行于DXE阶段和UEFI Shell环境

2. ShellAppMain入口

可运行于UEFI Shell环境

3. main入口

可以运行于UEFI Shell环境,它是用C标准库StdLib写的

参考:《UEFI编程实践》 罗冰

相关推荐
阿源-2 天前
从 INF、DSC、DEC 到 FDF:理解 EDK II 的 UEFI 编译与固件生成流程
嵌入式·uefi·edk2·固件
Helix2505 天前
WinPE 实战:从零制作纯净 Windows 安装与维护 U 盘
windows·安装·uefi·winpe·adk·u盘启动盘·dism
Cerman2 个月前
UEFI GOP driver基础协议解读
video·uefi·gop·edid·gfx
@卡卡-罗特2 个月前
UEFI 图形编程:直接写 FrameBuffer 与 Blt 接口的对比
网络·uefi·bios
yao000376 个月前
【7】UEFI固件存储格式
uefi·bios·固件
阿昭L6 个月前
调试Windows11启动过程
windows·uefi·windows内核
切糕师学AI6 个月前
深入理解硬盘分区表(MBR / GPT)与固件启动模式(Legacy / UEFI)
gpt·uefi·mbr·legacy·硬盘分区表·固件启动模式
阿源-6 个月前
UEFI Driver 程序框架
嵌入式·uefi
阿源-6 个月前
如何在EDKII中编译UNIX风格C语言
嵌入式·uefi·edk2
阿源-6 个月前
UEFI Application 如何调用 Protocol
嵌入式·uefi