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编程实践》 罗冰

相关推荐
jiangwei051211 天前
【UEFI实战】HttpBoot
网络·uefi
小百菜13 天前
华为RH2288 V3安装 Linux 系统,安装过程心得
gpt·操作系统·uefi·mbr·legacy·u盘安装操作系统
JUNIOR_MU3 个月前
【VMware ESXi】HP Z4G4 Workstation安装ESXi停留在Shutting down firmware services...的解决办法。
esxi·uefi·hp工作站·z4g4·secure boot
Hcoco_me4 个月前
什么是Boot Guard?电脑启动中的信任链条解析
arm开发·算法·电脑·uefi·intel·安全启动
jiangwei05125 个月前
【UEFI基础】EDK网络框架(TCP4)
网络·uefi
jiangwei05126 个月前
【UEFI基础】EDK网络框架(通用函数和数据)
网络·uefi
墨苍天9 个月前
ubuntu18.04 编译edk2项目下的intel架构bios
uefi·bios·edk2·edk2编译·edk2-platforms
spencer_tseng10 个月前
BIOS < UEFI
uefi·bios
逮到647了1 年前
UEFI概述
android·linux·uefi