EDK2 环境搭建(Microsoft Visual Studio 2013)
一、下载安装“Microsoft Visual Studio”2013.(保持默认路径,方便 EDK2 环境中的路径设置)
二、下载 EDK2 source (UDK2014.SP1.P1.Complete.MyWorkSpace.zip):
1. 解压放到,如 D:\EDK2\MyWorkSpace
2. 将 “BaseTools(Windows)” 下面的文件Copy到 D:\EDK2\MyWorkSpace
3. 修改D:\EDK2\MyWorkSpace\Conf\target.txt
********************************************************************************************
# TAGNAME List Optional Specify the name(s) of the tools_def.txt TagName to use.
# If not specified, all applicable TagName tools will be
# used for the build. The list uses space character separation.
#############################################
#TOOL_CHAIN_TAG = MYTOOLS
#################################### Hiwen ###
TOOL_CHAIN_TAG = VS2013x86
*********************************************************************************************
三、Microsoft Visual Studio 2013 环境配置(使其能Build)
目的: 使VS2013 能够build windows-hosted(NT32) environment
1. 创建 nmake 项目
文件(File) -> 新建(New) -> 项目(Project) -> Visual C++ -> 常规(General) -> 生成文件项目(Makefile),设置名称及路径后 -> 点击“确定”
-> 点击“完成”
2. nmake 环境配置
选择刚刚生成的项目,并对其进行属性配置,对 MyBuild 右键->属性
或者: 项目(Project) -> 配置属性(Properties),-> NMake
(注:没必要 配置-> 下拉菜单“所有配置(All Configurations)”)
a. 配置“生成命令行(Build Command Line)”
***************************
cd D:\EDK2\MyWorkSpace
call edksetup.bat --NT32
build
****************************
没必要:
cd /D D:\EDK2\MyWorkSpace
set WORKSPACE=D:\EDK2\MyWorkSpace
call edksetup.bat --nt32
build
b. 配置“‘全部重新生成’命令行(Rebuild All Command Line)”
****************************
cd D:\EDK2\MyWorkSpace
call edksetup.bat --NT32
build clean
build
****************************
c. 配置“‘清除’命令(Clean Command Line)”
****************************
cd D:\EDK2\MyWorkSpace
call edksetup.bat --NT32
build clean
****************************
点击“OK”
3. 执行 Build
生成(Build) -> 生成解决方案(Build Solution)。
等待...Build 完成会显示以下界面!
EDK2 Shell - Debug(Microsoft Visual Studio 2013)
一、 Shell - Debug 环境配置
项目(Project) -> 属性(properties) -> 配置属性 -> 调试(Debugging)
A. 配置“命令(Command)”:
********************************************************************************************
D:\EDK2\MyWorkSpace\Build\NT32IA32\DEBUG_VS2013x86\IA32\SecMain.exe
********************************************************************************************注: SecMain.exe 在build 后,会自动生成!
B. 配置“工作目录(Working Directory)”
***********************************************************************
D:\EDK2\MyWorkSpace\Build\NT32IA32\DEBUG_VS2013x86\IA32
***********************************************************************
点击“OK”
二、(非必要)修改 D:\EDK2\MyWorkSpace\Nt32Pkg\Nt32Pkg.dsc
>>> Find: Pcd Dynamic Section
将“PcdWinNtGop”这行的“UGA”替换为“GOP”
************************************************************************************************
#gEfiNt32PkgTokenSpaceGuid.PcdWinNtGop|L"UGA Window 1!UGA Window 2"|VOID*|52
gEfiNt32PkgTokenSpaceGuid.PcdWinNtGop|L"GOP Window 1!GOP Window 2"|VOID*|52
************************************************************************************************
>>> 出现的是“GOP Window 1”or 2
三、 Debug
调试(Debug) -> 启动调试(Start Debugging),或直接按F5,OK!
出现两个窗口:
the Debug output console window:
The graphics output window: >>> will show a fake loge,a progress bar and the boot into the built-in EFI shell