ARM UEFI C StdLib BDS

时间:2016-09-01 12:47:42

标签: arm std uefi

据我了解,如果我使用StdLib Pkg构建UEFI应用程序,它依赖于ShellPKg,并且必须通过新Shell启动应用程序(UEFI Interactive Shell v2.1 EDK II UEFI v2.60)。因此,通过使用ShellPkg构建的2.1 Shell手动启动应用程序,但不适用于EBL shell,或通过gBS-> StartImage。

我的问题:是否可以通过BDS(引导设备选择)启动使用StdLib构建的库的UEFI应用程序,而无需先启动Shell并使用startup.nsh启动您想要的UEFI应用程序?

例如尝试使用StdLib启动UEFI应用程序,在BDS中使用以下命令,因为它未通过Shell启动而无法工作:     Status = gBS-> StartImage(ImageHandle,NULL,NULL);

所以我想要实现的是在BDS启动期间用StdLib包执行UEFI应用程序的函数调用。最好不要通过启动脚本。

BR Gigu

1 个答案:

答案 0 :(得分:0)

是的,您可以通过BDS执行UEFI应用程序。

要通过BDS启动/执行UEFI应用程序,我们需要使用BOOT #### NV变量来启动/执行UEFI应用程序。

要通过BDS加载UEFI驱动程序,我们可以使用DRIVER #### NV变量加载DXE,UEFI驱动程序。

使用这种方式,我们不需要使用Starup.nsh方式或Shell环境来启动/执行UEFI应用程序。