【发布时间】:2017-01-09 08:46:07
【问题描述】:
据我了解,如果我使用 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 启动的: 状态 = gBS->StartImage(ImageHandle, NULL, NULL);
所以我想要实现的是在 BDS 启动期间执行带有 StdLib 包的 UEFI 应用程序的函数调用。最好不要通过启动脚本。
BR 吉古
【问题讨论】:
-
为什么需要 StdLib?不能去掉对 StdLib 的依赖吗?