著录项信息
| 专利名称 | 一种固件刷机恢复设备、固件刷机恢复方法及系统 |
| 申请号 | CN201010612207.6 | 申请日期 | 2010-12-29 |
| 法律状态 | 授权 | 申报国家 | 中国 |
| 公开/公告日 | 2011-08-03 | 公开/公告号 | CN102141940A |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | G06F11/00 | IPC分类号 | G;0;6;F;1;1;/;0;0查看分类表>
|
| 申请人 | TCL集团股份有限公司 | 申请人地址 | 广东省惠州市鹅岭南路6号TCL工业大厦8楼技术中心
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | TCL集团股份有限公司 | 当前权利人 | TCL集团股份有限公司 |
| 发明人 | 孙翀 |
| 代理机构 | 深圳中一专利商标事务所 | 代理人 | 张全文 |
摘要
本发明适用于电子设备技术领域,提供了一种固件刷机恢复设备、固件刷机恢复方法及系统,所述固件刷机恢复设备包括具有引导分区、文件分区和应用分区的存储装置、用于接收用户输入的刷机指令的刷机按键及主芯片,该主芯片与所述存储装置连接,并通过一引脚与所述刷机按键连接通信,用于对引脚的电平值进行检测,根据检测到的电平值进行相应的操作并判断出现数据崩溃的分区,依据出现数据崩溃所在的分区,控制读取刷机程序包,写入所述存储装置的相应分区,执行程序恢复操作,操作简单,克服了通过返厂维修或技术人员上门维修所带来的成本增加的问题,给用户带来便利。
1.一种固件刷机恢复设备,所述固件刷机恢复设备包括具有引导分区、文件分区和应用分区的存储装置,其特征在于,所述固件刷机恢复设备还包括:
刷机按键,用于接收用户输入的刷机指令;以及
主芯片,与所述存储装置连接,并通过一引脚与所述刷机按键连接通信,用于对引脚的电平值进行检测,根据检测到的电平值进行相应的操作并判断出现数据崩溃的分区,依据出现数据崩溃所在的分区,控制读取刷机程序包,写入所述存储装置的相应分区,执行程序恢复操作;
其中,所述根据检测到的电平值进行相应的操作具体为:当所述电平值为低电平时,所述主芯片读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序;当所述电平值为高电平时,所述主芯片计算比对所述存储装置的引导分区上存储的引导程序的哈希值;
所述主芯片还用于判断引导程序的哈希值是否正确,正确则所述主芯片加载所述存储装置的引导分区上存储的引导程序,并读取一刷机程序包,写入所述存储装置的文件分区和应用分区;当所述引导程序的哈希值不正确时,所述主芯片读取刷机程序包中引导程序,写入所述存储装置的引导分区。
2.如权利要求1所述的固件刷机恢复设备,其特征在于,所述刷机程序包为全功能全系统的升级程序,并与固件升级程序同时发布。
3.一种基于权利要求1所述的固件刷机恢复设备的固件刷机恢复方法,其特征在于,所述固件刷机恢复方法包括下述步骤:
对与所述刷机按键连接的引脚的输入信号电平值进行检测;
当所述电平值为高电平时,计算比对所述存储装置的引导分区上存储的引导程序的哈希值;
当所述引导程序的哈希值正确时,加载所述存储装置的引导分区上存储的引导程序,并控制读取刷机程序包,写入所述存储装置的文件分区和应用分区;
当所述引导程序的哈希值不正确时,控制读取所述刷机程序包中引导程序,写入所述存储装置的引导分区;
当所述电平值为低电平时,读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序。
4.如权利要求3所述的固件刷机恢复方法,其特征在于,所述刷机程序包为全功能全系统的升级程序,并与固件升级程序同时发布。
5.一种固件刷机恢复系统,其特征在于,所述固件刷机恢复系统包括:
电平检测模块,用于对与所述刷机按键连接的引脚的输入信号电平值进行检测;
哈希值计算比对模块,用于当所述电平检测模块检测到所述电平值为高电平时,计算比对所述存储装置的引导分区上存储的引导程序的哈希值;
第一恢复控制模块,用于当所述引导程序的哈希值正确时,加载所述存储装置的引导分区上存储的引导程序,并控制读取一刷机程序包,写入所述存储装置的文件分区和应用分区;
第二恢复控制模块,用于当所述引导程序的哈希值不正确时,控制读取刷机程序包中引导程序,写入所述存储装置的引导分区;以及
正常引导控制模块,用于当所述电平值为低电平时,读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序。
6.如权利要求5所述的固件刷机恢复系统,其特征在于,所述刷机程序包为全功能全系统的升级程序,并与固件升级程序同时发布。
一种固件刷机恢复设备、固件刷机恢复方法及系统\n技术领域\n[0001] 本发明属于电子设备技术领域,尤其涉及一种固件刷机恢复设备、固件刷机恢复方法及系统。\n背景技术\n[0002] 随着消费类电子设备的日新月异的演化,软件在电子设备中起到的作用越来越重要,软件本身也已经越来越复杂,现在的产品进化的路线主要变为:硬件产品本身的计算能力越来越强大,硬件的生命周期也会越来越长,尤其是在某种产品趋于稳定成熟后更是如此,例如视频游戏机行业的PS3、XBOX等,其硬件寿命都有十年左右的时间,产品的升级换代更多地体现在固件的升级上。\n[0003] 固件的升级在实际使用的过程中,会带来一些安全性上的问题,最常见的一种现象:由于各种原因导致的固件刷机恢复失败,破坏了原有的系统结构,导致整个系统无法正常恢复运行,失败的原因各种各样,例如,可能是固件刷机恢复过程中正在写文件时,发生断电,导致文件分区表的数据混乱甚至崩溃,又或者是由于存储介质本身物理上出现所谓的坏块区域,导致数据不可用,尽管可以通过各种技术手段进行容错处理,尽可能防止出现系统崩溃的情况,但是没有任何一种技术方案可以确保完全杜绝系统崩溃的现象发生。\n[0004] 当固件出现崩溃后,可以通过下述方式进行容错:\n[0005] 1.直接返厂维修;\n[0006] 2.技术人员上门服务,现场调试解决。\n[0007] 但是,上述两种方式的容错成本太高,上述返厂维修或者技术人员上门调试维护的过程都比较长,而且操作繁琐,给用户带来使用上的不便。\n发明内容\n[0008] 本发明的目的在于提供一种固件刷机恢复设备,旨在解决现有技术提供的当固件出现崩溃时的容错方式,成本高,实现繁琐,给用户带来不便的问题。\n[0009] 本发明是这样实现的,一种固件刷机恢复设备,所述固件刷机恢复设备包括具有引导分区、文件分区和应用分区的存储装置,所述固件刷机恢复设备还包括:\n[0010] 刷机按键,用于接收用户输入的刷机指令;以及\n[0011] 主芯片,与所述存储装置连接,并通过一引脚与所述刷机按键连接通信,用于对引脚的电平值进行检测,根据检测到的电平值进行相应的操作并判断出现数据崩溃的分区,依据出现数据崩溃所在的分区,控制读取刷机程序包,写入所述存储装置的相应分区,执行程序恢复操作;\n[0012] 其中,所述根据检测到的电平值进行相应的操作具体为:当所述电平值为低电平时,所述主芯片读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序;当所述电平值为高电平时,所述主芯片计算比对所述存储装置的引导分区上存储的引导程序的哈希值;\n[0013] 所述主芯片还用于判断引导程序的哈希值是否正确,正确则所述主芯片加载所述存储装置的引导分区上存储的引导程序,并读取一刷机程序包,写入所述存储装置的文件分区和应用分区;当所述引导程序的哈希值不正确时,所述主芯片读取刷机程序包中引导程序,写入所述存储装置的引导分区。\n[0014] 本发明的另一目的在于提供一种基于固件刷机恢复设备的固件刷机恢复方法,所述固件刷机恢复方法包括下述步骤:\n[0015] 对与所述刷机按键连接的引脚的输入信号电平值进行检测;\n[0016] 当所述电平值为高电平时,计算比对所述存储装置的引导分区上存储的引导程序的哈希值;\n[0017] 当所述引导程序的哈希值正确时,加载所述存储装置的引导分区上存储的引导程序,并控制读取刷机程序包,写入所述存储装置的文件分区和应用分区;\n[0018] 当所述引导程序的哈希值不正确时,控制读取所述刷机程序包中引导程序,写入所述存储装置的引导分区;\n[0019] 当所述电平值为低电平时,读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序。\n[0020] 本发明的另一目的在于提供一种固件刷机恢复系统,所述固件刷机恢复系统包括:\n[0021] 电平检测模块,用于对与所述刷机按键连接的引脚的输入信号电平值进行检测;\n[0022] 哈希值计算比对模块,用于当所述电平检测模块检测到所述电平值为高电平时,计算比对所述存储装置的引导分区上存储的引导程序的哈希值;\n[0023] 第一恢复控制模块,用于当所述引导程序的哈希值正确时,加载所述存储装置的引导分区上存储的引导程序,并控制读取一刷机程序包,写入所述存储装置的文件分区和应用分区;\n[0024] 第二恢复控制模块,用于当所述引导程序的哈希值不正确时,控制读取刷机程序包中引导程序,写入所述存储装置的引导分区;以及\n[0025] 正常引导控制模块,用于当所述电平值为低电平时,读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序。\n[0026] 本发明实施例提供的固件刷机恢复设备,所述固件刷机恢复设备包括具有引导分区、文件分区和应用分区的存储装置,所述固件刷机恢复设备还包括:刷机按键,用于接收用户输入的刷机指令;主芯片,与所述存储装置连接,并通过一引脚与所述刷机按键连接通信,用于对引脚的电平值进行检测,根据检测到的电平值判断出现数据崩溃的分区,依据出现数据崩溃所在的分区,控制读取刷机程序包,写入所述存储装置的相应分区,执行程序恢复操作,操作简单,克服了通过返厂维修或技术人员上门维修所带来的成本增加的问题,给你用户带来便利。\n附图说明\n[0027] 图1是本发明实施例提供的固件刷机恢复设备的结构示意图;\n[0028] 图2是本发明实施例提供的固件刷机恢复方法的实现流程图;\n[0029] 图3是本发明实施例提供的固件刷机恢复系统的结构框图。\n具体实施方式\n[0030] 为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0031] 本发明实施例提供一种固件刷机恢复设备,通过所述固件刷机恢复设备的主芯片完成数据崩溃分区的检测,并从相应的位置读取刷机程序包,恢复程序,操作简单,实现成本较低。\n[0032] 本发明实施例的目的在于提供一种固件刷机恢复设备,所述固件刷机恢复设备包括具有引导分区、文件分区和应用分区的存储装置,所述固件刷机恢复设备还包括:\n[0033] 刷机按键,用于接收用户输入的刷机指令;以及\n[0034] 主芯片,与所述存储装置连接,并通过一引脚与所述刷机按键连接通信,用于对引脚的电平值进行检测,根据检测到的电平值进行相应的操作并判断出现数据崩溃的分区,依据出现数据崩溃所在的分区,控制读取刷机程序包,写入所述存储装置的相应分区,执行程序恢复操作;\n[0035] 其中,所述根据检测到的电平值进行相应的操作具体为:当所述电平值为低电平时,所述主芯片读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序;当所述电平值为高电平时,所述主芯片计算比对所述存储装置的引导分区上存储的引导程序的哈希值;\n[0036] 所述主芯片还用于判断引导程序的哈希值是否正确,正确则所述主芯片加载所述存储装置的引导分区上存储的引导程序,并读取一刷机程序包,写入所述存储装置的文件分区和应用分区;当所述引导程序的哈希值不正确时,所述主芯片读取刷机程序包中引导程序,写入所述存储装置的引导分区。\n[0037] 本发明的另一目的在于提供一种基于固件刷机恢复设备的固件刷机恢复方法,所述固件刷机恢复方法包括下述步骤:\n[0038] 对与所述刷机按键连接的引脚的输入信号电平值进行检测;\n[0039] 当所述电平值为高电平时,计算比对所述存储装置的引导分区上存储的引导程序的哈希值;\n[0040] 当所述引导程序的哈希值正确时,加载所述存储装置的引导分区上存储的引导程序,并控制读取刷机程序包,写入所述存储装置的文件分区和应用分区;\n[0041] 当所述引导程序的哈希值不正确时,控制读取所述刷机程序包中引导程序,写入所述存储装置的引导分区;\n[0042] 当所述电平值为低电平时,读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序。\n[0043] 本发明的另一目的在于提供一种固件刷机恢复系统,所述固件刷机恢复系统包括:\n[0044] 电平检测模块,用于对与所述刷机按键连接的引脚的输入信号电平值进行检测;\n[0045] 哈希值计算比对模块,用于当所述电平检测模块检测到所述电平值为高电平时,计算比对所述存储装置的引导分区上存储的引导程序的哈希值;\n[0046] 第一恢复控制模块,用于当所述引导程序的哈希值正确时,加载所述存储装置的引导分区上存储的引导程序,并控制读取一刷机程序包,写入所述存储装置的文件分区和应用分区;\n[0047] 第二恢复控制模块,用于当所述引导程序的哈希值不正确时,控制读取刷机程序包中引导程序,写入所述存储装置的引导分区;以及\n[0048] 正常引导控制模块,用于当所述电平值为低电平时,读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序。\n[0049] 本发明实施例提供的固件刷机恢复设备,所述固件刷机恢复设备包括具有引导分区、文件分区和应用分区的存储装置,所述固件刷机恢复设备还包括:刷机按键,用于接收用户输入的刷机指令;主芯片,与所述存储装置连接,并通过一引脚与所述刷机按键连接通信,用于对引脚的电平值进行检测,根据检测到的电平值判断出现数据崩溃的分区,依据出现数据崩溃所在的分区,控制读取刷机程序包,写入所述存储装置的相应分区,执行程序恢复操作。\n[0050] 图1示出了本发明实施例提供的固件刷机恢复设备的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。\n[0051] 本发明实施例提供的固件刷机恢复设备包括存储装置、刷机按键以及主芯片,其中,该存储装置即为包含引导分区、文件分区和应用分区的存储区域,其存储的是设备运行所需的数据;刷机按键即为该固件刷机恢复设备增加的硬件装置,其实现与电子设备上的启动按键类似即可;而主控芯片是完成该技术方案的核心部件,其包括多个引脚,在该实施例中,可以定义一引脚,该引脚用以连接所述刷机按键。\n[0052] 其中,主芯片与所述存储装置连接,并通过一引脚与所述刷机按键连接通信,用于对引脚的电平值进行检测,根据检测到的电平值进行相应的操作,即当所述电平值为低电平时,该主芯片读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序;当所述电平值为高电平时,表示用户通过刷机按键启动产品,此时所述主芯片计算比对所述存储装置的引导分区上存储的引导程序的哈希值。\n[0053] 所述主芯片根据引导程序的哈希值判断出现数据崩溃的分区,依据出现数据崩溃所在的分区,控制读取刷机程序包,写入所述存储装置的相应分区,执行程序恢复操作。\n[0054] 当所述引导程序的哈希值正确时,主芯片加载所述存储装置的引导分区上存储的引导程序,并读取一刷机程序包,写入所述存储装置的文件分区和应用分区;当所述引导程序的哈希值不正确时,主芯片读取刷机程序包中引导程序,写入所述存储装置的引导分区。\n[0055] 所述刷机程序包存储在一外接存储设备中,其为一全功能全系统的升级程序,包含全部的固件文件、库和模块,固件升级包发布商每次在发布固件升级程序的同时,发布与该固件升级程序对应的刷机程序。\n[0056] 在本发明实施例中,上述主芯片固化有一固定代码,该固定代码属于只读性质,其根据上述主芯片的引脚输入信号的电平值来控制读取数据的位置。\n[0057] 在本发明实施例中,该存储装置即为flash,存储装置的三个分区,即引导分区、文件分区和应用分区,在设备出厂前已经设置完成,其中:\n[0058] 引导分区存储的是固件的引导程序,该程序功能是在固定的位置进行系统的初始化引导启动,启动完成后,就将主导权交给操作系统内核接管,引导程序必须保存在flash的固定地址空间中;\n[0059] 文件分区存储操作系统的内核及文件系统数据,该区域存储的通常是稳定不变的操作系统,在文件系统区域,除了原厂提供的操作系统外,在文件系统中还需要增加一个单独的固件升级检测模块,这个升级检测模块的主要作用是在每次运行时,读取外接存储设备上的固件升级包,进行升级工作;\n[0060] 应用分区是存储固件的应用程序的区域,该区域是最为频繁地进行更新的区域。\n[0061] 图2示出了本发明实施例提供的固件刷机恢复方法的实现流程,其具体的步骤如下所述:\n[0062] 在步骤S201中,对与所述刷机按键连接的引脚的输入信号电平值进行检测。在本发明实施例中,该检测的过程即为接收用户按下刷机按键所产生的指令的过程,当设备正常启动时,该与刷机按键连接的引脚的输入信号的电平值为低电平,即执行步骤S202。\n[0063] 在步骤S202中,当所述电平值为低电平时,读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序。该步骤即为正常情况下的系统启动的过程,在此不再赘述,但不用以限制本发明。\n[0064] 在步骤S203中,当所述电平值为高电平时,计算比对所述存储装置的引导分区上存储的引导程序的哈希值,即判断所述哈希值是否正确,是则执行步骤S204,否则执行步骤S205。\n[0065] 在本发明实施例中,该计算设备存储装置引导分区的引导程序的哈希值的目的是检测存储的引导程序是否发生数据崩溃。\n[0066] 在步骤S204中,当所述引导程序的哈希值正确时,加载所述存储装置的引导分区上存储的引导程序,并由该引导程序控制读取刷机程序包,写入所述存储装置的文件分区和应用分区。\n[0067] 在本发明实施例中,引导程序的哈希值正表示至少引导程序没有崩溃。\n[0068] 在本实施例中,所述刷机程序包存储在一外接存储设备中,其为一全功能全系统的升级程序,包含全部的固件文件、库和模块,固件升级包发布商每次在发布固件升级程序的同时,发布与该固件升级程序对应的刷机程序。厂家或者供应商可以一并将固件升级包和刷机程序包一并打包发布到网上,用户可以在网络上直接下载,或者下载的其他存储单元,在此统一定义为外接存储设备,即为通过与固件升级包一并发送的刷机程序包来实现设备的自动刷机恢复。\n[0069] 当当前引导程序的哈希值计算完成时,与预先存储的哈希值进行比对,判断两者是否一致,是则表示该引导程序没有发生数据崩溃,否则则表示该引导程序发生数据崩溃。\n[0070] 该步骤表示引导程序没有发生数据崩溃,发生数据崩溃的区域可能是文件分区,此时,需要从存储装置的引导分区读取加载引导程序,并控制从外接存储设备中读取刷机程序包,并将刷机程序包一次写入文件分区。\n[0071] 在步骤S205中,当所述引导程序的哈希值不正确时,控制读取刷机程序包中引导程序,写入所述存储装置的引导分区。\n[0072] 在本发明实施例中,当哈希值不正确时,表示引导分区存储的引导程序发生崩溃,此时需要控制读取引导程序,写入该引导分区,并加载启动引导程序,并控制读取文件系统数据,启动操作系统,进而开启应用程序。\n[0073] 图3示出了本发明实施例提供的固件刷机恢复系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分,其中,可以理解为上述固件刷机恢复系统可以内置于主芯片的软件单元、硬件单元或软硬件结合单元。\n[0074] 所述固件刷机恢复系统包括电平检测模块11、哈希值计算比对模块12、第一恢复控制模块13、第二恢复控制模块14及正常引导控制模块15。\n[0075] 电平检测模块11对与所述刷机按键连接的引脚的输入信号电平值进行检测;当所述电平检测模块11检测到所述电平值为高电平时,哈希值计算比对模块12计算比对所述存储装置的引导分区上存储的引导程序的哈希值;当所述引导程序的哈希值正确时,第一恢复控制模块13加载所述存储装置的引导分区上存储的引导程序,并控制读取刷机程序包,写入所述存储装置的文件分区和应用分区;当所述引导程序的哈希值不正确时,第二恢复控制模块14控制读取刷机程序包中引导程序,写入所述存储装置的引导分区。\n[0076] 所述刷机程序包存储在一外接存储设备中,其为一全功能全系统的升级程序,包含全部的固件文件、库和模块,固件升级包发布商每次在发布固件升级程序的同时,发布与该固件升级程序对应的刷机程序。厂家或者供应商可以一并将固件升级包和刷机程序包一并打包发布到网上,用户可以在网络上直接下载,或者下载的其他存储单元,在此统一定义为外接存储设备,即为通过与固件升级包一并发送的刷机程序包来实现设备的自动刷机恢复。\n[0077] 其中,当所述电平值为低电平时,正常引导控制模块15读取所述存储装置的引导分区上存储的引导程序,控制所述引导程序加载操作系统,控制所述操作系统加载应用程序。\n[0078] 上述仅为本发明的一个系统实施例,其各模块的功能如上述方法实施例所述,在此不再赘述,但不用以限制本发明。\n[0079] 本发明实施例提供的固件刷机恢复设备,所述设备包括具有引导分区、文件分区和应用分区的存储装置,所述设备还包括:刷机按键,用于接收用户输入的刷机指令;主芯片,与所述存储装置连接,并通过一引脚与所述刷机按键连接通信,用于对引脚的电平值进行检测,根据检测到的电平值判断出现数据崩溃的分区,依据出现数据崩溃所在的分区,控制读取刷机程序包,写入所述存储装置的相应分区,执行程序恢复操作,操作简单,克服了通过返厂维修或技术人员上门维修所带来的成本增加的问题,给你用户带来便利。\n[0080] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。\n[0081] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
法律信息
- 2012-10-31
- 2011-09-28
实质审查的生效
IPC(主分类): G06F 11/00
专利申请号: 201010612207.6
申请日: 2010.12.29
- 2011-08-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |