在UEFI开源社区中,存在四个与UEFI BIOS相关的开源项目,分别为EDK(EFI Dev Kit),EDKII,EFI Shell和EFI Toolkit.其中,EDKII(EFI Development Kit)是一个开源的EFI BIOS的发布框架,其中包含一系列的开发示例和大量基本的底层库函数,因此,对于其MDE(Module Development Environment)模块开发环境的分析与测试能够在最大程度上保证开发的稳定性和质量。因而选题具有一定的实用性和先进性,此外,整个分析和测试设计的过程中,能够充分体现出在UEFI从事程序设计相对于传统BIOS环境下的优势。
本论文计划从以下几个方面进行研究:1、学习研究UEFI(统一可拓展固件接口)
技术;2、学习研究EDKII框架和相应的MDE(模块开发环境);3、搭建MDE库的测试框架MdeTestPkg:4、编写MdeTestPkg下的测试实例,实现对MDE库的分析与测试。
通过对现有的UEFT(统一可扩展固件按口)技术的学习,深入了解UEFI BIOS的背景知识。在此基础上,学习研究EDK II的整体架构和模块单元开发设计的规范和方法,并用基于EDK 11搭建MDE(模块开发环境)的测试框架,编写类库的测试实例。最终的结果是完成MDE,即模块开发环境框架中的44个库类在DXE阶段的功能分析与测试,并且由于类际的4通性,使得测试的类际能够在不同的平台架构
(如:IA32,X64和IPF等)上成功运行,具有很好的稳定性和健壮性。在本论文中,我只以NT32平台架构为例,来说明MDE库在NT32平台下的测试框架的搭建以及对于MDE库类的测试实例的设计,编写和测试。