EDK2从搭建到运行

参考书籍:UEFI编程实践

安装开发工具

可自行选择其他版本,此处使用VS2019

安装VS2019

  1. 安装路径可自定义;
  2. 勾选:使用C++的桌面开发
  3. 勾选:C++ Clang工具(最开始没有安装,导致编译MdeModulePkg一直报错)
  4. 其他项目自选在这里插入图片描述

安装 Python27

也可以安装新版python,实测python38/python39没问题

  1. 打开python-2.7.15.msi安装文件,点击Next;
    在这里插入图片描述
  2. 找到Add python.exe to path 点击前面的×,选择Will be installed on local hard drive
    在这里插入图片描述
  3. 点击Advanced 勾选Compile .py files byte code after installation
    在这里插入图片描述
  4. 继续安装,直到完成

NASM

下载完成之后,解压 并 改名 至

C:\nasm

IASL

下载完成之后,解压 并 改名 至:

C:\ASL

环境变量

系统变量 -> Path 下添加:

C:\Python27\
C:\ASL
C:\nasm

系统变量 下新建:

PYTHON_HOME=C:\Python27
CLANG_BIN=VS2019安装路径\2019\Professional\VC\Tools\Llvm\x64\bin\

EDKII

在C盘根目录下面新建目录:C:\UEFI,进入此目录,右键 “GIT Bash Here”,执行如下指令下载EDKII:

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

(下载可能会失败,多试几次,或者开启VPN下载)
完成之后会在C:\UEFI目录下面生成 \edk2 和 edk2-libc
在这里插入图片描述

配置开发环境

更新submodule:

GIT Bash进入C:\UEFI\edk2 目录,执行如下指令:

git submodule update --init

执行完这次操作之后,以后更新submodule时,就不用添加–init,直接执行 git submodule update 。
(下载可能会失败,多试几次,或者开启VPN下载;submodule的控制文件位于edk2.gitmodules)

编译 BaseTools

  1. 进入C:\UEFI\edk2 目录,执行如下指令:
edksetup.bat Rebuild

在这里插入图片描述
2. 编译好的工具在:C:\UEFI\edk2\BaseTools

设置开发工具路径

为方便后续开发,设置如下脚本 以配置环境变量,内容如下:
C:\UEFI\mybuild.bat

cmd /k "set WORKSPACE=%CD%&&set EDK_TOOLS_PATH=%CD%\edk2\BaseTools&&set CONF_PATH=%CD%\edk2\conf&&set PACKAGES_PATH=%CD%\edk2;%CD%\edk2-libc&&edk2\edksetup.bat"

设置EDKII配置文件:

配置文件位于:C:\UEFI\edk2\Conf,分别是 target.txt 和 tools_def.txt

  1. C:\UEFI\edk2\Conf\target.txt (确保TOOL_CHAIN_TAG正确)
ACTIVE_PLATFORM       = EmulatorPkg/EmulatorPkg.dsc
TARGET                = DEBUG
TARGET_ARCH           = IA32
TOOL_CHAIN_CONF       = Conf/tools_def.txt
**TOOL_CHAIN_TAG        = VS2019**
  1. C:\UEFI\edk2\Conf\tools_def.txt
    主要确定工具路径,如果使用默认路径安装VS2015则不用更改路径(如果安装的其他版本,则确认对应版本的路径)
    在这里插入图片描述

编译指令

前面环境配置完之后,以后重新运行edk2只用运行以下指令,不用重复执行上面步骤

编译前准备:

C:\UEFI,双击脚本文件:

mybuild.bat

然后直接输入编译指令即可

编译环境已准备,输入指令编译模块:

c:\UEFI>build -p ***模块路径*** -t VS2015x86 -a IA32

example1:编译 EmulatorPkg 模块(edk2\EmulatorPkg\EmulatorPkg.dsc):
build -p edk2\EmulatorPkg\EmulatorPkg.dsc -t VS2015x86 -a IA32

example2:编译 Hello.inf 包(AppPkg\Applications\Hello\Hello.inf)
build -p edk2-libc\AppPkg\AppPkg.dsc -a X64 -m edk2-libc\AppPkg\Applications\Hello\Hello.inf -b DEBUG

BUILD 常用参数

在这里插入图片描述

模拟器运行 .efi 文件

编译EmulatorPkg 模块-模拟器模块:

edk2\EmulatorPkg\EmulatorPkg.dsc

运行模拟器:

C:\UEFI\Build\EmulatorIA32\DEBUG_VS2015x86\IA32\WinHost.exe

将 .efi 程序 放到 WinHost.exe 目录,进入 shell 之后即可在当前目录找到 .efi 程序
在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
《VBA编程从入门到精通》是一本介绍VBA编程的书籍资源,适合初学者和有一定经验的读者。本书内容涵盖了VBA编程的基础知识和高级技巧,帮助读者从入门到精通VBA编程。 首先,本书首先介绍了VBA的基础知识,包括VBA开发环境的配置、VBA语言的基本语法、变量和数据类型、运算符、控制流程等。这些内容为读者提供了编写VBA程序的基础。 其次,本书详细介绍了VBA中的常用对象和方法。例如,Excel中的Workbook、Worksheet、Range对象,Word中的Document、Range对象等。通过详细讲解这些对象和方法的用法,读者可以充分了解如何利用VBA自动化处理各种办公软件的操作。 此外,本书还介绍了VBA编程的高级技巧,如错误处理、数组、函数和过程的使用、用户界面设计等。通过学习这些高级技巧,读者可以编写更加复杂和功能强大的VBA程序。 最后,本书提供了大量的实例和案例,涵盖了常见的应用场景,如数据处理、图表生成、自动化报表、宏录制和播放等。通过实际操作这些例子,读者可以提高自己的编程能力和解决问题的能力。 总的来说,《VBA编程从入门到精通》是一本全面介绍VBA编程的书籍,通过系统学习本书的内容,读者可以从VBA的基础知识到高级技巧,逐步提升自己的编程水平,掌握VBA编程的各种技巧和应用,从而能够熟练地利用VBA解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值