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

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配