UEFI嵌入式驱动程序的开发研究

来源 :数字化用户 | 被引量 : 0次 | 上传用户:shizm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】随着计算机的不断发展,传统的BIOS固件已经不能继续满足其发展了。因此,新的固件技术UEFI应运而生。论文结合UEFI的定义,以及其所呈现的优势,进一步进行嵌入式驱动程序的开发,在其开发过程中引入了UEFI驱动模型,并总结而出通用的驱动程序开发步骤,为UEFI固件技术的稳步发展提供新的保障。
  【关键词】UEFI 嵌入设备 驱动程序
  随着计算机技术的进一步发展,传统的固件技术已不能满足其进一步发展。于是,提出了UEFI这一技术,克服传统BIOS的缺陷,成为新的固件技术[1]。
  一、UEFI概述
  (一)UEFI定义
  UEFI是Unified Extensible Firmware Interface的缩写,又被称为“统一的可扩展固件接口”。该固件技术主要采用C语言、模块化等参数传统来建立新的网络系统,实现硬件与系统间的有效连接,方式更加灵活。整体而言,就是一个可以扩展,具有一定标准的固件接口规范[2]。
  (二)UEFI的优势
  UEFI这以可扩展固件接口,是为了取代传统固定,缺少文档仅靠经验进行约定的BIOS固件,具有自身独特的优势。
  首先,UEFI超过99%的部分编码都是利用C语言实现的,并且采用了Driver/protocol的新型硬件端口操作方法;其次,UEFI实现了强大的管理工具优势,可以调动计算机设备进行驱动,还能够进行远程系统配置,无需操作系统就能启动管理等;最后UEFI还实现了清晰明了的图形界面组合,由初始化模块、驱动执行环境、驱动程序、兼容支持模块等几大部分共同构成。同时,由于UEFI内部设置了图形驱动,因此根据彩色图形,可以通过鼠标进行调整配置。所以,UEFI较BIOS具有强大的可扩展性、兼容性、图形界面以及鼠标操作性等优势,势必成为主流固件接口技术。
  二、UEFI嵌入式驱动程序开发
  (一)UEFI驱动程序简介
  计算机程序都存在一定的入口,也就是通常所说的接口,主函数,将其输入计算机系统后,编译器会自动进行识别并执行命令。而对于应用程序与驱动程序,一般都是PE映像头中的Sub-system来进行区分的。UEFI驱动程序都是由其引导管理器进行的加载,或者可以通过UEFI固件和应用程序来加载驱动,是不能够直接进行的一种操作方式。在计算机系统进行应用程序加载时,固件就会保留一定的空间进行映像储存,待程序加载完毕后,就会逐步向计算机驱动程序转移。当然程序返回情况有所不同,从驱动程序入口点返回EFI-SUCCESS,不需要卸载驱动程序,只有当出现错误代码时,才要将驱动程序卸载后返回UEFI组件。
  (二)UEFI嵌入式驱动程序开发分析
  UEFI的启动操作系统,根据现代软件体系分为四个阶段来具体实现,是进行复杂的嵌入式系统程序的基础,其主要运行机理如图所示:
  图1 UEFI启动操作流程图
  根据UEFI的启动操作程序,可以发现其嵌入式驱动程序的开发是一个复杂漫长的过程,而为了简化UEFI的驱动程序开发,大量的引进了驱动模型,更方便阐述驱动程序开发的过程及原理。
  1.UEFI驱动模型
  UEFI驱动模型主要通过对多种协议的组装整合,实现了硬件驱动。而且根据能否创建子控制器,UEFI驱动模型分为总线驱动、设备驱动两种[3]。它能有效的将计算机硬件与驱动程序分离,尽可能的减小驱动程序多占空间,整体维护系统的可扩展性。
  2.UEFI嵌入式驱动程序开发过程
  利用计算机进行的驱动程序开发,包括USB键盘以及鼠标等搜狐死常见的,但是复杂的嵌入式驱动程序开发还未被广泛应用。而要实现计算机UEFI嵌入式驱动程序的开发,就必须先掌握驱动程序开发的通用方法,了解驱动程序开发过程中,函数与协议的结合使用。
  陕西某职业电子信息学院针对计算机UEFI嵌入式驱动程序开发技术原理及步骤,进行了驱动程序ProtocolImpll的开发实例研究。该驱动程序主要是利用UEFI指纹设备驱动实现的,注册Protocol为其程序辨别器,通过第三方来进行指纹设备驱动,完成嵌入式UEFI驱动程序开发[5]。首先利用ProtocolConsume找寻ProtocolImpll的具体位置,将其作为UEFI固件接口,然后完成该接口的程序功能。
  通过UEFI函数Install-ProtocolInterface来安装驱动程序,进行指纹硬件设备驱动,就能很好的实现ProtocolImpll这一嵌入式驱动程序。在驱动程序开发过程中,依照通用的程序协议步骤,就能完成最后执行镜像的文件INF,它包含了C语言程序的定义、构成、链接库以及其他有效信息。最后将INF输入预定的DSC文件中,自动使用GenMake生成二进制的镜像文件,就能实现指纹驱动程序。
  三、结语
  UEFI作为新的固件技术,在技术上具有传统BISO固件技术所不能比拟的优势。尤其是利用C语言进行整个系统的编码,能够打破过去固定的经验之谈,扩大系统的兼容性与扩展性。不仅如此,UEFI在程序的开发应用上也具有一定的优势,实践总结出驱动程序开发的一般步骤方法,为UEFI进行嵌入式驱动程序开发奠定了良好的基础。
  参考文献:
  [1]余超志,朱泽民.新一代BIOS-EFI-CSSBIOS技术研究[J].山东:科技信息(学术版),2006(5):14-15.
  [2]庄克良,高云岭,纪向尚.UEFI BIOS在复杂嵌入式系统中的可应用性的研究[J].湖北:舰船电子工程,2009(12):156-158,163.
  [3]崔莹,辛晓晨,沈钢纲.基于UEFI的嵌入式驱动程序的开发研究[J].北京:计算机工程与设计,2010(10):1384-2387.
其他文献
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
【摘 要】在学校教学管理中,学籍管理是重要的内容。新形势下,高职院校应坚持”以学生为本“的原则,积极探索学籍和学历的信息化管理途径。目前学校管理者所亟待解决的问题,是为学生提供周到的服务。本文从几个方面,提出了加强学籍学历管理的措施,旨在为学籍学历管理工作提供有价值的借鉴和参考。  【关键词】高职院校 学籍学历管理 以学生为本 实践  在高职院校教学管理中,学籍管理是重要的组成部门,是对正常的生活
本文主要讨论建筑企业如何规划与设计企业网络。以典型企业为例,在规划过程中,严格按照企业需求,结合当前比较先进的网络技术,提出设计方案,指导工程实施。
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥