UEFI应用与编程--HelloWorld(03)

本文介绍如何在UEFI Shell环境下编写一个简单应用。重点在于创建自定义的包,这是UEFI应用程序开发的基础步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何写一个UEFI Shell环境下的一个小应用

四,创建自己的包

  其实也很简单,新建一只“MyPkg”的文件夹,然后把下面的两只文件加入文件夹就可以了,一个完整的Pkg就算建好了。最后就是建立一个“Application”文件夹,把之前的三个“HelloWorld”加入“Application”文件夹即可。另外需要注意的是还需要做一些相应的改动。具体可以参考《UEFI原理与编程》这本书,介绍得挺详细的,本文绝大部分内容都是参考UDK代码和那本书的,算是一个小的总结,也方便往后自己回顾这些内容。

MyPkg.dec
[Defines]
  DEC_SPECIFICATION              = 0x00010005
  PACKAGE_NAME                   = MyPkg
  PACKAGE_GUID                   = B3E3D3D5-D62B-4497-A175-264F489D127E
  PACKAGE_VERSION                = 0.01


[Guids]
  gMyPkgTokenSpaceGuid       = { 0x6e71712, 0x22b7, 0x47e5, { 0x8c, 0xb1, 0x47, 0xcf, 0xc6, 0x49, 0x48, 0xf8 } }

[PcdsFeatureFlag]
  gMyPkgTokenSpaceGuid.PcdHelloWorldPrintEnable|TRUE|BOOLEAN|0x0001200a


[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
  gMyPkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004
  gMyPkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005
MyPkg.dsc
[Defines]
  PLATFORM_NAME                  = MyPkg
  PLATFORM_GUID                  = 2C13B7DF-7455-4fcc-8565-DFA22EE73EC5
  PLATFORM_VERSION               = 0.01
  DSC_SPECIFICATION              = 0x00010006
  OUTPUT_DIRECTORY               = Build/MyPkg
  SUPPORTED_ARCHITECTURES        = IA32|X64|ARM|AARCH64
  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
  SKUID_IDENTIFIER               = DEFAULT

#
#  Debug output control
#
  DEFINE DEBUG_ENABL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值