EFI基本概念之UDK2015定制EDKTOOL
来源:互联网 发布:千元头戴式耳机 知乎 编辑:程序博客网 时间:2024/04/29 04:32
1 EDKTool作用
EDKTool是EDK代码的编译所需要的工具。由这指定编译器及编译选项,编译平台,编译active平台及编译DEBUG或Release版本。
EDKTool对X86及ARM的支持比较好,但对其它平台的支持不怎么好。鉴于EDK的包容性,即使没有对其它平台的支持,我们也要方便地构建其平台对应的工具。
2 EDKTool编译
BUILD SPEC上把EDKTool编译代码分成三个步骤:第一个步骤是预编译或者称元数据处理阶段;第二个步骤是编译步骤;第三个步骤是Image生成阶段。如果想在EDK代码还未支持的平台上做这几个步骤,首先要配置好EDKTOOL。
首先看一下Basetool文件夹内容:
这Bin和BinWrappers是编译过后的工具,我们配置环境的时候可以将其路径加入系统环境中,这是代码编译时,就知道build,GenFw,GenFv等工具在哪找寻。Conf是配置文件,其中有编译规则,编译目标的选择及编译工具,供我们使用者来配置。Source文件是第一阶段和第三阶段所用工具的源文件。Tests文件可以帮我们改的代码做一下语法检查。userManuals是对各个工具使用方法的说明。
3 EDKTool修改内容
我们要为一个EDK不支持的CPU架构做EFI成BIOS,主要是修改Conf和Source两个文件夹的内容。
3.1 build.py
这里要加入所要支持的CPU架构,要不然EDKTOOL不认识-a所带的参数。
3.2 FfsInfStatement.py
和3.1一样,加入CPU架构。不过用途不一样,此处主要是为Inf的解析及生成Ffs时使用。
3.3 PeImage.h
加入CPU的机器码,BIOS是PE32架构,都有PE头,这个机器码就是BIOS代码解析FFS的PE头使用的。
3.4 GenFw工具
如果在Linux下面编译,需要将ELF转成PE结构的。
3.5 tools_def.template
-t所需要的toolchain需要在此文件中设定。
- EFI基本概念之UDK2015定制EDKTOOL
- EFI基本概念之PPI
- EFI基本概念之HOB
- EFI基本概念之FV
- EFI基本概念之Timer
- EFI基本概念之Event
- 【基础】 EFI基本概念之HOB
- EFI
- efi
- BIOS+MBR和EFI+GPT之我见
- 树莓派Raspbian系统定制 - LXDE桌面系统定制 - 基本概念
- EFI介绍之——框架结构(Framework)
- GingerBread 定制之乱弹
- UICollectionView之定制UICollectionViewLayout
- hadoop之用户定制
- Qt之QComboBox定制
- 自定制vs插件--LearnVSXNow!-#5 VSX的基本概念
- 了解EFI
- DiskLruCache学习
- 单选和多选框 CheckBox and RadioButton
- CFF2016 想了一会儿的题目
- hive学习(1)——hive简介
- 正则表达式的替换技巧
- EFI基本概念之UDK2015定制EDKTOOL
- java操作Excel-PIO
- cocos2dx[3.2](9) ——数学类Vec2/Size/Rect
- BAT命令大全
- 个人持有 域名
- PHP 通过curl post数据到 golang 的webserver
- quick-cocos2d-x踩坑记
- 网易新闻客户端iOS版本中新闻详情页(UIWebView)技术实现的分析探讨
- Struts2学习(一)--maven搭建Struts2框架的开发环境