对固件进行升级的方法及装置的制造方法_5

文档序号:9375294阅读:来源:国知局
级时的升级版本解压缩到第二分区,得到解压缩数据;
[0202]对解压缩数据进行校验;
[0203]当对解压缩数据校验成功时,运行解压缩数据。
[0204]在本发明的另一个实施例中,将升级版本备份到闪存的第三分区,包括:
[0205]从内存中获取升级版本;
[0206]将升级版本写入RAM中;
[0207]对RAM中的升级版本进行校验;
[0208]当对RAM中的升级版本校验成功时,将RAM中的升级版本写入到闪存的第三分区。
[0209]在本发明的另一个实施例中,将升级版本写入第二分区之前,还包括:
[0210]将当前版本从第二分区中删除;
[0211]将升级版本写入第二分区,包括:
[0212]将RAM中的升级版本解压缩到第二分区。
[0213]在本发明的另一个实施例中,运行第二分区中的升级版本之前,还包括:
[0214]对第二分区中的升级版本进行校验;
[0215]当对第二分区中的升级版本校验成功后,执行运行第二分区中的升级版本的步骤。
[0216]本发明实施例提供的非临时性计算机可读存储介质,将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。
[0217]本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0218]应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【主权项】
1.一种对固件进行升级的方法,其特征在于,所述方法包括: 在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将所述升级版本备份到所述闪存的第三分区,所述第三分区中存储有所述固件的不同版本; 将所述闪存的第四分区中指定标识位设置为升级状态; 重新启动电子设备,运行所述闪存的第一分区; 当检测到所述第四分区中所述指定标识位为升级状态时,将所述升级版本写入所述第二分区; 运行所述第二分区中的所述升级版本。2.根据权利要求1所述的方法,其特征在于,所述将所述升级版本备份到所述闪存的第三分区之前,还包括: 启动所述电子设备; 检测所述第四分区中所述指定标识位是否为升级状态; 当检测到所述第四分区中所述指定标识为非升级状态时,进行开机自检。3.根据权利要求2所述的方法,其特征在于,所述进行开机自检,包括: 对所述第二分区中的所述当前版本进行校验; 如果对所述第二分区中的所述当前版本校验成功,则运行所述第二分区中的所述当前版本; 如果对所述第二分区中的所述当前版本校验失败,则对所述第二分区中的所述当前版本进行修复。4.根据权利要求3所述的方法,其特征在于,所述对所述第二分区中的所述当前版本进行修复之前,还包括: 将所述当前版本从所述第二分区中删除; 所述对所述第二分区中的所述当前版本进行修复,包括: 从所述第三分区中获取所述固件上一次升级时的升级版本; 将所述固件上一次升级时的升级版本解压缩到所述第二分区,得到解压缩数据; 对所述解压缩数据进行校验; 当对所述解压缩数据校验成功时,运行所述解压缩数据。5.根据权利要求1所述的方法,其特征在于,所述将所述升级版本备份到所述闪存的第三分区,包括: 从所述内存中获取所述升级版本; 将所述升级版本写入随机存取存储器RAM中; 对所述RAM中的所述升级版本进行校验; 当对所述RAM中的所述升级版本校验成功时,将所述RAM中的所述升级版本写入到所述闪存的第三分区。6.根据权利要求5所述的方法,其特征在于,所述将所述升级版本写入所述第二分区之前,还包括: 将所述当前版本从所述第二分区中删除; 所述将所述升级版本写入所述第二分区,包括: 将所述RAM中的升级版本解压缩到所述第二分区。7.根据权利要求1所述的方法,其特征在于,所述运行所述第二分区中的所述升级版本之前,还包括: 对所述第二分区中的所述升级版本进行校验; 当对所述第二分区中的所述升级版本校验成功后,执行运行所述第二分区中的所述升级版本的步骤。8.一种对固件进行升级的装置,其特征在于,所述装置包括: 备份模块,用于在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将所述升级版本备份到所述闪存的第三分区,所述第三分区中存储有所述固件的不同版本; 设置模块,用于将所述闪存的第四分区中指定标识位设置为升级状态; 第一启动模块,用于重新启动电子设备,运行所述闪存的第一分区; 写入模块,用于当检测到所述第四分区中所述指定标识位为升级状态时,将所述升级版本写入所述第二分区; 运行模块,用于运行所述第二分区中的所述升级版本。9.根据权利要求8所述的装置,其特征在于,所述装置还包括: 第二启动模块,用于启动所述电子设备; 检测模块,用于检测所述第四分区中所述指定标识位是否为升级状态; 自检模块,用于当检测到所述第四分区中所述指定标识为非升级状态时,进行开机自检。10.根据权利要求9所述的装置,其特征在于,所述自检模块,用于对所述第二分区中的所述当前版本进行校验;当对所述第二分区中的所述当前版本校验成功时,运行所述第二分区中的所述当前版本;当对所述第二分区中的所述当前版本校验失败时,对所述第二分区中的所述当前版本进行修复。11.根据权利要求10所述的方法,其特征在于,所述装置还包括: 删除模块,用于将所述当前版本从所述第二分区中删除; 所述自检模块,具体用于从所述第三区中获取所述固件上一次升级时的升级版本;将所述固件上一次升级时的升级版本解压缩到所述第二分区,得到解压缩数据;对所述解压缩数据进行校验;当对所述解压缩数据校验成功时,运行所述解压缩数据。12.根据权利要求8所述的装置,其特征在于,所述备份模块,用于从所述内存中获取所述升级版本;将所述升级版本写入随机存取存储器RAM中;对所述RAM中的所述升级版本进行校验;当对所述RAM中的所述升级版本校验成功时,将所述RAM中的所述升级版本写入到所述闪存的第三分区。13.根据权利要求12所述的装置,其特征在于,所述装置还包括: 所述删除模块,用于将所述当前版本从所述第二分区中删除; 所述写入模块,用于将所述RAM中的升级版本解压缩到所述第二分区。14.根据权利要求8所述的装置,其特征在于,所述装置还包括: 校验模块,用于对所述第二分区中的所述升级版本进行校验; 所述运行模块,用于当所述校验模块对所述第二分区中的所述升级版本校验成功后,执行运行所述第二分区中的所述升级版本的步骤。15.一种对固件进行升级的装置,其特征在于,包括: 处理器; 用于存储处理器可执行的指令的存储器; 其中,所述处理器被配置为: 在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将所述升级版本备份到所述闪存的第三分区,所述第三分区中存储有所述固件的不同版本; 将所述闪存的第四分区中指定标识位设置为升级状态; 重新启动电子设备,运行所述闪存的第一分区; 当检测到所述第四分区中所述指定标识位为升级状态时,将所述升级版本写入所述第二分区; 运行所述第二分区中的所述升级版本。
【专利摘要】本发明是关于一种对固件进行升级的方法及装置,属于计算机技术领域。该方法包括:在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将升级版本备份到闪存的第三分区,第三分区中存储有固件的不同版本;将闪存的第四分区中指定标识位设置为升级状态;重新启动电子设备,运行闪存的第一分区;当检测到第四分区中指定标识位为升级状态时,将升级版本写入第二分区;运行第二分区中的升级版本。本发明将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。
【IPC分类】G06F9/445
【公开号】CN105094903
【申请号】CN201510420622
【发明人】刘新阳, 黄玉宇, 叶华林, 张堂政, 田景颐, 张东浩
【申请人】广州飞米电子科技有限公司, 小米科技有限责任公司
【公开日】2015年11月25日
【申请日】2015年7月16日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1