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

相关文章

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push