EDK_II環境搭建與測試

一. 環境準備

  1. Windows 10 (64位)專業版
  2. Visual Studio 2010旗艦版(默認路徑安裝)
  3. Mscrosoft SDKs 7.0A
  4. BIOS綜合包裏的EDK開發環境shell

    二. 實驗步驟

    2.1 環境搭建

    2.1.1 準備實驗所需文件

    解壓BIOS 綜合包裏的UDK20120.SR1.UP1.P1.MyWorkSpace,解壓BaseTools(Windows)。把BaseTools(Windows)文件夾裏面的BaseTools文件夾放到C盤根目錄;打開UDK20120.SR1.UP1.P1.MyWorkSpace文件夾裏的MyWorkSpace,把這個文件夾裏的內容放到C:\BaseTools文件夾裏面;把從BaseTools(Windows)解壓的edksetup.bat放到C:\BaseTools文件夾裏面。
    在windows cmd中運行C:\BaseTools\deksetup.bat,命令運行完後會在C:\BaseTools\Conf目錄中生成target.txt和tools_def.txt配置文件。windows

    2.1.2 修改配置文件

    修改C:\BaseTools\Conf\target.txt文件:
    ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc
    TARGET = DEBUG
    TARGET_ARCH = x64 IA32
    TOOL_CHAIN_CONF = Conf/tools_def.txt
    TOOL_CHAIN_TAG = VS2010x86
    MAX_CONCURRENT_THREAD_NUMBER = 1
    BUILD_RULE_CONF = Conf/build_rule.txt
    修改C:\BaseTools\Conf\tools_def.txt文件:
    DEFINE WINSDK_VERSION = v7.0A測試

    2.1.3 生成uefi模擬器

    打開VS2010中的VS命令提示(2010),如圖2.1所示。

    圖2.1 VS2010中的VS命令提示(2010)
    在VS命令提示(2010)中輸入如下命令:
    C:>cd BaseTools
    C:\BaseTools>edksetup.bat,如圖2.2所示。

    圖2.2 運行edksetup.bat
    C:\BaseTools>build,如圖2.3所示。

    圖2.3 編譯生成UEFI SHELL
    大概2分鐘後編譯完成,如圖2.4所示。

    圖2.4 編譯生成UEFI SHELL
    完成後在C:\BaseTools\Build\NT32\DEBUG_VS2010x86\IA32目錄中生成SecMain.exe,打開這個可執行文件就會出現uefi shell。
    環境搭建完畢。ui

    2.2 測試

    2.2.1 修改配置文件

    在C:\BaseTools\Conf\target.txt文件中,修改
    *ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc
    其它選項保持環境搭建時的設置不變。3d

    2.2.2 修改HelloWord.c文件

    註釋C:\BaseTools\MdeModulePkg\Application\Hell oWorld\HelloWorld.c源文件中關於「UEFI HelloWorld !」字符串的輸出,添加「liangshihaoS201607097」字符串的輸出語句,保存退出。如圖2.5所示。

    圖2.5 修改HelloWorld.cblog

    2.2.3 編譯源文件

    打開VS2010中的VS命令提示(2010),輸入如下命令:
    C:>cd BaseTools
    C:\BaseTools>edksetup.bat,如圖2.6所示。

    圖2.6 運行edksetup.bat
    C:\BaseTools>build,如圖2.7所示。

    圖2.7 編譯源文件
    大概2分鐘後編譯完成,如圖2.8所示。

    圖2.8 編譯完成
    在C:\BaseTools\Build\MdeModule\DEBUG_VS2010x86\IA32目錄生成HelloWorld.efi文件。開發

    2.2.4 在UEFI Shell中運行HelloWorld.efi

    在UEFI Shell中依次輸入:
    Shell> fsnt0:
    fsnt0:>HelloWorld.efi,運行結果如圖2.9所示。

    圖2.9 運行HelloWorld.c字符串

相關文章
相關標籤/搜索