UEFI开发环境搭建(Windows)

news/2024/11/25 21:21:09/

重拾UEFI学习。

第一步是搭建开发环境,记录如下:

1. 安装开发工具

Visual Studio 2017

python/ASL/NASM

安装到如下目录:

c:\Python310

c:\ASL

c:\NASM

更新系统变量Path:

 

新建系统变量PYTHON_HOME

下载EDK2

创建工作目录,起个名字c:\UEFIWorkspace, git bash进入该目录:

 git clone https://github.com/tianocore/edi2.git

  git clone https://github.com/tianocore/edi2-libc.git

 

 2. 配置开发环境

2.1 更新Submodule(子模块)

进入..\UEFIWorkspace\edk2

git submodule update --init
 

2.2 编译BaseTools

VS2017 > Tools > VS Command Prompt

C:\UEFIWorkspace\edk2>edksetup.bat Rebuild

2.3 设置开发工具的路径

在C:\UEFIWorkspace路径下创建mybuild.bat:

set WORKSPACE=%CD%
set EDK_TOOLS_PATH=%CD%\edk2\BaseTools
set CONF_PATH=%CD%\edk2\Conf
set PACKAGES_PATH=%CD%\edk2;%CD%\edk2-libc

2.4 检查edk2/Conf下的配置文件

3. 编译UEFI模拟器和UEFI程序

3.1 编译UEFI模拟器

设置环境变量:

VS2017 > Tools > VS Command Prompt

C:\UEFIWorkspace>mybuild.bat

C:\UEFIWorkspace\edk2>edksetup.bat

 编译UEFI模拟器:

C:\UEFIWorkspace>build -p edk2\EmulatorPkg\EmulatorPkg.dsc -t VS2017 -a IA32

完成之后可在Build\EmulatorIA32目录下看到对应文件夹(忽略VS2015那个,因为target填错了)

 

3.2 编译UEFI程序:

C:\UEFIWorkspace>build -p edk2-libc\AppPkg\AppPkg.dsc -t VS2017 -a IA32

 

运行模拟器:

双击C:\UEFIWorkspace\Build\EmulatorIA32\DEBUG_VS2017\IA32\WinHost.exe

 

 

至此,Windows下的UEFI开发环境搭建完毕。


http://www.ppmy.cn/news/108569.html

相关文章

C++ > Cmake

目录 编译器 多文件编译与链接 Makefile构建系统 编译器 厂商 C C GNU gcc g main.cpp #include <cstdio>int main() {printf("Hello, world!\n");return 0; }编译器, 是一个根据源代码生成机器码的程序 g main.cpp -o a.out调用编译器程序g, 读…

8.Linux重命名文件或目录

在 Linux 中&#xff0c;可以使用 mv 命令来重命名文件或目录。重命名操作其实就是将原文件或目录的名称作为源路径&#xff0c;新名称作为目标路径即可。 下面是一些重命名操作及其示例&#xff1a; 重命名单个文件&#xff1a;将原文件名称作为源路径&#xff0c;新名称作为…

系统集成项目管理工程师(系统集成基础知识)

第一章信息化知识 一、信息的概述 1、信息(information)是客观事物状态和运动特征的一种普遍形式&#xff1b;事物的本体论信息&#xff0c;就是事物的运动状态和状态变化方式的自我表述。 二、信息的传递 2、信息技术主要为解决信息的采集、加工、存储、传输、处理、计算、…

复习向 C/C++ 编程语言简介和概括(C++复习向p1)

文章目录 C 编程语言C 和 C 关系标准的 C 组成ANSI 标准比较重要的标准化时间 C 编程语言 是一种静态类型的、编译式的、通用式的、大小写敏感、不规则的编程语言支持过程化编程&#xff0c;面向对象&#xff0c;泛型编程 C 和 C 关系 C 是 C 的一个超集&#xff0c;任何合法…

cuda编程学习——卷积计算CUDA、Pytorch比较 干货向(六)

前言 参考资料&#xff1a; 高升博客 《CUDA C编程权威指南》 以及 CUDA官方文档 CUDA编程&#xff1a;基础与实践 樊哲勇 参考B站&#xff1a;蒙特卡洛加的树 文章所有代码可在我的GitHub获得&#xff0c;后续会慢慢更新 文章、讲解视频同步更新公众《AI知识物语》&#…

食物储藏信息管理系统的设计与实现(ASP.NET,SQLServer)

需求分析 食物储藏信息管理系统是一个典型的数据库开发应用程序&#xff0c;由基础信息维护、用户信息维护、食物提醒管理、用户管理、食物管理、系统管理、食物储藏等功能模块组成。 具体功能实现如下&#xff1a; 食物管理&#xff1a;食物管理部门自行添加食物&#xff0c;可…

【Matter】使用chip tool在ESP32-C3上进行matter开发

文章目录 使用chip tool在ESP32-C3上进行matter开发前提准备编译 chip-tool1.激活esp-matter环境2.编译matter所需环境3.构建CHIP TOOL chip-tool client 调试设备说明1.基于 BLE 调试2.通过IP与设备配对3.Trust store4.忘记当前委托的设备 使用chip-tool点灯1.matter环境激活2…

Azure Active Directory 的功能和优势

Azure Active Directory (Azure AD) 是 Microsoft 基于云的多租户目录和标识管理服务。 Azure AD 有助于支持用户访问资源和应用程序&#xff0c;例如&#xff1a; 位于企业网络上的内部资源和应用。 Microsoft 365、Azure 门户和 SaaS 应用程序等外部资源。 为组织开发的云应…