【技术实现步骤摘要】
本专利技术属于计算机固件
,涉及一种基于龙芯处理器便携式计算机系统(以下简称龙芯便携机)的UEFI固件的实现方法。
技术介绍
UEFI(Unified Extensible FirmwareInterface,统一的可扩展固件接口)是一种计算机固件(或称为BIOS)的接口规范,也是关于固件的最主要的工业标准。UEFI规范最初是面向Intel公司的Itanium和X86处理器进行制定的,但是UEFI规范本身是与处理器架构无关的,目前已经应用于X86、Itanium、ARM等处理器平台。符合UEFI规范的计算机固件(以下简称UEFI固件)相对于传统的固件有很多优越性,目前主流的X86商用计算机系统基本上都是采用了UEFI固件。龙芯(Loongson)是由中国科学院计算所研制的国产通用中央处理器,采用MIPS精简指令集架构。龙芯处理器已形成一系列产品,分别可应用于嵌入式、台式、便携式计算机以及服务器产品。目前应用于便携式计算机产品的龙芯处理器主要是龙芯3A。PMON是一款开源固件,最初是为LSILogic MIPS R3000评估板而设计,后来成为MIPS领域评估板和开发系统的通用固件。官方的PMON固件已经停止维护与发展,最新的PMON2000是PMON的非官方后继版本。龙芯厂商采用PMON2000作为调试处理器的固件,并应用在龙芯便携机解决方案中。但PMON与常规的UEFI计算机固件相比存在很多不足, ...
【技术保护点】
一种基于龙芯便携式计算机的UEFI固件实现方法,其特征是,所述UEFI固件划分为硬件抽象层、固件核心层、设备协议层和固件应用层;所述硬件抽象层实现处理器、内存、芯片组等关键硬件部件的初始化,对其他板级硬件进行包装和抽象并实现初始化,同时为上层模块提供访问底层硬件设备的函数接口。其包括处理器驱动模块、芯片组驱动模块、外设驱动模块和电源管理模块;所述固件核心层建立UEFI中的系统服务表,进行固件中所有模块的统一管理和各种资源的管理;其包括固件核心加载模块、固件核心模块和基础架构功能模块;所述设备协议层实现各种标准的工业规范,包括总线协议、外设接口、网络协议栈等;所述固件应用层实现固件配置界面、系统监控、文件系统、操作系统引导的功能;其包括设备扫描模块、人机界面显示模块、系统监控模块、系统启动模块、文件系统模块、内核加载模块、运行时模块和Shell模块; 所述UEFI固件的具体运行步骤如下: (1)初始化处理器、内存,建立起固件运行的基本环境; (2)将UEFI固件代码复制到内存,并对固件进行解压,加载固件核心模块; (3)建立UEFI固件的基础服务; (4)加载UEFI固件功能模块,包括基 ...
【技术特征摘要】
1.一种基于龙芯便携式计算机的UEFI固件实现方法,其特征是,所述UEFI固件划分为硬件抽象层、固件核心层、设备协议层和固件应用层;所述硬件抽象层实现处理器、内存、芯片组等关键硬件部件的初始化,对其他板级硬件进行包装和抽象并实现初始化,同时为上层模块提供访问底层硬件设备的函数接口。其包括处理器驱动模块、芯片组驱动模块、外设驱动模块和电源管理模块;所述固件核心层建立UEFI中的系统服务表,进行固件中所有模块的统一管理和各种资源的管理;其包括固件核心加载模块、固件核心模块和基础架构功能模块;所述设备协议层实现各种标准的工业规范,包括总线协议、外设接口、网络协议栈等;所述固件应用层实现固件配置界面、系统监控、文件系统、操作系统引导的功能;其包括设备扫描模块、人机界面显示模块、系统监控模块、系统启动模块、文件系统模块、内核加载模块、运行时模块和Shell模块;
所述UEFI固件的具体运行步骤如下:
(1)初始化处理器、内存,建立起固件运行的基本环境;
(2)将UEFI固件代码复制到内存,并对固件进行解压,加载固件核心模块;
(3)建立UEFI固件的基础服务;
(4)加载UEFI固件功能模块,包括基础架构功能模块、设备协议模块;
(5)扫描设备并为设备分配系统资源,加载设备驱动模块,完成设备初始化;
(6)加载电源管理模块,并根据启动模式来执行相应的启动路径:
a)如果当前启动模式是从S3待机状态唤醒,则跳转到操作系统进入S3状态前的运行地址,结束启动过程;
b)如果当前启动模式是正常启动模式,或从S5休眠状态唤醒,则继续后续的步骤;
(7)加载执行固件应用模块;
(8)运行配置界面;
(9)从存储设备加载操作系统。
2.如权利要求1所述的基于龙芯便携式计算机的UEFI固件实现方法,其特征是,所述步骤(1)中执行处理器驱动模块,处理器驱动模块采用MIPS汇编语言实现,是系统上电后首先执行的模块,此时内存还未完成初始化,模块直接在FLASH芯片中运行。
3.如权利要求1所述的基于龙芯便携式计算机的UEFI固件实现方法,其特征是,所述步骤(2)中执行固件核心加载模块;步骤(1)执行完成后,系统内存已经初始化好,此时固件代码在内存中运行以加快运行速度;用C语言来实现固件代码,将存放功能模块的固件卷进行压缩,固件核心加载模块负责从FLASH中将压缩的固件卷复制到内存中,并进行解压;解压成功后,在内存中创建HOB(Hand-Off Block)数据表,存放处理器、内存、FLASH等系统信息,提供给后续的固件模块使用;最后,固件核心加载模块将控制权交给固件核心模块。
4.如权利要求1所述的基于龙芯便携式计算机的UEFI固件实现方法,其特征是,所述步骤(3)中执行固件核心模块;固件核心模块首先初始化UEFI的系统服务,为后续的功能模块的加载、运行做准备。主要是完成UEFI系统表、UEFI启动服务表和UEFI运行时服务表的初始化,具体服务包括代码调试、内存管理、UEFI镜像管理、HOB、UEFI时钟、FLASH访问、解压缩、固件卷解析、UEFI事件、...
【专利技术属性】
技术研发人员:陈小春,张超,朱立森,王亚洲,张家定,赵丽娜,刘昊天,肖志坤,周文丹,
申请(专利权)人:中电科技北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。