[发明专利]一种基于龙芯手持式计算机的UEFI固件实现方法在审
申请号: | 201410112040.5 | 申请日: | 2014-03-21 |
公开(公告)号: | CN104572162A | 公开(公告)日: | 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)启动操作系统,或进行操作系统的恢复、升级操作。
2.如权利要求1所述的基于龙芯手持式计算机的UEFI固件实现方法,其特征是,所述步骤(1)中执行处理器驱动模块。处理器驱动模块采用MIPS汇编语言实现,是系统上电后首先执行的模块,此时内存还未完成初始化,模块直接在FLASH芯片中运行。
3.如权利要求1所述的基于龙芯手持式计算机的UEFI固件实现方法,其特征是,所述步骤(2)中执行固件核心加载模块;步骤(1)执行完成后,系统内存已经初始化好,将存放功能模块的固件卷进行压缩,固件核心加载模块负责从FLASH中将压缩的固件卷复制到内存中,并进行解压;解压成功后,在内存中创建HOB(Hand-OffBlock)数据表,存放处理器、内存、FLASH等系统信息,提供给后续的固件模块使用;最后,固件核心加载模块将控制权交给固件核心模块。
4.如权利要求1所述的基于龙芯手持式计算机的UEFI固件实现方法,其特征是,所述步骤(3)中执行固件核心模块;固件核心模块首先初始化UEFI的系统服务,为后续的功能模块的加载、运行做准备;主要是完成UEFI系统表、UEFI启动服务表和UEFI运行时服务表的初始化,具体服务包括代码调试、内存管理、UEFI镜像管理、HOB、UEFI时钟、FLASH访问、解压缩、固件卷解析、UEFI事件、任务优先级、UEFI Protocol管理、UEFI变量存取等;系统服务表存放在内存的特定区域,UEFI固件中的所有功能模块都可以调用这些系统服务。
5.如权利要求1所述的基于龙芯手持式计算机的UEFI固件实现方法,其特征是,所述步骤(4)中固件核心模块加载固件的功能模块;固件核心模块通过检索固件卷,依次查找其中的功能模块,并将其加载到内存中;每个功能模块都被编译成一个PE/ELF格式的可执行镜像,固件核心模块需要解析功能模块镜像,然后加载到内存的特定地址处,并跳转到入口函数;功能模块的入口函数执行完成后返回到固件核心模块,固件核心模块继续进行下一个功能模块的加载。
6.如权利要求1所述的基于龙芯手持式计算机的UEFI固件实现方法,其特征是,所述步骤(5)中完成设备的初始工作;固件核心模块加载设备驱动模块,实现龙芯嵌入式处理器中集成的外设控制器的初始化,包括显示控制器、PS2控制器、USB控制器、NAND FLASH控制器、LPC控制器;并实现主板上外设的初始化和实现访问外设的函数接口,包括LCD显示屏、NAND FLASH存储器、T9键盘、USB设备等;通常由一个模块实现一种设备驱动。
7.如权利要求1所述的基于龙芯手持式计算机的UEFI固件实现方法,其特征是,所述步骤(6)中固件核心模块加载固件卷中的固件应用模块,主要包括人机界面模块、系统支持模块;然后运行人机界面模块,在LCD显示屏上提供少量的几个菜单,用户可通过T9键盘来选择要进行的操作,包括查看固件版本信息、进行系统恢复、系统升级、系统启动等;如果用户没有进行按键操作,则固件在等待时间超时后,自动进行操作系统启动。
8.如权利要求1所述的基于龙芯手持式计算机的UEFI固件实现方法,其特征是,所述步骤(7)中系统支持模块实现操作系统的启动、恢复和升级功能;根据用户在上一步骤中的选择,固件进行操作系统的恢复、升级或者启动功能;在进行操作系统恢复或升级时,固件从NAND FLASH中的备份区域或者U盘中读取操作系统内核文件,并写入NAND FLASH中存放操作系统内核的区域;在进行操作系统启动时,固件从NAND FLASH中将操作系统内核文件读取到内存,并为内核准备必要的启动参数,然后将控制权交给内核并的区域的备份区,从而完成系统的启动工作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科技(北京)有限公司;,未经中电科技(北京)有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410112040.5/1.html,转载请声明来源钻瓜专利网。