EDK2开发环境支持WIN7,WIN8,WIN8.1,WIN10,Linux等操作系统,开发UEFI应用和驱动之前都需要建立开发环境,本文采用的edk版本是edk2-201911,操作系统是windows10.
具体的开发环境搭建如下:
1. 下载EDK2源码:
下载地址:https://github.com/tianocore/edk2/tree/edk2-stable201911
安装到:C:\edk2-edk2-stable201911
2. Python 环境
Python版本:3.7.1,下载地址:https://www.python.org/downloads/release/python-371/
安装完成后需要配置一下Python的系统环境变量
3. 下载NASM
NASM 是一款基于80x86 和x86‐64 平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性.
下载地址:https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/win64/
安装到:C:\nasm
4. 安装并配置IASL
IASL用于配置UEFI开发环境,编译.asl文件及电源接口文件
下载地址:https://acpica.org/sites/acpica/files/iasl-win-20200110.zip
解压到:C:\asl
5. Visual Studio集成开发环境
本次实验采用的版本是Visual Studio 2017。
在安装过程中,需要将C++桌面开发环境勾选上进行安装
6. 环境配置步骤
1)将edk2项目导入VS,然后在项目窗口上右击,进入edk2项目的窗口命令行,配置环境变量:
set NASM_PREFIX= C:\nasm\
set IASL_PREFIX = C:\asl\
set WORKSPACE = C:\edk2-edk2-stable201911\
set PACKAGES_PATH = C:\edk2-edk2-stable201911\
set PYTHON_HOME = F:\software\Python\
2)执行 edksetup.bat 命令
3)执行 edksetup.bat Rebuild
运行完后在BaseTools\Bin目录下会生成Win32目录,在Conf\目录下会生成配置文件
目录C:\edk2-edk2-stable201911\BaseTools\Bin下:
目录C:\edk2-edk2-stable201911\Conf下:
4)编辑配置文件Conf/target.txt:
TARGET可以设置为DEBUG或者RELEASE。TARGET_ARCH在Windows下可以设置为IA32或X64。TOOL_CHAIN_CONF表示编译工具链,根据计算机安装的编译器选择即可。本计算机安装VS2017,所以就设置为VS2017。MAX_CONCURRENT_THREAD_NUMBER表示编译期间的最大线程数,设置为计算机的线程数即可
5)执行build命令,build成功后会生成对应的结果文件夹。本次实验构建采用的是X64
Build成功后,在目录EmulatorX64\DEBUG_VS2017\X64下找到WinHost.exe可执行程序,双机运行出现如下画面