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

 

[Defines]
  INF_VERSION                    = 0x00010006
  BASE_NAME                      = LinuxFdtLoader
  FILE_GUID                      = f536d559-459f-48fa-8bbc-43b554ecae8d
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 0.1
  ENTRY_POINT                    = UefiMain            //入口函数
 
[Sources]                          //源码
  LinuxFdtLoader.c
  LinuxConfig.c
 
[Packages]                          //依赖的Package
  ArmPkg/ArmPkg.dec
  MdePkg/MdePkg.dec
 
[LibraryClasses]                        //依赖库
  BdsLib
  DxeServicesTableLib
  UefiLib
  UefiApplicationEntryPoint
 
[Protocols]                          //依赖的Protocols
  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链接脚本

posted on 2018-12-11 11:14  者旨於陽  阅读(949)  评论(0编辑  收藏  举报

导航