UEFI学习4-我的第一个UEFI程序
发布日期:2021-06-29 05:54:04 浏览次数:2 分类:技术文章

本文共 1109 字,大约阅读时间需要 3 分钟。

EDK2模拟器跑起来之后,就可以尝试写一个自己的UEFI程序来看看效果了,步骤记录如下:

1. 创建代码与工程文件

创建代码文件(Yigo.c)

#include 
EFI_STATUS YigoMain(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable){ SystemTable->ConOut->OutputString(SystemTable->ConOut, L"Yigo's first UEFI app\n"); return EFI_SUCCESS;}

创建工程文件(Yigo.inf)

[Defines]INF_VERSION = 0x00010005BASE_NAME = YigoFILE_GUID = 6987936E-ED34-44db-AE97-1FA5E4ED2118MODULE_TYPE = UEFI_APPLICATIONVERSION_STRING = 1.0ENTRY_POINT = YigoMain[Sources]Yigo.c[Packages]MdePkg/MdePkg.dec[LibraryClasses]UefiApplicationEntryPointUefiLib

就这两个文件,.c文件和.inf文件放到模拟器的包目录下,例如:D:\edk2\EmulatorPkg\Application\Yigo

2. 在包的.dsc文件中添加对工程文件inf的引用

因为这个程序是放在模拟器中运行,因此在EmulatorPkg.dsc的[Components]区域,添加对Yigo.inf的引用

EmulatorPkg/Application/Yigo/Yigo.inf

3. build/run

CMD> D:\edk2>build

build完成之后,就能在D:\edk2\Build\EmulatorX64\DEBUG_VS2017\X64目录下看到Yigo.efi文件

双击WinHost.exe运行模拟器, 输入指令Yigo.efi,或者只输Yigo,就能运行程序了:

到此,我的第一个UEFI程序就完成了。

*******************************************************************************************

EDK2提供了其他一些写好的efi程序,例如HelloWorld.efi, UiApp.efi等,下图是UiApp.efi的运行效果:

参考书:《UEFI原理与编程》- 戴正华

 

 

 

转载地址:https://blog.csdn.net/zhouyingge1104/article/details/113500089 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:UEFI学习5-UEFI工程模块文件分类体系
下一篇:EDK2 模拟器GOP Window无法操作(失去焦点)

发表评论

最新留言

不错!
[***.144.177.141]2024年04月19日 22时37分14秒