如何使用Visual Studio环境进行UEFI Image的build及调试

来源:互联网 发布:smee社gal知乎 编辑:程序博客网 时间:2024/05/29 03:08

对于使用Intel Tiano EDKII的Code Base进行image的source build时,官方发布的最常用的方法是使用VS自带的Command Prompt命令行工具。以下步骤则是直接利用VS环境进行build,以及对如何对生成的Image进行Debug。

1. 安装VS环境。本人安装的为Visual Studio Ultimate 2012。

2. 下载EDKII Code Base源码,下载地址为:https://svn.code.sf.net/p/edk2/code/trunk/edk2

3. 打开VS2012,导入EDKII源码,具体步骤为:

1). 文件-->新建-->从现有代码创建项目

2). 选择项目的类型为Visual C++,点击下一步。

3). 填入EDKII源码路径以及项目名称

4). 在“要添加到项目中的文件类型”中,填写如下文件类型:*.py;*.c;*.h;*.asm;*.asm16;*.s;*.inc;*.asl;*.aslc;*.fdf;*.dsc;*.dec;*.inf;*.uni;*.hfr;*.vfr;*.dxs,点击下一步。至此,这些类型的文件将在项目中被显示出来。

5). 选择“使用外部生成系统”,并且把如下内容保存为BuildVS2012.bat文件(在此默认Build NT32的Image),保存路径和Nt32Pkg在同一目录下:

@call edksetup.bat 
@rem if you are using a platform that uses EDK components 
@rem or you need the EdkCompatibilityPkg libraries 
@REM set EFI_SOURCE=%CD%\Nt32Pkg 
@set EFI_SOURCE=%CD%
build %1 -p Nt32Pkg\Nt32Pkg.dsc -t VS2012 -a IA32 -b DEBUG -n 100 --log=build.log

6).在“生成命令行”中,填写:BuildVS2012.bat

7).在“重新生成命令行”中,填写:BuildVS2012.bat all

8).在“清除命令行”中,填写:BuildVS2012.bat clean,并点击下一步

4.至此,就可以直接在“生成”-->“生成解决方案”中build image了(或者直接按F7)。

5.需要进行Source Debug时,在对应的Source文件中添加断点的方法:在对应C文件需要打断点处加上:_asm int 3; 然后重新Build image. Build完Image之后,打开BuildVS2012.bat文件,编辑最后一行build %1 -p Nt32Pkg\Nt32Pkg.dsc -t VS2012 -a IA32 -b DEBUG -n 100 --log=build.log,加上run。也就是build %1 -p Nt32Pkg\Nt32Pkg.dsc -t VS2012 -a IA32 -b DEBUG -n 100 --log=build.log run。

6.按F5进行调试,此时会出现如下警告信息:



选择“调试程序”,然后选择对应的Debug工具就可以进行Debug了。



原创粉丝点击