UEFI开发总结--EDKII文件关系介绍
首先介绍一下EDKII
EDKII是一套Intel对
UEFI规范实现的开源代码,可以在这个网站进行下载:
有些人下载的时候发现,咦,我下的怎么不是EDKII,而是UDK,不要害怕,UDK是EDK的稳定版本,你同样可以用UDK进行UEFI的开发。
UEFI相对于BIOS,一个非常大的不同是模块化的概念,UEFI把每个功能都做成一个Package,然后把所有的Package都集成到BIOS Flash中,形成最终的UEFI文件。
这就迁出了一个fdf的概念,下面对几种常用的文件类型做一下介绍。
fdf文件,一般一套UEFI源码中只有一个fdf文件,它的作用是规定把哪些包编入flash中,编入flash的什么位置,并给对应的Package一个Guid,方便在代码中调用;
dec文件,一般是对Protocol的定义;
dsc文件,指明了每个包对应需要哪些lib;
inf文件,最常用的文件,相当于windows中的工程文件,表明本Package的类型、本Package用到哪些.c .h文件,用到了哪些protocol,以及编译选项;
这里只是简单的介绍一下,对于每个类型的文件之中详细的信息,可以查看UEFI原理与编程,以及各种文件类型对应Spec。
Hello.inf
-
[Defines]
-
INF_VERSION = 0x00010006
-
BASE_NAME = Hello
-
FILE_GUID = a912f198-7f0e-4803-b908-b757b806ec83
-
MODULE_TYPE = UEFI_APPLICATION
-
VERSION_STRING = 0.1
-
ENTRY_POINT = ShellCEntryLib
-
-
#
-
# VALID_ARCHITECTURES = IA32 X64 IPF
-
#
-
-
[Sources]
-
Hello.c
-
-
[Packages]
-
MdePkg/MdePkg.dec
-
ShellPkg/ShellPkg.dec
-
-
[LibraryClasses]
-
UefiLib
-
ShellCEntryLib
阅读(7045) | 评论(0) | 转发(0) |