UEFI开发总结--EDKII文件关系介绍
首先介绍一下EDKIIEDKII是一套Intel对UEFI规范实现的开源代码,可以在这个网站进行下载:http://www.tianocore.org/
有些人下载的时候发现,咦,我下的怎么不是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