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

相关文章

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

spring-gateway filters添加自定义过滤器实现流程分析(可插拔)

《spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔)》:本文主要介绍spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔),本文通过实例图... 目录需求背景需求拆解设计流程及作用域逻辑处理代码逻辑需求背景公司要求,通过公司网络代理访问的请求需要做请

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

使用JavaConfig配置Spring的流程步骤

《使用JavaConfig配置Spring的流程步骤》JavaConfig是Spring框架提供的一种基于Java的配置方式,它通过使用@Configuration注解标记的类来替代传统的XML配置文... 目录一、什么是 JavaConfig?1. 核心注解2. 与 XML 配置的对比二、JavaConf

SpringBoot实现多环境配置文件切换

《SpringBoot实现多环境配置文件切换》这篇文章主要为大家详细介绍了如何使用SpringBoot实现多环境配置文件切换功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 示例代码结构2. pom文件3. application文件4. application-dev文