The General Procedure Of Setting Up EDKII Development Environment:搭建EDKII开发环境的通用流程[2.1]

本文主要是介绍The General Procedure Of Setting Up EDKII Development Environment:搭建EDKII开发环境的通用流程[2.1],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

The General Procedure Of Setting Up EDKII Development Environment:搭建EDKII开发环境的通用流程[2.1]

2015-0  北京海淀区  张俊浩 

2. Setting Up EDKII Development EnvironmentEDKII开发环境的搭建)

      ->2.1 The General Procedure Of Setting Up EDKII Development Environment(搭建EDKII开发环境的通用流程)

            ->2.1.1 Get the EDKII Source EDKII源码获取(下载)。

            ->2.1.2 Install some third-party tools to build EDKII.相应开发工具链的下载。 

      ->2.2 Setting up a EDK II build environment on Windows and Linux(搭建WindowsLinux开发环境)

      ->2.3 ToolsInstalling and using the Required Tools for downloading and Building EDKII.

            ->2.3.1 Download and Install TortoiseSVN to obtain the EDK II(下载/安装/使用TortoiseSVN工具)

 EDKIIEFI Developer Kit II)是遵循UEFI标准和PIPlatform Initialization)标准的扩平台固件开发环境。UEFI的标准是完全取代BIOS,因而它要完全支持所有类型的CPU,并让所有的硬件厂商接收这种变化。来自不同的厂商的开发者使用不同的开发环境开发自己的产品。为了让这些不同的开发者愉快地接收EDKII来开发自己平台上的UEFI固件或者应用,EDKII对每种平台都提供了相应的开发工具。EDKII支持在多种操作系统下的开发,例如WindowsLinuxUNIXDarwin等,并支持跨平台编译,例如在X86平台Windows开发环境下可以编译出ARM平台上的UEFI应用程序。[参考《UEFI原理与编程》第二章UEFI开发环境搭建]

不论是搭建EDKII还是其他任何源码项目的开发环境(比如Linux源码、Uboot源码)开发环境的搭建都有一般、类似、相同的框架和流程,都具备其基本的开发环境要素:CPU处理器,源码,开发工具链。之所以工程项目开发环境搭建有一般、通用的框架流程,究其原因、本质:我们是通过一定开发工具链编辑、编译工程源码完成对某类型处理器驱动开发。

因为EDKII项目已经支持大多数类型的CPU,所以我们在选定硬件处理器平台后,只需要在源码开发的编译阶段考虑平台相关即可,即通过配置源码利用相应编译器将工程源码编译成硬件平台下相应处理器架构的机器指令。所以EDKII开发环境的搭建的主要任务是:Get the EDKII Source EDKII(EDKII源码获取、下载)Get and Install some third-party tools to build EDKII(相应开发工具链的下载、安装)

2.1.1 Get the EDKII Source EDKII源码获取(下载)

TianCore官网上给出了EDKII源码路径:(EDKII:http://www.tianocore.org/edk2/)

Source repositories:

git{ 

github(https://github.com/tianocore/edk2), 

bitbucket(https://bitbucket.org/tianocore/edk2), sourceforge(https://sourceforge.net/p/tianocore/edk2), more info()

},

svn { sourceforge (https://svn.code.sf.net/p/edk2/code/trunk/edk2/)}

一般是通过gitsubversion项目源码版本管理工具获取相应服务器上的EDKII源码。

 2.1.2 Get and Install some third-party tools to build EDKII.相应开发工具链的下载

我们需要相应的开发工具链对EDKII源码进行编辑、编译、链接成相应硬件平台的机器指令。

根据TianoCore官网http://www.tianocore.org->Getting Started for Developers -> Getting Started with EDK II->Tools ->follow these instructions ->Install some external tools->Third Party Tools:要求我们需要第三方工具包括:c预处理器、c编译器、静态链接器、动态连接器、汇编器、汇编连接器、ACPI汇编器。(3rdParty Tools must include: a C pre-processor,  C compiler,  static linker,  dynamic linker,  and an assembler and assembly linker.For creating ACPI tables required by platforms,  an ACPI assembler is also required.

Windows环境下开发工具是采用集成的开发环境Visual Studio编译器来编译汇编和C和汇编源文件和Microsoft ACPI Source Language Assembler来编译“高级配置与电源接口”(ACPIAdvanced Configuration and Power Interface)源文件,一般是DOS命令行模式下编译开发(These instructions will be written as a series of commands executed from  a command terminal.)。

Linux环境下开发工具链是Gcc编译器、makenasm(80x86汇编器)build-essential(提供编译程序必须软件包的列表信息,安装了该软件包编译c/c++所需要的软件包也都会被安装)uuid-dev ( universally unique id library - headers  and static libraries,  通用唯一标识库--头和静态库)iasl(编译“高级配置与电源接口”(ACPIAdvanced  Configuration  and  Power  Interface)源文件)

这篇关于The General Procedure Of Setting Up EDKII Development Environment:搭建EDKII开发环境的通用流程[2.1]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/290139

相关文章

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA