问题标签 [gnu-efi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
435 浏览

c - 使用 Print (gnu-efi) 设置打印文本的颜色

我想使用Print函数调用将一些文本打印到屏幕上。有没有办法(或任何其他功能)来设置文本的颜色?

0 投票
1 回答
1113 浏览

printf - EFI 格式字符串参考

好的,很抱歉我必须把它放在这里,但我似乎无法找到我正在寻找的信息。有人可以指点我一些关于 EFI“printf”格式参考的参考文档吗?我的意思是它不像普通的 printf,因为它支持 %g 作为 GUID,并为 %llu 打印一个问号。我最好的 Google-bet 是 "efi" "print" "format" reference "%g" "%s" "%a" "%d",但它没有给出任何可用的结果。其他搜索词提出了一些打印机的一些颜色设置。我做错什么了?谁能找到这个信息?谢谢。

0 投票
1 回答
277 浏览

c++ - UEFI c++:使用打印时,发生 wchar_t 转换错误

我想尝试在 c++ 中制作一个小 (U)EFI 引导加载程序,但是,当我尝试编译我的代码(使用 g++)时会出现此错误:

我使用了这个命令(我从 Ubuntu WSL2 工作):

这是我的代码:

编辑: 如果我从“Hello,world\n”中删除 L,会给我这个错误:

编辑 2: 如果我在 hello world (u"Hello,world\n") 前面使用 u 会出现此错误:

0 投票
3 回答
249 浏览

c - 如何获得在 GNU-EFI 下工作的协议?

我使用 GNU-EFI 开发 UEFI 应用程序。我在获取在 GNU-EFI 下工作的协议 (EFI_SHELL_PROTOCOL) 时遇到了一些麻烦。我的编译器说它是未定义的。我应该包括一些东西吗?我已经包含了efi.hefilib.h。我需要更多吗?

我试过的代码:

我得到的错误:

0 投票
1 回答
168 浏览

c++ - EFI 内存映射返回 0 个 EFIConventionalMemory 部分

如标题所述,在 UEFI 引导加载程序中获取 EFI 内存映射不会产生 EFIConventionalMemory 的任何部分。如果我没记错的话,这应该是大部分内存吧?

它在 QEMU 和真实硬件上都返回这个。将 QEMU 设置为 2GB RAM 会导致 ACPIReclaimMemory 的内存段由大部分内存(2009MB 的 ACPI 可回收)组成,这对我来说似乎很荒谬。这是预期的行为还是有什么问题?

谢谢。

编辑:这是我正在使用的类型列表

0 投票
1 回答
200 浏览

uefi - 是否可以在 Visual Studio 中使用 GNU-EFI 中的标准 libc 功能?

我正在使用 gnu-efi 作为 Visual Studio 2019 项目。我的 UEFI 程序在真实硬件上按预期工作。下一步,我需要像“ pow(...); ”这样的C特性。自然,在使用 efi 时,所有这些功能都被禁用。当我直接包含<math.h>时,我得到unresolved external ... error。如果我启动一个成功构建的不受限制的项目。

我问过它,有人建议我下载 EDK2 libc,但我不知道如何在我的项目中使用它,或者它是否适用于 GNU-EFI。我不知道该怎么做才能使用 C 功能。如果有人告诉我该怎么做,我会很高兴。

0 投票
2 回答
675 浏览

c - 如何使用 UEFI 运行时服务?

我想了解有关固件开发的更多信息。我已经知道如何为旧的 BIOS 编写汇编程序,现在我想从 UEFI 开始。我设法编译并模拟了一个Hello World程序,现在我正在尝试编写一个程序,该程序使用运行时服务 GetTime() 在屏幕上显示当前时间。但是,当我使用此功能时,程序会挂起,就好像它没有在 PI 期间安装一样。这是代码:

你知道我做错了什么吗?

这是我用来编译和模拟的代码,以备不时之需:

0 投票
1 回答
273 浏览

c - 如何阅读 LBA (UEFI)

我想在 UEFI 中列出根目录的内容,但我没有找到任何协议可以做到这一点;因此我想打印目录文件的内容,但EFI_FILE_PROTOCOL无法读取目录文件。我唯一能做的就是读取包含该信息的磁盘扇区,但EFI_BLOCK_IO_PROTOCOL返回0x02.

这是代码:

你能看出我做错了什么吗?

0 投票
1 回答
154 浏览

uefi - 如何使用网络包开发 UEFI 应用程序?

我看到 GNU EFI 是一个编译应用程序的工具链,但它似乎没有很多库。

Tianocore EDK2 带有大量代码,以及我仍在研究的模块和驱动程序。默认情况下,它会构建一个完整的固件映像,我将其用作 BIOS。

我需要做的是,开发一个支持网络的应用程序,它将向服务器查询启动指令,然后准备接下来的步骤。这个想法是从管理服务器控制启动过程,因此客户端应该能够按照说明从 TFTP、本地存储或更新本地存储等启动。

0 投票
0 回答
72 浏览

multithreading - UEFI - 如何提高图形性能?

我正在尝试用 GOP 绘制光标。光标绘制发生在 while 循环中。

我在 GOP 所在的文件:https ://drive.google.com/file/d/1neifcwzow4WLGId7LRCzEFx5n43narDi/view?usp=sharing

我应该怎么做才能提高我的表现或我在这里做错了什么?