CN109947445A - 一种固件升级方法及系统 - Google Patents

一种固件升级方法及系统 Download PDF

Info

Publication number
CN109947445A
CN109947445A CN201910128410.7A CN201910128410A CN109947445A CN 109947445 A CN109947445 A CN 109947445A CN 201910128410 A CN201910128410 A CN 201910128410A CN 109947445 A CN109947445 A CN 109947445A
Authority
CN
China
Prior art keywords
firmware
firmware information
information
numerical value
configuring area
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.)
Pending
Application number
CN201910128410.7A
Other languages
English (en)
Inventor
冯世杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xiaopeng Motors Technology Co Ltd
Original Assignee
Guangzhou Xiaopeng Motors Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Xiaopeng Motors Technology Co Ltd filed Critical Guangzhou Xiaopeng Motors Technology Co Ltd
Priority to CN201910128410.7A priority Critical patent/CN109947445A/zh
Publication of CN109947445A publication Critical patent/CN109947445A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种固件升级方法和系统,所述方法包括以下步骤:读取配置区中的预设标志位的数值作为第一数值;根据第一数值,判断系统本次启动是否为固件升级后的第一次启动;若是,则向所述配置区的预设标志位写入第二数值,然后执行第一固件信息;若否,则根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息;其中,第一固件信息和第二固件信息分别存储在两个不同的固件区。本方案可以实现固件的自动回滚功能,在回滚功能的实现过程中,其无需重新对固件存储器进行刷写,可以提升回滚成功率且大大减少了用户的等待时间。本发明可以广泛应用于计算机领域。

Description

一种固件升级方法及系统
技术领域
本发明涉及计算机领域,尤其是一种固件升级方法及系统。
背景技术
随着计算机和相关移动设备的飞速发展,设备的远程可更新性渐成为了重中之重,OTA(Over-the-Air programming,即空中编程)技术被不断运用,可以使业务快速迭代,低成本地带来更好的用户体验,但同时地,因为OTA存在各种不稳定的问题,以及使用OTA的设备本身的复杂性,很可能会导致设备产生各种问题。
一般情况下,设备通过OTA升级后,如果新升级的固件无法运行,设备很可能会陷入无法启动的尴尬境况。因此,技术人员设计了一种回滚的机制,如果在程序升级失败的情况下,将固件回滚到上一个版本。
在设备中,固件一般存储在芯片的固件区,通常固件区容量较小,不作分区。因此固件区在升级时,会被完全擦除。传统的回滚方案,在升级固件时,首先将新固件下载到外部存储设备中,同时会将旧固件备份到外部存储设备中,例如U盘等。然后将固件区进行擦除,再将新固件写入固件区中以完成升级。当回滚时,再从外部存储设备中读取旧固件重新刷写固件区。
这样的技术方案存在以下弊端:1、旧固件存储在外部存储设备,系统运行时可以直接读取外部存储设备,因此旧固件可能被破坏,同时,重新刷写时也有可能出现刷写出错的问题,因此现有技术方案存在回滚成功率低的问题。2、回滚时,需要重新刷写固件,导致发生回滚时用户等待的时间长。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种固件升级方法及系统,以提升回滚的成功率,且在发生回滚时减少用户的等待时间。
本发明所采取的第一种技术方案是:
一种固件升级方法,包括以下步骤:
读取配置区中的预设标志位的数值作为第一数值;
根据第一数值,判断系统本次启动是否为固件升级后的第一次启动;
若是,则向所述配置区的预设标志位写入第二数值,然后执行第一固件信息;
若否,则根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息;
其中,第一固件信息和第二固件信息分别存储在两个不同的固件区,所述第一固件信息为最新的固件信息,所述第二固件信息为在升级第一固件信息之前能够成功运行的固件信息。
进一步,所述根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息,其具体包括:
若判定上次启动时第一固件信息运行成功,则从配置区中读取第一固件信息的存储地址;并根据第一固件信息的存储地址执行第一固件信息;
若判定上次启动时第一固件信息运行失败,则从配置区中读取第二固件信息的存储地址;并根据第二固件信息的存储地址执行第二固件信息。
进一步,所述从配置区中读取第二固件信息的存储地址,其具体包括:
从配置区中读取版本标志位的数值作为第三数值;
根据第三数值从配置区中读取第二固件信息的存储地址。
进一步,所述第一固件信息在首次成功运行后,向配置区的预设标志位写入第四数值。
进一步,所述第二固件信息为在升级第一固件信息之前能够成功运行的最新的固件信息。
本发明所采取的第二种技术方案是:
一种固件升级系统,包括处理器和固件存储器;
所述固件存储器包括Bootloader区、配置区和多个可独立擦写的固件区;
所述Bootloader区存储有Bootloader;多个所述固件区中的两个不同的区分别存储有第一固件信息和第二固件信息;所述第一固件信息为最新的固件信息,所述第二固件信息为在升级第一固件信息之前能够成功运行的固件信息;
所述Bootloader被处理器加载时,执行以下步骤:
读取配置区中的预设标志位的数值作为第一数值;
根据第一数值,判断系统本次启动是否为固件升级后的第一次启动;
若是,则向所述配置区的预设标志位写入第二数值,然后执行第一固件信息;
若否,则根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息。
进一步,所述根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息,其具体包括:
若判定上次启动时第一固件信息运行成功,则从配置区中读取第一固件信息的存储地址;并根据第一固件信息的存储地址执行第一固件信息;
若判定上次启动时第一固件信息运行失败,则从配置区中读取第二固件信息的存储地址;并根据第二固件信息的存储地址执行第二固件信息。
进一步,所述从配置区中读取第二固件信息的存储地址,其具体包括:
从配置区中读取版本标志位的数值作为第三数值;
根据第三数值从配置区中读取第二固件信息的存储地址。
进一步,所述第一固件信息在首次成功运行后,向配置区的预设标志位写入第四数值。
进一步,所述第二固件信息为在升级第一固件信息之前能够成功运行的最新的固件信息。
本发明的有益效果是:本发明将第一固件信息和第二固件信息存储在固件存储器的两个可独立擦写的区之中,然后根据配置区中的预设标志位选择需要执行的固件信息,在第一固件信息在上一次启动时运行失败的情况下,执行存储在固件存储器中的第二固件信息;本方案可以实现固件的自动回滚功能,在回滚功能的实现过程中,其无需重新对固件存储器进行刷写,且第二固件信息存储在固件区中,系统正常运行的情况下不会改写固件区中的第二固件信息,第二固件信息损坏的可能性较低,因此,本发明可以提高回滚的成功率,同时大大减少了用户的等待时间,使得在新升级固件故障时,用户可以快速回滚到上一个正常运行的版本,大大提升了设备运行的稳定性。
附图说明
图1为本发明一种固件存储器的结构示意图;
图2为本发明一种具体实施例的固件升级方法的流程图;
图3为本发明一种具体实施例的固件升级系统的模块框图。
具体实施方式
名词解释:
BootLoader:是在程序主要代码运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
配置区:也称作Config,其记录一些标记为或者操作配置,非指定物理,纯逻辑划分出来的。
固件:也称作Firmware,其为一个单片机或者固定硬件的软件程序打包集合体。
回滚:也称作Rollback,指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。回滚包括程序回滚和数据回滚等类型。
下面结合说明书附图和具体的实施例对本发明进行进一步的说明。
首先,针对固件的升级过程作出说明,如图1所示,在本实施例中,固件存储器被划分为多个区,包括Bootloader区、配置区以及多个固件区。所述区是指人工划分的多个虚拟的存储区域。其中,本实施例以扇区为单位对多个固件区进行了分区,因此,每个固件区是可以独立擦写的。每个固件区的擦写不会影响到其他区的内容。在未升级时,固件存储器中存有第一版本的固件信息,本实施例中,第一版本的固件信息存储在第一固件区之中。在升级后,第二版本的固件信息被写入到第二固件区之中。即经过升级后,固件存储器会同时存储新旧的两个固件信息。
当固件存储器进行第二次升级时,首先对第一固件区进行擦写,然后将第三版本的固件信息写入到第一固件区之中,在升级完成后,固件存储器中存储有第二版本的固件信息和第三版本的固件信息。如此类推,在第N次升级时用第N+1版本的固件信息来覆盖第N-1版本的固件信息。
当然,为了识别最新版本的固件信息当前的执行状态,需要在配置区中设置预设标志位,并在升级和运行过程中对预设标志位进行读写,使得Bootloader可以通过预设标志位来识别当前最新版本固件信息的执行状态。
在另一些实施例中,固件区的数量会超过两个,其可以同时存储三个或以上的固件版本,因此,需要设置版本标志位来确认回滚时所选择的固件版本。当回滚发生时,Bootloader可以根据版本标志位来选择回滚的版本。
参照图2,本实施例公开了一种固件升级方法,本方法应用在计算机系统(包括单片机)的Bootloader中。
本实施例包括以下步骤:
S1、读取配置区中的预设标志位的数值作为第一数值。
在本实施例中,预设标志位用于指示第一固件信息的执行状态,所述第一固件信息是指最新升级的固件。在本实施例中,第一固件信息的执行状态包括刚完成升级但是并未被执行、被执行后运行失败以及被执行后运行成功。本实施例将第一固件信息的三种执行状态以0x01、0x02和0x03进行区分。即预设标志位为0x01时,表示刚完成升级但是并未被执行;预设标志位为0x02时,表示被执行后运行失败;预设标志位为0x03时,表示被执行后运行成功。
当然在一些替代实施例中,预设标志位可以有多个,每个标志位代表一种状态,如有三个预设标志位,第一个预设标志位被写入数值后,表示刚完成升级但是并未被执行;第二个预设标志位别写入数值后,表示表示被执行后运行失败;第三个标志位被写入数值后,表示被执行后运行成功。
S2、根据第一数值,判断系统本次启动是否为固件升级后的第一次启动,即判断最新升级的固件是否被执行过。若是,则执行步骤S21,反之,则执行步骤S22。
在本实施例中,可以根据第一数值来判断第一固件信息的状态,由于第一固件信息是最新的固件信息,如果第一固件信息被执行过了,那么意味着本次启动并非固件升级后的第一次启动。因此,如果第一固件信息的执行状态处于完成升级但是并未被执行,那么可以确定本次启动是在固件升级后第一次启动。
具体地,本步骤可以判断第一数值是否等于0x01,如果是,则可以确定第一固件信息没有被执行过。如果不是,则可以确定第一固件信息已经被执行过了。
S21、向所述配置区的预设标志位写入第二数值,然后执行第一固件信息。
在本实施例中,如果确定了第一固件信息升级完成且没有被执行过,那么在本步骤中,就需要执行第一固件信息来验证第一固件信息是否能够正常运行。当然,在执行第一固件信息的同时需要修改预设标志位,以表示第一固件信息被执行过了。在第一固件信息被执行后,第一固件信息是否能够正常运行,是未知的。因此,在本实施例中,在本步骤执行第一固件信息时,Bootloader向配置区的预设标志位写入代表第一固件信息被执行的第二数值,如0x02。此外,当第一固件信息首次成功运行后,第一固件信息中包含的执行代码被执行时还会对预设标志位写入第四数值,以表示第一固件信息成功运行,如写入0x03。因此,如果在设备再次启动时,Bootloader识别配置区中的预设标志位仍然是第二数值时,可以判定第一固件信息没有运行成功。当Bootloader识别配置区中的预设标志位为第四数值时,可以判定第一固件信息已经运行成功。
S22、根据第一数值判断上一次启动时第一固件信息是否运行成功,若是则执行步骤S221;反之则执行步骤S222。
在本实施例中,本步骤具体地可以是,判断第一数值是0x02还是0x03,如果第一数值是0x02,则代表第一固件信息没有成功运行,需要回滚到第二固件信息。如果第一数值是0x03,则代表第一固件信息已经成功运行过了,第一固件信息是可用的,因此直接启动第一固件信息即可。
在一些实施例中,第二固件信息代表的是升级第一固件信息之前能够正常运行的最新版本。在另一些实施例中,第二固件信息代表的是升级第一固件信息之前能够正常运行的多个版本之中的一个版本。
S221、执行第一固件信息。
S222、执行第二固件信息;
在本实施例中,可以从配置区中读取第一固件信息和第二固件信息所存储的固件区的地址,然后根据所述存储固件的固件区的地址加载固件信息到内存中执行。当然,第一固件信息和第二固件信息所存储的固件区的地址,需要在升级固件时写入配置区之中。
在另一些实施例中,也可以将第一固件信息和第二固件信息的存储地址写入Bootloader之中。只要在升级固件时,将第一固件信息和第二固件信息存放在对应的存储地址之中即可。
本实施例将第一固件信息和第二固件信息存储在固件存储器的两个可独立擦写的区之中,然后根据配置区中的预设标志位选择需要执行的固件信息,在第一固件信息在上一次启动时运行失败的情况下,执行存储在固件存储器中的第二固件信息;本方案可以实现固件的自动回滚功能,在回滚功能的实现过程中,其无需重新对固件存储器进行刷写,且第二固件信息存储在固件区中,系统正常运行的情况下不会改写固件区中的第二固件信息,第二固件信息损坏的可能性较低,因此,本实施例可以提高回滚的成功率,同时大大减少了用户的等待时间,使得在新升级固件故障时,用户可以快速回滚到上一个正常运行的版本,大大提升了设备运行的稳定性。此外,本实施例无需在Bootloader中添加访问外部存储设备的驱动代码,使得Bootloader的代码量不会剧增。本实施例利用固件区的存储空间来换取系统的性能。
作为优选的实施例,所述根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息,其具体包括:
若判定上次启动时第一固件信息运行成功,则从配置区中读取第一固件信息的存储地址;并根据第一固件信息的存储地址执行第一固件信息;
若判定上次启动时第一固件信息运行失败,则从配置区中读取第二固件信息的存储地址;并根据第二固件信息的存储地址执行第二固件信息。
在本实施例中,所述存储地址是指固件信息所在的固件区的起始地址和/或结束地址。在获取固件信息的存储地址以后,如果该存储地址包括起始地址和结束地址,则可以直接将两个地址之间的连续存储空间的内容加载到内存中执行。如果该存储地址只包括一个起始地址或者结束地址,那么还需要获取固件信息的大小来确定固件的存储范围。
作为优选的实施例,所述从配置区中读取第二固件信息的存储地址,其具体包括:
从配置区中读取版本标志位的数值作为第三数值;
根据第三数值从配置区中读取第二固件信息的存储地址。
在本实施例中,固件存储器中可以同时存储三个以上的固件版本,因此在发生回滚时,需要确认以哪个版本作为回滚对象,即作为第二固件信息。本实施例在配置区中设置版本标志位,以指示回滚的版本。例如,固件存储器中同时存储有第一版本的固件信息、第二版本的固件信息和第三版本的固件信息,其中第三版本的固件信息是最新版本的固件信息,第二版本的固件信息是次新的,第一版本的固件信息是最旧的。当回滚发生时,Bootloader需要确认到底是回滚到第一版本的固件信息还是第二版本的固件信息,此时可以借助版本标志位,如果版本标志位的数值为0x01,即第三数值为0x01,那么代表回滚到最新版本的上一个版本。如果第三数值为0x02,那么代表回滚到最旧的版本。
所述版本标志位的数值,可以是预先设置的,也可以是在执行过程中,由用户修改的。例如,可以设定版本标志位为0x01或者0x02。或者,在设备的系统设置中提供修改配置区的操作渠道,使用户可以根据实际需要,输入操作指令,修改回滚的版本。如在交互界面中提供一个回滚版本的选项,选项对应的操作为对版本标志位写入回滚版本所对应的数值。
同理,在一些实施例中,也可以为用户提供修改预设标志位的操作渠道,使得用户可以通过修改预设标志位来实现手动回滚,以便于用户手动选择固件版本。
作为优选的实施例,所述第一固件信息在首次成功运行后,向配置区的预设标志位写入第四数值。使得Bootloader可以根据预设标志位判断第一固件信息是否已经成功运行过。
作为优选的实施例,所述第二固件信息为在升级第一固件信息之前能够成功运行的最新的固件信息。即更新时间最接近第一固件信息且成功运行过的固件信息。本实施例将回滚版本默认设置为上一个能够成功运行的固件版本,其设置更加符合用户习惯。当然,最新的固件信息也可以是指版本号最高的固件信息。
参照图3,本实施例公开了一种固件升级系统,其包括处理器和固件存储器;
其中,固件存储器可以内置在处理器之中,也可以外置于处理器。所述固件存储器,是指用于存储固件的存储器。
如图1所示,所述固件存储器包括Bootloader区、配置区和多个可独立擦写的固件区;
所述Bootloader区存储有Bootloader;多个所述固件区中的两个区分别存储有第一固件信息和第二固件信息;
所述Bootloader被处理器加载时,可以执行如图2所示的方法,即执行以下步骤:
读取配置区中的预设标志位的数值作为第一数值;
根据第一数值,判断系统本次启动是否为固件升级后的第一次启动;
若是,则向所述配置区的预设标志位写入第二数值,然后执行第一固件信息;
若否,则根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息。
作为优选的实施例,所述根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息,其具体包括:
若判定上次启动时第一固件信息运行成功,则从配置区中读取第一固件信息的存储地址;并根据第一固件信息的存储地址执行第一固件信息;
若判定上次启动时第一固件信息运行失败,则从配置区中读取第二固件信息的存储地址;并根据第二固件信息的存储地址执行第二固件信息。
作为优选的实施例,所述从配置区中读取第二固件信息的存储地址,其具体包括:
从配置区中读取版本标志位的数值作为第三数值;
根据第三数值从配置区中读取第二固件信息的存储地址。
作为优选的实施例,所述第一固件信息在首次成功运行后,向配置区的预设标志位写入第四数值。
作为优选的实施例,所述第二固件信息为在升级第一固件信息之前能够成功运行的最新的固件信息。
上述方法实施例与对应的系统实施例所能实现的技术效果相同。
对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种固件升级方法,其特征在于:包括以下步骤:
读取配置区中的预设标志位的数值作为第一数值;
根据第一数值,判断系统本次启动是否为固件升级后的第一次启动;
若是,则向所述配置区的预设标志位写入第二数值,然后执行第一固件信息;
若否,则根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息;
其中,第一固件信息和第二固件信息分别存储在两个不同的固件区,所述第一固件信息为最新的固件信息,所述第二固件信息为在升级第一固件信息之前能够成功运行的固件信息。
2.根据权利要求1所述的一种固件升级方法,其特征在于:所述根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息,其具体包括:
若判定上次启动时第一固件信息运行成功,则从配置区中读取第一固件信息的存储地址;并根据第一固件信息的存储地址执行第一固件信息;
若判定上次启动时第一固件信息运行失败,则从配置区中读取第二固件信息的存储地址;并根据第二固件信息的存储地址执行第二固件信息。
3.根据权利要求2所述的一种固件升级方法,其特征在于:所述从配置区中读取第二固件信息的存储地址,其具体包括:
从配置区中读取版本标志位的数值作为第三数值;
根据第三数值从配置区中读取第二固件信息的存储地址。
4.根据权利要求1所述的一种固件升级方法,其特征在于:所述第一固件信息在首次成功运行后,向配置区的预设标志位写入第四数值。
5.根据权利要求1-3任一项所述的一种固件升级方法,其特征在于:所述第二固件信息为在升级第一固件信息之前能够成功运行的最新的固件信息。
6.一种固件升级系统,其特征在于:包括处理器和固件存储器;
所述固件存储器包括Bootloader区、配置区和多个可独立擦写的固件区;
所述Bootloader区存储有Bootloader;多个所述固件区中的两个不同的区分别存储有第一固件信息和第二固件信息;所述第一固件信息为最新的固件信息,所述第二固件信息为在升级第一固件信息之前能够成功运行的固件信息;
所述Bootloader被处理器加载时,执行以下步骤:
读取配置区中的预设标志位的数值作为第一数值;
根据第一数值,判断系统本次启动是否为固件升级后的第一次启动;
若是,则向所述配置区的预设标志位写入第二数值,然后执行第一固件信息;
若否,则根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息。
7.根据权利要求6所述的一种固件升级系统,其特征在于:所述根据第一数值判断上一次启动时第一固件信息是否运行成功,以确定执行第一固件信息或者第二固件信息,其具体包括:
若判定上次启动时第一固件信息运行成功,则从配置区中读取第一固件信息的存储地址;并根据第一固件信息的存储地址执行第一固件信息;
若判定上次启动时第一固件信息运行失败,则从配置区中读取第二固件信息的存储地址;并根据第二固件信息的存储地址执行第二固件信息。
8.根据权利要求7所述的一种固件升级方法,其特征在于:所述从配置区中读取第二固件信息的存储地址,其具体包括:
从配置区中读取版本标志位的数值作为第三数值;
根据第三数值从配置区中读取第二固件信息的存储地址。
9.根据权利要求6所述的一种固件升级方法,其特征在于:所述第一固件信息在首次成功运行后,向配置区的预设标志位写入第四数值。
10.根据权利要求6-8任一项所述的一种固件升级方法,其特征在于:所述第二固件信息为在升级第一固件信息之前能够成功运行的最新的固件信息。
CN201910128410.7A 2019-02-21 2019-02-21 一种固件升级方法及系统 Pending CN109947445A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910128410.7A CN109947445A (zh) 2019-02-21 2019-02-21 一种固件升级方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910128410.7A CN109947445A (zh) 2019-02-21 2019-02-21 一种固件升级方法及系统

Publications (1)

Publication Number Publication Date
CN109947445A true CN109947445A (zh) 2019-06-28

Family

ID=67006917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910128410.7A Pending CN109947445A (zh) 2019-02-21 2019-02-21 一种固件升级方法及系统

Country Status (1)

Country Link
CN (1) CN109947445A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221553A (zh) * 2019-12-31 2020-06-02 深圳优地科技有限公司 一种固件升级的方法及装置
CN112988465A (zh) * 2021-03-26 2021-06-18 东莞市峰谷科技有限公司 一种单片机升级失败自动恢复运行的方法
CN116560700A (zh) * 2023-07-11 2023-08-08 沐曦集成电路(上海)有限公司 芯片固件升级系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100313191A1 (en) * 2009-06-05 2010-12-09 Dell Products L.P. System and Method for Modifying Firmware
WO2014161339A1 (zh) * 2013-08-12 2014-10-09 中兴通讯股份有限公司 固件升级方法及装置
CN104166561A (zh) * 2014-07-25 2014-11-26 深圳市江波龙电子有限公司 电子设备系统启动方法和电子设备
CN105740034A (zh) * 2016-04-13 2016-07-06 深圳市高巨创新科技开发有限公司 Mcu在线升级固件的系统及方法
CN105912356A (zh) * 2016-03-31 2016-08-31 武汉光迅科技股份有限公司 一种支持版本回退的光模块固件程序在线升级方法
CN109189451A (zh) * 2018-10-25 2019-01-11 京信通信系统(中国)有限公司 一种固件升级方法及装置
CN109358882A (zh) * 2018-11-02 2019-02-19 青岛海信电器股份有限公司 一种电视终端进行固件升级的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100313191A1 (en) * 2009-06-05 2010-12-09 Dell Products L.P. System and Method for Modifying Firmware
WO2014161339A1 (zh) * 2013-08-12 2014-10-09 中兴通讯股份有限公司 固件升级方法及装置
CN104166561A (zh) * 2014-07-25 2014-11-26 深圳市江波龙电子有限公司 电子设备系统启动方法和电子设备
CN105912356A (zh) * 2016-03-31 2016-08-31 武汉光迅科技股份有限公司 一种支持版本回退的光模块固件程序在线升级方法
CN105740034A (zh) * 2016-04-13 2016-07-06 深圳市高巨创新科技开发有限公司 Mcu在线升级固件的系统及方法
CN109189451A (zh) * 2018-10-25 2019-01-11 京信通信系统(中国)有限公司 一种固件升级方法及装置
CN109358882A (zh) * 2018-11-02 2019-02-19 青岛海信电器股份有限公司 一种电视终端进行固件升级的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111221553A (zh) * 2019-12-31 2020-06-02 深圳优地科技有限公司 一种固件升级的方法及装置
CN112988465A (zh) * 2021-03-26 2021-06-18 东莞市峰谷科技有限公司 一种单片机升级失败自动恢复运行的方法
CN116560700A (zh) * 2023-07-11 2023-08-08 沐曦集成电路(上海)有限公司 芯片固件升级系统
CN116560700B (zh) * 2023-07-11 2023-09-22 沐曦集成电路(上海)有限公司 芯片固件升级系统

Similar Documents

Publication Publication Date Title
US8423991B2 (en) Embedded network device and firmware upgrading method
US20070074201A1 (en) Method and system for updating software and computer readable recording medium storing the method
US20110004871A1 (en) Embedded electronic device and firmware updating method thereof
CN106020861B (zh) 一种智能手表的fota升级方法及系统
CN109947445A (zh) 一种固件升级方法及系统
US6745278B2 (en) Computer capable of rewriting an area of a non-volatile memory with a boot program during self mode operation of the computer
EP1679599B1 (en) File update system and boot management system of mobile communication terminal, and corresponding methods
CN110515641A (zh) 服务器固件的更新方法、装置及系统
CN109086078B (zh) 安卓系统升级方法、装置、服务器及移动终端
KR100927446B1 (ko) 이동통신단말기의 트랜잭션 단위 펌웨어 업그레이드 방법및 이를 이용한 펌웨어 업그레이드 시스템
CN105760165B (zh) 一种mcu自我备份加载刷新的方法
CN102799497A (zh) Nvram数据恢复系统及方法
CN108984198A (zh) 一种Android系统的升级方法及装置
CN111562934A (zh) 一种基于热补丁的软件系统升级方法、终端及存储介质
CN109213510A (zh) 一种用于嵌入式设备的应用程序升级方法及存储介质
CN112463656A (zh) 固态硬盘异常掉电恢复方法、系统及存储介质
US11366596B2 (en) Data storage device and data access method for quickly loading boot data
CN115357262A (zh) 一种驱动器固件批量升级的方法
US20060026415A1 (en) Method of updating a portion BIOS
CN108733517A (zh) Ssd固件升级保护方法及装置
KR100648817B1 (ko) 자동 펌웨어 업데이트 시스템 및 그 방법
CN102722378B (zh) 一种非智能手机及升级其系统程序的方法
CN115390880A (zh) 固件升级方法、装置、存储介质及电子设备
CN109343886A (zh) 一种升级bios的方法、装置以及设备
CN114296764A (zh) 系统升级方法、装置、存储介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190628

RJ01 Rejection of invention patent application after publication