在决定写一个简单的“Hello World!” 在 EDK2 程序中,我偶然发现了以下问题:
当我使用串行连接进行调试时,调试功能(如DebugPrint )的输出成功地重定向到我的串行终端(在本例中为 PuTTY)。
在 UEFI shell 中编译执行以下程序后,我只是得到一个空行。但是在再次执行相同的二进制文件后,该行被成功打印出来了。
这是我运行的程序的源代码:
#include <Uefi.h>
#include <Library/DebugLib.h>
EFI_STATUS
efi_main(EFI_HANDLE ImageHandle,
EFI_SYSTEM_TABLE* SystemTable
)
{
DebugPrint(DEBUG_INFO, "Hello World!\n");
return EFI_SUCCESS;
}
串行输出:
注意:我将我的程序与IoLib、SerialPortLib和DebugLib 相关联
什么可能导致此问题?