EDK2 打印 HalloWorld

一、要求

        打印 HelloWorld。

二、环境

        EDK2:202305

三、实现

        (这里是我的路径,以自己的为准。)

        在 D:\edk2\MdeModulePkg\Application (我这里以 D盘为例子)这个路径下创建一个自己的文件夹(全英文,不要有中文符号),在新创建的自己的文件夹下,再重新创建一个自己的工程。(我这里自己的工程是 HelloWorld)。如下图:

         在自己创建的文件夹 HelloWorld 下分别创建 .c文件和 .inf文件。如下图:

        .c文件:

#include <Uefi.h>
EFI_STATUS UefiMain(IN EFI_HANDLE Imagehandle, IN EFI_SYSTEM_TABLE *SystemTable) {

	SystemTable->ConOut->OutputString(SystemTable->ConOut, L"HelloWorld\n");
	return EFI_SUCCESS;
}

         .inf文件:

[Defines]
  INF_VERSION =      0x00010005
  BASE_NAME =        hello
  FILE_GUID =        f35a7352-2cc1-44c0-9ba6-4c3b5f4dbe42
  MODULE_TYPE =      UEFI_APPLICATION 
  VERSION_STRING =   1.0
  ENTRY_POINT =      UefiMain
[sources]
  hello.c
[Packages]
  MdePkg/MdePkg.dec
[LibraryClasses]
  UefiApplicationEntryPoint
  UefiLib

         然后把 .inf文件的相对路径复制到 D:\edk2\EmulatorPkg 目录下的 EmulatorPkg.dsc 文件中的 [Components] 下。如下图:

四、编译

        右键 edksetup.bat ,打开开发人员命令提示。

        在下图界面中依次执行 

        edksetup.bat

        build

        这两个指令。

五、验证

        编译成功后会在 D:\edk2\Build\EmulatorX64\DEBUG_VS2017\X64 这个目录下生成一个 .efi文件。如下图:

         还是在 D:\edk2\Build\EmulatorX64\DEBUG_VS2017\X64 这个目录下找到 WinHost.exe 文件。如下图:

        左键双击  WinHost.exe,出现下图所示界面:

        执行图中的指令后,可以看到打印 HelloWorld。其中 hello.efi 为上面编译生成的文件。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值