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

相关推荐
阿源-3 天前
UEFI Application 如何调用 Protocol
嵌入式·uefi
阿源-10 天前
如何使用 UEFI Shell 执行 Hello World 程序
uefi·edk2
牛奶咖啡1312 天前
DevOps自动化运维实践_搭建UEFI网络引导的自动安装Debian系统
运维·自动化·devops·uefi·pxe·debian自动应答文件·debian网络自动化安装系统
牛奶咖啡1315 天前
DevOps自动化运维实践_基于Cobbler搭建UEFI网络引导的自动安装平台
linux·运维·自动化·uefi·pxe·uefi网络引导自动安装平台·tftp dhcp 环境搭建
Felven23 天前
飞腾平台 UEFI 与 U-Boot 启动方案对比及选型建议
运维·uefi·uboot·飞腾
proware2 个月前
edp极化问题解决之uefi篇
uefi·edid
yao000372 个月前
基于QEMU+OpenSBI+edk2的riscv启动流程解析
qemu·riscv·uefi·bios·固件·opensbi
tianyuanwo4 个月前
深度解析:Linux ISO引导配置与安装模式设计
linux·uefi·iso·isolinux.cfg·grub.cfg
阿源-4 个月前
UEFI 中的杂项知识总结-Protocol Handle 机制的详细介绍
嵌入式·uefi·edk2·固件
REDcker4 个月前
UEFI BIOS深度解析:现代固件架构的革命性突破
架构·操作系统·uefi·bios