CN113254053A - 一种双cpu系统的固件升级方法、系统 - Google Patents
一种双cpu系统的固件升级方法、系统 Download PDFInfo
- Publication number
- CN113254053A CN113254053A CN202110651022.4A CN202110651022A CN113254053A CN 113254053 A CN113254053 A CN 113254053A CN 202110651022 A CN202110651022 A CN 202110651022A CN 113254053 A CN113254053 A CN 113254053A
- Authority
- CN
- China
- Prior art keywords
- cpu
- firmware
- flash
- upgrading
- dual
- 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
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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种双CPU系统的固件升级方法、系统,对第一CPU进行固件升级时,直接把第一新应用程序拷贝到第一Flash中;对第二CPU进行固件升级时,由第一CPU通过第一Flash的第一Bootloader,把第一Flash中的第二Bootloader程序拷贝至共享RAM中,然后把第二新应用程序拷贝到共享RAM,再由第二CPU通过共享RAM中的第二Bootloader把第二新应用程序拷贝到第二Flash中;从而,无需单独为第二CPU设置独立的升级电路,可有效地实现两个CPU的固件升级并简化升级电路结构,降低设备成本。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种双CPU系统的固件升级方法、系统。
背景技术
固件(Firmware,又称为程序)是固化在了硬件中(主控芯片CPU中)的软件,存储的程序是运行在驱动器上的软件指令集,通常存储着嵌入式系统中硬件设备最基本的参数,为系统提供最底层、最直接的硬件控制。在嵌入式系统开机过程中,系统会先读取其内部的硬件设备初始化信息,使操作系统能够正确识别硬件,并为其他软件的运行提供最基本的依据。
随着技术的发展,对嵌入式系统进行固件升级以适应不断升级的硬件环境,成为了用户迫切的需求。目前,对于具有双CPU的嵌入式系统,为了实现两个CPU的程序升级,通常会设置两个升级电路,以分别用于对两个CPU进行固件升级,从而使嵌入式系统的升级电路结构比较复杂、成本较高。
发明内容
鉴于上述现有技术的不足之处,本申请实施例的目的在于提供一种双CPU系统的固件升级方法、系统,可有效地实现两个CPU的固件升级并简化升级电路结构。
第一方面,本申请实施例提供一种双CPU系统的固件升级方法,用于对双CPU系统的两个CPU进行固件升级,两个所述CPU包括第一CPU和第二CPU;包括步骤:
A1.第一CPU获取升级指令信息;
A2.第一CPU根据所述升级指令信息判断是否需要对第一CPU和第二CPU进行固件升级;
A3.若需要对第一CPU进行固件升级,则第一CPU运行第一Flash中的第一Bootloader程序以将第一新应用程序拷贝到第一Flash中;
A4.若需要对第二CPU进行固件升级,则第一CPU运行第一Flash中的第一Bootloader程序以执行:
A401.将存储在第一Flash中的第二Bootloader程序拷贝到共享RAM的第二指定位置;
A402.向第二CPU发送Boot命令使第二CPU从所述共享RAM的第二指定位置运行所述第二Bootloader程序;
A403.将第二新应用程序拷贝到所述共享RAM的第一指定位置,以便第二CPU通过第二Bootloader程序把所述第二新应用程序拷贝到第二Flash中。
本申请实施例的双CPU系统的固件升级方法,对第一CPU进行固件升级时,直接把第一新应用程序拷贝到第一Flash中;对第二CPU进行固件升级时,由第一CPU通过第一Flash的第一Bootloader,把第一Flash中的第二Bootloader程序拷贝至共享RAM中,然后把第二新应用程序拷贝到共享RAM,再由第二CPU通过共享RAM中的第二Bootloader把第二新应用程序拷贝到第二Flash中;从而,无需单独为第二CPU设置独立的升级电路,可有效地实现两个CPU的固件升级并简化升级电路结构,降低设备成本。
优选地,步骤A1中,第一CPU从上位机获取所述升级指令信息。
优选地,所述升级指令信息为上位机的按键触发信息。
优选地,步骤A2包括:
A201.第一CPU上电后从第一Flash的指定位置运行其中的第一Bootloader程序,并在所述第一Bootloader程序的引导下进入接口控制台;
A202.等待预定时间;
A203.若在等待过程中没有接收到按键触发信息,则判定第一CPU和第二CPU均不需要进行固件升级;
A204.若在等待过程中接收到按键触发信息,则根据被触发的按键类型判定第一CPU和第二CPU是否需要进行固件升级。
优选地,步骤A204包括:
若被触发的按键为第一预设按键,则判定第一CPU和第二CPU均不需要进行固件升级;
若被触发的按键为第二预设按键,则判定仅第一CPU需要进行固件升级;
若被触发的按键为第三预设按键,则判定仅第二CPU需要进行固件升级;
被触发的按键为第四预设按键,则判定第一CPU和第二CPU均需要进行固件升级。
优选地,步骤A402包括:
向第二CPU发送IPC命令和所述共享RAM的第二指定位置的地址信息。
优选地,步骤A3之后,还包括步骤:
A5.若不需要对第二CPU进行固件升级,则第一CPU向第二CPU发送Boot命令使第二CPU从第一Flash中运行第二Bootloader程序,以启动第二CPU。
第二方面,本申请实施例提供一种双CPU系统的固件升级系统,包括上位机和与所述上位机通信连接的双CPU系统;
所述双CPU系统包括第一CPU、第二CPU和共享RAM;所述第一CPU包括第一Flash,所述第一Flash中存储有第一Bootloader程序、第一应用程序和第二Bootloader程序;所述第二CPU包括第二Flash,所述第二Flash中存储有第二应用程序;
所述上位机用于向所述双CPU系统发送升级指令信息和新应用程序;
所述第一CPU用于在上电后执行步骤:
获取上位机发送的升级指令信息;
根据所述升级指令信息判断是否需要对第一CPU和第二CPU进行固件升级;
若需要对第一CPU进行固件升级,则运行第一Flash中的第一Bootloader程序以将第一新应用程序拷贝到第一Flash中;
若需要对第二CPU进行固件升级,则运行第一Flash中的第一Bootloader程序以执行:
将存储在第一Flash中的第二Bootloader程序拷贝到共享RAM的第二指定位置;向第二CPU发送Boot命令使第二CPU从所述共享RAM的第二指定位置运行所述第二Bootloader程序;将第二新应用程序拷贝到所述共享RAM的第一指定位置,以便第二CPU通过第二Bootloader程序把所述第二新应用程序拷贝到第二Flash中。
本申请实施例的双CPU系统的固件升级系统,对第一CPU进行固件升级时,直接把第一新应用程序拷贝到第一Flash中;对第二CPU进行固件升级时,由第一CPU通过第一Flash的第一Bootloader,把第一Flash中的第二Bootloader程序拷贝至共享RAM中,然后把第二新应用程序拷贝到共享RAM,再由第二CPU通过共享RAM中的第二Bootloader把第二新应用程序拷贝到第二Flash中;从而,无需单独为第二CPU设置独立的升级电路,可有效地实现两个CPU的固件升级并简化升级电路结构,降低设备成本。
优选地,所述升级指令信息为上位机的按键触发信息。
优选地,所述第一CPU在上电后还执行步骤:
若不需要对第二CPU进行固件升级,则向第二CPU发送Boot命令使第二CPU从第一Flash中运行第二Bootloader程序,以启动第二CPU。
有益效果:
本申请实施例提供的双CPU系统的固件升级方法、系统,对第一CPU进行固件升级时,直接把第一新应用程序拷贝到第一Flash中;对第二CPU进行固件升级时,由第一CPU通过第一Flash的第一Bootloader,把第一Flash中的第二Bootloader程序拷贝至共享RAM中,然后把第二新应用程序拷贝到共享RAM,再由第二CPU通过共享RAM中的第二Bootloader把第二新应用程序拷贝到第二Flash中;从而,无需单独为第二CPU设置独立的升级电路,可有效地实现两个CPU的固件升级并简化升级电路结构,降低设备成本。
附图说明
图1为本申请实施例提供的双CPU系统的固件升级方法的流程图。
图2为本申请实施例提供的双CPU系统的固件升级方法的流程图。
图3为本申请实施例提供的双CPU系统的固件升级系统的结构示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
下文的公开提供的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术佩戴人员可以意识到其他工艺的应用和/或其他材料的使用。
请参阅图1,本申请实施例提供的一种双CPU系统的固件升级方法,用于对双CPU系统的两个CPU进行固件升级,两个所述CPU包括第一CPU和第二CPU;包括步骤:
A1.第一CPU获取升级指令信息;
A2.第一CPU根据所述升级指令信息判断是否需要对第一CPU和第二CPU进行固件升级;
A3.若需要对第一CPU进行固件升级,则第一CPU运行第一Flash中的第一Bootloader程序以将第一新应用程序拷贝到第一Flash中(具体拷贝到第一Flash中预设的位置);
A4.若需要对第二CPU进行固件升级,则第一CPU运行第一Flash中的第一Bootloader程序以执行:
A401.将存储在第一Flash中的第二Bootloader程序拷贝到共享RAM的第二指定位置;
A402.向第二CPU发送Boot命令使第二CPU从所述共享RAM的第二指定位置运行所述第二Bootloader程序;
A403.将第二新应用程序拷贝到所述共享RAM的第一指定位置,以便第二CPU通过第二Bootloader程序把所述第二新应用程序拷贝到第二Flash中(具体拷贝到第二Flash中预设的位置)。
其中,双CPU系统可以是双CPU嵌入式系统,但不限于此。
其中,第一Flash为第一CPU内部的Flash存储器,为非易失性存储器,其中存储有第一CPU启动用的第一Bootloader程序和第一CPU运行用的第一应用程序,并存有第二Bootloader程序。对第一CPU进行固件升级,即对第一Flash中的第一应用程序进行更新升级。
其中,第二Flash为第二CPU内部的Flash存储器,为非易失性存储器,其中存储有第二CPU运行用的第二应用程序。对第二CPU进行固件升级,即对第二Flash中的第二应用程序进行更新升级。
其中,共享RAM是随机存取存储器(Random Access Memory),其与第一CPU和第二CPU均电性连接。
其中,Bootloader程序是CPU在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
该双CPU系统的固件升级方法,对第一CPU进行固件升级时,直接把第一新应用程序拷贝到第一Flash中;对第二CPU进行固件升级时,由第一CPU通过第一Flash的第一Bootloader,把第一Flash中的第二Bootloader程序拷贝至共享RAM中,然后把第二新应用程序拷贝到共享RAM,再由第二CPU通过共享RAM中的第二Bootloader把第二新应用程序拷贝到第二Flash中;从而,无需单独为第二CPU设置独立的升级电路,可有效地实现两个CPU的固件升级并简化升级电路结构,降低设备成本。
在一些实施方式中,步骤A1中,第一CPU从上位机获取所述升级指令信息。其中,上位机可以是PC机,上位机与双CPU系统之间可通过串口(例如USB接口,但不限于此)连接,从而第一CPU通过串口从上位机获取所述升级指令信息;上位机与双CPU系统之间可通过网络连接(窄带网络或宽度网络),从而第一CPU通过网络连接模块从上位机获取所述升级指令信息。在实际应用中,上位机也可以是云端服务器,云端服务器与双CPU系统之间通过网络连接,从而第一CPU通过网络连接模块从云端服务器获取所述升级指令信息。
对于上位机为PC机的情况,在一些优选实施方式中,所述升级指令信息为上位机的按键触发信息。例如,上位机根据操作者在键盘或鼠标上按压的按键类型,生成相应的按键触发信息发送至双CPU系统。
实际应用中,升级指令信息不限于是上位机的按键触发信息。例如,升级指令信息为双CPU系统的按键触发信息,双CPU系统上设置有多个按键,根据第一CPU和第二CPU的固件升级需求,在启动前先按下对应的按键,第一CPU根据被按压的按键类型判断第一CPU和第二CPU是否需要进行固件升级。
实际应用中,升级指令信息不限于是按键触发信息。例如,升级指令信息可以为与双CPU系统连接的串口编号信息,上位机中设置有多个串口,根据第一CPU和第二CPU的固件升级需求,把双CPU系统连接到不同的串口中,上位机识别连接的串口并把对应的串口编号发送至双CPU系统,第一CPU根据串口编号判断第一CPU和第二CPU是否需要进行固件升级。
以升级指令信息为上位机的按键触发信息为例,在一些优选实施方式中,步骤A2包括:
A201.第一CPU上电后从第一Flash的指定位置运行其中的第一Bootloader程序,并在所述第一Bootloader程序的引导下进入接口控制台;
A202.等待预定时间;
A203.若在等待过程中没有接收到按键触发信息,则判定第一CPU和第二CPU均不需要进行固件升级;
A204.若在等待过程中接收到按键触发信息,则根据被触发的按键类型判定第一CPU和第二CPU是否需要进行固件升级。
其中,预定时间可根据实际需要进行设置,例如1s-2s。当不需要进行升级时,在双CPU系统启动的过程中,在等待时间内操作者不触发按键,从而第一CPU判定第一CPU和第二CPU均不需要进行固件升级,第一CPU和第二CPU正常启动。当需要进行升级时,在双CPU系统启动的过程中,在等待时间内操作者触发对应的按键,上位机根据被触发的按键类型发送按键触发信息,从而第一CPU根据被触发的按键类型判定第一CPU和第二CPU是否需要进行固件升级。
进一步的,步骤A204包括:
若被触发的按键为第一预设按键,则判定第一CPU和第二CPU均不需要进行固件升级;
若被触发的按键为第二预设按键,则判定仅第一CPU需要进行固件升级;
若被触发的按键为第三预设按键,则判定仅第二CPU需要进行固件升级;
被触发的按键为第四预设按键,则判定第一CPU和第二CPU均需要进行固件升级。
例如,第一预设按键为数字键“Esc”,第二预设按键为数字键“1”,第三预设按键为数字键“2”,第四预设按键为数字键“3”,但不限于此。
在一些优选实施方式中,若被触发的按键为第一预设按键,则立刻结束等待过程,第一CPU进行第一应用程序的运行过程。从而减少非必要等待时间,提高工作效率。
优选地,步骤A402包括:
向第二CPU发送IPC命令和所述共享RAM的第二指定位置的地址信息。
从而,第二CPU接收到IPC命令时,会根据该地址信息找到共享RAM的第二指定位置,并准确地执行第二Bootloader程序。
进一步的,见图2,步骤A3之后,还包括步骤:
A5.若不需要对第二CPU进行固件升级,则第一CPU向第二CPU发送Boot命令使第二CPU从第一Flash中运行第二Bootloader程序,以启动第二CPU。
由上可知,该双CPU系统的固件升级方法,对第一CPU进行固件升级时,直接把第一新应用程序拷贝到第一Flash中;对第二CPU进行固件升级时,由第一CPU通过第一Flash的第一Bootloader,把第一Flash中的第二Bootloader程序拷贝至共享RAM中,然后把第二新应用程序拷贝到共享RAM,再由第二CPU通过共享RAM中的第二Bootloader把第二新应用程序拷贝到第二Flash中;从而,无需单独为第二CPU设置独立的升级电路,可有效地实现两个CPU的固件升级并简化升级电路结构,降低设备成本。
请参阅图3,本申请实施例还提供一种双CPU系统的固件升级系统,包括上位机1和与所述上位机1通信连接的双CPU系统2(例如双CPU嵌入式系统,但不限于此);
所述双CPU系统2包括第一CPU 201、第二CPU 202和共享RAM 203;所述第一CPU201包括第一Flash 204,所述第一Flash 204中存储有第一Bootloader程序、第一应用程序和第二Bootloader程序;所述第二CPU 202包括第二Flash 205,所述第二Flash 205中存储有第二应用程序;
所述上位机1用于向所述双CPU系统2发送升级指令信息和新应用程序;
所述第一CPU 201用于在上电后执行步骤(具体可参见前述的双CPU系统的固件升级方法的步骤):
获取上位机1发送的升级指令信息;
根据所述升级指令信息判断是否需要对第一CPU 201和第二CPU 202进行固件升级;
若需要对第一CPU 201进行固件升级,则运行第一Flash 204中的第一Bootloader程序以将第一新应用程序拷贝到第一Flash 204中;
若需要对第二CPU 202进行固件升级,则运行第一Flash 204中的第一Bootloader程序以执行:
将存储在第一Flash 204中的第二Bootloader程序拷贝到共享RAM 203的第二指定位置;向第二CPU 202发送Boot命令使第二CPU 202从所述共享RAM 203的第二指定位置运行所述第二Bootloader程序;将第二新应用程序拷贝到所述共享RAM 203的第一指定位置,以便第二CPU 202通过第二Bootloader程序把所述第二新应用程序拷贝到第二Flash205中。
本申请实施例的双CPU系统的固件升级系统,对第一CPU进行固件升级时,直接把第一新应用程序拷贝到第一Flash中;对第二CPU进行固件升级时,由第一CPU通过第一Flash的第一Bootloader,把第一Flash中的第二Bootloader程序拷贝至共享RAM中,然后把第二新应用程序拷贝到共享RAM,再由第二CPU通过共享RAM中的第二Bootloader把第二新应用程序拷贝到第二Flash中;从而,无需单独为第二CPU设置独立的升级电路,可有效地实现两个CPU的固件升级并简化升级电路结构,降低设备成本。
优选地,所述升级指令信息为上位机的按键触发信息。
优选地,所述第一CPU在上电后还执行步骤:
若不需要对第二CPU进行固件升级,则向第二CPU发送Boot命令使第二CPU从第一Flash中运行第二Bootloader程序,以启动第二CPU。
其中,上位机1可以是PC机,上位机1与双CPU系统2之间可通过串口(例如USB接口,但不限于此)连接,从而第一CPU 201通过串口从上位机获取所述升级指令信息;上位机1与双CPU系统2之间可通过网络连接(窄带网络或宽度网络),从而第一CPU 201通过网络连接模块从上位机1获取所述升级指令信息。在实际应用中,上位机1也可以是云端服务器,云端服务器与双CPU系统2之间通过网络连接,从而第一CPU 201通过网络连接模块从云端服务器获取所述升级指令信息。
对于上位机为PC机的情况,在一些优选实施方式中,所述升级指令信息为上位机的按键触发信息。例如,上位机根据操作者在键盘或鼠标上按压的按键类型,生成相应的按键触发信息发送至双CPU系统。
实际应用中,升级指令信息不限于是上位机的按键触发信息。例如,升级指令信息为双CPU系统2的按键触发信息,双CPU系统2上设置有多个按键,根据第一CPU 201和第二CPU 202的固件升级需求,在启动前先按下对应的按键,第一CPU 201根据被按压的按键类型判断第一CPU 201和第二CPU 202是否需要进行固件升级。
实际应用中,升级指令信息不限于是按键触发信息。例如,升级指令信息可以为与双CPU系统2连接的串口编号信息,上位机1中设置有多个串口,根据第一CPU 201和第二CPU202的固件升级需求,把双CPU系统2连接到不同的串口中,上位机1识别连接的串口并把对应的串口编号发送至双CPU系统2,第一CPU 201根据串口编号判断第一CPU 201和第二CPU202是否需要进行固件升级。
优选地,所述第一CPU 201在上电后还执行步骤:
若不需要对第二CPU 202进行固件升级,则向第二CPU 202发送Boot命令使第二CPU 202从第一Flash 204中运行第二Bootloader程序,以启动第二CPU 202。
由上可知,该双CPU系统的固件升级系统,对第一CPU进行固件升级时,直接把第一新应用程序拷贝到第一Flash中;对第二CPU进行固件升级时,由第一CPU通过第一Flash的第一Bootloader,把第一Flash中的第二Bootloader程序拷贝至共享RAM中,然后把第二新应用程序拷贝到共享RAM,再由第二CPU通过共享RAM中的第二Bootloader把第二新应用程序拷贝到第二Flash中;从而,无需单独为第二CPU设置独立的升级电路,可有效地实现两个CPU的固件升级并简化升级电路结构,降低设备成本。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术佩戴人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,其方案与本发明实质上相同。
Claims (10)
1.一种双CPU系统的固件升级方法,用于对双CPU系统的两个CPU进行固件升级,两个所述CPU包括第一CPU和第二CPU;其特征在于,包括步骤:
A1.第一CPU获取升级指令信息;
A2.第一CPU根据所述升级指令信息判断是否需要对第一CPU和第二CPU进行固件升级;
A3.若需要对第一CPU进行固件升级,则第一CPU运行第一Flash中的第一Bootloader程序以将第一新应用程序拷贝到第一Flash中;
A4.若需要对第二CPU进行固件升级,则第一CPU运行第一Flash中的第一Bootloader程序以执行:
A401.将存储在第一Flash中的第二Bootloader程序拷贝到共享RAM的第二指定位置;
A402.向第二CPU发送Boot命令使第二CPU从所述共享RAM的第二指定位置运行所述第二Bootloader程序;
A403.将第二新应用程序拷贝到所述共享RAM的第一指定位置,以便第二CPU通过第二Bootloader程序把所述第二新应用程序拷贝到第二Flash中。
2.根据权利要求1所述的双CPU系统的固件升级方法,其特征在于,步骤A1中,第一CPU从上位机获取所述升级指令信息。
3.根据权利要求2所述的双CPU系统的固件升级方法,其特征在于,所述升级指令信息为上位机的按键触发信息。
4.根据权利要求3所述的双CPU系统的固件升级方法,其特征在于,步骤A2包括:
A201.第一CPU上电后从第一Flash的指定位置运行其中的第一Bootloader程序,并在所述第一Bootloader程序的引导下进入接口控制台;
A202.等待预定时间;
A203.若在等待过程中没有接收到按键触发信息,则判定第一CPU和第二CPU均不需要进行固件升级;
A204.若在等待过程中接收到按键触发信息,则根据被触发的按键类型判定第一CPU和第二CPU是否需要进行固件升级。
5.根据权利要求4所述的双CPU系统的固件升级方法,其特征在于,步骤A204包括:
若被触发的按键为第一预设按键,则判定第一CPU和第二CPU均不需要进行固件升级;
若被触发的按键为第二预设按键,则判定仅第一CPU需要进行固件升级;
若被触发的按键为第三预设按键,则判定仅第二CPU需要进行固件升级;
被触发的按键为第四预设按键,则判定第一CPU和第二CPU均需要进行固件升级。
6.根据权利要求1所述的双CPU系统的固件升级方法,其特征在于,步骤A402包括:
向第二CPU发送IPC命令和所述共享RAM的第二指定位置的地址信息。
7.根据权利要求1所述的双CPU系统的固件升级方法,其特征在于,步骤A3之后,还包括步骤:
A5.若不需要对第二CPU进行固件升级,则第一CPU向第二CPU发送Boot命令使第二CPU从第一Flash中运行第二Bootloader程序,以启动第二CPU。
8.一种双CPU系统的固件升级系统,其特征在于,包括上位机和与所述上位机通信连接的双CPU系统;
所述双CPU系统包括第一CPU、第二CPU和共享RAM;所述第一CPU包括第一Flash,所述第一Flash中存储有第一Bootloader程序、第一应用程序和第二Bootloader程序;所述第二CPU包括第二Flash,所述第二Flash中存储有第二应用程序;
所述上位机用于向所述双CPU系统发送升级指令信息和新应用程序;
所述第一CPU用于在上电后执行步骤:
获取上位机发送的升级指令信息;
根据所述升级指令信息判断是否需要对第一CPU和第二CPU进行固件升级;
若需要对第一CPU进行固件升级,则运行第一Flash中的第一Bootloader程序以将第一新应用程序拷贝到第一Flash中;
若需要对第二CPU进行固件升级,则运行第一Flash中的第一Bootloader程序以执行:
将存储在第一Flash中的第二Bootloader程序拷贝到共享RAM的第二指定位置;向第二CPU发送Boot命令使第二CPU从所述共享RAM的第二指定位置运行所述第二Bootloader程序;将第二新应用程序拷贝到所述共享RAM的第一指定位置,以便第二CPU通过第二Bootloader程序把所述第二新应用程序拷贝到第二Flash中。
9.根据权利要求8所述的双CPU系统的固件升级系统,其特征在于,所述升级指令信息为上位机的按键触发信息。
10.根据权利要求8所述的双CPU系统的固件升级系统,其特征在于,所述第一CPU在上电后还执行步骤:
若不需要对第二CPU进行固件升级,则向第二CPU发送Boot命令使第二CPU从第一Flash中运行第二Bootloader程序,以启动第二CPU。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110651022.4A CN113254053B (zh) | 2021-06-11 | 2021-06-11 | 一种双cpu系统的固件升级方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110651022.4A CN113254053B (zh) | 2021-06-11 | 2021-06-11 | 一种双cpu系统的固件升级方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254053A true CN113254053A (zh) | 2021-08-13 |
CN113254053B CN113254053B (zh) | 2021-11-02 |
Family
ID=77187541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110651022.4A Active CN113254053B (zh) | 2021-06-11 | 2021-06-11 | 一种双cpu系统的固件升级方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254053B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067535A1 (en) * | 2005-09-20 | 2007-03-22 | Ta-Wei Liu | Motherboard capable of selectively supporting dual graphic engine |
CN1964285A (zh) * | 2006-12-13 | 2007-05-16 | 杭州华为三康技术有限公司 | 具有双cpu的主控设备及实现方法 |
CN102214114A (zh) * | 2011-06-24 | 2011-10-12 | 深圳市江波龙电子有限公司 | 一种双cpu系统客户机程序的升级方法及系统 |
CN104021014A (zh) * | 2014-05-23 | 2014-09-03 | 江苏兆伏新能源有限公司 | 一种基于双cpu系统的固件升级方法 |
CN104102518A (zh) * | 2014-07-23 | 2014-10-15 | 江苏兆伏新能源有限公司 | 一种双cpu系统及其程序升级方法 |
CN109840106A (zh) * | 2017-11-28 | 2019-06-04 | 深圳市优必选科技有限公司 | 一种嵌入式系统中固件的升级方法、系统及终端设备 |
CN210514969U (zh) * | 2019-06-15 | 2020-05-12 | 宁夏聆音智能科技有限公司 | 基于双cpu架构的高可靠性数据采集控制器 |
CN112363746A (zh) * | 2020-11-20 | 2021-02-12 | 清能德创电气技术(北京)有限公司 | 一种双核dsp在线升级方法 |
-
2021
- 2021-06-11 CN CN202110651022.4A patent/CN113254053B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067535A1 (en) * | 2005-09-20 | 2007-03-22 | Ta-Wei Liu | Motherboard capable of selectively supporting dual graphic engine |
CN1964285A (zh) * | 2006-12-13 | 2007-05-16 | 杭州华为三康技术有限公司 | 具有双cpu的主控设备及实现方法 |
CN102214114A (zh) * | 2011-06-24 | 2011-10-12 | 深圳市江波龙电子有限公司 | 一种双cpu系统客户机程序的升级方法及系统 |
CN104021014A (zh) * | 2014-05-23 | 2014-09-03 | 江苏兆伏新能源有限公司 | 一种基于双cpu系统的固件升级方法 |
CN104102518A (zh) * | 2014-07-23 | 2014-10-15 | 江苏兆伏新能源有限公司 | 一种双cpu系统及其程序升级方法 |
CN109840106A (zh) * | 2017-11-28 | 2019-06-04 | 深圳市优必选科技有限公司 | 一种嵌入式系统中固件的升级方法、系统及终端设备 |
CN210514969U (zh) * | 2019-06-15 | 2020-05-12 | 宁夏聆音智能科技有限公司 | 基于双cpu架构的高可靠性数据采集控制器 |
CN112363746A (zh) * | 2020-11-20 | 2021-02-12 | 清能德创电气技术(北京)有限公司 | 一种双核dsp在线升级方法 |
Non-Patent Citations (1)
Title |
---|
郭浩田 等: ""基于SCI通信与双核系统的DSP在线编程技术"", 《电子测量技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113254053B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101989212B (zh) | 提供用于启动刀片服务器的虚拟机管理程序的方法和装置 | |
US20150178096A1 (en) | Remote bios update in system having multiple computers | |
EP3399408B1 (en) | Information processing apparatus and computer readable storage medium | |
US20170024303A1 (en) | System and method of runtime downloading of debug code and diagnostics tools in an already deployed baseboard management controller (bmc) devices | |
US20070169076A1 (en) | Methods and systems for updating a BIOS image | |
US9448808B2 (en) | BIOS update with service processor without serial peripheral interface (SPI) access | |
US20150143095A1 (en) | Bios failover update with service processor | |
CN115314416B (zh) | 网卡状态自动检测方法、装置、电子设备及存储介质 | |
JP4052265B2 (ja) | 情報処理装置とデバイスドライバのロード方法並びにプログラム | |
US20040199600A1 (en) | Method and apparatus for program installation in a modular network | |
CN113254053B (zh) | 一种双cpu系统的固件升级方法、系统 | |
US20090157908A1 (en) | Software Driver Device | |
KR100775431B1 (ko) | 임베디드 시스템 및 임베디드 시스템의 펌웨어 업데이트방법 | |
CN113377425B (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
JP2002175193A (ja) | プログラム書き換え装置及びプログラム書き換え方法 | |
JPH06314202A (ja) | 画像形成装置 | |
US9081727B2 (en) | Method, apparatus and computer program for loading files during a boot-up process | |
CN106445571B (zh) | 主机板及开机的方法 | |
JP3308920B2 (ja) | 情報処理装置 | |
US9916029B2 (en) | Sensor controller, sensor device including sensor controller, electronic apparatus equipped with sensor device, and application software recovery method | |
CN111176735B (zh) | 一种心电图机启动加速方法 | |
CN115993980A (zh) | 一种适用于onu中间版本的自动升级方法、系统及平台 | |
CN115129350A (zh) | 一种uefi环境下bmc固件更新系统和方法 | |
CN114296765A (zh) | 一种嵌入式设备、固件升级方法及装置 | |
CN115421761A (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 |