如何使用Visual Studio環境進行UEFI Image的build及調試

對於使用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了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章