【问题标题】:Can uefi applications make calls to DXE lib api's and vice versauefi 应用程序能否调用 DXE lib api,反之亦然
【发布时间】:2016-06-02 17:23:26
【问题描述】:

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

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

【问题讨论】:

    标签: uefi


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 2011-02-11
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多