1. 工程模块文件
关于UEFI工程模块文件,主要分为五类,整理了一个表格:
标准应用程序 工程模块 |
Shell应用程序 工程模块 |
使用main函数的 应用程序工程模块 |
库模块 | UEFI 驱动模块 |
|
入口函数 | 自定义 | INTN ShellAppMain (IN UINTN Argc, IN CHAR16 **Argv) |
int main (int argc, char **argv) |
||
工程文件 | .inf | .inf | .inf | .inf | .inf |
[Defines] | |||||
INF_VERSION | 0x00010005 | 0x00010005 | 0x00010005 | 0x00010005 | 0x00010005 |
BASE_NAME | Yigo | Main | Main | zlib | DiskIoDxe |
FILE_GUID | 6987936E-… | 6987936E-… | 6987936E-… | 6987936E-… | 6987936E-… |
MODULE_TYPE | UEFI_APPLICATION | UEFI_APPLICATION | UEFI_APPLICATION | BASE | UEFI_DRIVER |
VERSION_STRING | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 |
ENTRY_POINT | YigoMain | ShellCEntryLib (自己实现ShellAppMain) |
ShellCEntryLib | InitializeDiskIo | |
LIBRARY_CLASS | zlib | ||||
[Sources] | Yigo.c | Main.c | Main.c | adler32.c crc32.c … |
DiskIo.h DiskIo.c ... |
[Packages] | MdePkg/MdePkg.dec | MdePkg/MdePkg.dec ShellPkg/ShellPkg.dec |
MdePkg/MdePkg.dec ShellPkg/ShellPkg.dec StdLib/StdLib.dec |
MdePkg/MdePkg.dec ... |
MdePkg/MdePkg.dec |
[LibraryClasses] | UefiLib UefiApplicationEntryPoint |
UefiLib ShellCEntryLib ShellLib |
UefiLib ShellCEntryLib Lib LibStdio |
UefiDriverEntryPoint UefiLib … |
|
[Procotols] | gEfiShellProtocolGuid | gEfiDiskIoProtocolGuid gEfiBlockIoProtocolGuid |
|||
[BuildOptions] |
2. 包及.dsc、.dec、.fdf文件
文件类型 | 作用 |
.inf | 编译模块 |
.dsc | 编译Package |
.dec | 定义了公开的数据和接口,供其他模块使用 |
.fdf | 生产固件Image/Option Rom Image/可启动Image |
**************************************************************************
参考书:《UEFI原理与编程》- 戴正华
扫描二维码关注公众号,回复:
12677011 查看本文章
