概述
DXE是在PEI阶段之后的下一个阶段。它实现了驱动环境的搭建(UEFI第三阶段)。
DXE阶段执行了大量的系统初始化工作,在PEI的基础上,进入此阶段时,内存已经可以被完全使用,因此此阶段可以进行大量复杂的工作。DXE驱动之间通过Protocol通信。当所有的Driver都执行完毕后,系统完成初始化,接着会执行一个特殊的DXE Driver 的Protocol进而进入BDS阶段。从本质上讲,BDS是一种特殊的DXE阶段的应用程序。
整体流程
- DxeMain是DXE阶段执行的主函数,入口函数。根据以参数形式接受PEI阶段生成的HOB表,初始化系统服务。
VOID EFIAPI DxeMain ( IN VOID *HobStart ) - 首先初始化内存服务,创建EFI System Table,在随后被执行的DXE Driver中逐步完善此table。
</// // Initialize Memory Services // CoreInitializeMemoryServices (&HobStart, &MemoryBaseAddress, &MemoryLength); MemoryProfileInit (HobStart);

本文详细介绍了DXE阶段在UEFI系统中的作用,包括其在PEI阶段之后的扩展,内存使用提升后的复杂工作,以及DXE驱动、DxeCore、BDS等组件的交互。DXE负责系统初始化、服务生成和设备管理,是引导进入BDS阶段的关键环节。
最低0.47元/天 解锁文章
2280

被折叠的 条评论
为什么被折叠?



