firmware - UEFI "applications"实际用于什么类型的东西?

标签 firmware uefi efi

我对 PC 固件编程很感兴趣,我只是在研究 UEFI 规范。令我惊讶的是,它似乎是嵌入在固件中的整个操作系统的规范。您甚至可以编写直接使用 UEFI 引导服务运行的 UEFI“应用程序”,而无需任何其他操作系统。

我找到了一些博客文章,其中展示了如何创建“你好,世界!”可以在 UEFI 预引导环境中运行的应用程序。这……很有趣,同时也很奇怪。我将在常规操作系统上运行我的“Hello, world”程序,谢谢。

UEFI 应用程序实际上适合哪些用例?花式启动配置屏幕?是否有任何“真正的”商用 PC 固件使用 UEFI 应用程序来实现不仅仅是引导加载程序和引导配置实用程序?

最佳答案

任何不是 PEI/DXE/SMM 核心或驱动程序的东西都是一个应用程序,所以任何“真正的”PC 都有它们,因为 BIOS 设置实际上是一个 UEFI 应用程序。一些供应商包括各种其他应用程序,如固件更新程序、诊断和故障排除实用程序等。 UEFI 2.4 可以添加您自己的应用程序,其中包含正确填充的 BootXXXX/KeyXXXX 变量对,然后通过在 POST 期间按组合键来运行它。

大多数用 C 编写的控制台应用程序可以使用 StdLib package 编译为 UEFI 应用程序。当前EFI Development Kit然后在 UEFI shell 中运行。

有用的 UEFI 应用程序(当然,除了引导加载程序、shell 和 Linux 内核之外)的主要示例是 Intel ME System Tools , Read Universal , Python 2.7还有很多。

最终,当传统引导不再可用时,所有当前有用的 DOS 实用程序必须要么成为 UEFI 应用程序,要么消失。

关于firmware - UEFI "applications"实际用于什么类型的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26825927/

相关文章:

linux - 了解嵌入式平台设计

windows - 将 Windows 7 UEFI 条目写入 NVRAM

linux - 将 EFI 内存映射转换为 E820 映射

driver - 将我自己的 UEFI 应用程序\驱动程序添加到 UEFI (VMware)

ARM Cortex-R4F、缓存和 MPU

c - ARM 处理器如何区分负数和正数?

serial-port - AT+GCAP & co. 有回复吗?告诉 "I' m 不是调制解调器,走开”?

uefi - 引导时自动运行EFI应用程序

bios - 如何让基于 UEFI EDK2 的 BIOS 自动加载位于其自身固件卷中的驱动程序?