本申请实施例涉及软件升级的,尤其涉及一种双备份升级方法、计算机设备及存储介质。
背景技术:
1、双备份升级,是一种通常结合ota(over-the-air,即空中下载)技术使用的升级方案,通过将接收的升级文件存放在存储器的空闲区域中,在升级未完成时终端设备仍然可以运行原有存储区的文件,而在升级完成后切换运行升级文件,从而使得设备可在正常工作的情况下进行升级。
2、目前,大多数的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进行双备份升级。
技术实现思路
1、本申请实施例的一个目的旨在提供一种双备份升级方法,以解决mcu在进行双备份升级时对存储空间的容量要求较高的技术问题。
2、在第一方面,本申请实施例提出一种双备份升级方法,应用于微控制单元,所述微控制单元包括第一存储区及第二存储区,所述方法包括:
3、获取第一升级文件及第二升级文件;
4、将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;
5、当所述第一存储区已写入所述第一升级文件时,根据所述第一升级文件对所述微控制单元执行升级操作;
6、当所述微控制单元完成升级后,将所述第二升级文件写入所述第二存储区,以覆盖存储在所述第二存储区的第二程序文件,所述第二升级文件用于升级外置芯片,所述外置芯片与所述微控制单元电连接。
7、结合第一方面,在一种可能的实现方式中,在获取第一升级文件及第二升级程序之后,还包括:
8、判断所述第一升级文件的大小是否小于所述第一存储区;
9、若是,则将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;
10、若否,则停止升级。
11、结合第一方面,在一种可能的实现方式中,当所述微控制单元完成升级后,还包括:
12、判断所述第二升级文件的大小是否大于所述第二存储区;
13、若是,则对写入所述第一存储区的所述第一升级文件进行备份,备份完成后对所述外置芯片进行升级;
14、若否,则将所述第二升级文件写入所述第二存储区,以覆盖存储于所述第二存储区的第二程序文件。
15、结合第一方面,在一种可能的实现方式中,对写入所述第一存储区的所述第一升级文件进行备份,备份完成后对所述外置芯片进行升级,包括:
16、将写入所述第一存储区的所述第一升级文件备份至所述第二存储区,以覆盖存储在所述第二存储区的第二程序文件;
17、将所述第二升级文件写入所述第二存储区的第一升级文件之后,以升级所述外置芯片。
18、结合第一方面,在一种可能的实现方式中,所述将所述第二升级文件写入所述第二存储区的第一升级文件之后,包括:
19、确定所述第二存储区的可用空间,所述第二存储区的可用空间为备份完成后所述第二存储区的剩余空间;
20、基于所述第二存储区的可用空间及所述第一存储区,写入所述第二升级文件。
21、结合第一方面,在一种可能的实现方式中,在所述微控制单元升级完成之后,还包括:
22、若检测到所述微控制单元掉电,且所述外置芯片升级未完成,则在上电后向所述外置芯片发送失能指令,所述外置芯片在接收到所述失能指令后停止工作。
23、结合第一方面,在一种可能的实现方式中,所述获取第一升级文件及第二升级文件,包括:
24、接收目标升级文件;
25、在所述目标升级文件中确定所述第一升级文件及第二升级文件。
26、结合第一方面,在一种可能的实现方式中,所述目标升级文件包括辅助信息,所述在所述目标升级文件中确定所述第一升级文件及第二升级文件,包括:
27、读取所述辅助信息;
28、根据所述辅助信息,在所述目标升级文件中确定所述第一升级文件及第二升级文件。
29、在第二方面,本申请实施例还提供一种双备份升级装置,应用于微控制单元,所述微控制单元包括第一存储区及第二存储区,该装置包括:
30、数据获取模块,用于获取第一升级文件及第二升级文件;
31、数据写入模块,将所述第一升级文件写入所述第一存储区,以覆盖存储于所述第一存储区的第一程序文件;
32、第一升级模块,用于当所述第一存储区已写入所述第一升级文件时,根据所述第一升级文件对所述微控制单元执行升级操作;
33、第二升级模块,用于当所述微控制单元完成升级后,将所述第二升级文件写入所述第二存储区,以覆盖存储在所述第二存储区的第二程序文件,所述第二升级文件用于升级外置芯片,所述外置芯片与所述微控制单元电连接。
34、在第三方面,本申请实施例还提供一种计算机设备,包括存储器及处理器,所述存储器连接至所述处理器,所述处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述处理器在执行所述一个或多个计算机程序时,使得所述计算机设备实现如上所述的方法。
35、在第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如上所述的方法。
36、本申请实施例可以实现如下技术效果:
37、基于本申请的方法,在获取到第一升级文件及第二升级文件后,首先将用于微控制单元升级的第一升级文件写入第一存储区中,以覆盖用于外置芯片的第一程序文件,在微控制单元完成升级后,将用于外置芯片升级的第二升级文件写入第二存储区中,以覆盖用于微控制单元的第二程序文件,从而对外置芯片进行升级。由于微控制单元的升级过程不需要其外置芯片的参与,因此,本方法能够保证在升级过程中微控制单元始终正常工作,不会因升级而使设备不可用,且由于微控制单元与其连接外置芯片的升级过程分步执行,从而避免了对大容量存储空间的需求,有效地节省了硬件成本。
1.一种双备份升级方法,其特征在于,应用于微控制单元,所述微控制单元包括第一存储区及第二存储区,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在获取第一升级文件及第二升级程序之后,还包括:
3.根据权利要求1所述的方法,其特征在于,所述当所述微控制单元完成升级后,还包括:
4.根据权利要求3所述的方法,其特征在于,所述对写入所述第一存储区的所述第一升级文件进行备份,备份完成后对所述外置芯片进行升级,包括:
5.根据权利要求4所述的方法,其特征在于,所述将所述第二升级文件写入所述第二存储区的第一升级文件之后,包括:
6.根据权利要求1所述的方法,其特征在于,在所述微控制单元升级完成之后,还包括:
7.根据权利要求1所述的方法,其特征在于,所述获取第一升级文件及第二升级文件,包括:
8.根据权利要求7所述的方法,其特征在于,所述目标升级文件包括辅助信息,所述在所述目标升级文件中确定所述第一升级文件及第二升级文件,包括:
9.一种计算机设备,其特征在于,包括存储器及处理器,所述存储器连接至所述处理器,所述处理器用于执行存储在所述存储器中的一个或多个计算机程序,所述处理器在执行所述一个或多个计算机程序时,使得所述计算机设备实现如权利要求1-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-8任一项所述的方法。