[发明专利]一种基于龙芯台式计算机的UEFI固件实现方法在审
申请号: | 201410112055.1 | 申请日: | 2014-03-21 |
公开(公告)号: | CN104572163A | 公开(公告)日: | 2015-04-29 |
发明(设计)人: | 陈小春;张超;朱立森;王亚洲;张家定;赵丽娜;刘昊天;肖志坤;周文丹 | 申请(专利权)人: | 中电科技(北京)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100083 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 台式 计算机 uefi 实现 方法 | ||
1.一种基于龙芯台式计算机的UEFI固件实现方法,其特征是,所述UEFI固件划分为硬件抽象层、固件核心层、设备协议层和固件应用层。
其中,所述硬件抽象层实现处理器、内存、芯片组等关键硬件部件的初始化,对其他板级硬件进行包装和抽象并实现初始化,同时为上层模块提供访问底层硬件设备的函数接口;所述固件核心层类建立UEFI中的系统服务表,进行固件中所有模块的统一管理和各种资源的管理;所述设备协议层实现各种标准的工业规范;所述固件应用层实现固件的配置界面、系统监控、文件系统、操作系统引导的功能;
所述UEFI固件的具体运行步骤如下:
(1)初始化处理器、内存,建立起固件运行的基本环境;
(2)将UEFI固件代码复制到内存,并对固件进行解压,加载固件核心模块;
(3)建立UEFI固件的基础服务;
(4)加载UEFI固件功能模块,包括基础架构功能模块、设备协议模块;
(5)扫描设备并为设备分配系统资源,加载设备驱动模块,完成设备初始化;
(6)加载执行固件应用模块;
(7)运行配置界面;
(8)从存储设备加载操作系统。
2.如权利要求1所述的基于龙芯台式计算机的UEFI固件实现方法,其特征是,上述步骤中,步骤(1)中执行处理器驱动模块;处理器驱动模块采用MIPS汇编语言实现,是系统上电后首先执行的模块,此时内存还未完成初始化,所以这个模块直接在FLASH芯片中运行;处理器驱动模块实现龙芯3A处理器、高速缓存、内存、旁路转换缓冲等初始化,实现内存控制器、SMBUS和内存的初始化,配置内存地址窗口,并提供访问CPU、Cache、内存等部件的接口;处 理器驱动模块还要初始化处理器中的串口模块,为后续的固件代码的提供调试手段。
3.如权利要求1所述的基于龙芯台式计算机的UEFI固件实现方法,其特征是,上述步骤中,步骤(2)中执行固件核心加载模块;步骤(1)执行完成后,系统内存已经初始化好,此时固件代码在内存中运行以加快运行速度;用C语言来实现固件代码,加快开发速度;将存放功能模块的固件卷进行压缩,固件核心加载模块负责从FLASH中将压缩的固件卷复制到内存中,并进行解压;解压成功后,在内存中创建HOB(Hand-OffBlock)数据表,存放处理器、内存、FLASH等系统信息,提供给后续的固件模块使用;最后,固件核心加载模块将控制权交给固件核心模块。
4.如权利要求1所述的基于龙芯台式计算机的UEFI固件实现方法,其特征是,上述步骤中,步骤(3)中执行固件核心模块;固件核心模块首先初始化UEFI的系统服务,为后续的功能模块的加载、运行做准备;具体服务包括代码调试、内存管理、UEFI镜像管理、HOB、UEFI时钟、FLASH访问、解压缩、固件卷解析、UEFI事件、任务优先级、UEFI Protocol管理、UEFI变量存取;系统服务表存放在内存的特定区域,UEFI固件中的所有功能模块都可以调用这些系统服务。
5.如权利要求1所述的基于龙芯台式计算机的UEFI固件实现方法,其特征是,上述步骤中,步骤(4)中固件核心模块加载固件的功能模块;固件核心模块通过检索固件卷,依次查找其中的功能模块,并将其加载到内存中。每个功能模块都被编译成一个PE/ELF格式的可执行镜像,固件核心模块需要解析功能模块镜像,然后加载到内存的特定地址处,并跳转到入口函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科技(北京)有限公司,未经中电科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410112055.1/1.html,转载请声明来源钻瓜专利网。