固件版本恢复方法、装置及终端的制作方法

文档序号:10552709阅读:165来源:国知局
固件版本恢复方法、装置及终端的制作方法
【专利摘要】本发明公开了一种固件版本恢复方法、装置及终端,该方法包括:接收固件版本恢复信号;对只读存储器中存储的初始固件版本做镜像代码操作,以使闪存中所存储的固件版本恢复至所述初始固件版本。本发明的技术方案当需要恢复固件版本时,只需要向终端输入一个恢复信号,使只读存储器中存储的初始固件版本做镜像代码操作,以使闪存中所存储的固件版本恢复至初始固件版本,这样无论在研发过程中,还是在使用过程中,都能够高效地恢复终端的固件版本。
【专利说明】
固件版本恢复方法、装置及终端
技术领域
[0001]本发明涉及固件版本更新技术领域,特别涉及一种固件版本恢复方法、装置及终端。
【背景技术】
[0002]目前的常用的终端,例如,便携式媒体播放器(MovingPicture Expert Group 4,MP 4)、手机、平板电脑和笔记本电脑,在出厂前的研发阶段,由于需要对终端进行测试,往往需要对固件版本(FireWare,FW)进行反复的更新和恢复;在出厂后对终端的使用过程中仍需要对固件版本进行更新。不论是出厂前,还是出厂后,终端的固件版本在更新过程中,会存在更新失败的情况,这时需要用户将固件版本恢复至初始状态,此时有两种方法,如果终端可以启动,则在DOS系统下对终端的固件版本进行恢复,如果终端不能启动,则需要拆下终端的主板,将主板连接至外置的下载板(Download Board),来对终端的固件版本进行恢复。
[0003]可见上述对固件版本的恢复方法不但降低了研发效率,还为用户带来了不便。

【发明内容】

[0004]有鉴于此,本发明的目的是提供一种即能提高研发效率,又方便用户的固件版本恢复方法、装置及终端。
[0005]为了实现上述目的,本发明提供了一种固件版本恢复方法,包括:
[0006]接收固件版本恢复信号;
[0007]对只读存储器中存储的初始固件版本做镜像代码操作,以使闪存中所存储的固件版本恢复至所述初始固件版本。
[0008]优选地,对只读存储器中存储的初始固件版本做镜像代码操作之前,所述方法还包括:
[0009]按照关机时序关断终端的信号,所述信号包括电源信号和中央处理器发送的处理信号;
[0010]发送重新启动终端的指令。
[0011]优选地,对只读存储器中存储的初始固件版本做镜像代码操作之后,所述方法还包括:
[0012]验证所述固件版本是否为初始固件版本。
[0013]优选地,接收固件版本恢复信号之前,所述方法还包括:
[0014]将所述初始固件版本存储于只读存储器中;
[0015]若为第一次启动终端,则获取所述只读存储器中的所述初始固件版本,并将所述初始固件版本存储至所述闪存中;
[0016]若对所述闪存中的固件版本更新失败,则发送固件版本恢复信号。
[0017]本发明还提供一种固件版本恢复装置,包括:
[0018]接收模块,用于接收固件版本恢复信号;
[0019]执行模块,用于对只读存储器中存储的初始固件版本做镜像代码操作,以使所述固件版本恢复至初始固件版本。
[0020]优选地,所述装置还包括:
[0021]关断模块,用于按照关机时序关断终端的信号,所述信号包括电源信号和中央处理器发送的各处理信号;
[0022]第一发送模块,对只读存储器中存储的初始固件版本做镜像代码操作之前,用于发送重新启动终端的指令。
[0023]优选地,所述装置还包括:
[0024]验证模块,对只读存储器中存储的初始固件版本做镜像代码操作之后,用于验证所述固件版本是否为初始固件版本。
[0025]优选地,所述装置还包括:
[0026]存储模块,接收固件版本恢复信号之前,用于将所述初始固件版本存储于只读存储器中;
[0027]获取模块,用于当为第一次启动终端时,获取所述只读存储器中的所述初始固件版本,并将所述初始固件版本存储至所述闪存中;
[0028]第二发送模块,用于当对所述闪存中的固件版本更新失败时,发送固件版本恢复信号。
[0029]本发明还提供一种终端,包括如权利要求5-8任一项所述的装置,以实现如权利要求1-4任一项所述的方法。
[0030]与现有技术相比,本发明具有以下有益效果:本发明的技术方案当需要恢复固件版本时,只需要向终端输入一个恢复信号,使只读存储器中存储的初始固件版本做镜像代码操作,以使闪存中所存储的固件版本恢复至初始固件版本,这样无论在研发过程中,还是在使用过程中,都能够高效地恢复终端的固件版本。
【附图说明】
[0031]图1为本发明的固件版本恢复方法的实施例一的流程图;
[0032]图2为本发明的固件版本恢复方法所结合的终端的内部结构框图;
[0033]图3为本发明的固件版本恢复方法的实施例二的流程图;
[0034]图4为本发明的固件版本恢复方法的实施例三的流程图;
[0035]图5为本发明的固件版本恢复装置的实施例一的示意图;
[0036]图6为本发明的固件版本恢复装置的实施例二的示意图;
[0037]图7为本发明的固件版本恢复装置的实施例三的示意图。
【具体实施方式】
[0038]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0039]图1为本发明的固件版本恢复方法的实施例一的流程图,如图1所示,本实施例的固件版本恢复方法,具体可以包括如下步骤:
[0040]SlOl,接收固件版本恢复信号。
[0041 ] 本实施例的执行主体是嵌入式控制器(Embedded Controller,EC)。在本实施例中,可以在终端上设置按键,通过按下按键向终端发送固件版本恢复信号。以笔记本电脑为例,可以在笔记本电脑的键盘上设置热键,如Ctrl+Shift+I键,当按下该热键时,即发送了固件版本恢复信号,EC可以接收到固件版本恢复信号,以便于恢复固件版本。
[0042 ] S102,对只读存储器(ROM)中存储的初始固件版本做镜像代码操作,以使固件版本恢复至初始固件版本。
[0043 ]本实施例在具体实施时,本方法所结合的终端的内部结构框图如图2所示,本实施例预先将初始固件版本存储至只读存储器,可以是与(PU共用的只读存储器,由于只读存储器是不可以擦写的,所以在终端的其他存储区域,例如EC自带的闪存(flash),也存储有初始固件版本,闪存中所存储的初始固件版本是可擦写的,也就是说闪存中所存储的固件版本是可以更新的,终端在启动时读取的是闪存中所存储的初始的或者更新后的固件版本。当需要将固件版本恢复至初始固件版本时,例如在固件版本更新失败时,向EC发送固件版本恢复信号,EC收到固件版本恢复信号后获取只读存储器中的初始固件版本,并将该固件版本复制至EC的闪存中,同时删除EC的闪存中更新失败的固件版本。
[0044]本实施例的技术方案当需要恢复固件版本时,只需要向终端输入一个恢复信号,使只读存储器中存储的初始固件版本做镜像代码操作,以使闪存中所存储的固件版本恢复至初始固件版本,这样无论在研发过程中,还是在使用过程中,都能够高效地恢复终端的固件版本。
[0045]图3为本发明的固件版本恢复方法的实施例二的流程图,本实施例的固件版本恢复方法在上述实施例一的基础上,进一步更加详细地介绍本发明的技术方案。如图3所示,本实施例的固件版本恢复方法,具体可以包括如下步骤:
[0046]S201,接收固件版本恢复信号。
[0047]本实施例的执行主体是嵌入式控制器(Embedded Controller,EC)。在本实施例中,可以在终端上设置按键,通过按下按键向终端发送固件版本恢复信号。以笔记本电脑为例,可以在笔记本电脑的键盘上设置热键,如Ctrl+Shift+I键,当按下该热键时,即发送了固件版本恢复信号,EC可以接收到固件版本恢复信号,以便于恢复固件版本。
[0048]S202,按照关机时序关断终端的信号,信号包括电源信号和中央处理器(CPU)发送的处理信号。
[0049]具体地,终端接收到固件版本恢复信号后,需要将终端所有运行的程序以及电源全部关断,以便于固件版本的恢复。以笔记本电脑为例,当笔记本电脑的EC接收到固件版本恢复信号后,按照一般关机时序将CHJ正在传输和各个处理信号都进行关断处理,再将电源信号进行关断,以使终端关机。
[0050]S203,发送重新启动终端的指令。
[0051]具体地,将终端关闭后,还需要启动终端以将终端的固件版本进行恢复。实际步骤S202是在EC发送重新启动的命令后所进行的,终端接收到重新启动命令后,关断所有的相关信号和电源信号,再接收启动命令。本实施分成两个步骤,因为重新启动实际上就包括了关断信号和启动终端两个步骤。
[0052]S204,对只读存储器中存储的初始固件版本做镜像代码操作,以使固件版本恢复至初始固件版本。
[0053]具体地,结合图2,本实施例预先将初始固件版本存储至只读存储器,可以是与CPU共用的只读存储器,由于只读存储器是不可以擦写的,所以在终端的其他存储区域,例如EC自带的闪存(flash),也存储有初始固件版本,闪存中所存储的初始固件版本是可擦写的,也就是说闪存中所存储的固件版本是可以更新的,终端在启动时读取的是闪存中所存储的初始的或者更新后的固件版本。当需要将固件版本恢复至初始固件版本时,例如在固件版本更新失败时,向EC发送固件版本恢复信号,EC收到固件版本恢复信号后获取只读存储器中的初始固件版本,并将该固件版本复制至EC的闪存中,同时删除EC的闪存中更新失败的固件版本。
[0054]S205,验证固件版本是否为初始固件版本。
[0055]具体地,由于终端中存在多种固件,不同的固件对应着不同的固件版本。以笔记本电脑为例,EC对笔记本电脑的管理引擎驱动(Intel Management Engine Interface,ME)、基本输入输出系统(Basic Input Output System,B10S)和逻辑(LOGIC)模块进行固件恢复,只读存储器存储有ME、B10S和LOGIC模块对应的初始固件版本,如分别为ME2.0、B10S3.0以及LOGIC2.0。每个固件版本都有自己的标识,当固件恢复过程完成后,EC根据固件版本标识来验证所恢复的固件版本是否为正确的初始固件版本。
[0056]本实施例的技术方案当需要恢复固件版本时,只需要向终端输入一个恢复信号,使只读存储器中存储的初始固件版本做镜像代码操作,以使闪存中所存储的固件版本恢复至初始固件版本,这样无论在研发过程中,还是在使用过程中,都能够高效地恢复终端的固件版本。
[0057]图4为本发明的固件版本恢复方法的实施例三的流程图,本实施例的固件版本恢复方法在上述实施例一的基础上,进一步更加详细地介绍本发明的技术方案。如图4所示,本实施例的固件版本恢复方法,具体可以包括如下步骤:
[0058]S301,将初始固件版本存储于只读存储器中。
[0059]具体地,步骤S301是在终端出厂前就写入到只读存储器中的,该只读存储器可为与CPU所共用的只读存储器。
[0060]S302,若为第一次启动终端,则获取只读存储器中的初始固件版本,并将初始固件版本存储至闪存中。
[0061]具体地,由于只读存储器是不可擦写的,也就是说存储于只读存储器中的固件版本是不可更新的,因此作为优选,将固件版本存储于终端的其他存储区域中,以方便更新。在本实施例中,在终端首次启动时,将只读存储器中的初始固件版本写入EC的闪存中,以方便更新。
[0062]S303,若对闪存中的固件版本更新失败,则发送固件版本恢复信号。
[0063]具体地,闪存中的固件版本更新失败,或者其他特殊情况需要恢复到初始固件版本时,可以按下终端上相应的按键,以向EC发送固件版本恢复信号。以笔记本电脑为例,可以将笔记本电脑键盘上的组合键设置为固件版本恢复信号的热键,如ctrl+shift+I键。
[0064]S304,对只读存储器中存储的初始固件版本做镜像代码操作,以使固件版本恢复至初始固件版本。
[0065]具体地,当用户按下终端上相应的固件版本恢复信号对应的热键时,EC将按照如图1或图2所示的实施例的具体步骤,来将只读存传课器中存储的初始固件版本写入EC自带的闪存,并删除原来更新失败的固件版本,并在终端启动时,读取EC的闪存中的固件版本。
[0066]本实施例的技术方案预先将初始固件版本存储于与CPU共用的只读存储器中,由于只读存储器是不可擦写的,所以存储于其中的初始固件版本基本不会被破坏;当内存中的固件版本更新失败时,或者有其他特殊情况需要恢复初始固件版本时,只需要向终端输入一个恢复信号,将只读存储器中存储的初始固件版本复制至闪存中,就可以将闪存所存储的固件版本恢复至初始固件版本,这样,无论在研发过程中,还是在使用过程中,都能够高效地恢复终端的固件版本。
[0067]图5为本发明的固件版本恢复装置的实施例一的示意图,如图5所示,本实施例的固件版本恢复装置,具体可以包括接收模块51和执行模块52。
[0068]接收模块51,用于接收固件版本恢复信号;
[0069]执行模块52,用于对只读存储器中存储的初始固件版本做镜像代码操作,以使固件版本恢复至初始固件版本。
[0070]本实施例的固件版本恢复装置,通过采用上述模块对终端的固件版本进行恢复的实现机制与上述图1所示实施例的固件版本恢复方法的实现机制相同,详细可以参考上述图1所示实施例的记载,在此不再赘述。
[0071]图6为本发明的固件版本恢复装置的实施例二的示意图,本实施例的固件版本恢复装置在如图5所示的实施例一的基础上,进一步更加详细地介绍本发明的技术方案。如图6所示,本实施例的固件版本恢复装置,进一步可以包括关断模块61、第一发送模块62和验证模块63。
[0072]关断模块61,用于按照关机时序关断终端的信号,信号包括电源信号和中央处理器发送的各处理信号;
[0073]第一发送模块62,对只读存储器中存储的初始固件版本做镜像代码操作之前,用于发送重新启动终端的指令。
[0074]验证模块63,对只读存储器中存储的初始固件版本做镜像代码操作之后,用于验证固件版本是否为初始固件版本。
[0075]本实施例的固件版本恢复装置,通过采用上述模块对终端的固件版本进行恢复的实现机制与上述图3所示实施例的固件版本恢复方法的实现机制相同,详细可以参考上述图3所示实施例的记载,在此不再赘述。
[0076]图7为本发明的固件版本恢复装置的实施例二的示意图,本实施例的固件版本恢复装置在如图5所示的实施例一的基础上,进一步更加详细地介绍本发明的技术方案。如图7所示,本实施例的固件版本恢复装置,进一步可以包括存储模块71、获取模块72和第二发送模块73。
[0077]存储模块71,接收固件版本恢复信号之前,用于将初始固件版本存储于只读存储器中;
[0078]获取模块72,用于当为第一次启动终端时,获取只读存储器中的初始固件版本,并将初始固件版本存储至闪存中;
[0079]第二发送模块73,用于当对闪存中的固件版本更新失败时,发送固件版本恢复信号。
[0080]本实施例的固件版本恢复装置,通过采用上述模块对终端的固件版本进行恢复的实现机制与上述图3所示实施例的固件版本恢复方法的实现机制相同,详细可以参考上述图3所示实施例的记载,在此不再赘述。
[0081]本发明还提供一种终端,该终端包括CPU、嵌入式控制器和只读存储器,其中,嵌入式控制器中还设置有闪存。该终端还包括如图5至图7所示的装置,能够实现如图1至图4所示的实施例的方法。
[0082]以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
【主权项】
1.一种固件版本恢复方法,其特征在于,包括: 接收固件版本恢复信号; 对只读存储器中存储的初始固件版本做镜像代码操作,以使闪存中所存储的固件版本恢复至所述初始固件版本。2.根据权利要求1所述的方法,其特征在于,对只读存储器中存储的初始固件版本做镜像代码操作之前,所述方法还包括: 按照关机时序关断终端的信号,所述信号包括电源信号和中央处理器发送的处理信号; 发送重新启动终端的指令。3.根据权利要求1所述的方法,其特征在于,对只读存储器中存储的初始固件版本做镜像代码操作之后,所述方法还包括: 验证所述固件版本是否为初始固件版本。4.根据权利要求1所述的方法,其特征在于,接收固件版本恢复信号之前,所述方法还包括: 将所述初始固件版本存储于只读存储器中; 若为第一次启动终端,则获取所述只读存储器中的所述初始固件版本,并将所述初始固件版本存储至所述闪存中; 若对所述闪存中的固件版本更新失败,则发送固件版本恢复信号。5.—种固件版本恢复装置,其特征在于,包括: 接收模块,用于接收固件版本恢复信号; 执行模块,用于对只读存储器中存储的初始固件版本做镜像代码操作,以使所述固件版本恢复至初始固件版本。6.根据权利要求5所述的装置,其特征在于,所述装置还包括: 关断模块,用于按照关机时序关断终端的信号,所述信号包括电源信号和中央处理器发送的各处理信号; 第一发送模块,对只读存储器中存储的初始固件版本做镜像代码操作之前,用于发送重新启动终端的指令。7.根据权利要求5所述的装置,其特征在于,所述装置还包括: 验证模块,对只读存储器中存储的初始固件版本做镜像代码操作之后,用于验证所述固件版本是否为初始固件版本。8.根据权利要求5所述的装置,其特征在于,所述装置还包括: 存储模块,接收固件版本恢复信号之前,用于将所述初始固件版本存储于只读存储器中; 获取模块,用于当为第一次启动终端时,获取所述只读存储器中的所述初始固件版本,并将所述初始固件版本存储至所述闪存中; 第二发送模块,用于当对所述闪存中的固件版本更新失败时,发送固件版本恢复信号。9.一种终端,其特征在于,包括如权利要求5-8任一项所述的装置,以实现如权利要求1 -4任一项所述的方法。
【文档编号】G06F9/44GK105912346SQ201610305609
【公开日】2016年8月31日
【申请日】2016年5月9日
【发明人】常文涛, 夏治中
【申请人】合肥联宝信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1