在建立Visual Studio專案之前,請確認你已經在DOS Command Prompt下成功進入到NT32的EFI Shell模擬環境,如果還沒成功,請先試試看下面方式:
1) E:\MyWorkSpace:\> EdkSetup.bat
2) 修改E:\MyWorkSpace\Conf\Target.txt 內,搜尋關鍵字MYTOOLS ,並把他改成VS2008x86或是VS2010x86,我是用VS2010,所以要改成VS2010x86
3) 先產生 SHELL檔案,透過 E:\MyWorkSpace:\> build -D BUILD_NEW_SHELL
4) 測試看看能不能看到EFI Shell模擬環境E:\MyWorkSpace:\> build run
5) 如果可以看到Shell,則輸入reset 離開模擬環境
如果上面步驟都已經成功,則你可以繼續底下的步驟來設定VS2010的EDKII專案
Step1: 執行VS2010
Step2: 選擇File->New->Project From Existing Code ...
Step3: 出現的畫面上選擇"Visual C++" project type
Step4: Click "Browse" 然後選擇你的工作目錄 (我的是E:\MyWorkSpace)
Step5: 並在File type的地方輸入底下這些附檔名,他的用意是去辨識哪些檔案要加入專案
*.c;*.h;*.asm;*.asm16;*.s;*.inc;*.asl;*.aslc;*.fdf;*.dsc;*.dec;*.inf;*.py
Step6: 繼續下一步,並選擇 "Use external build system" 然後直接按下 "Finish" (後面的其他設定可以忽略)
Step7: 在步驟6結束後,你應該可以看到專案檔被開啟成功,然後在專案的地方按滑鼠右鍵,然後選擇"Properties"
Step8: 選擇左邊的 "NMake" 然後設定 Configuration 成 "All Configurations".
Step 9: 然後再編輯右邊的 "Build Command Line","Rebuild All Command Line" 和 " Clean Command Line" ,分別輸入下面的設定(請依照自己的工作目錄設定):
For Build Command Line:
------------------------------
cd /d E:\MyWorkSpaceset WORKSPACE=E:\MyWorkSpace
call edksetup.bat --nt32
build
For Rebuild All Command Line:
------------------------------
cd /d E:\MyWorkSpace
set WORKSPACE=E:\MyWorkSpace
call edksetup.bat --nt32
build clean
set WORKSPACE=E:\MyWorkSpace
call edksetup.bat --nt32
build clean
build
For Clean Command Line:
------------------------------
cd /d E:\MyWorkSpace
set WORKSPACE=E:\MyWorkSpace
call edksetup.bat --nt32
build clean
set WORKSPACE=E:\MyWorkSpace
call edksetup.bat --nt32
build clean
Step10: 確定你的工作目錄下的Conf\Target.txt內的TOOL_CHAIN_TAG有設定成VS2010x86,不然你會沒辦法使用VS2010的專案來Compiler,如果你是使用VS2008則設定成VS2008x86即可!
Step11: 再選擇一次專案的"Properties",然後選擇左邊的"Debugging",接著邊及右邊的這兩個選項:
Working Directory : E:\MyWorkSpace\Build\NT32\DEBUG_VS2010x86\IA32
Step12: 當上述的動作都完成了,你就可以試試看Rebuild和Start Debugging的功能了.
成功的話,你會看到EFI Shell的模擬畫面!
2 則留言:
非常感謝您不斷的分享EFI的相關知識,我的工作主要是寫測試程式,目前正學習在shell裡面去測試一些東西,您的blog給我很多的幫助,希望可以再多分享新知識,感謝!
Hi, 在efi下運行寫好的程式出現了assertion ”tmp !=NULL “failed: file “sys\open.c”. line 171的訊息,不曉得您是否有遇過?不知道問題該怎麼解中…
張貼留言