uefi应用程序可以调用DXE lib api,反之亦然

时间:2016-02-21 08:44:55

标签: uefi

我在edk2 Tianocore工作。我已经为一些数据处理编写了一个DXE驱动程序,这个驱动程序在BDS阶段之前自动执行。 我还写了一个uefi应用程序来做同样的工作,这个应用程序。可以由用户从uefi shell执行。

Dxe驱动程序和应用程序的公共代码放在uefi库中。问题是当从Dxe驱动程序调用时,库中的Print()函数调用不起作用,它们在从app调用时运行良好。

1 个答案:

答案 0 :(得分:2)

在BDS阶段初始化输出控制台之前,打印功能将无效,此时将填充gST-> ConOut指针。您可以使用自己的功能替换库中的打印电话,例如: PrintApp,内部将检查gST-> ConOut,仅在gST-> ConOut不为NULL时调用Print。在开发过程中,我也喜欢在PrintApp函数中的ReadyToBoot之后调用DXE和Print(...)中的DEBUG(...),所以我看到同样的消息会发送到调试控制台或屏幕。

相关问题