UEFI学习4-我的第一个UEFI程序

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

1. 创建代码与工程文件

创建代码文件(Yigo.c)

#include <Uefi.h>
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 = 0x00010005
BASE_NAME = Yigo
FILE_GUID = 6987936E-ED34-44db-AE97-1FA5E4ED2118
MODULE_TYPE = UEFI_APPLICATION
VERSION_STRING = 1.0
ENTRY_POINT = YigoMain

[Sources]
Yigo.c

[Packages]
MdePkg/MdePkg.dec

[LibraryClasses]
UefiApplicationEntryPoint
UefiLib

就这两个文件,.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原理与编程》- 戴正华

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值