UEFI手札
基于Intel TianoCore衍生的EDK-II诞生的UEFI,用来取代Legacy BIOS。
INF文件
Module Information File,模块描述文件。Module可以是可执行文件,也可以是库文件,Module Type包括BASE/SEC/PEI_CORE/PEIM/DXE_CORE/DXE_DRIVER/DXE_RUNTIME_DRIVER/DXE_SMM_DRIVER/DXE_SAL_DRIVER/UEFI_DRIVER/UEFI_APPLICATION
INF_VERSION = 0x00010006
BASE_NAME = LinuxFdtLoader
FILE_GUID = f536d559-459f-48fa-8bbc-43b554ecae8d
MODULE_TYPE = UEFI_APPLICATION
VERSION_STRING = 0.1
ENTRY_POINT = UefiMain //入口函数
LinuxFdtLoader.c
LinuxConfig.c
ArmPkg/ArmPkg.dec
MdePkg/MdePkg.dec
BdsLib
DxeServicesTableLib
UefiLib
UefiApplicationEntryPoint
gEfiLoadedImageProtocolGuid
gEfiDevicePathToTextProtocolGuid
DEC文件
Package Declaration File,组件包描述文件,用于支持编译Package以及发布Modules
[Includes] 指定头文件路径
[LibraryClasses] 依赖的库以及头文件路径
DSC文件
Platform Description File,平台描述文件。EDK Build Tools是EDK II通用组件之一,为了在自己的Module中使用EDK II通用组件包括EDK II Build Tools,必须要在自己的Module中编写DSC和FDF配置文件。
DSC文件用来配合FDF/DEC/INF等文件,最终生成PE32/PE32+/Coff二进制文件。
DSC文件中包括:
1) EDK II Module INF Files
2) EDK Components
3) EDK Libraries (only used by EDK Components)
4) EDK II Library Class Instance Mappings (only used by EDK II Modules)
5) EDK II PCD Entries
LibraryClasses字段表示当前Package依赖哪些库以及库描述文件路径。
Components字段表示当前Package对外提供哪些库以及库描述文件路径。
FDF文件
Flash Definition File,Flash布局描述文件,类似于lds链接脚本