Chinaunix首页 | 论坛 | 博客
  • 博客访问: 69293
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 36
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-14 20:53
文章分类

全部博文(7)

文章存档

2016年(7)

我的朋友

分类: 嵌入式

2016-09-12 23:03:47

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

点击(此处)折叠或打开

  1. [Defines]
  2.   INF_VERSION = 0x00010006
  3.   BASE_NAME = Hello
  4.   FILE_GUID = a912f198-7f0e-4803-b908-b757b806ec83
  5.   MODULE_TYPE = UEFI_APPLICATION
  6.   VERSION_STRING = 0.1
  7.   ENTRY_POINT = ShellCEntryLib

  8. #
  9. # VALID_ARCHITECTURES = IA32 X64 IPF
  10. #

  11. [Sources]
  12.   Hello.c

  13. [Packages]
  14.   MdePkg/MdePkg.dec
  15.   ShellPkg/ShellPkg.dec

  16. [LibraryClasses]
  17.   UefiLib
  18.   ShellCEntryLib


阅读(7045) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~