CN105094903A - 对固件进行升级的方法及装置 - Google Patents
对固件进行升级的方法及装置 Download PDFInfo
- Publication number
- CN105094903A CN105094903A CN201510420622.4A CN201510420622A CN105094903A CN 105094903 A CN105094903 A CN 105094903A CN 201510420622 A CN201510420622 A CN 201510420622A CN 105094903 A CN105094903 A CN 105094903A
- Authority
- CN
- China
- Prior art keywords
- subregion
- version
- upgraded version
- firmware
- upgraded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明是关于一种对固件进行升级的方法及装置,属于计算机技术领域。该方法包括:在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将升级版本备份到闪存的第三分区,第三分区中存储有固件的不同版本;将闪存的第四分区中指定标识位设置为升级状态;重新启动电子设备,运行闪存的第一分区;当检测到第四分区中指定标识位为升级状态时,将升级版本写入第二分区;运行第二分区中的升级版本。本发明将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种对固件进行升级的方法及装置。
背景技术
固件为写入EROM(EraseableReadOnlyMemory,可擦写只读存储器)或EEPROM(Ele4tri4allyErasableProgrammableRead-OnlyMemory,电可擦可编程只读存储器)中的程序,通俗来讲,固件也就是具有软件功能的硬件。固件在电子设备的嵌入式分布系统中承担着最基础、最底层的工作,通过对电子设备中的固件进行升级,可完善电子设备的功能、增强电子设备的稳定性、修补电子设备的漏洞。
目前,为了实现对固件的升级,常将电子设备的闪存(Flash)分为两个分区。其中一个分区用于写入Bootloader程序(Bootloader程序为一种引导启动程序,在系统内核运行前运行),另一个分区用于写入固件。电子设备启动后,先运行一个分区中的Bootloader程序,如果Bootloader程序中的升级标识位上的标识为非升级标识,则跳转到另一分区并运行另一分区中的固件;如果Bootloader程序中的升级标识位上的标识为升级标识,则删除另一分区中的固件,并将升级后的固件写入到另一分区,进而将Bootloader程序中的升级标识位上的标识重置为非升级标识,之后,重新启动电子设备,运行升级后的固件以完成对固件的升级。
发明内容
为克服相关技术中存在的问题,本发明提供一种对固件进行升级的方法及装置。
根据本发明实施例的第一方面,提供一种对固件进行升级的方法,所述方法包括:
在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将所述升级版本备份到所述闪存的第三分区,所述第三分区中存储有所述固件的不同版本;
将所述闪存的第四分区中指定标识位设置为升级状态;
重新启动电子设备,运行所述闪存的第一分区;
当检测到所述第四分区中所述指定标识位为升级状态时,将所述升级版本写入所述第二分区;
运行所述第二分区中的所述升级版本。
可选地,所述将所述升级版本备份到所述闪存的第三分区之前,还包括:
启动所述电子设备;
检测所述第四分区中所述指定标识位是否为升级状态;
当检测到所述第四分区中所述指定标识为非升级状态时,进行开机自检。
可选地,所述进行开机自检,包括:
对所述第二分区中的所述当前版本进行校验;
如果对所述第二分区中的所述当前版本校验成功,则运行所述第二分区中的所述当前版本;
如果对所述第二分区中的所述当前版本校验失败,则对所述第二分区中的所述当前版本进行修复。
可选地,所述对所述第二分区中的所述当前版本进行修复之前,还包括:
将所述当前版本从所述第二分区中删除;
所述对所述第二分区中的所述当前版本进行修复,包括:
从所述第三区中获取所述固件上一次升级时的升级版本;
将所述固件上一次升级时的升级版本解压缩到所述第二分区,得到解压缩数据;
对所述解压缩数据进行校验;
当对所述解压缩数据校验成功时,运行所述解压缩数据。
可选地,所述将所述升级版本备份到所述闪存的第三分区,包括:
从所述内存中获取所述升级版本;
将所述升级版本写入RAM(Random-AccessMemory,随机存取存储器);
对所述RAM中的所述升级版本进行校验;
当对所述RAM中的所述升级版本校验成功时,将所述RAM中的所述升级版本写入到所述闪存的第三分区。
可选地,所述将所述升级版本写入所述第二分区之前,还包括:
将所述当前版本从所述第二分区中删除;
所述将所述升级版本写入所述第二分区,包括:
将所述RAM中的升级版本解压缩到所述第二分区。
可选地,所述运行所述第二分区中的所述升级版本之前,还包括:
对所述第二分区中的所述升级版本进行校验;
当对所述第二分区中的所述升级版本校验成功后,执行运行所述第二分区中的所述升级版本的步骤。
根据本发明实施例的第二方面,提供一种对固件进行升级的装置,所述装置包括:
备份模块,用于在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将所述升级版本备份到所述闪存的第三分区,所述第三分区中存储有所述固件的不同版本;
设置模块,用于将所述闪存的第四分区中指定标识位设置为升级状态;
第一启动模块,用于重新启动电子设备,运行所述闪存的第一分区;
写入模块,用于当检测到所述第四分区中所述指定标识位为升级状态时,将所述升级版本写入所述第二分区;
运行模块,用于运行所述第二分区中的所述升级版本。
可选地,所述装置还包括:
第二启动模块,用于启动所述电子设备;
检测模块,用于检测所述第四分区中所述指定标识位是否为升级状态;
自检模块,用于当检测到所述第四分区中所述指定标识为非升级状态时,进行开机自检。
可选地,所述自检模块,用于对所述第二分区中的所述当前版本进行校验;当对所述第二分区中的所述当前版本校验成功时,运行所述第二分区中的所述当前版本;当对所述第二分区中的所述当前版本校验失败时,对所述第二分区中的所述当前版本进行修复。
可选地,所述装置还包括:
删除模块,用于将所述当前版本从所述第二分区中删除;
所述自检模块,具体用于从所述第三区中获取所述固件上一次升级时的升级版本;将所述固件上一次升级时的升级版本解压缩到所述第二分区,得到解压缩数据;对所述解压缩数据进行校验;当对所述解压缩数据校验成功时,运行所述解压缩数据。
可选地,所述备份模块,用于从所述内存中获取所述升级版本;将所述升级版本写入RAM中;对所述RAM中的所述升级版本进行校验;当对所述RAM中的所述升级版本校验成功时,将所述RAM中的所述升级版本写入到所述第三分区。
可选地,所述装置还包括:
所述删除模块,用于将所述当前版本从所述第二分区中删除;
所述写入模块,用于将所述RAM中的升级版本解压缩到所述第二分区。
可选地,所述装置还包括:
校验模块,用于对所述第一分区中的所述升级版本进行校验;
所述运行模块,用于当所述校验模块对所述第二分区中的所述升级版本校验成功后,执行运行所述第二分区中的所述升级版本的步骤。
根据本发明实施例的第三方面,提供一种对固件进行升级的装置,所述装置包括:
处理器;
用于存储处理器可执行的指令的存储器;
其中,所述处理器被配置为:
在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将所述升级版本备份到所述闪存的第三分区,所述第三分区中存储有所述固件的不同版本;
将所述闪存的第四分区中指定标识位设置为升级状态;
重新启动电子设备,运行所述闪存的第一分区;
当检测到所述第四分区中所述指定标识位为升级状态时,将所述升级版本写入所述第二分区;
运行所述第二分区中的所述升级版本。
本发明的实施例提供的技术方案可以包括以下有益效果:
将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种对固件进行升级的方法的流程图。
图2是根据一示例性实施例示出的一种对固件进行升级的方法的流程图。
图3是根据一示例性实施例示出的一种对固件升级的整个过程示意图。
图4是根据一示例性实施例示出的一种对固件进行升级的装置结构示意图。
图5是根据一示例性实施例示出的一种对固件进行升级的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在电子设备的嵌入式系统中,研发人员通过JTAG(JointTestA4tionGroup,联合测试工作组)烧写设备与电子设备上的JTAG接口相连,将固件烧写到闪存(Flash)中。在研发过程中如需对固件进行升级,则需要重新烧写新的映像文件,直接覆盖原来的映像文件。该种固件升级方法在电子设备开发阶段比较常见,使用起来也较为方便。但是当电子设备出厂后,如果电子设备出现系统漏洞或用户不满足现有功能而提出更多的要求时,也需要对固件进行升级或维护。然而,由于大多用户不具有JTAG烧写设备,此时如果仍然使用JTAG接口升级固件的话,就需要研发人员到用户现场以完成固件的升级。为了简化固件升级的复杂度,图1是根据一示例性实施例示出的一种对固件进行升级的方法的流程图,如图1所示,对固件进行升级的方法用于电子设备中,包括以下步骤。
在步骤S101中,在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将升级版本备份到闪存的第三分区,第三分区中存储有固件的不同版本。
在步骤S102中,将闪存的第四分区中指定标识位设置为升级状态。
在步骤S103中,重新启动电子设备,进入闪存的第一分区。
在步骤S104中,当检测到第四分区中指定标识位为升级状态时,将升级版本写入第二分区。
在步骤S105中,运行第二分区中的升级版本。
本发明实施例提供的方法,将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。
在本发明的另一个实施例中,将升级版本备份到闪存的第三分区之前,还包括:
启动电子设备;
检测第四分区中指定标识位是否为升级状态;
当检测到第四分区中指定标识为非升级状态时,进行开机自检。
在本发明的另一个实施例中,进行开机自检,包括:
对第二分区中的当前版本进行校验;
如果对第二分区中的当前版本校验成功,则运行第二分区中的当前版本;
如果对第二分区中的当前版本校验失败,则对第二分区中的当前版本进行修复。
在本发明的另一个实施例中,对第二分区中的当前版本进行修复之前,还包括:
将当前版本从第二分区中删除;
对第二分区中的当前版本进行修复,包括:
从第三区中获取固件上一次升级时的升级版本;
将固件上一次升级时的升级版本解压缩到第二分区,得到解压缩数据;
对解压缩数据进行校验;
当对解压缩数据校验成功时,运行解压缩数据。
在本发明的另一个实施例中,将升级版本备份到闪存的第三分区,包括:
从内存中获取升级版本;
将升级版本写入RAM中;
对RAM中的升级版本进行校验;
当对RAM中的升级版本校验成功时,将RAM中的升级版本写入到闪存的第三分区。
在本发明的另一个实施例中,将升级版本写入第二分区之前,还包括:
将当前版本从第二分区中删除;
将升级版本写入第二分区,包括:
将RAM中的升级版本解压缩到第二分区。
在本发明的另一个实施例中,运行第二分区中的升级版本之前,还包括:
对第二分区中的升级版本进行校验;
当对第二分区中的升级版本校验成功后,执行运行第二分区中的升级版本的步骤。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是根据一示例性实施例示出的一种对固件进行升级的方法的流程图,如图2所示,对固件进行升级的方法用于电子设备中,包括以下步骤。
在步骤S201中,电子设备启动,运行闪存的第一分区。
其中,电子设备为安装有嵌入式系统的遥控器、飞行器、电脑、智能手机、数字电视等。为了提高系统的稳定性及固件升级过程中的安全性,电子设备的闪存被分为不同的存储分区,分别为第一分区、第二分区、第三分区及第四分区等。其中,第一分区也称为也称为启动分区,该第一分区存储有引导启动程序,该引导启动程序用于在电子设备开机后,激发电子设备运行第二分区中的固件;第二分区也称为执行分区,该第二分区中存储有电子设备工作时所运行的固件;第三分区也称为备份分区,该第三分区中存储有固件的不同版本,根据第三分区中存储的不同版本的固件,可在固件出现损坏时,对固件进行修复;第四分区也称为数据分区,该第四分区用于存储固件的指定标识位。
另外,在本实施例中,电子设备还具有至少一个串口或USB(UniversalSerialBus,通用串行总线),无需下载专用的下载器,通过该串口或USB接口即可实现固件的升级,从而简化了升级过程,提高了升级的稳定性。在具体应用时,通过该串口或USB接口,电子设备不仅能够从互联网上下载固件的升级版本,而且能够将固件在闪存的不同分区间传递。
电子设备启动后,自动运行闪存的第一分区中的引导启动程序,进而读取第二分区中的固件并运行。
在步骤S202中,电子设备检测第四分区中指定标识位是否为升级状态,如果是,执行步骤S207,如果否,执行步骤S203。
在本实施例中,闪存的第四分区中的指定标识位用于指示电子设备是否需要对固件进行升级。该指定标识位具有升级状态和非升级状态两种状态,当指定标识位为升级状态时,根据指定标识位的状态,电子设备将对固件执行升级操作;当指定标识位为非升级状态时,根据指定标识位的状态,电子设备无需对固件执行升级操作。
为了便于对指定标识位的状态进行检测,指定标识位的状态可用0和1两个不同的寄存值表示,当指定标识位上的寄存值为1时,表示指定标识位的状态为升级状态,当指定标识位上的寄存值为0时,表示指定标识位的状态为非升级状态。
在步骤S203中,电子设备进行开机自检。
为了确保系统能够正常工作,避免固件在运行过程中被损坏,当检测到第四分区中指定标识位为非升级状态,电子设备还将进行开机自检。
电子设备的开机自检过程,主要是采用增量冗余算法等特定的校验算法对第二分区中固件的当前版本进行校验的过程。具体地,如果对第二分区中固件的当前版本校验成功,说明当前版本并未被损坏,此时电子设备可运行第二分区中的当前版本;如果对第二分区中的当前版本校验失败,说明当前版本被损坏,此时电子设备可对第二分区中的当前版本进行修复。
由于闪存的存储空间是有限的,为了避免在对固件的修复过程中因存储空间不足,导致修复失败,电子设备在对第二分区中的当前版本进行修复之前,可先将当前版本从第二分区中删除,然后在从第三区中获取固件上一次升级时的升级版本。由于为了节省存储空间,本实施例中第三分区中存储的固件的不同版本均为压缩数据,而电子设备不能直接运行压缩数据,因此,在从第三区中获取固件上一次升级时的升级版本后,电子设备还将采用指定的解压缩算法将固件上一次升级时的升级版本解压缩到第二分区,得到解压缩数据,进而对该解压缩后的数据进行校验,当对解压缩数据校验成功时,电子设备可通过下述步骤S204运行该解压缩数据,如果该解压缩数据能够正常运行,说明对第二分区中的当前版本成功修复,如果该解压缩数据不能正常运行,说明对第二分区中的当前版本修复失败,此时还将继续对第二分区中的当前版本进行修复,直至修复成功。
在步骤S204中,电子设备在运行闪存的第二分区中固件的当前版本过程中,检测内存中是否存储有当前版本的升级版本,如果有,执行步骤S205,如果否,继续运行固件的当前版本。
当电子设备通过开机自检过程,对第二分区中的固件完成校验,电子设备将运行第二分区中固件的当前版本。为了不断地完善自身的性能,修补电子设备的系统漏洞,在运行第二分区中固件的当前版本过程中,电子设备还将不断地检测内存中是否存储有当前版本的升级版本。
由于不同版本的固件具有不同的版本号,因此,电子设备在检测内存中是否存储有当前版本的升级版本时,可扫描内存中的各个文件,当检测到内存中存储有与固件的文件名相同的文件时,获取该文件的版本号,并获取固件的当前版本的版本号,将获取到的文件的版本号与当前版本的版本号进行比较,如果文件的版本号高于当前版本的版本号,则确定内存中存储有当前版本的升级版本,此时可通过下述步骤S205至S209对固件进行升级;如果文件的版本号低于当前版本的版本号,则确定内存中并未存储有当前版本的升级版本,也即是,当前版本为最高版本,此时电子设备继续运行当前版本。
在步骤S205中,电子设备将升级版本备份到闪存的第三分区。
为了避免升级失败,导致电子设备无法正常运行,同时为了能够在升级版本损坏后及时对其进行修复,当检测到内存中存储有当前版本的升级版本后,电子设备还将升级版本备份到闪存的第三分区中。
在此之前,为了提高第三分区中存储的固件的准确性,电子设备在从内存中获取升级版本后,可先将升级版本存储到RAM中,并采用特定的校验算法对RAM中的升级版本进行校验,当对RAM中的升级版本校验成功时,再通过串口或USB接口将RAM中的升级版本备份到闪存的第三分区。该过程通过将升级版本备份到第三分区,增加了获取固件的不同版本的灵活性。
在步骤S206中,电子设备将闪存的第四分区中指定标识位设置为升级状态。
基于指定标识位上不同寄存值所表示的不同状态,电子设备通过将第四分区中指定标识位上的寄存值由0重置为1,将指定标识位由非升级状态设置为升级状态,之后触发电子设备关机重新启动,以便于将升级版本写入到第二分区。
需要说明的是,上述将升级版本备份到闪存的第三分区与置位升级标识位的过程是同时进行的,本实施例仅以升级版本备份到闪存的第三分区作为步骤S205,以置位升级标识位作为步骤S206。
在步骤S207中,电子设备重新启动,运行闪存的第一分区。
电子设备重新启动的过程中,将自动运行闪存的第一分区中的引导启动程序,进而读取闪存其他分区中存储的数据。
在步骤S208中,当检测到第四分区中指定标识位为升级状态时,电子设备将升级版本写入第二分区。
电子设备重新启动之后,将读取缓存第四分区中的指定标识为,并检测指定标识位是否为升级状态,当检测到指定标识位上的寄存值为1时,说明指定标识位为升级状态,此时电子设备将当前版本从第二分区中删除,并通过串口或USB接口从RAM中获取升级版本,进而采用指定的解压缩算法将获取到的升级版本解压缩到第二分区。
在步骤S209中,电子设备运行第二分区中的升级版本。
为了进一步地保证第二分区中的升级版本的准确性,电子设备在将升级版本解压缩到第二分区之后,还将对第二分区中的升级版本进行校验。当对第二分区中的升级版本校验失败之后,返回失败提示,基于该失败提示之后,电子设备将继续运行当前版本;当对第二分区中的升级版本校验成功之后,运行第二分区中的升级版本,以完成对固件的升级。
需要说明的是,本实施例在对固件进行升级时,采用了完善的通信协议进行通信,使得固件的不同版本在电子设备内部传输时更有效、更稳定,提高了电子设备的系统安全性。且上述过程在对固件的不同版本进行校验时,均为电子设备自动进行校验,减少了因用户或其他设备参与而造成的安全隐患。
上述以对固件的一次过程为例进行说明,对于固件的任一次升级过程,均可采用上述方法,此处不再赘述。
对于上述固件升级的整个过程,为了便于理解,下面将以图3为例进行说明。
图3为对固件进行升级的整个过程的示意图。电子设备启动之后,运行启动分区中的引导启动程序,并检测数据分区中的升级标识位是否为升级状态,当检测到升级标识位上的寄存值为0,说明升级标识位为非升级状态,此时电子设备将开机对执行分区中固件的当前版本进行校验,如果对执行分区中固件的当前版本校验成功,则运行执行分区中固件的当前版本;如果对执行分区中固件的当前版本校验失败,说明固件的当前版本在运行过程中出被损坏,继续运行将影响电子设备的性能,此时需要对该当前版本进行修复。由于电子设备闪存的备份分区中存储有固件的不同版本,且固件的当前版本即为固件在上一次升级时的升级版本,因此,电子设备可从备份分区中获取到未损坏的当前版本,之后,电子设备将从备份分区中获取到的当前版本解压缩得到执行分区,并通过对该解压缩数据进行运行以验证对当前版本的是否成功修复。
在电子设备工作时,电子设备的嵌入式系统循环工作,执行分区中固件的当前版本持续运行,在此过程中,电子设备将实时检测内存中是否存储有当前版本的升级版本,当检测到内存中存储有固件当前版本的升级版本时,通过USB接口或串口从内存中获取升级版本,并将获取到的升级版本存储在RAM中,之后,采用特定的校验算法对RAM中的升级版本进行校验,当对RAM中的升级版本校验失败时,返回失败提示,并继续运行当前版本;当对RAM中的升级版本校验成功时,将RAM中的升级版本存储到备份分区,并将数据分区中的升级标识设置为升级状态,之后关机重新启动设备。
重新启动电子设备之后,电子设备运行启动分区中的引导启动程序,并检测数据分区中的升级标识位是否为升级状态,当检测到升级标识位上的寄存值为1,升级标识位为升级状态,电子设备通过串口或USB接口从RAM中获取当前版本的升级版本,并将升级版本解压缩到执行分区中,当采用指定的校验算法对升级版本校验成功时,运行升级版本以实现对固件的升级。
在对固件升级完成后,电子设备运行升级后的固件,并在运行过程中通过对内存进行实时检测,以实现对升级版本的不断升级。
本发明实施例提供的方法,将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。另外,在升级过程中,通过对升级版本进行多次校验,提高了升级的安全性及效率。
图4是根据一示例性实施例示出的一种对固件进行升级的装置结构示意图。参照图4,该装置包括:备份模块401、设置模块402、第一启动模块403、写入模块404及运行模块405。
该备份模块401被配置为在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将升级版本备份到闪存的第三分区,该第三分区中存储有固件的不同版本;
该设置模块402被配置为将闪存的第四分区中指定标识位设置为升级状态;
该第一启动模块403被配置为重新启动电子设备,运行闪存的第一分区;
该写入模块404被配置为在重新启动电子设备的过程中,当检测到第四分区中指定标识位为升级状态时,将升级版本写入第二分区;
该运行模块405被配置为运行第二分区中的升级版本。
在本发明的另一个实施例中,该装置还包括:第二启动模块、检测模块及自检模块。
该第二启动模块被配置为启动电子设备;
该检测模块被配置为检测第四分区中指定标识位是否为升级状态;
该自检模块被配置为当检测到第四分区中指定标识为非升级状态时,进行开机自检。
在本发明的另一个实施例中,该自检模块被配置为对第二分区中的当前版本进行校验;当对第二分区中的当前版本校验成功时,运行第二分区中的当前版本;当对第二分区中的当前版本校验失败时,对第二分区中的当前版本进行修复。
在本发明的另一个实施例中,该装置还包括:删除模块。
该删除模块被配置为将当前版本从第二分区中删除;
该自检模块被配置为从第三区中获取固件上一次升级时的升级版本;将固件上一次升级时的升级版本解压缩到第二分区,得到解压缩数据;对解压缩数据进行校验;当对解压缩数据校验成功时,运行解压缩数据。
在本发明的另一个实施例中,该备份模块被配置为从内存中获取升级版本;将升级版本写入RAM中;对RAN中的升级版本进行校验;当对RAM中的升级版本校验成功时,将RAM中的升级版本写入到闪存的第三分区。
在本发明的另一个实施例中,该删除模块被配置为将当前版本从第二分区中删除;
该写入模块404被配置为从内存中获取升级版本;将升级版本解压缩到第一分区。
在本发明的另一个实施例中,该装置还包括:校验模块。
该校验模块被配置为对第二分区中的升级版本进行校验;
该运行模块被配置为当校验模块对第二分区中的升级版本校验成功后,执行运行第二分区中的升级版本的步骤。
本发明实施例提供的装置,将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于对固件进行升级的装置500的框图。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到装置500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本发明实施例提供的装置,将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种对固件进行升级的方法,所述方法包括:
在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将升级版本备份到闪存的第三分区,第三分区中存储有固件的不同版本;
将闪存的第四分区中指定标识位设置为升级状态;
重新启动电子设备,运行闪存的第一分区;
当检测到第四分区中指定标识位为升级状态时,将升级版本写入第二分区;
运行第二分区中的升级版本。
在本发明的另一个实施例中,将升级版本备份到闪存的第三分区之前,还包括:
启动电子设备;
检测第四分区中指定标识位是否为升级状态;
当检测到第四分区中指定标识为非升级状态时,进行开机自检。
在本发明的另一个实施例中,进行开机自检,包括:
对第二分区中的当前版本进行校验;
如果对第二分区中的当前版本校验成功,则运行第二分区中的当前版本;
如果对第二分区中的当前版本校验失败,则对第二分区中的当前版本进行修复。
在本发明的另一个实施例中,对第二分区中的当前版本进行修复之前,还包括:
将当前版本从第二分区中删除;
对第二分区中的当前版本进行修复,包括:
从第三区中获取固件上一次升级时的升级版本;
将固件上一次升级时的升级版本解压缩到第二分区,得到解压缩数据;
对解压缩数据进行校验;
当对解压缩数据校验成功时,运行解压缩数据。
在本发明的另一个实施例中,将升级版本备份到闪存的第三分区,包括:
从内存中获取升级版本;
将升级版本写入RAM中;
对RAM中的升级版本进行校验;
当对RAM中的升级版本校验成功时,将RAM中的升级版本写入到闪存的第三分区。
在本发明的另一个实施例中,将升级版本写入第二分区之前,还包括:
将当前版本从第二分区中删除;
将升级版本写入第二分区,包括:
将RAM中的升级版本解压缩到第二分区。
在本发明的另一个实施例中,运行第二分区中的升级版本之前,还包括:
对第二分区中的升级版本进行校验;
当对第二分区中的升级版本校验成功后,执行运行第二分区中的升级版本的步骤。
本发明实施例提供的非临时性计算机可读存储介质,将固件的升级版本在闪存的第三分区进行备份,使得升级版本运行失败后,能够从第三分区中获取到备份的固件,从而避免了电子设备因固件升级失败不能正常运行,提高了升级的可靠性。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (15)
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.一种对固件进行升级的装置,其特征在于,包括:
处理器;
用于存储处理器可执行的指令的存储器;
其中,所述处理器被配置为:
在运行闪存的第二分区中固件的当前版本过程中,当检测到内存中存储有当前版本的升级版本时,将所述升级版本备份到所述闪存的第三分区,所述第三分区中存储有所述固件的不同版本;
将所述闪存的第四分区中指定标识位设置为升级状态;
重新启动电子设备,运行所述闪存的第一分区;
当检测到所述第四分区中所述指定标识位为升级状态时,将所述升级版本写入所述第二分区;
运行所述第二分区中的所述升级版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510420622.4A CN105094903B (zh) | 2015-07-16 | 2015-07-16 | 对固件进行升级的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510420622.4A CN105094903B (zh) | 2015-07-16 | 2015-07-16 | 对固件进行升级的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105094903A true CN105094903A (zh) | 2015-11-25 |
CN105094903B CN105094903B (zh) | 2019-02-22 |
Family
ID=54575415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510420622.4A Active CN105094903B (zh) | 2015-07-16 | 2015-07-16 | 对固件进行升级的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105094903B (zh) |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740034A (zh) * | 2016-04-13 | 2016-07-06 | 深圳市高巨创新科技开发有限公司 | Mcu在线升级固件的系统及方法 |
CN105897480A (zh) * | 2016-05-11 | 2016-08-24 | 北京奇虎科技有限公司 | 车载终端及其固件功能完善方法 |
CN106406935A (zh) * | 2016-08-29 | 2017-02-15 | 青岛海信电器股份有限公司 | 一种蓝牙芯片ota升级的方法和蓝牙芯片 |
CN106681766A (zh) * | 2016-12-26 | 2017-05-17 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN106843932A (zh) * | 2016-12-26 | 2017-06-13 | 歌尔科技有限公司 | 虚拟现实设备固件的升级方法及系统 |
CN106843940A (zh) * | 2016-12-30 | 2017-06-13 | 长沙湘计海盾科技有限公司 | 一种嵌入式系统的快速升级方法 |
CN106874032A (zh) * | 2017-01-04 | 2017-06-20 | 青岛海信宽带多媒体技术有限公司 | 光模块固件升级的方法、装置及光模块 |
CN107247603A (zh) * | 2017-04-18 | 2017-10-13 | 深圳市广和通无线股份有限公司 | 支持固件自动恢复功能的远程升级方法与系统 |
CN107273160A (zh) * | 2017-06-09 | 2017-10-20 | 青岛海信电器股份有限公司 | 一种版本升级的方法及装置 |
WO2018000183A1 (zh) * | 2016-06-28 | 2018-01-04 | 深圳曼塔智能科技有限公司 | 一种飞行器 |
CN108052337A (zh) * | 2017-12-21 | 2018-05-18 | 北京京存技术有限公司 | 一种eMMC量产工具的固件升级方法及装置 |
CN108153540A (zh) * | 2018-01-15 | 2018-06-12 | 北京小米移动软件有限公司 | 系统升级的方法、装置、终端及存储介质 |
CN108170457A (zh) * | 2017-12-27 | 2018-06-15 | 上海闻泰电子科技有限公司 | 固件升级方法、装置及vr头戴式显示器 |
CN108845814A (zh) * | 2018-06-14 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种固件更新的保护方法、装置和计算机可读存储介质 |
CN109002310A (zh) * | 2018-08-07 | 2018-12-14 | 北京云迹科技有限公司 | 固件升级方法 |
CN109067894A (zh) * | 2018-08-23 | 2018-12-21 | 广东汇泰龙科技有限公司 | 一种基于云锁系统的在线升级和一键还原的方法、系统 |
CN109117168A (zh) * | 2018-08-29 | 2019-01-01 | 拓攻(南京)机器人有限公司 | 无人机固件更新方法、装置、无人机及存储介质 |
CN109154893A (zh) * | 2016-04-11 | 2019-01-04 | 江森自控消防有限合伙公司 | 具有分布式文件系统的火灾检测系统 |
CN109189451A (zh) * | 2018-10-25 | 2019-01-11 | 京信通信系统(中国)有限公司 | 一种固件升级方法及装置 |
CN109358910A (zh) * | 2018-09-05 | 2019-02-19 | 广州小鹏汽车科技有限公司 | 固件写入、启动方法及用于实现固件写入、启动的系统 |
CN109766140A (zh) * | 2018-12-19 | 2019-05-17 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒启动异常的定位方法及装置 |
CN109840106A (zh) * | 2017-11-28 | 2019-06-04 | 深圳市优必选科技有限公司 | 一种嵌入式系统中固件的升级方法、系统及终端设备 |
WO2019119408A1 (en) * | 2017-12-22 | 2019-06-27 | Intel Corporation | Manageability engine and automatic firmware validation |
CN109992289A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 传感器固件升级方法、装置及设备 |
CN110231946A (zh) * | 2019-05-20 | 2019-09-13 | 出门问问信息科技有限公司 | 电子设备的固件更新和恢复方法、装置、设备及存储介质 |
CN110333882A (zh) * | 2019-05-09 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 系统的升级方法、装置、设备及计算机可读介质 |
CN110673862A (zh) * | 2019-08-15 | 2020-01-10 | 广州中海达定位技术有限公司 | 兼用多模式的嵌入式设备固件无线升级方法、设备、介质 |
CN110895477A (zh) * | 2018-09-13 | 2020-03-20 | 杭州海康威视数字技术股份有限公司 | 一种设备启动方法、装置及设备 |
CN111722858A (zh) * | 2020-05-27 | 2020-09-29 | 科华恒盛股份有限公司 | 在线升级方法及终端设备 |
CN111796852A (zh) * | 2020-07-09 | 2020-10-20 | 佛山市顺德区美的洗涤电器制造有限公司 | 家电设备的升级方法、家电设备和计算机可读存储介质 |
CN111984298A (zh) * | 2020-07-17 | 2020-11-24 | 歌尔光学科技有限公司 | 一种闪存中的程序升级区、程序升级方法及系统 |
CN112118280A (zh) * | 2020-06-19 | 2020-12-22 | 上海汉枫电子科技有限公司 | 一种wi-fi设备ota升级失败后的恢复方法 |
CN112181466A (zh) * | 2020-09-08 | 2021-01-05 | 上海深聪半导体有限责任公司 | 一种语音空调固件云端升级方法及系统 |
CN112559349A (zh) * | 2020-12-16 | 2021-03-26 | 合安科技技术有限公司 | 一种程序的运行方法及运行装置 |
CN112596749A (zh) * | 2020-12-28 | 2021-04-02 | 厦门亿联网络技术股份有限公司 | 一种系统开机自检和自修复的方法、装置 |
CN112631628A (zh) * | 2020-12-11 | 2021-04-09 | 邦彦技术股份有限公司 | 单片机升级方法、单片机、存储介质 |
WO2021120327A1 (zh) * | 2019-12-19 | 2021-06-24 | 歌尔股份有限公司 | 一种固件更新方法、装置、耳机及计算机可读存储介质 |
CN113031991A (zh) * | 2021-04-13 | 2021-06-25 | 南京大学 | 一种嵌入式系统的远程自适应升级方法及其装置 |
CN113225397A (zh) * | 2021-05-06 | 2021-08-06 | 深圳沃迪声科技股份有限公司 | 嵌入式设备的固件升级方法、装置、终端及存储介质 |
CN113254048A (zh) * | 2021-06-21 | 2021-08-13 | 深之蓝(天津)水下智能科技有限公司 | 引导程序更新方法、装置、设备及计算机可读介质 |
CN115543488A (zh) * | 2022-11-29 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种多核SoC的固件启动方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271396A (zh) * | 2008-04-15 | 2008-09-24 | 威盛电子股份有限公司 | 电子装置及其在线更新固件的方法 |
CN102841802A (zh) * | 2012-07-27 | 2012-12-26 | 锐迪科科技有限公司 | 移动终端的软件升级方法 |
CN103853565A (zh) * | 2012-11-28 | 2014-06-11 | 京信通信系统(中国)有限公司 | 基于arm的固件升级方法和装置 |
CN104007996A (zh) * | 2014-06-16 | 2014-08-27 | 南京融教科技有限公司 | 一种分布式控制系统的可靠固件升级实现方法 |
-
2015
- 2015-07-16 CN CN201510420622.4A patent/CN105094903B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271396A (zh) * | 2008-04-15 | 2008-09-24 | 威盛电子股份有限公司 | 电子装置及其在线更新固件的方法 |
CN102841802A (zh) * | 2012-07-27 | 2012-12-26 | 锐迪科科技有限公司 | 移动终端的软件升级方法 |
CN103853565A (zh) * | 2012-11-28 | 2014-06-11 | 京信通信系统(中国)有限公司 | 基于arm的固件升级方法和装置 |
CN104007996A (zh) * | 2014-06-16 | 2014-08-27 | 南京融教科技有限公司 | 一种分布式控制系统的可靠固件升级实现方法 |
Cited By (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109154893A (zh) * | 2016-04-11 | 2019-01-04 | 江森自控消防有限合伙公司 | 具有分布式文件系统的火灾检测系统 |
CN105740034A (zh) * | 2016-04-13 | 2016-07-06 | 深圳市高巨创新科技开发有限公司 | Mcu在线升级固件的系统及方法 |
CN105897480A (zh) * | 2016-05-11 | 2016-08-24 | 北京奇虎科技有限公司 | 车载终端及其固件功能完善方法 |
WO2018000183A1 (zh) * | 2016-06-28 | 2018-01-04 | 深圳曼塔智能科技有限公司 | 一种飞行器 |
CN106406935A (zh) * | 2016-08-29 | 2017-02-15 | 青岛海信电器股份有限公司 | 一种蓝牙芯片ota升级的方法和蓝牙芯片 |
CN106406935B (zh) * | 2016-08-29 | 2019-10-15 | 青岛海信电器股份有限公司 | 一种蓝牙芯片ota升级的方法和蓝牙芯片 |
CN106681766A (zh) * | 2016-12-26 | 2017-05-17 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN106681766B (zh) * | 2016-12-26 | 2021-04-27 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN106843932A (zh) * | 2016-12-26 | 2017-06-13 | 歌尔科技有限公司 | 虚拟现实设备固件的升级方法及系统 |
CN106843932B (zh) * | 2016-12-26 | 2020-07-24 | 歌尔科技有限公司 | 虚拟现实设备固件的升级方法及系统 |
CN106843940B (zh) * | 2016-12-30 | 2020-02-14 | 长沙湘计海盾科技有限公司 | 一种嵌入式系统的快速升级方法 |
CN106843940A (zh) * | 2016-12-30 | 2017-06-13 | 长沙湘计海盾科技有限公司 | 一种嵌入式系统的快速升级方法 |
CN106874032A (zh) * | 2017-01-04 | 2017-06-20 | 青岛海信宽带多媒体技术有限公司 | 光模块固件升级的方法、装置及光模块 |
CN107247603A (zh) * | 2017-04-18 | 2017-10-13 | 深圳市广和通无线股份有限公司 | 支持固件自动恢复功能的远程升级方法与系统 |
CN107273160A (zh) * | 2017-06-09 | 2017-10-20 | 青岛海信电器股份有限公司 | 一种版本升级的方法及装置 |
CN109840106A (zh) * | 2017-11-28 | 2019-06-04 | 深圳市优必选科技有限公司 | 一种嵌入式系统中固件的升级方法、系统及终端设备 |
CN108052337A (zh) * | 2017-12-21 | 2018-05-18 | 北京京存技术有限公司 | 一种eMMC量产工具的固件升级方法及装置 |
WO2019119408A1 (en) * | 2017-12-22 | 2019-06-27 | Intel Corporation | Manageability engine and automatic firmware validation |
CN108170457A (zh) * | 2017-12-27 | 2018-06-15 | 上海闻泰电子科技有限公司 | 固件升级方法、装置及vr头戴式显示器 |
CN109992289A (zh) * | 2017-12-29 | 2019-07-09 | 深圳市优必选科技有限公司 | 传感器固件升级方法、装置及设备 |
CN108153540A (zh) * | 2018-01-15 | 2018-06-12 | 北京小米移动软件有限公司 | 系统升级的方法、装置、终端及存储介质 |
CN108153540B (zh) * | 2018-01-15 | 2021-07-23 | 北京小米移动软件有限公司 | 系统升级的方法、装置、终端及存储介质 |
CN108845814A (zh) * | 2018-06-14 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种固件更新的保护方法、装置和计算机可读存储介质 |
CN109002310A (zh) * | 2018-08-07 | 2018-12-14 | 北京云迹科技有限公司 | 固件升级方法 |
CN109067894A (zh) * | 2018-08-23 | 2018-12-21 | 广东汇泰龙科技有限公司 | 一种基于云锁系统的在线升级和一键还原的方法、系统 |
CN109117168A (zh) * | 2018-08-29 | 2019-01-01 | 拓攻(南京)机器人有限公司 | 无人机固件更新方法、装置、无人机及存储介质 |
CN109358910A (zh) * | 2018-09-05 | 2019-02-19 | 广州小鹏汽车科技有限公司 | 固件写入、启动方法及用于实现固件写入、启动的系统 |
CN110895477A (zh) * | 2018-09-13 | 2020-03-20 | 杭州海康威视数字技术股份有限公司 | 一种设备启动方法、装置及设备 |
CN109189451A (zh) * | 2018-10-25 | 2019-01-11 | 京信通信系统(中国)有限公司 | 一种固件升级方法及装置 |
CN109766140A (zh) * | 2018-12-19 | 2019-05-17 | 青岛海信宽带多媒体技术有限公司 | 一种机顶盒启动异常的定位方法及装置 |
CN110333882A (zh) * | 2019-05-09 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 系统的升级方法、装置、设备及计算机可读介质 |
CN110333882B (zh) * | 2019-05-09 | 2023-03-14 | 阿波罗智联(北京)科技有限公司 | 系统的升级方法、装置、设备及计算机可读介质 |
CN110231946A (zh) * | 2019-05-20 | 2019-09-13 | 出门问问信息科技有限公司 | 电子设备的固件更新和恢复方法、装置、设备及存储介质 |
CN110673862A (zh) * | 2019-08-15 | 2020-01-10 | 广州中海达定位技术有限公司 | 兼用多模式的嵌入式设备固件无线升级方法、设备、介质 |
WO2021120327A1 (zh) * | 2019-12-19 | 2021-06-24 | 歌尔股份有限公司 | 一种固件更新方法、装置、耳机及计算机可读存储介质 |
CN111722858A (zh) * | 2020-05-27 | 2020-09-29 | 科华恒盛股份有限公司 | 在线升级方法及终端设备 |
CN112118280A (zh) * | 2020-06-19 | 2020-12-22 | 上海汉枫电子科技有限公司 | 一种wi-fi设备ota升级失败后的恢复方法 |
CN111796852A (zh) * | 2020-07-09 | 2020-10-20 | 佛山市顺德区美的洗涤电器制造有限公司 | 家电设备的升级方法、家电设备和计算机可读存储介质 |
CN111984298A (zh) * | 2020-07-17 | 2020-11-24 | 歌尔光学科技有限公司 | 一种闪存中的程序升级区、程序升级方法及系统 |
CN111984298B (zh) * | 2020-07-17 | 2023-07-25 | 歌尔科技有限公司 | 一种闪存中的程序升级区、程序升级方法及系统 |
CN112181466A (zh) * | 2020-09-08 | 2021-01-05 | 上海深聪半导体有限责任公司 | 一种语音空调固件云端升级方法及系统 |
CN112181466B (zh) * | 2020-09-08 | 2024-04-16 | 深聪半导体(江苏)有限公司 | 一种语音空调固件云端升级方法及系统 |
CN112631628A (zh) * | 2020-12-11 | 2021-04-09 | 邦彦技术股份有限公司 | 单片机升级方法、单片机、存储介质 |
CN112559349A (zh) * | 2020-12-16 | 2021-03-26 | 合安科技技术有限公司 | 一种程序的运行方法及运行装置 |
CN112559349B (zh) * | 2020-12-16 | 2024-04-09 | 合安科技技术有限公司 | 一种程序的运行方法及运行装置 |
CN112596749A (zh) * | 2020-12-28 | 2021-04-02 | 厦门亿联网络技术股份有限公司 | 一种系统开机自检和自修复的方法、装置 |
CN113031991A (zh) * | 2021-04-13 | 2021-06-25 | 南京大学 | 一种嵌入式系统的远程自适应升级方法及其装置 |
CN113031991B (zh) * | 2021-04-13 | 2023-11-17 | 南京大学 | 一种嵌入式系统的远程自适应升级方法及其装置 |
CN113225397A (zh) * | 2021-05-06 | 2021-08-06 | 深圳沃迪声科技股份有限公司 | 嵌入式设备的固件升级方法、装置、终端及存储介质 |
CN113254048B (zh) * | 2021-06-21 | 2021-09-28 | 深之蓝(天津)水下智能科技有限公司 | 引导程序更新方法、装置、设备及计算机可读介质 |
CN113254048A (zh) * | 2021-06-21 | 2021-08-13 | 深之蓝(天津)水下智能科技有限公司 | 引导程序更新方法、装置、设备及计算机可读介质 |
CN115543488A (zh) * | 2022-11-29 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种多核SoC的固件启动方法及相关装置 |
CN115543488B (zh) * | 2022-11-29 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种多核SoC的固件启动方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105094903B (zh) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105094903A (zh) | 对固件进行升级的方法及装置 | |
US11562074B2 (en) | Firmware upgrade method and device, and storage medium | |
CN104484200A (zh) | 对固件进行升级的方法及装置 | |
US20150379304A1 (en) | Detection method | |
CN104536848A (zh) | 固件恢复方法、装置和终端 | |
CN106933593B (zh) | 一种基于移动终端的系统切换方法和装置 | |
CN107168818B (zh) | 终端及刷机失败恢复方法 | |
CN105488112A (zh) | 信息推送方法及装置 | |
CN104156236A (zh) | 节省存储空间的方法和装置 | |
CN104216736A (zh) | 增量升级方法、装置及终端设备 | |
CN105094931A (zh) | 软件升级方法及装置 | |
CN105207851A (zh) | 故障的检测方法、装置、系统、终端及智能设备 | |
CN104536891A (zh) | 系统测试方法及装置 | |
CN104951377A (zh) | 智能家居终端的异常处理方法及装置 | |
CN106649098B (zh) | 在终端设备上实现发布版本软件调试的方法和装置 | |
CN104461666A (zh) | 设备主处理器的固件升级方法及装置 | |
CN105446768A (zh) | 系统升级方法及装置 | |
CN111596863A (zh) | 一种数据读取方法、装置、设备及可读存储介质 | |
CN104615546A (zh) | 文件数据管理方法及装置 | |
EP3040856B1 (en) | Firmware refreshing method and device | |
CN106126382B (zh) | 识别文件系统错误的方法及装置 | |
CN105426210A (zh) | 对系统进行升级的方法及装置 | |
CN112463199A (zh) | 一种系统升级方法及终端 | |
CN109408282B (zh) | 应用程序备份恢复方法、设备及计算机可读存储介质 | |
CN105045686A (zh) | 文件恢复方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |