CN117331593A - 双备份升级方法、计算机设备及存储介质 - Google Patents
双备份升级方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117331593A CN117331593A CN202311391713.0A CN202311391713A CN117331593A CN 117331593 A CN117331593 A CN 117331593A CN 202311391713 A CN202311391713 A CN 202311391713A CN 117331593 A CN117331593 A CN 117331593A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- file
- storage area
- upgrading
- upgrade file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000015654 memory Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005192 partition Methods 0.000 description 24
- 230000009977 dual effect Effects 0.000 description 22
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例涉及软件升级的技术领域,具体涉及一种双备份升级方法,包括:获取第一升级文件及第二升级文件;将第一升级文件写入第一存储区,以覆盖存储于第一存储区的第一程序文件;当第一存储区已写入第一升级文件时,根据第一升级文件对微控制单元执行升级操作;当微控制单元完成升级后,将第二升级文件写入第二存储区,以覆盖存储在第二存储区的第二程序文件。由于微控制单元的升级过程不需外置芯片的参与,因此本方法将第一升级文件覆盖外置芯片的第一程序文件,以对微控制单元进行升级,从而有效地节省了双备份升级所需的存储空间,而且能够保证在升级过程中微控制单元始终正常工作,避免了升级失败导致的程序丢失。
Description
技术领域
本申请实施例涉及软件升级的技术领域,尤其涉及一种双备份升级方法、计算机设备及存储介质。
背景技术
双备份升级,是一种通常结合OTA(Over-The-Air,即空中下载)技术使用的升级方案,通过将接收的升级文件存放在存储器的空闲区域中,在升级未完成时终端设备仍然可以运行原有存储区的文件,而在升级完成后切换运行升级文件,从而使得设备可在正常工作的情况下进行升级。
目前,大多数的DSP(Digital-Signal-Processing,即数字信号处理)芯片中没有内置的flash(闪存存储器),DSP芯片所需的程序文件通常存储于MCU(Microcontroller-Unit,即微控制单元)的flash中,在上电后由MCU从其内置的flash中读取DSP芯片的程序,在这种情况下,若MCU及DSP芯片需同时进行双备份升级,则需要更大容量的flash才能实现,在一定程度上提高了硬件成本。举例而言,若DSP芯片的升级程序大小为500k,MCU的升级程序大小为400k,若此时MCU的flash可用空间小于1800k,则无法对MCU和DSP进行双备份升级。
发明内容
本申请实施例的一个目的旨在提供一种双备份升级方法,以解决MCU在进行双备份升级时对存储空间的容量要求较高的技术问题。
在第一方面,本申请实施例提出一种双备份升级方法,应用于微控制单元,所述微控制单元包括第一存储区及第二存储区,所述方法包括:
获取第一升级文件及第二升级文件;
将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;
当所述第一存储区已写入所述第一升级文件时,根据所述第一升级文件对所述微控制单元执行升级操作;
当所述微控制单元完成升级后,将所述第二升级文件写入所述第二存储区,以覆盖存储在所述第二存储区的第二程序文件,所述第二升级文件用于升级外置芯片,所述外置芯片与所述微控制单元电连接。
结合第一方面,在一种可能的实现方式中,在获取第一升级文件及第二升级程序之后,还包括:
判断所述第一升级文件的大小是否小于所述第一存储区;
若是,则将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;
若否,则停止升级。
结合第一方面,在一种可能的实现方式中,当所述微控制单元完成升级后,还包括:
判断所述第二升级文件的大小是否大于所述第二存储区;
若是,则对写入所述第一存储区的所述第一升级文件进行备份,备份完成后对所述外置芯片进行升级;
若否,则将所述第二升级文件写入所述第二存储区,以覆盖存储于所述第二存储区的第二程序文件。
结合第一方面,在一种可能的实现方式中,对写入所述第一存储区的所述第一升级文件进行备份,备份完成后对所述外置芯片进行升级,包括:
将写入所述第一存储区的所述第一升级文件备份至所述第二存储区,以覆盖存储在所述第二存储区的第二程序文件;
将所述第二升级文件写入所述第二存储区的第一升级文件之后,以升级所述外置芯片。
结合第一方面,在一种可能的实现方式中,所述将所述第二升级文件写入所述第二存储区的第一升级文件之后,包括:
确定所述第二存储区的可用空间,所述第二存储区的可用空间为备份完成后所述第二存储区的剩余空间;
基于所述第二存储区的可用空间及所述第一存储区,写入所述第二升级文件。
结合第一方面,在一种可能的实现方式中,在所述微控制单元升级完成之后,还包括:
若检测到所述微控制单元掉电,且所述外置芯片升级未完成,则在上电后向所述外置芯片发送失能指令,所述外置芯片在接收到所述失能指令后停止工作。
结合第一方面,在一种可能的实现方式中,所述获取第一升级文件及第二升级文件,包括:
接收目标升级文件;
在所述目标升级文件中确定所述第一升级文件及第二升级文件。
结合第一方面,在一种可能的实现方式中,所述目标升级文件包括辅助信息,所述在所述目标升级文件中确定所述第一升级文件及第二升级文件,包括:
读取所述辅助信息;
根据所述辅助信息,在所述目标升级文件中确定所述第一升级文件及第二升级文件。
在第二方面,本申请实施例还提供一种双备份升级装置,应用于微控制单元,所述微控制单元包括第一存储区及第二存储区,该装置包括:
数据获取模块,用于获取第一升级文件及第二升级文件;
数据写入模块,将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;
第一升级模块,用于当所述第一存储区已写入所述第一升级文件时,根据所述第一升级文件对所述微控制单元执行升级操作;
第二升级模块,用于当所述微控制单元完成升级后,将所述第二升级文件写入所述第二存储区,以覆盖存储在所述第二存储区的第二程序文件,所述第二升级文件用于升级外置芯片,所述外置芯片与所述微控制单元电连接。
在第三方面,本申请实施例还提供一种计算机设备,包括存储器及处理器,所述存储器连接至所述处理器,所述处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述处理器在执行所述一个或多个计算机程序时,使得所述计算机设备实现如上所述的方法。
在第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如上所述的方法。
本申请实施例可以实现如下技术效果:
基于本申请的方法,在获取到第一升级文件及第二升级文件后,首先将用于微控制单元升级的第一升级文件写入第一存储区中,以覆盖用于外置芯片的第一程序文件,在微控制单元完成升级后,将用于外置芯片升级的第二升级文件写入第二存储区中,以覆盖用于微控制单元的第二程序文件,从而对外置芯片进行升级。由于微控制单元的升级过程不需要其外置芯片的参与,因此,本方法能够保证在升级过程中微控制单元始终正常工作,不会因升级而使设备不可用,且由于微控制单元与其连接外置芯片的升级过程分步执行,从而避免了对大容量存储空间的需求,有效地节省了硬件成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种双备份升级的过程示意图;
图2为本申请实施例提供的一种双备份升级方法的流程示意图;
图3为本申请实施例提供的一种双备份升级装置的结构示意图;
图4为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本申请所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
本申请实施例所涉及的技术术语:
双备份升级,是一种设备升级策略,其目的在于确保升级过程不会使待升级设备变得不可用。它通常包括两个关键的备份分区(Partition A和Partition B),以便在升级失败或固件损坏时能够回滚到之前的可用软件版本。双备份升级策略通常结合OTA技术实施,作为一种示例,常见的双备份升级流程包括:
初始状态:待升级设备在初始状态下运行,包含两个备份分区,分别为PartitionA和Partition B,其中Partition A包含当前运行的程序,而Partition B包含上一个成功升级的程序;OTA升级检查:待升级设备定期检查服务器或云端存储,以查看是否有新的OTA升级包可用;备份当前程序:在开始OTA升级之前,设备会备份当前运行的程序,将其复制到未被升级的备份分区;下载升级包:设备下载新的OTA升级包,通常将其下载到未被升级的备份分区;升级验证:设备验证OTA升级包的完整性和身份,以确保它未被篡改;安装新程序:如果OTA升级包验证通过,则设备将新升级包解压并写入另一个备份分区(如果新升级包下载到Partition A,则写入Partition B,反之亦然),在写入完成后,设备会更新OTA升级的元数据,指示哪个分区包含新的程序;切换到新程序:设备通过重启或其他方式切换运行新的程序,使得新程序成为设备的当前运行版本;升级成功报告:设备在切换到新程序后向服务器发送成功报告;清理和回滚:设备可以删除旧的备份程序,以释放存储空间。如果在升级过程中发生问题,设备可以回滚到之前的程序版本,以确保系统的可用性;结束升级流程:升级完成后,设备可以继续正常运行,并定期检查是否有新的OTA升级可用。
由于双备份升级策略允许设备在升级过程中始终保持可用性并允许回滚到之前的程序版本,以防升级失败,因此为关键程序的升级提供了额外的可靠性和安全性,被广泛应用于高可用性和稳定性的场合,如工业控制、医疗设备和自动驾驶等领域。
具体地,请参照图1,图1所示为OTA升级的过程示意图。如图1所示,待升级设备10与服务器20之间无线通信连接,并通过OTA技术从服务器20处下载需要的升级文件,该升级文件被存储于待升级设备10的存储器30中,以进行双备份升级,一般情况下,存储器30的为一非易失性存储器。
其中,存储器30的存储空间被分为两部分:分区301及分区302,基于OTA技术下载的升级文件存储于分区301中,而分区302中存储有当前正在运行的程序文件,一般情况下,分区301及分区302的大小相等。
在一些实施例中,待升级设备10在接收到升级指令后从服务器20处下载升级文件,并通过检测升级文件的标志位确定升级文件的完整性。当检测到升级文件已下载完毕后,待升级设备10开始切换执行分区301中的升级文件以进行升级,在完成升级后,分区302中的程序文件将被删除,以释放分区302的存储空间。在待升级设备10的升级过程中,存储器30中始终存储有可被待升级设备10运行的程序文件,使得待升级设备10在升级过程中仍然可以执行之前的程序文件,从而不会因升级而导致设备不可用。
本申请实施例提供一种双备份升级方法,请参阅图1,图1所示为该方法的流程示意图,包括以下步骤:
步骤S10,获取第一升级文件及第二升级文件;
需要说明的是,本实施例及后续实施例所提出的软件升级方法用于升级MCU及MCU外置芯片,例如DSP芯片等,为了方便起见,以下说明中均使用DSP芯片作为MCU外置芯片的示例。该DSP芯片没有内置的flash,因此与MCU共用一flash,也即MCU与DSP的程序文件均存储于该flash中。在MCU上电后或需要使用该DSP芯片时,由MCU从flash中读取该DSP芯片的第一程序文件并通过SPI或I2C等方式传输给DSP芯片。
在本实施例中,第一升级文件是指用于MCU升级的文件,第二升级文件是指用于DSP芯片升级的文件。作为一种实施方式,第一升级文件及第二升级文件被包括在同一个升级包中,当MCU与DSP芯片同时升级时,由MCU通过OTA的形式从升级端获取到该升级包,该升级包在下载完成后首先被缓存于flash中,之后MCU通过读取并执行该升级包进行升级。
在另一些实施例中,在MCU接收到升级端的升级指令后,立即响应该升级指令进入OTA升级状态开始接收该升级包,在该升级包中第一升级文件位于第二升级文件之前,且第一升级文件之前还包括一头文件,MCU通过接收并读取头文件确定第一升级文件及第二升级文件的信息,从而根据该信息在接收到完整的第一升级文件后暂时停止接收后续的第二升级文件,并记录当前接收的断点,待MCU升级完成后根据该断点继续接收第二升级文件,以节省存储空间。
步骤S20,将第一升级文件写入第一存储区,以覆盖存储于第一存储区的第一程序文件;
需要说明的是,本实施例中的第一存储区是指在MCU的flash存储空间内,用于存储DSP芯片的所需的第一程序文件的存储区域,该第一程序文件是指DSP芯片在未升级时存储于flash中的程序,该程序可由MCU读取并传输给DSP芯片,DSP芯片将接收到的第一程序文件存放于其RAM中并执行。容易理解的是,在本实施例中,DSP芯片为MCU的外置芯片,如一种用于语音识别的DSP芯片,其本质为附加于MCU的额外硬件组件,用于提供MCU不具有的功能和性能,因此MCU的运行过程中不需要DSP芯片的参与。基于这种理解,MCU的升级过程不需要DSP芯片的参与,因此将用于MCU升级的第一升级文件覆盖原先用于DSP芯片的第一程序文件后不会对MCU的正常工作产生影响。
具体地,flash存储器是一种非易失性存储器,包括多个扇区,每个扇区包括多个页,每个页通常为512字节。在本实施例中的第一存储区实质上为包括了多个扇区的虚拟分区,作为一种可行的实施方式,flash存储器的多个扇区被平均分为第一存储区及第二存储区,每个扇区具有唯一的标识符,以标识其身份信息。
更为具体地,在将第一升级文件写入第一存储区时,首先需要对已储存的第一程序文件进行擦除,之后通过写入器件将第一升级文件依次写入第一存储区的每个扇区中,最后检查各个扇区的存储状态,确保写入的内容无误。其中,对第一程序文件进行擦除时,需要确定第一存储区所包括的所有扇区,对每个扇区进行擦除时按照页为单位进行,直至存储于第一存储区中的第一程序文件均被擦除,恢复为初始状态。
可以理解的是,第一程序文件被覆盖后,DSP芯片的RAM存储器中仍然保存上次上电时由MCU读取的第一程序文件,因此在升级过程中DSP芯片仍然可执行该第一程序文件,也即DSP芯片在存储于第一存储区的第一程序文件被覆盖之后仍然正常工作。
但是,由于RAM存储器为随机存取存储器,因此在掉电后无法保存第一程序文件,因此若在升级过程中检测到微控制单元掉电,且外置芯片升级未完成,则在上电后微控制单元无法获取到完整的程序文件发送给其外置芯片执行,因此,在微控制单元上电后,需要首先向所述外置芯片发送失能指令,外置芯片在接收到所述失能指令后停止工作。
步骤S30,当第一存储区已写入所述第一升级文件时,根据第一升级文件对微控制单元进行升级操作;
可以理解的是,在第一升级文件已经全部写入第一存储区后,第一存储区中即存储有完整的可被微控制单元执行的程序。示例性地,对微控制单元进行升级操作具体包括:确定写入所述第一存储区的第一升级文件为所述微控制单元的目标运行程序;控制所述控制器执行所述目标运行程序,以升级所述微控制单元。
其中,目标运行程序为微控制单元正在执行的程序,在升级之前,微控制单元的目标运行程序为储存于第二存储区的第二程序文件,当第一升级文件全部写入后,微控制单元的目标运行程序切换为所述第一升级文件。
步骤S40,当微控制单元完成升级后,将第二升级文件写入第二存储区,以覆盖存储在第二存储区的第二程序文件,第二升级文件用于升级外置芯片。
其中,第二程序文件是指在完成升级前用于MCU运行的程序文件,在升级之前,MCU执行第二程序文件,在完成升级后执行存储于第一存储区的第一程序文件,则此时第二程序文件不再用于MCU运行,因此即使将第二升级文件覆盖于第二程序文件,MCU仍然正常工作。
进一步地,在上述实施例中,在获取第一升级文件及第二升级程序之后,还包括:判断所述第一升级文件的大小是否小于所述第一存储区;若是,则将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;若否,则停止升级。
需要说明的是,若第一升级文件大于第一存储区的存储空间,即无法将第一升级文件完整写入第一存储区内时,则需要使用第二存储区的存储空间来存储未能写入第一存储区的部分,在这种情况下若第二存储区中已无剩余的存储空间可供使用,则将覆盖第二存储区中的第二程序文件,而该第二程序文件为MCU的当前运行程序,因此对第二程序文件的覆盖将导致在升级过程中flash中已经不存在完整的MCU运行程序,将会影响MCU的正常工作,使得双备份升级失败,因此,当第一升级文件大于第一存储区的存储空间时,还需要考虑其他策略进行升级。
在一些实施例中,当判断到第一升级文件小于第一存储区之后,由微控制单元向升级端返回一确认指令,该确认指令表征该第一升级文件无法用于双备份升级,即无法确保升级过程中微控制单元的正常工作,升级端在接收到该确认指令后向用户发出确认信息,确定是否切换其它的升级策略,或者跳过此次更新。
更进一步地,当所述微控制单元完成升级后,还包括:判断第二升级文件的大小是否大于第二存储区;若是,则对写入第一存储区的第一升级文件进行备份,备份完成后对外置芯片进行升级;若否,则将第二升级文件写入第二存储区,以覆盖存储于第二存储区的第二程序文件。
容易理解,外置芯片的升级过程需要微控制单元的参与控制,因此在微控制单元完成升级后,才对外置芯片进行升级。其中,第二存储区内存储升级前MCU的第二程序文件,因此在MCU升级完成后,第二存储区内的第二程序文件不再被MCU执行,因此可用于外置芯片的升级。
需要说明的是,若第二升级文件不大于第二存储区的存储空间,即第二升级文件可完整写入第二存储区时,则直接将第二升级文件覆盖第二存储区中原先存储的第二程序文件,但是若第二升级文件大于第二存储区的存储空间,即无法将第二升级文件完整写入第二存储区内时,则需要将第一升级文件备份至第二存储区中,之后利用第二存储区的剩余空间以及完整的第一存储区来共同存储第二升级文件。
在一些实施例中,对写入第一存储区的所述第一升级文件进行备份,备份完成后对所述外置芯片进行升级,包括:将写入第一存储区的所述第一升级文件备份至第二存储区,以覆盖存储在第二存储区的第二程序文件;将第二升级文件写入第二存储区的第一升级文件之后,以升级外置芯片。
具体地,flash中包括第一存储区及第二存储区,在备份前第二存储区中存储微控制单元的第二程序文件,第一存储区中存储微控制单元的第一升级文件,在备份后,第一存储区及第二存储区中均存储第一升级文件。在备份完成后,微控制单元转而切换执行第二存储区中的第一升级文件,也即第二存储区中的第一升级文件为此时微控制单元的运行程序。
更进一步地,将所述第二升级文件写入所述第二存储区的第一升级文件之后,包括:确定所述第二存储区的可用空间,所述第二存储区的可用空间为备份完成后所述第二存储区的剩余空间;基于所述第二存储区的可用空间及所述第一存储区,写入所述第二升级文件。
其中,第二存储区的可用空间是指将第一升级文件备份至第二存储区后,第二存储区中未存储数据的空间,具体来说,第二存储区的容量共k个扇区,第一升级文件占用了m个扇区,则此时第二存储区的可用空间为k-m个扇区。
更进一步地,在上述实施例中,获取第一升级文件及第二升级文件,包括:接收目标升级文件;在所述目标升级文件中确定所述第一升级文件及第二升级文件。
其中,所述目标升级文件中包括辅助信息,该辅助信息通常包括第一程序文件及第二程序文件的大小、起止位等用于接收或读取的信息。在目标升级文件中确定第一升级文件及第二升级文件,包括:读取辅助信息;根据辅助信息,在目标升级文件中确定所述第一升级文件及第二升级文件。
基于上述所有实施例,本申请提供了一种双备份升级方法,以在微控制单元的flash空间有限的情况下对微控制单元及外置芯片进行升级,利用了微控制单元升级过程中不需要其外置芯片参与的特性,将微控制单元的flash中存储外置芯片的程序文件的分区腾出存储微控制单元的升级文件,来完成对微控制单元的升级,最终在微控制单元升级完成后通过覆盖微控制单元升级前的程序文件来完成对外置芯片的升级,从而有效地节省了对大容量flash的需求,而且在整个升级过程中,微控制单元的flash中始终存在完整的用于微控制单元的文件,确保了微控制单元在升级时正常工作。
需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本申请实施方式的描述可以理解,不同实施方式中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
作为本申请实施例的另一方面,本申请实施例提供一种双备份升级装置。其中,双备份升级装置可以为软件模块,所述软件模块包括若干指令,其存储在存储器内,处理器可以访问该存储器,调用指令进行执行,以完成上述各个实施方式所阐述的双备份升级方法。
在一些实施方式中,双备份升级装置亦可以由硬件器件搭建成的,例如,双备份升级装置可以由一个或两个以上的芯片搭建而成,各个芯片可以互相协调工作,以完成上述各个实施方式所阐述的双备份升级方法。再例如,双备份升级装置还可以由各类逻辑器件搭建而成,诸如由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合而搭建成。
具体地,参见图3,图3为本申请实施例所提出的一种双备份升级装置的结构示意图,如图3所示,双备份升级装置300包括:
数据获取模块310,用于获取第一升级文件及第二升级文件;
数据写入模块320,将第一升级文件写入第一存储区,以覆盖存储于第一存储区的第一程序文件;
第一升级模块330,用于当第一存储区已写入第一升级文件时,根据第一升级文件对微控制单元执行升级操作;
第二升级模块340,用于当所述微控制单元完成升级后,将第二升级文件写入第二存储区,以覆盖存储在第二存储区的第二程序文件,第二升级文件用于升级外置芯片。
在一种可能的设计中,数据获取模块310,在用于获取第一升级文件及第二升级程序时,还用于:判断第一升级文件的大小是否小于第一存储区;若是,则将第一升级文件写入第一存储区,以覆盖存储于第一存储区的第一程序文件;若否,则停止升级。
在一种可能的设计中,第二升级模块340,还用于:当微控制单元完成升级后,判断第二升级文件的大小是否大于第二存储区;若是,则对写入第一存储区的第一升级文件进行备份,备份完成后对外置芯片进行升级;若否,则将第二升级文件写入第二存储区,以覆盖存储于第二存储区的第二程序文件。
在一种可能的设计中,第二升级模块340,在用于对写入第一存储区的第一升级文件进行备份,备份完成后对外置芯片进行升级时,具体用于:将写入第一存储区的第一升级文件备份至第二存储区,以覆盖存储于第二存储区的第二程序文件;将第二升级文件写入第二存储区的第一升级文件之后,以升级外置芯片。
在一种可能的设计中,第二升级模块340,在用于将第二升级文件写入第二存储区的第一升级文件之时,具体用于:确定第二存储区的可用空间,第二存储区的可用空间为备份完成后第二存储区的剩余空间;基于第二存储区的可用空间及第一存储区,写入第二升级文件。
在一种可能的设计中,第二升级模块340,还用于:若检测到微控制单元掉电,且外置芯片升级未完成,则在上电后向外置芯片发送失能指令,外置芯片在接收到失能指令后停止工作。
在一种可能的设计中,数据获取模块340,在用于获取第一升级文件及第二升级文件时,具体用于:接收目标升级文件;在目标升级文件中确定第一升级文件及第二升级文件。
在一种可能的设计中,数据获取模块340,在用于确定第一升级文件及第二升级文件时,具体用于:读取辅助信息;根据辅助信息,在目标升级文件中确定第一升级文件及第二升级文件。
需要说明的是,上述双备份升级装置可执行本申请实施方式所提供的双备份升级方法,具备执行方法相应的功能模块和有益效果。未在双备份升级装置实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的双备份升级方法。
参见图4,图4是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备40包括一个或多个处理器41及存储器42。存储器42连接至一个或多个处理器41,例如通过总线连接至处理器。
处理器41被配置为支持该计算机设备执行上述方法实施例中的方法中相应的功能。该处理器41可以是中央处理器(central processing unit,CPU),网络处理器(networkprocessor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器42用于存储程序代码等。存储器42可以包括易失性存储器(volatilememory,VM),例如随机存取存储器(random access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory,NVM),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
存储器42可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的双备份升级方法对应的程序指令/模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行双备份升级方法和双备份升级装置的各种功能应用以及数据处理,即实现上述方法实施例提供的双备份升级方法以及双备份升级装置的各个模块或单元的功能。
存储器42可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。存储数据区可存储根据双备份升级装置的使用所创建的数据等。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至双备份升级装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器42中,当被所述一个或者多个处理器41执行时,执行上述任意方法实施例中的双备份升级方法,例如,执行以上方法实施例描述的方法步骤,实现以上装置实施例描述的模块的功能。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如前述实施例所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only memory,ROM)或随机存储记忆体(Random Accessmemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种双备份升级方法,其特征在于,应用于微控制单元,所述微控制单元包括第一存储区及第二存储区,所述方法包括:
获取第一升级文件及第二升级文件;
将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;
当所述第一存储区已写入所述第一升级文件时,根据所述第一升级文件对所述微控制单元执行升级操作;
当所述微控制单元完成升级后,将所述第二升级文件写入所述第二存储区,以覆盖存储在所述第二存储区的第二程序文件,所述第二升级文件用于升级外置芯片,所述外置芯片与所述微控制单元电连接。
2.根据权利要求1所述的方法,其特征在于,在获取第一升级文件及第二升级程序之后,还包括:
判断所述第一升级文件的大小是否小于所述第一存储区;
若是,则将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;
若否,则停止升级。
3.根据权利要求1所述的方法,其特征在于,所述当所述微控制单元完成升级后,还包括:
判断所述第二升级文件的大小是否大于所述第二存储区;
若是,则对写入所述第一存储区的所述第一升级文件进行备份,备份完成后对所述外置芯片进行升级;
若否,则将所述第二升级文件写入所述第二存储区,以覆盖存储于所述第二存储区的第二程序文件。
4.根据权利要求3所述的方法,其特征在于,所述对写入所述第一存储区的所述第一升级文件进行备份,备份完成后对所述外置芯片进行升级,包括:
将写入所述第一存储区的所述第一升级文件备份至所述第二存储区,以覆盖存储于所述第二存储区的第二程序文件;
将所述第二升级文件写入所述第二存储区的第一升级文件之后,以升级所述外置芯片。
5.根据权利要求4所述的方法,其特征在于,所述将所述第二升级文件写入所述第二存储区的第一升级文件之后,包括:
确定所述第二存储区的可用空间,所述第二存储区的可用空间为备份完成后所述第二存储区的剩余空间;
基于所述第二存储区的可用空间及所述第一存储区,写入所述第二升级文件。
6.根据权利要求1所述的方法,其特征在于,在所述微控制单元升级完成之后,还包括:
若检测到所述微控制单元掉电,且所述外置芯片升级未完成,则在上电后向所述外置芯片发送失能指令,所述外置芯片在接收到所述失能指令后停止工作。
7.根据权利要求1所述的方法,其特征在于,所述获取第一升级文件及第二升级文件,包括:
接收目标升级文件;
在所述目标升级文件中确定所述第一升级文件及第二升级文件。
8.根据权利要求7所述的方法,其特征在于,所述目标升级文件包括辅助信息,所述在所述目标升级文件中确定所述第一升级文件及第二升级文件,包括:
读取所述辅助信息;
根据所述辅助信息,在所述目标升级文件中确定所述第一升级文件及第二升级文件。
9.一种计算机设备,其特征在于,包括存储器及处理器,所述存储器连接至所述处理器,所述处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述处理器在执行所述一个或多个计算机程序时,使得所述计算机设备实现如权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311391713.0A CN117331593A (zh) | 2023-10-25 | 2023-10-25 | 双备份升级方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311391713.0A CN117331593A (zh) | 2023-10-25 | 2023-10-25 | 双备份升级方法、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117331593A true CN117331593A (zh) | 2024-01-02 |
Family
ID=89275498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311391713.0A Pending CN117331593A (zh) | 2023-10-25 | 2023-10-25 | 双备份升级方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117331593A (zh) |
-
2023
- 2023-10-25 CN CN202311391713.0A patent/CN117331593A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8539471B2 (en) | Updating firmware of an electronic device | |
EP2375323A1 (en) | Firmware image update and management | |
JP5113700B2 (ja) | ファームウェア更新装置及び方法 | |
US20070055969A1 (en) | System and method for updating firmware | |
CN101329631B (zh) | 一种嵌入式系统自动检测和恢复启动的方法及装置 | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
CN113254048B (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
CN112612524A (zh) | Linux系统启动的方法、装置、设备及存储介质 | |
CN110647333A (zh) | 固件升级方法及配置成对其中的固件进行升级的设备 | |
CN107102871A (zh) | 嵌入式系统升级的方法和装置 | |
CN109582332B (zh) | 互联网摄像机的系统升级方法及装置 | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
CN111221553A (zh) | 一种固件升级的方法及装置 | |
CN113190256B (zh) | 一种升级方法、装置及设备 | |
WO2021012170A1 (zh) | 固件启动方法、设备及计算机可读存储介质 | |
KR100832269B1 (ko) | 무선 통신 단말의 프로그램 갱신 방법 및 시스템 | |
CN117331593A (zh) | 双备份升级方法、计算机设备及存储介质 | |
CN112099819A (zh) | 一种数据处理方法、数据处理装置及车载终端 | |
KR101461650B1 (ko) | 컴퓨팅 디바이스의 파일 시스템 관리 장치 및 방법 | |
CN112667444A (zh) | 一种系统升级方法、存储介质及终端设备 | |
CN116204353B (zh) | 车机系统的恢复还原方法、装置、设备及存储介质 | |
WO2020043361A1 (en) | Installing application program code on a vehicle control system | |
JP2004280340A (ja) | 無線基地局の起動システム | |
CN113687851A (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 |