2012年11月2日 星期五
2012年10月29日 星期一
How To Build EDK & EDK II Environment In Easy Way
如何編譯EDK
(以D:\為例)
安裝Windows Driver Kit到C:\WINDDK\3790.1830
將Edk 1.06解壓縮到D:\
將EfiShell 1.06解壓縮到D:\Edk\Other\Maintained\Application\UefiShell資料夾下
修改D:\Edk\Sample\LocalTools.env 確認NASM與DDK路徑
編輯D:\Edk\Sample\Platform\Nt32\Build\Config.env
用系統管理完開啟命令提示字元
切換目錄到D:\Edk\Sample\Platform\Nt32
輸入SET EDK_SOURCE=D:\Edk
輸build編譯
編譯成功畫面
切換到D:\Edk\Sample\Platform\Nt32\uefi\IA32
輸入secmain.exe
如何編譯EFI_Toolkit
解壓縮EFI_Toolkit_2.0.0.1 至 D:\Edk\Sample\Platform
修改D:\Edk\Sample\Platform\EFI_Toolkit_2.0\build.cmd裡SDK_INSTALL_DIR路徑
輸入build
輸入nmake編譯
編譯完成畫面
輸出EFI檔在D:\Edk\Sample\Platform\EFI_Toolkit_2.0\build\em64t\bin
如果要編譯成其他檔案可以更改build.cmd裡的SDK_BUILD_ENV
想要決定編譯哪幾個檔案可以修改D:\Edk\Sample\Platform\EFI_Toolkit_2.0\apps\apps.mak
想要修改WINDDK路徑的話
D:\Edk\Sample\Platform\EFI_Toolkit_2.0\build\em64t\sdk.env
如何編譯EDKII
安裝完成後在你要的目錄,點右鍵SVN Checkout
系統管理員開啟命令提示字元
輸入edksetup.bat
因為我是用Visual Studio 2010
必須修改Conf\target.txt 裡的TOOL_CHAIN_TAG = 2010
再輸入Build就會編譯了
編譯完成畫面
直接輸入build run
或是執行D:\EDKII\edk2\Build\NT32\DEBUG_VS2010\IA32\secmain.exe
模擬器開啟畫面
這裡有說明EDK II各個Package的內容
如果要切換不同Package
可以修改Conf\target.txt裡的
ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc
2012年9月27日 星期四
如何開啟A20位址線 ?
Assembly code
In al, 0x92
Or al, 2
Out 0x92, al
Another way is to use the BIOS.
INT 15, 2401
mov ax, 0x2401
int 0x15
2012年9月26日 星期三
Legacy BIOS V.S. UEFI BIOS
Legacy BIOS | UEFI BIOS | |
Language | Interrupt | C (99%) |
Resource | InterruptHardcode Memory AccessHardcode I/O Access | Driver \ Protocols |
Processor | X86 16-bits | CPU Protected Mode (Flat Mode) |
Target | Binary Code | Removable Binary Drivers |
Expand | Hook Interrupt | Load Driver |
OS Bridge | ACPI | Run Time Driver Service |
3rd Party ISV & IHV | Bad for Support | Easy for Support and Multi-Platforms |
如何切換80 port Debug燈號 -> LPC or PCI ?
訂閱:
文章 (Atom)