CN115344292B - 固件自动升级方法、装置、电子设备及可读存储介质 - Google Patents
固件自动升级方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115344292B CN115344292B CN202211253607.1A CN202211253607A CN115344292B CN 115344292 B CN115344292 B CN 115344292B CN 202211253607 A CN202211253607 A CN 202211253607A CN 115344292 B CN115344292 B CN 115344292B
- Authority
- CN
- China
- Prior art keywords
- chips
- cpu1
- same type
- chip
- slave
- 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.)
- Active
Links
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本发明提供了一种固件自动升级方法。上述固件自动升级方法,主机CPU1获取系统所有芯片的软件版本;主机CPU1对所有同类芯片中软件版本排序,若同类芯片中的软件版本不同,则选出最大软件版本及确定相应芯片及芯片地址;将每一种同类芯片中最大版本运行程序存储到主机CPU1的外部FLASH;并将最大版本运行程序分发至所有同类芯片,所有同类芯片将接收到的最大版本运行程序存放到各自外部FLASH;系统所有芯片进行软件复位,将各自外部FLASH的最大版本运行程序复制到各自内部FLASH;系统所有芯片重启,重启完成后系统运行,每个同类芯片运行程序为同类芯片中的最大版本运行程序,不需要人为的干预自动实现所有的芯片的同步更新。
Description
技术领域
本发明涉及软件信息技术领域,特别涉及一种固件自动升级方法、装置、电子设备及可读存储介质。
背景技术
随着技术的发展,一个项目需要多个相同(大于等于2个)芯片(带有软件)进行并机组装起来成一个大型的系统进行工作。由于每个芯片在组装时装载不同的软件版本,导致整个系统相同芯片间的运行策略不一致就会造成不可预知的风险。
发明内容
本发明的目的是提供一种固件自动升级方法,以解决现有技术中多个芯片软件版本不一致的问题。
本发明提供了一种固件自动升级方法,所述方法包括:
主机CPU1获取系统所有芯片的软件版本;
主机CPU1对所有同类芯片中的软件版本排序,若同类芯片中的软件版本相同,则流程结束;若同类芯片中的软件版本不同,则选出同类芯片中软件版本中的最大软件版本,确定同类芯片中具有所述最大软件版本的芯片及芯片地址;
同类芯片中,所述最大软件版本的运行程序为最大版本运行程序,将每一种同类芯片中最大版本运行程序存储到主机CPU1的外部FLASH;
主机CPU1将所述同类芯片中的最大版本运行程序分发至所有所述同类芯片,所有所述同类芯片将接收到的所述最大版本运行程序存放到各自外部FLASH;
系统所有芯片进行软件复位,将各自外部FLASH的所述最大版本运行程序复制到各自内部FLASH;
系统所有芯片重启,重启完成后系统运行,每个同类芯片运行程序为同类芯片中的最大版本运行程序。
上述固件自动升级方法,主机CPU1通过通讯线获取系统中所有芯片的软件版本;系统CPU1再获取同类芯片中最大软件版本芯片的运行程序并存储到系统CPU1的外部FLASH内;系统CPU1再将其外部FLASH中的最大软件版本芯片的运行程序发送至所有同类芯片的外部FLASH内;最后系统的同类芯片用各自外部FLASH内的最大软件版本程序替换各自内部FLASH内的原有运行程序,从而实现所有同类芯片的自动升级更新,不需要人为的干预即可自动实现所有的芯片的同步更新,维护方便,成本低。
进一步地,同类芯片至少包括第一种同类芯片,第一种同类芯片指主机CPU1和从机CPU1,所述从机为一个或多个。
进一步地,同类芯片还包括至少一种其他同类芯片。其他同类芯片指主机的CPUn和从机的CPUn。
进一步地,对于第一种同类芯片,所述主机CPU1通过外部通讯线获取所述从机CPU1的软件版本;主机CPU1通过外部通讯线将所述最大版本运行程序分发至所有所述从机CPU1,所有所述从机CPU1将接收到的所述最大版本运行程序存放到各自外部FLASH。
进一步地,对于其他同类芯片,所述主机CPU1、从机CPU1先通过内部通讯线获取各自CPUn的软件版本,然后所述主机CPU1通过外部通讯线获取所述从机CPUn的软件版本;主机CPU1通过外部通讯线将所述最大版本运行程序分发至所有所述从机CPU1,所有所述从机CPU1将接收到的所述最大版本运行程序通过内部通讯线透传到各自CPUn,CPUn将接收到的所述最大版本运行程序存放到各自外部FLASH,其中,n为大于等于2的整数,n=2,或n=2、3,或n=2、3、4,或n=2、3、4、5,等等。
进一步地,所述外部通讯线、内部通讯线的通讯方式为有线通讯或无线通讯。
本发明还提供了一种固件自动升级装置,所述装置包括:
一个主机,至少一个从机;
主机、每一从机至少均包括第一种同类芯片CPU1;
外部通讯线,所述外部通讯线将主机CPU1与所有从机CPU1连接,所述主机CPU1通过所述外部通讯线获取系统中所有的从机CPU1的软件版本;
排序选取模块,用于排序选出同类芯片中软件版本中的最大软件版本,确定同类芯片中具有所述最大软件版本的芯片及芯片地址;
运行程序获取模块,用于获取同类芯片中最大版本运行程序;
第一存储模块,用于将所述同类芯片中最大版本运行程序存储至主机CPU1的外部FLASH;
分发模块,用于将主机CPU1的外部FLASH内的所述最大版本运行程序分发所有所述同类芯片;
第二存储模块,用于所有所述同类芯片将接收到的所述最大版本运行程序存放到各自外部FLASH;
替换模块,用于将所有所述同类芯片外部FLASH的所述最大版本运行程序替换所有所述同类芯片内部FLASH内的原有运行程序。
进一步地,固件自动升级装置还包括至少一种其他同类芯片;内部通讯线,所述内部通讯线将所述主机CPU1、所述从机CPU1分别与自身其他芯片通讯连接,所述主机CPU1、所述从机CPU1分别通过所述内部通讯线获取自身其他芯片的软件版本。
进一步地,固件自动升级装置还包括重启模块,用于所有芯片重新启动。
本发明还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述中任一项所述的固件自动升级方法中的步骤。
本发明还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述中任一项所述的固件自动升级方法中的步骤。
附图说明
图1为本发明所应用的系统的结构示意图;
图2为本发明第一实施例中的固件自动升级方法的流程图;
图3为本发明第二实施例中的固件自动升级装置的模块图;
图4为本发明第三实施例中的电子设备的结构示意图。
主要元件符号说明:
外部通讯线 | 10 | 第一存储模块 | 40 | 替换模块 | 70 |
排序选取模块 | 20 | 分发模块 | 50 | 重启模块 | 80 |
运行程序获取模块 | 30 | 第二存储模块 | 60 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干个实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
现有技术中,当一个系统中多个相同芯片的软件版本不一致时,系统会上报故障,导致系统不能正常运行,当系统报软件版本不一致的故障的时候,目前对应的做法有两种第一种是如果有远程服务器的功能,则需要人为的通过服务器将最新的程序上传到服务器,再传送到系统的WIFI/GPRS采集器上,最后到达到对应的芯片模块中进行统一升级的操作;第二种是没有远程升级的功能的只能人为的去系统安装现场对整个系统每个相同芯片模块进行U盘或者上位机进行升级程序。上述升级芯片运行程序版本的方式,操作繁琐,效率低,为了解决上述问题,本发明提供了以下实施例。
请参阅图1和图2,本发明第一实施例提供的一种固件自动升级方法,所述方法包括步骤S01至步骤S06。
S01,主机CPU1获取系统所有芯片的软件版本;
S02,主机CPU1对所有同类芯片中的软件版本排序,若同类芯片中的软件版本相同,则流程结束;若同类芯片中的软件版本不同,则选出同类芯片中软件版本中的最大软件版本,确定同类芯片中具有所述最大软件版本的芯片及芯片地址;
在一个实施例中,同类芯片包括第一种同类芯片,第一种同类芯片指主机CPU1和从机CPU1,所述从机为一个或多个。主机CPU1通过通讯线1(外部通讯线)获取所述从机CPU1的软件版本,其中通讯线1为外部通讯线,将所有同类芯片CPU1通讯相连;主机与从机之间的通讯称为外部通讯。
在另一个实施例中,除了CPU1外,同类芯片还包括其他同类芯片,例如主机的CPU2和从机的CPU2、主机的CPU3和从机的CPU3……,主机的CPUn和从机的CPUn,分别称作第二种同类芯片、第三种同类芯片……,第n种同类芯片。其他每种同类芯片,均通过机器内部通讯线与CPU1通讯相连,例如,主机的CPU2通过通讯线2与主机CPU1通讯相连,主机的CPU3通过通讯线3与主机CPU1通讯相连……,主机的CPUn通过通讯线n与主机CPU1通讯相连;通讯线2、通讯线3、……通讯线n均称为内部通讯线;主机、从机各自内部芯片之间的通讯,称为内部通讯。系统不同,其他同类芯片的种数不同,可以为一种其他同类芯片,也可以为多种其他同类芯片。
需要说明的是,每个芯片均具有相应外部FLASH和芯片自身所含的内部FLASH,外部FLASH如图1中的FLASH所示,内部FLASH含在芯片自身内部,图1中未示出。
在本发明的一个实施例中,通讯线1、通讯线2……通讯线n的通讯方式包括CAN、UART、IIC或者SPI等有线通讯的任一种。
在本发明的另一个实施例中,外部通讯或及内部通讯可以为无线通信,例如wifi,蓝牙。
S03,同类芯片中,所述最大软件版本的运行程序为最大版本运行程序,将每一种同类芯片中最大版本运行程序存储到主机CPU1的外部FLASH;
S04,主机CPU1将所述同类芯片中的最大版本运行程序分发至所有所述同类芯片,所有所述同类芯片将接收到的所述最大版本运行程序存放到各自外部FLASH;
S05,系统所有芯片进行软件复位,将各自外部FLASH的所述最大版本运行程序复制到各自内部FLASH;
在一个实施例中,系统所有芯片进行软件复位可以为同时进行复位,或者依次进行复位。
在一个实施例中,在软件复位前,还包括对软件更新的紧急程度进行判断,当软件更新紧急程度为高时,系统所有芯片立即进行软件复位,将各自外部FLASH的所述最大版本运行程序复制到各自内部FLASH;当软件更新紧急程度为中/低时,对系统工作状态进行判断,可选择系统空闲/较为空闲时,系统所有芯片进行软件复位,将各自外部FLASH的所述最大版本运行程序复制到各自内部FLASH,例如光伏逆变器在白天工作繁忙,夜晚空闲/较为空闲,对于更新紧急程度中/低的软件,可在夜晚时对光伏逆变器的芯片进行软件复位,即将各自外部FLASH的最大版本运行程序复制到各自内部FLASH中,这样可以实现资源配置优化。
在一个实施例中,主机、从机的种类相同、型号相同,例如,从机、主机均为完全相同的光伏逆变器;同类芯片指主机、从机名称相同、类型相同的芯片;
在另一个实施例中,主机、从机的种类或/及型号不同,同类芯片不再局限为名称相同、类型相同的芯片,例如一台机器为光伏逆变器,另一台/多台机器为储能逆变器;储能逆变器为先出货机器,其内部至少一个芯片搭载的软件非最新版本;光伏逆变器为后出货机器,将储能逆变器的最新版本软件放入光伏逆变器芯片的外部flash中,光伏逆变器与储能逆变器建立通讯连接后,将光伏逆变器芯片外部flash中所含的储能逆变器的最新版本软件传递给储能逆变器芯片的外部flash内,储能逆变器芯片进行软件复位,将其外部FLASH的最大版本软件复制到其内部FLASH中;这样应用场景更为广泛和灵活。
S06,系统所有芯片重启,重启完成后系统运行,每个同类芯片运行程序为同类芯片中的最大版本运行程序。
CPU1的版本一致性升级方法如下:
如果主机CPU1的软件版本和所有从机CPU1的软件版本一致,则流程结束;反之则对所有的CPU1的软件版本进行比较排序,选出软件最高版本 Vmax 和对应的CPU1的地址ADRRx。例如:系统中有4片CPU1,第1片CPU1为主机CPU1,第2、3、4片CPU1分别为从机1、2、3的CPU1,第1、2、3、4片CPU1地址分别为ADRR1、ADRR2、ADRR3、 ADRR4 ,软件版本分别是 V1、V2、V3、V4,通过算法排序得出软件最高版本是 V4,对应CPU1地址是 ADRR4,说明从机3中的CPU1的软件版本最高。
需要说明的是,系统内有一台主机,其余为从机。主机的选择方式多种多样,例如,可以通过判断该机通讯线1(即外部通讯线)是否对上悬空(即其上方未接入其他机器),如果对上悬空,则为主机,其余为从机,例如图1所示;也可以通过判断该机通讯线1(即外部通讯线)是否对下悬空(即其下方未接入机器),如果对下悬空,则为主机,其余为从机,此时图1中的从机n则变为主机,其他则为从机;或者,任意选择系统内一台机器为主机,其他为从机,等等。
主机CPU1通过相应的升级协议主动获取地址为ADRRx的CPU1存储在其内部FLASH的运行程序,并将获取到的运行程序存储到主机CPU1的外部FLASH区域中。例如,系统中有4片CPU1,软件最高版本是 V4,地址为ADRR1的主机CPU1通过相应的升级协议主动获取地址为ADRR4的从机3的CPU1内部FLASH运行的程序、并存储到主机CPU1的外部FLASH区域中。
主机将其CPU1外部FLASH区域内存储的最大软件版本Vmax的运行程序分发到系统的所有从机CPU1中,所有从机CPU1将接收到的程序存放到从机CPU1的外部FLASH区域中;例如:系统中有4片CPU1,软件最高版本是 V4,地址为ADRR1的主机CPU1将其外部FLASH的区域内的软件版本为V4的运行程序分发到地址为ADRR2、ADRR3、ADRR4的从机1、2、3,从机1、2、3分别将从主机获取到的V4版本的软件(本文软件、程序、运行程序为同一含义)存放到各自CPU1对应的外部FLASH中。所述分发可以为按步骤分别分发(例如按照从机序号从小到大的顺序依次分发,或者按照从机序号从大到小分发,等等),或者同时分发。
上述运行程序分发完成后,根据所有从机CPU1发送的回应升级进度,升级进度均达到100%后,主机CPU1发送统一复位的操作指令给从机;主机CPU1、每个从机CPU1进行软件复位后进入BOOT中,将各自外部FLASH的最大软件版本的程序复制到内部FLASH中去,完成后再进行重启操作。例如,系统中有4片CPU1,软件最高版本是 V4,地址为ADRR1的主机CPU1接收到地址为ADRR2、ADRR2、ADRR4相应从机1、2、3的CPU1升级进度100%完成后,主机CPU1、从机1-3的CPU1进行软件复位后进入BOOT中,将各自外部FLASH的最大软件版本的程序复制到各自内部FLASH中去,然后主机统一广播分发重启的命令,4个CPU1(主机CPU1、从机1的CPU1、从机2的CPU1、从机3的CPU1)统一进行重启。
重启完成后开始运行,此时系统的所有CPU1均具有最高软件版本。例如,系统中有4片CPU1,初始时软件最高版本是 V4,整个系统重启后,主机、从机1-3的CPU1都会运行V4软件版本的程序。
CPU2的版本一致性升级方法如下:
下面以CPU2为例说明,如果系统含有其他多种相同芯片(例如CPU3、CPU4……,CPUN),其他每种相同芯片可参照CPU2的升级方法。
主机CPU1通过主机内部的通讯线2获取主机CPU2的软件版本,每个从机CPU1通过各自从机内部的通讯线2获取各自CPU2的软件版本;
主机CPU1通过通讯线1来获取每个从机CPU2的软件版本,如果主机CPU2、每个从机CPU2的软件版本一致,则流程结束;否则,对所有CPU2的软件版本进行排序,选出最大软件版本vmax和相应芯片地址adrrx;
主机CPU1通过相应的升级协议主动获取芯片地址为adrrx的CPU2内部FLASH的运行程序,并将获取到的运行程序存储到主机CPU1的外部FLASH区域中;
通过通讯线1,主机将其CPU1外部FLASH区域内存储的最大软件版本vmax的运行程序分发到系统的所有从机CPU1中,所有从机CPU1将接收到的运行程序再通过通讯线2透传到CPU2中,CPU2接收到该运行程序后存放到CPU2外部FLASH中的区域中;
主机分发完程序后,根据所有从机CPU2发送的回应升级进度,升级进度均达100%后,主机CPU1发送统一复位的操作指令给从机。所有CPU2进行软件复位后进入BOOT中将其外部FLASH区域的最大软件版本的运行程序复制到各自内部FLASH中去,完成后再进行重启操作;
主机CPU2、每个从机CPU2均重启完成后开始运行,此时系统中所有CPU2具有统一的最高软件版本。
需要说明的是,分别针对CPU1、CPU2、CPU3……,最高版本运行程序所存放的主机的外部FLASH的区域是不同的,例如CPU1最高版本运行程序存放在主机CPU1的外部FLASH的区域1内,CPU2最高版本运行程序存放在主机CPU1的外部FLASH的区域2内,CPU3最高版本运行程序存放在主机CPU1的外部FLASH的区域3内……。
通过上述方法,不需要人为的干预自动实现主机CPU1与每个从机CPU1的同步更新,以及,主机CPU2与每个从机CPU2的同步更新。
可以理解地,当系统具有3种或3种以上同类芯片时,第m种(m为大于等于3的整数)同类芯片升级(更新)可采用上述CPU2同样的升级(更新)方法。当所有的同类芯片完成升级(更新)后,整个系统种所有芯片的版本均为最新,即,通过上述方法,不需要人为的干预即可自动实现系统内所有同类芯片的同步更新。
请参阅图1和图3,本发明还提供了一种固件自动升级装置,所述装置包括:
一个主机,至少一个从机;
主机、每一从机均包括至少一种同类芯片;当只含一种同类芯片时,为第一种同类芯片(CPU1),当还含有其他同类芯片时,其他同类芯片为一种或多种,例如为CPU2,或CPU2、CPU3,或CPU2、CPU3、CPU4……;
通讯线1(外部通讯线),所述通讯线1将主机CPU1与所有从机CPU1连接,所述主机CPU1通过所述通讯线1获取系统中所有的从机CPU1的软件版本;
在一些实施例种,该装置还包括内部通讯线,所述内部通讯线将主机CPU1、从机CPU1分别与自身其他芯片(例如CPU2、CPU3……)通讯连接,主机CPU1、从机CPU1分别通过所述内部通讯线获取自身其他芯片的软件版本;即,主机的内部通讯线将自身的CPU1与自身的其他芯片通讯连接,从机的内部通讯线将自身的CPU1与自身的其他芯片通讯连接;主机CPU1通过主机的内部通讯线获取主机其他芯片的软件版本,从机CPU1通过从机的内部通讯线获取从机的其他芯片的软件版本。
排序选取模块20,用于排序选出同类芯片中软件版本中的最大软件版本,确定同类芯片中具有所述最大软件版本的芯片及芯片地址;
运行程序获取模块30,用于获取同类芯片中最大版本运行程序;
第一存储模块40,用于将所述同类芯片中最大版本运行程序存储至主机CPU1的外部FLASH;
分发模块50,用于将主机CPU1的外部FLASH内的所述最大版本运行程序分发所有所述同类芯片;
第二存储模块60,用于所有所述同类芯片将接收到的所述最大版本运行程序存放到各自外部FLASH;
替换模块70,用于将所有所述同类芯片外部FLASH的所述最大版本运行程序替换所有所述同类芯片内部FLASH内的原有运行程序。
具体的,在本发明实施例中,还包括回应升级进度获取模块(图未示出),用于获取从机同类芯片发送的回应升级进度。
具体的,在本发明实施例中,还包括地址获取模块(图未示出),用于获取最大软件版本地址。
具体的,在本发明实施例中,还包括重启模块,用于所有芯片重新启动。
为解决上述技术问题,本申请实施例还提供一种电子设备,用于固件自动升级的处理。具体请参阅图4,图4为本实施例电子设备基本结构框图,如图4所示。
所述电子设备14包括通过系统总线相互通信连接存储器141、处理器142、网络接口143。需要指出的是,图中仅示出了具有组件141-143的电子设备14,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器141至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器141可以是所述电子设备14的内部存储单元,例如该电子设备14的硬盘或内存。在另一些实施例中,所述存储器141也可以是所述电子设备14的外部存储设备,例如该电子设备14上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(FLASHCard)等。当然,所述存储器1401还可以既包括所述电子设备14的内部存储单元也包括其外部存储设备。本实施例中,所述存储器141通常用于存储安装于所述电子设备14的操作系统和各类应用软件,例如固件自动升级方法的程序代码等。此外,所述存储器1401还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器142在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器142通常用于控制所述电子设备14的总体操作。本实施例中,所述处理器142用于运行所述存储器141中存储的程序代码或者处理数据,例如运行上述固件自动升级方法的程序代码。
所述网络接口143可包括无线网络接口或有线网络接口,该网络接口143通常用于在所述电子设备14与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种可读存储介质,上述可读存储介质存储有固件自动升级方法程序,上述固件自动升级方法程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的固件自动升级方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种固件自动升级方法,其特征在于,所述方法包括:
主机CPU1获取系统所有芯片的软件版本;
所述主机CPU1对所有同类芯片中的软件版本排序,若同类芯片中的软件版本相同,则流程结束;若同类芯片中的软件版本不同,则选出同类芯片中软件版本中的最大软件版本,确定同类芯片中具有所述最大软件版本的芯片及芯片地址;
同类芯片中,所述最大软件版本的运行程序为最大版本运行程序,将每一种同类芯片中最大版本运行程序存储到所述主机CPU1的外部FLASH;
所述主机CPU1将所述同类芯片中的最大版本运行程序分发至所有所述同类芯片,所有所述同类芯片将接收到的所述最大版本运行程序存放到各自外部FLASH;
系统所有芯片进行软件复位,将各自外部FLASH的所述最大版本运行程序复制到各自内部FLASH;
系统所有芯片重启,重启完成后系统运行,每个同类芯片运行程序为同类芯片中的最大版本运行程序;
同类芯片至少包括第一种同类芯片,第一种同类芯片指所述主机CPU1和从机CPU1,所述从机为一个或多个;
主机CPU1通过外部通讯线获取所述从机CPU1的软件版本,外部通讯线将所有同类芯片CPU1通讯相连;
同类芯片还包括其他同类芯片,除所述第一种同类芯片的所述其他同类芯片均通过机器内部通讯线与同类芯片CPU1通讯相连。
2.根据权利要求1所述的固件自动升级方法,其特征在于,同类芯片还包括至少一种其他同类芯片。
3.根据权利要求1或2所述的固件自动升级方法,其特征在于,对于第一种同类芯片,所述主机CPU1通过外部通讯线获取所述从机CPU1的软件版本;所述主机CPU1通过外部通讯线将所述最大版本运行程序分发至所有所述从机CPU1,所有所述从机CPU1将接收到的所述最大版本运行程序存放到各自外部FLASH。
4.根据权利要求2所述的固件自动升级方法,其特征在于,对于其他同类芯片,所述主机CPU1、所述从机CPU1先通过内部通讯线获取各自CPUn的软件版本,然后所述主机CPU1通过外部通讯线获取所述从机CPUn的软件版本;所述主机CPU1通过外部通讯线将所述最大版本运行程序分发至所有所述从机CPU1,所有所述从机CPU1将接收到的所述最大版本运行程序通过内部通讯线透传到各自CPUn,CPUn将接收到的所述最大版本运行程序存放到各自外部FLASH。
5.根据权利要求3所述的固件自动升级方法,其特征在于,所述外部通讯线、内部通讯线的通讯方式为有线通讯或无线通讯。
6.一种固件自动升级装置,其特征在于,所述装置包括:
一个主机,至少一个从机;
所述主机、每一所述从机至少均包括第一种同类芯片CPU1;
外部通讯线,所述外部通讯线将所述主机CPU1与所有所述从机CPU1连接,所述主机CPU1通过所述外部通讯线获取系统中所有所述从机CPU1的软件版本;
排序选取模块,用于排序选出同类芯片中软件版本中的最大软件版本,确定同类芯片中具有所述最大软件版本的芯片及芯片地址;
运行程序获取模块,用于获取同类芯片中最大版本运行程序;
第一存储模块,用于将所述同类芯片中最大版本运行程序存储至所述主机CPU1的外部FLASH;
分发模块,用于将所述主机CPU1的外部FLASH内的所述最大版本运行程序分发所有所述同类芯片;
第二存储模块,用于所有所述同类芯片将接收到的所述最大版本运行程序存放到各自外部FLASH;
替换模块,用于将所有所述同类芯片外部FLASH的所述最大版本运行程序替换所有所述同类芯片内部FLASH内的原有运行程序;
所述装置还包括:
至少一种其他同类芯片;
内部通讯线,所述内部通讯线将所述主机CPU1、所述从机CPU1分别与自身其他芯片通讯连接,所述主机CPU1、所述从机CPU1分别通过所述内部通讯线获取自身其他芯片的软件版本;
主机CPU1通过外部通讯线获取所述从机CPU1的软件版本,外部通讯线将所有同类芯片CPU1通讯相连;
同类芯片还包括其他同类芯片,除所述第一种同类芯片的所述其他同类芯片均通过机器内部通讯线与同类芯片CPU1通讯相连。
7.如权利要求6所述的固件自动升级装置,其特征在于,还包括重启模块,用于所有芯片重新启动。
8.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的固件自动升级方法中的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的固件自动升级方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211253607.1A CN115344292B (zh) | 2022-10-13 | 2022-10-13 | 固件自动升级方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211253607.1A CN115344292B (zh) | 2022-10-13 | 2022-10-13 | 固件自动升级方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115344292A CN115344292A (zh) | 2022-11-15 |
CN115344292B true CN115344292B (zh) | 2023-02-03 |
Family
ID=83957558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211253607.1A Active CN115344292B (zh) | 2022-10-13 | 2022-10-13 | 固件自动升级方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344292B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610347B (zh) * | 2023-05-23 | 2024-03-08 | 润芯微科技(江苏)有限公司 | 一种利用u盘升级车载芯片的方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11338703A (ja) * | 1998-05-25 | 1999-12-10 | Fujitsu Ltd | ファームウェアダウンロード方式 |
KR20040008007A (ko) * | 2002-07-15 | 2004-01-28 | 에임텍 주식회사 | 무선단말기 펌웨어 업그레이드 방법 |
CN103577239B (zh) * | 2013-11-18 | 2016-12-07 | 杭州华为数字技术有限公司 | 单节点多cpu的加载方法、nc芯片及cpu |
JP7238643B2 (ja) * | 2019-06-28 | 2023-03-14 | 株式会社リコー | 電子機器、情報処理システムおよび情報処理方法 |
CN111694787A (zh) * | 2020-04-30 | 2020-09-22 | 新华三半导体技术有限公司 | 一种芯片启动的方法、网络设备和机器可读存储介质 |
CN112506538A (zh) * | 2020-11-25 | 2021-03-16 | 珠海格力电器股份有限公司 | 一种版本升级方法、装置和空调系统 |
CN112346768A (zh) * | 2021-01-08 | 2021-02-09 | 武汉精能电子技术有限公司 | 一种多芯片平台并机升级方法、装置及电子设备 |
CN113360162A (zh) * | 2021-04-19 | 2021-09-07 | 深圳市创成微电子有限公司 | 多芯片装置及芯片升级方法 |
CN113360163A (zh) * | 2021-04-19 | 2021-09-07 | 深圳市创成微电子有限公司 | 多芯片装置及芯片升级方法 |
CN113485754A (zh) * | 2021-06-22 | 2021-10-08 | 新华三半导体技术有限公司 | 一种芯片启动方法、装置及电子设备 |
CN113434184A (zh) * | 2021-06-30 | 2021-09-24 | 浙江大华技术股份有限公司 | 设备升级方法、装置、存储介质及电子装置 |
CN113391836B (zh) * | 2021-07-14 | 2022-11-18 | 威海新北洋技术服务有限公司 | 固件程序的升级方法、装置及电子设备 |
CN114020308A (zh) * | 2021-10-27 | 2022-02-08 | 浙江大华技术股份有限公司 | 一种摄像设备升级方法、装置、设备及介质 |
-
2022
- 2022-10-13 CN CN202211253607.1A patent/CN115344292B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115344292A (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103176824B (zh) | 一种系统升级的方法及装置 | |
CN104185836A (zh) | 用于在系统改变之后验证计算设备的适当操作的方法和系统 | |
CN111831309A (zh) | 物联网Wifi带载多MCU的升级方法、装置、设备及介质 | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
CN115344292B (zh) | 固件自动升级方法、装置、电子设备及可读存储介质 | |
CN110083374A (zh) | 一种升级回滚方法、系统及终端设备 | |
CN107608681A (zh) | 操作系统安装方法、装置和服务器 | |
CN110290166B (zh) | 跨集群数据交互方法、系统、装置及可读存储介质 | |
JP2008523519A (ja) | 複数のプラグインを含む電子システムを初期化する方法 | |
CN103777979A (zh) | 一种通过云端来刷写bios的方法及装置 | |
WO2018040971A1 (zh) | 特定硬件配置的终端软件更新的方法及其装置 | |
CN111045712A (zh) | 一种具有备份功能的单系统升级方法及系统 | |
CN104050006A (zh) | 一种fpga的更新系统及其更新方法 | |
CN111782246A (zh) | 基于总线的多节点设备嵌入式程序升级方法 | |
CN116521209B (zh) | 操作系统的升级方法及装置、存储介质及电子设备 | |
CN106406978B (zh) | 私有云虚拟机模板自动制作装置及方法 | |
CN111459510A (zh) | 跨网络操作系统的安装方法、装置、电子设备及介质 | |
CN103777976A (zh) | 单片机及其在线升级方法和在线升级装置 | |
CN106648726A (zh) | 一种变风量空调末端设备软件在线升级方法 | |
CN115277398A (zh) | 一种集群的网络配置方法和装置 | |
CN101727333A (zh) | 微处理器中固件更新的方法及固件更新系统 | |
CN112653720B (zh) | 一种fota升级的方法及装置 | |
CN103809995A (zh) | 单片机及其在线升级方法和在线升级装置 | |
CN114020414A (zh) | Android系统与底层Linux共生方法、装置、电子设备及存储介质 | |
CN217506538U (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |