空中下载技术升级方法、系统及计算机可读存储介质

文档序号:196597 发布日期:2021-11-02 浏览:28次 >En<

阅读说明:本技术 空中下载技术升级方法、系统及计算机可读存储介质 (Method and system for upgrading over-the-air technology and computer readable storage medium ) 是由 郑凯 黄泽洋 郑龙 李冬 姜豪 刘风雷 于 2021-08-11 设计创作,主要内容包括:本申请提供一种空中下载技术升级方法、系统及计算机可读存储介质,包括:通信模组接收服务器发送的升级固件,并根据各芯片的升级顺序,确定待升级的目标芯片;通信模组向第一芯片发送开始升级指令,以第一芯片为起始,各芯片依次向在后芯片发送开始升级指令,若接收到开始升级指令的芯片为目标芯片,则目标芯片将芯片模式调整为升级模式,目标芯片之外的其它芯片将芯片模式调整为透传模式或休眠模式;通信模组向第一芯片发送升级固件;以第一芯片为起始,各芯片依次接收升级固件,并根据当前各自的芯片模式执行升级操作或者数据透传。通过上述步骤,能够避免多芯片升级中,一侧芯片出现错误影响其它芯片升级,提高了设备进行OTA升级的可靠性。(The application provides an over-the-air technology upgrading method, a system and a computer readable storage medium, comprising: the communication module receives the upgrading firmware sent by the server and determines a target chip to be upgraded according to the upgrading sequence of each chip; the communication module sends an upgrade starting instruction to a first chip, the first chip is used as a starting point, each chip sends the upgrade starting instruction to a subsequent chip in sequence, if the chip receiving the upgrade starting instruction is a target chip, the target chip adjusts the mode of the chip to be an upgrade mode, and other chips except the target chip adjust the mode of the chip to be a transparent transmission mode or a sleep mode; the communication module sends upgrading firmware to the first chip; and starting with the first chip, sequentially receiving the upgrading firmware by each chip, and executing upgrading operation or data transparent transmission according to the current respective chip mode. Through the steps, the situation that other chips are upgraded due to the fact that errors occur in one side of the chips in the multi-chip upgrading process can be avoided, and the reliability of OTA upgrading of the equipment is improved.)

空中下载技术升级方法、系统及计算机可读存储介质

技术领域

本申请涉及芯片技术领域,具体而言,涉及一种空中下载技术升级方法、系统及计算机可读存储介质。

背景技术

随着计算机通信技术以及半导体技术的不断发展,现有的各种电子设备越来越复杂,这些电子设备中,往往会集成有多块芯片,一般需要进行固件升级来修复遇到的问题以及增加新功能。现有技术中,通常采用空中下载技术(Over-the-Air Technology,简称OTA)进行固件的升级,OTA是一种可以通过空中无线网络进行固件的传输和升级的方式,即,OTA是一种远程升级的方式,具体来说,采用OTA远程升级设备上的芯片,可以是指通过通信模组从服务器上下载升级固件,并将升级固件传输给芯片,以完成芯片升级的过程。

现有技术中,当集成多块芯片的设备同时升级多块芯片时,并未制定各块芯片的升级顺序,存在一侧芯片升级过程中出现错误后,会影响其它侧芯片的升级,从而导致升级后的设备出现异常。

发明内容

有鉴于此,本申请的目的在于,针对上述现有技术中的不足,提供一种空中下载技术升级方法、系统及计算机可读存储介质,以便解决现有技术中存在的,集成多块芯片的设备同时升级多块芯片时,由于芯片升级无序而导致设备出现异常的问题。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供了一种空中下载技术升级方法,应用于空中下载技术升级系统,所述升级系统中包括待升级的电子设备以及通信模组,所述电子设备中包括多个芯片,各芯片中的第一芯片与所述通信模组连接,所述方法包括:

所述通信模组接收服务器发送的升级固件,并根据各芯片的升级顺序,确定当前待升级的目标芯片,其中,所述各芯片的升级顺序根据所述各芯片的排布顺序确定;

所述通信模组向所述第一芯片发送开始升级指令,所述开始升级指令中包括所述目标芯片的标识;

以所述第一芯片为起始,各芯片依次向在后的芯片发送所述开始升级指令,若接收到所述开始升级指令的芯片为所述目标芯片,则所述目标芯片将其当前的芯片模式调整为升级模式,所述目标芯片之外的其它芯片将其各自的芯片模式调整为透传模式或休眠模式;

所述通信模组向所述第一芯片发送所述升级固件;

以所述第一芯片为起始,各芯片依次接收所述升级固件,并根据当前各自的芯片模式执行升级操作或者数据透传。

作为一种可能的实现方式,所述目标芯片之外的其它芯片将其各自的芯片模式调整为透传模式或休眠模式,包括:

若所述其它芯片中的第二芯片的升级状态为已升级,则所述第二芯片将其芯片模式调整为休眠模式,其中,所述第二芯片为所述其它芯片中的任意一个芯片。

作为一种可能的实现方式,所述目标芯片之外的其它芯片将其各自的芯片模式调整为透传模式或休眠模式,包括:

若所述其它芯片中的第三芯片的升级状态为未升级,则所述第三芯片将其芯片模式调整为透传模式,其中,所述第三芯片为所述其它芯片中的任意一个芯片。

作为一种可能的实现方式,所述各芯片根据当前各自的芯片模式执行升级操作或者数据透传,包括:

所述目标芯片使用所述升级固件,在所述升级模式下执行升级操作;

处于所述透传模式下的所述各芯片,将所述升级固件发送给与其连接的在后的芯片。

作为一种可能的实现方式,所述方法还包括:

若所述目标芯片完成所述升级操作,则所述目标芯片退出所述升级模式,并向所述目标芯片之外的其它芯片发送升级完成响应。

作为一种可能的实现方式,所述方法还包括:

所述其它芯片中的第三芯片接收到所述升级完成响应后,将当前的芯片模式调整为初始状态。

作为一种可能的实现方式,所述通信模组接收服务器发送的升级固件,包括:

所述通信模组向所述第一芯片发送准备升级指令;

所述第一芯片根据所述准备升级指令,确定各芯片是否满足预设的升级条件,若是,则向所述通信模组发送升级准备完成响应;

所述通信模组根据所述升级准备完成响应,从所述服务器读取所述升级固件。

作为一种可能的实现方式,所述根据各芯片的升级顺序,确定当前待升级的目标芯片之前,所述方法还包括:

从所述服务器读取所述各芯片的升级顺序,所述各芯片的升级顺序由用户根据所述各芯片的排布顺序预先在所述服务器上进行设置得到。

第二方面,本申请实施例还提供了一种空中下载技术升级系统,所述系统包括:

待升级的电子设备以及通信模组,所述电子设备中包括多个芯片,各芯片中的第一芯片与所述通信模组连接,所述电子设备以及所述电子设备中的各芯片分别执行如上述第一方面所述的空中下载技术升级方法的步骤。

第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面所述的空中下载技术升级方法的步骤。

本申请的有益效果是:

本申请实施例提供的空中下载技术升级方法、系统及计算机可读存储介质,通信模组接收服务器发送的升级固件,并根据各芯片的升级顺序,确定当前待升级的目标芯片,其中,各芯片的升级顺序根据各芯片的排布顺序确定;通信模组向第一芯片发送开始升级指令,开始升级指令中包括目标芯片的标识;以第一芯片为起始,各芯片依次向在后的芯片发送开始升级指令,若接收到开始升级指令的芯片为目标芯片,则目标芯片将其当前的芯片模式调整为升级模式,目标芯片之外的其它芯片将其各自的芯片模式调整为透传模式或休眠模式;通信模组向第一芯片发送升级固件;以第一芯片为起始,各芯片依次接收升级固件,并根据当前各自的芯片模式执行升级操作或者数据透传。在上述步骤中,由于在升级之前,根据各芯片的排布顺序,预先设置了各芯片的升级顺序,升级过程中,可以根据预先设定的升级顺序对芯片进行升级,并且,在升级过程中,各芯片会根据自身的状态,进入相应的芯片模式,避免了多芯片升级过程中,可能存在一侧芯片在升级过程中出现错误后,会影响其它侧芯片的升级,进而导致升级后的设备出现异常的问题,提高了电子设备进行OTA升级的可靠性,进而提升了电子设备进行固件更新的准确率和效率。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本申请实施例提供的一种OTA升级系统的结构示意图;

图2为本申请实施例提供的一种OTA升级方法的流程示意图;

图3为本申请实施例提供的另一种OTA升级系统的结构示意图;

图4为本申请实施例提供的另一种OTA升级方法的流程示意图;

图5为本申请实施例提供的另一种OTA升级方法的流程示意图;

图6为本申请实施例提供的另一种OTA升级方法的流程示意图;

图7为本申请实施例提供的另一种OTA升级方法的流程示意图;

图8为本申请实施例提供的另一种OTA升级方法的流程示意图。

图标:101-电子设备;102-通信模组;103-多个芯片;104-第一芯片。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其它操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

随着OTA不断地发展与成熟,很多电子设备在需要进行固件升级修复存在的问题,或者需要增加新功能时,通常采用OTA远程升级的方式,具体的,设备通过通信模组,例如WIFI模组,从服务器上下载升级固件,并将升级固件传输给设备中的芯片,以完成芯片的升级。

现有的电子设备,其系统中往往集成有多块芯片,而现有技术中,当这种集成多块芯片的设备在同时升级多块芯片时,并未定制升级顺序,存在一侧芯片完成升级后,会影响下一侧芯片升级的问题。

一般的,可以将电子设备中,距离通信模组较近的芯片称为近端芯片,而距离通信模组较远的芯片称为远端芯片。在升级过程中,如果先升级近端芯片,再升级远端芯片,则可能会存在若近端芯片在升级过程中存在错误,便会导致剩余芯片无法正常升级的问题。

假设某电子设备中设置有3块芯片,分别为芯片1,芯片2和芯片3,且芯片1和通信模组连接,芯片2和芯片1连接,芯片3和芯片2连接,则可以称芯片1为近端芯片,芯片2、芯片3为远端芯片。如果先升级近端芯片1,再升级远端芯片2和芯片3,可能存在如果芯片1在升级过程中程序出错,则芯片1后续将无法正常接收和处理通信模组发送的升级固件数据,那么,将会导致芯片2和芯片3无法进行正常升级。

考虑到集成有多芯片的电子设备在OTA升级过程中存在的上述问题,本申请基于此,提出一种OTA升级方法,针对集成有多块芯片的电子设备,在OTA升级之前,预先设置了芯片的升级顺序,并且,在升级过程中,各芯片会根据自身的状态,进入相应的芯片模式,避免了一侧芯片升级过程中若存在错误,会导致下一侧芯片无法正常升级的问题。

本申请实施例所提供的OTA升级方法,应用于OTA升级系统中,以下的内容,将首先对该OTA升级系统进行说明。

请参见图1,是本申请实施例提供的一种OTA升级系统的结构示意图,如图1所示,该OTA升级系统可以包括:待升级的电子设备101、通信模组102,其中,待升级的电子设备101中,可以包括多个芯片103,并且,多个芯片中的第一芯片104与通信模组102直接连接。需要说明的是,图1中多个芯片103中芯片的数目仅仅是示意性的,本申请实施例不做具体限制。

示例性的,在使用OTA进行电子设备中芯片的升级场景中,电子设备101、通信模组102和服务器之间的数据交互过程可以为:用户操作电子设备101发起升级请求指令,电子设备101发送该升级请求指令给服务器,服务器收到升级指令后,将升级指令发送给通信模组102,通信模组102从服务器下载升级固件,通信模组102将从服务器下载的升级固件发送给多个芯片103,多个芯片103收到升级固件后,完成各个芯片的升级,芯片升级完成后,多个芯片103返回升级完成的应答给通信模组102,通信模组102收到升级完成的应答后,返回升级完成的应答给服务器,服务器收到升级完成应答后,给电子设备101返回升级完成应答,电子设备101将升级完成的应答告知用户。

具体的,电子设备101与服务器之间的交互,以及通信模组102与服务器之间的交互通过无线网络完成,其中,无线网络是指采用无线通信技术实现的网络,根据网络覆盖范围、传输速率以及用途的不同,无线网络可以分为无线广域网(Wireless Wide AreaNetwork,WWAN)、无线城域网(Wireless Metropolitan Area Network,WMAN)、无线局域网(Wireless Local Area Network,WLAN)、无线个域网(Wireless Personal Area Network,WPAN)以及无线体域网(Wireless Body Area Network,WBAN)等,或其任意组合,上述各无线网络用于在电子设备101和服务器,以及通信模组102和服务器之间提供通信链路。

在一些实施例中,服务器可以在云平台上实现,仅作为示例,云平台可以包括私有云、公有云、混合云、社区云(community cloud)、分布式云、跨云(inter-cloud)、多云(multi-cloud)等,或者它们的任意组合。

为描述简便,在下述方法实施例中,涉及到电子设备101时,使用“设备”进行描述,涉及到通信模组102时,使用“通信模组”进行描述,涉及到多个芯片103时,使用“多个芯片”进行描述,以及,涉及到第一芯片104时,使用“第一芯片”进行描述。

在对本申请实施例提供的OTA升级系统进行说明后,下面的实施例,将结合附图,对本申请实施例提供的OTA升级方法进行详细的阐述。

请参见图2,是本申请实施例提供的一种OTA升级方法的流程示意图,如图2所示,该OTA升级方法包括:

步骤S201,通信模组接收服务器发送的升级固件,并根据各芯片的升级顺序,确定当前待升级的目标芯片。

具体的,通信模组接收服务器发送的各芯片的升级固件数据后,需要从服务器获取各芯片的升级顺序,并根据各芯片的升级顺序,确定当前待升级的芯片,而当前待升级的芯片为各芯片的升级顺序中,排在第一位的芯片,可以将当前待升级的芯片称为目标芯片。其中,通信模组,可以是具有无线通信功能的通信模组,例如WIFI模组,可以使得电子设备连接到无线网络。而各芯片的升级顺序,是根据多个芯片中,各芯片的排布顺序确定的。

示例性的,请继续参见图1,假设多个芯片中包括三个芯片,芯片1、芯片2以及芯片3,其中,芯片1与通信模组直接连接,芯片2与芯片1连接,而芯片3与芯片2连接,也即,通信模组、芯片1、芯片2以及芯片3是依次连接的关系,则根据各芯片的这种排布顺序,以及确定升级优先级的原则,距离通信模组远的芯片先升级,可以得到各芯片的升级顺序为先升级芯片3,再升级芯片2,最后升级芯片1,由于三个芯片之前均未做过升级,且芯片3的升级顺序为第一个,因此,确定芯片3为当前待升级的芯片,即目标芯片。请参见图3,是本申请实施例提供的另一种OTA升级系统的结构示意图,如图3所示,由于芯片2和芯片3并不是依次连接,因此,对于芯片2和芯片3的升级顺序,没有具体的限制,可以先升级芯片2,也可以先升级芯片3,即目标芯片可以是芯片2,也可以是芯片3。

步骤S202,通信模组向第一芯片发送开始升级指令。

具体的,通信模组在接收到服务器发送的升级固件,以及在确定了目标芯片后,通信模组向第一芯片发送开始升级的指令,其中,第一芯片可以指与通信模组连接的芯片,继续参见图1和图3,在图1和图3中,由于芯片1与通信模组连接,因此,在图1和图3中,第一芯片均为芯片1。

进一步的,通信模组向第一芯片发送的开始升级的指令中,包括目标芯片的标识,其中,目标芯片的标识可以是待升级芯片的型号信息,用于表征当前的升级是升级多个芯片中的哪一块芯片。请继续参见图1,在图1中,由于目标芯片为芯片3,也就是说,本次待升级的芯片是芯片3,则通信模组向第一芯片,即芯片1发送的开始升级的指令中,包括目标芯片的标识,即芯片3的型号信息。

步骤S203,以第一芯片为起始,各芯片依次向在后的芯片发送开始升级指令,若接收到开始升级指令的芯片为目标芯片,则目标芯片将其当前的芯片模式调整为升级模式,目标芯片之外的其它芯片将其各自的芯片模式调整为透传模式或休眠模式。

具体的,第一芯片在接收到通信模组发送的开始升级指令后,以第一芯片为起始,各个芯片收到开始升级指令后,将该开始升级指令发送给其在后的芯片,其中,在后的芯片可以指和某芯片连接的,并在它之后的芯片。例如,请继续参见图1,芯片1为第一芯片,而芯片1的在后芯片为芯片2,芯片2的在后芯片为芯片3,则芯片1在接收到通信模组发送的开始升级指令后,将开始升级指令发送给芯片2,芯片2在接收到芯片1发送的开始升级指令后,将该指令发送给芯片3。

进一步的,如果接收到开始升级指令的芯片为目标芯片,因为目标芯片是此次待升级的芯片,因此,目标芯片将其当前的芯片模式调整为升级模式,而目标芯片之外的其它芯片,将其各自的芯片模式调整为透传模式或者休眠模式。请继续参见图1,如果此次升级的目标芯片为芯片3,则芯片3进入升级模式,而芯片1和芯片2将其各自的芯片模式调整为透传模式或者休眠模式。

步骤S204,通信模组向第一芯片发送升级固件。

具体的,在多个芯片中的各芯片,收到开始升级指令,并且,通信模组在接收到各芯片返回的升级准备完成的指令后,通信模组向第一芯片发送升级固件数据。例如,继续参见图1,由于芯片1是第一芯片,因此,通信模组向芯片1发送升级固件数据。

步骤S205,以第一芯片为起始,各芯片依次接收升级固件,并根据当前各自的芯片模式执行升级操作或者数据透传。

具体的,以第一芯片为起始,各芯片依次接收该升级固件数据,并根据当前的芯片模式,针对该升级固件数据,执行升级操作或者数据透传。

示例性的,请继续参见图1,例如,芯片1在收到通信模组发送的升级固件后,如果发现自己当前的芯片模式为数据透传,则将升级固件透传给芯片2,芯片2发现当前的芯片模式也为数据透传,则将升级固件继续透传后,由芯片3接收,芯片3接收后,发现自己当前的芯片模式为升级模式,则使用该升级固件,执行升级操作,完成升级。

又例如,芯片1在收到通信模组发送的升级固件后,如果发现自己当前的芯片模式为数据透传,则将升级固件透传给芯片2,芯片2发现当前的芯片模式为升级模式,则使用该升级固件,执行升级操作,完成升级。

在具体实施例时,上述步骤S201-步骤S205可以多次循环执行,直至多个芯片中的每个芯片都完成升级。

综上所述,本申请实施例提供一种OTA升级方法,包括:通信模组接收服务器发送的升级固件,并根据各芯片的升级顺序,确定当前待升级的目标芯片,其中,各芯片的升级顺序根据各芯片的排布顺序确定;通信模组向第一芯片发送开始升级指令,开始升级指令中包括目标芯片的标识;以第一芯片为起始,各芯片依次向在后的芯片发送开始升级指令,若接收到开始升级指令的芯片为目标芯片,则目标芯片将其当前的芯片模式调整为升级模式,目标芯片之外的其它芯片将其各自的芯片模式调整为透传模式或休眠模式;通信模组向第一芯片发送所述升级固件;以第一芯片为起始,各芯片依次接收升级固件,并根据当前各自的芯片模式执行升级操作或者数据透传。在上述步骤中,由于在升级之前,根据各芯片的排布顺序,预先设置了各芯片的升级顺序,升级过程中,可以根据预先设定的升级顺序对芯片进行升级,并且,在升级过程中,各芯片会根据自身的状态,进入相应的芯片模式,避免了多芯片升级过程中,可能存在一侧芯片在升级过程中出现错误后,会影响其它侧芯片的升级,进而导致升级后的设备出现异常的问题,提高了电子设备进行OTA升级的可靠性,进而提升了电子设备进行固件更新的准确率和效率。

可选的,目标芯片之外的其它芯片将其各自的芯片模式调整为透传模式或休眠模式,包括:

如果其它芯片中的第二芯片的升级状态为已升级,则第二芯片将其芯片模式调整为休眠模式,其中,第二芯片为其它芯片中的任意一个芯片。

具体的,目标芯片之外的其它芯片中的任意一个芯片,通过判断自身的升级状态,如果为已升级,则该芯片将其芯片模式调整为休眠模式。

可选的,目标芯片之外的其它芯片将其各自的芯片模式调整为透传模式或休眠模式,还包括:

如果其它芯片中的第三芯片的升级状态为未升级,则第三芯片将其芯片模式调整为透传模式,其中,第三芯片为所述其它芯片中的任意一个芯片。

具体的,目标芯片之外的其它芯片中的任意一个芯片,通过判断自身的升级状态,如果为未升级,则该芯片将其芯片模式调整为透传模式。

请继续参见图1,如果此次升级的目标芯片为芯片3,则芯片3进入升级模式,由于芯片1和芯片2还没有升级过,因此,芯片1和芯片2进入透传模式。而如果假设芯片3已经升级完成,则进入下次升级的时候,芯片3在接收到开始升级指令后,将其芯片模式调整为休眠模式,而由于此次升级的目标芯片为芯片2,则芯片2将其芯片模式调整为升级模式,由于芯片1未升级,因此,芯片1将其芯片模式调整为透传模式。

其中,透传模式可以指,某芯片在收到通信模组或者在前芯片发送的指令或者数据后,对指令或者数据不做任何处理,仅仅将其转发给在后的芯片,而休眠模式可以指,某芯片处于低功耗模式,不响应或者不接收任何指令或者数据。

在预先确定芯片升级顺序的基础上,目标芯片之外的其它芯片,根据自身的状态,将其各自的芯片模式调整为透传模式或休眠模式,能够避免多芯片升级过程中,一侧芯片在升级过程中出现错误后,会影响到其它侧芯片的升级的问题,提高了设备进行OTA升级的可靠性。

进一步的,当各芯片处于各自相应的芯片模式下,如果升级过程中发生异常,比如,断电、断线或者断网等,由于各芯片在发生异常时有相应的记忆标志,当各种异常情况恢复正常时,各芯片读取相应的记忆标志后,进入到异常发生前的状态,从而进一步提高了设备进行OTA升级的可靠性和准确率以及效率。

请参见图4,是本申请实施例提供的另一种OTA升级方法的流程示意图,如图4所示,上述步骤S305中,根据当前各自的芯片模式执行升级操作或者数据透传,包括:

步骤S401,目标芯片使用升级固件,在升级模式下执行升级操作。

具体的,目标芯片是本次待升级的芯片,因此,目标芯片在接收到开始升级的指令后,将其芯片模式调整为升级模式,之后,当接收到通信模组发送的升级固件后,在升级模式下,执行升级操作,完成升级。

步骤S402,处于透传模式下的各芯片,将升级固件发送给与其连接的在后的芯片。

具体的,处于透传模式下的各芯片,由于不是本次升级的待升级芯片,因此,处于透传模式下的各芯片,只是将升级固件发送给与其连接的在后的芯片,而在后的各芯片,会根据自身的芯片模式,选择是进行升级,还是继续将升级固件发送给与其连接的在后的芯片。

步骤S403,如果目标芯片完成升级操作,则目标芯片退出升级模式,并向目标芯片之外的其它芯片发送升级完成响应。

具体的,如果目标芯片完成升级操作,则目标芯片会退出升级模式,回到初始状态,并向其它芯片发送升级完成的响应。

步骤S404,其它芯片中的第三芯片接收到升级完成响应后,将当前的芯片模式调整为初始状态。

当目标芯片之外的其它各芯片,在接收到目标芯片发送的升级完成的响应后,退出当前的芯片模式,将各自的芯片模式调整为初始状态,此次升级目标芯片的过程完成。

请继续参见图1,如果当前升级的目标芯片是芯片3,则芯片3完成升级操作后,会退出升级模式,并向芯片1和芯片2发送升级完成的响应,芯片1和芯片2在收到芯片3发送的升级完成的响应后,将各自的芯片模式由透传模式调整为初始状态,此次升级芯片3的过程完成。

请参见图5,是本申请实施例提供的另一种OTA升级方法的流程示意图,如图5所示,上述步骤S201中,通信模组接收服务器发送的升级固件,包括:

步骤S501,通信模组向第一芯片发送准备升级指令。

步骤S502,第一芯片根据所述准备升级指令,确定各芯片是否满足预设的升级条件,若是,则向通信模组发送升级准备完成响应。

具体的,第一芯片在收到通信模组发送的准备升级的指令后,需要确定多个芯片中的各芯片是否满足预设的升级条件,如果各芯片满足预设的升级条件,则第一芯片向通信模组发送升级准备完成响应,以告知通信模组,各芯片已经做好了升级的准备,可以进行升级操作了。

其中,满足预设的升级条件,可以指设备本体处于不动作的状态下,即满足升级条件,进一步的,多个芯片通过获取当前设备本体的动作状态,来判断当前设备本体是否处于动作状态,从而判断当前设备本体是否可以进行升级。如果判断当前设备本体处于非动作状态,则满足预设升级条件,即可向通信模组发送升级准备完成响应。

步骤S503,通信模组根据升级准备完成响应,从服务器读取升级固件。

具体的,通信模组收到第一芯片发送的升级准备完成响应后,从服务器读取升级固件,以便后续发送给多个芯片完成升级操作。

可选的,上述步骤S201中,在根据各芯片的升级顺序,确定当前待升级的目标芯片之前,该方法还包括:

从服务器读取各芯片的升级顺序。其中,各芯片的升级顺序由用户根据各芯片的排布顺序预先在服务器上进行设置得到。

请继续参见图1,由多个芯片与通信模组的连接关系以及各芯片的排布顺序,可以确定多个芯片升级的顺序为:芯片3、芯片2、芯片1,即先升级远端芯片3,再升级远端芯片2,最后升级近端芯片1,以下的三个实施例将对芯片3、芯片2以及芯片1具体的升级过程进行说明。

请参见图6,是本申请实施例提供的另一种OTA升级方法的流程示意图,如图6所示,芯片3的升级过程包括:

步骤S601,用户操作设备发起升级。

步骤S602,设备发送准备升级指令给服务器。

步骤S603,服务器发送准备升级指令给通信模组。

步骤S604,通信模组发送准备升级指令给芯片1。

步骤S605,芯片1判断当前多个芯片是否满足预设的升级条件。

如图6所示,由于芯片1与通信模组连接,因此,芯片1可以称为前述步骤S502中的第一芯片,芯片1在收到通信模组发送的准备升级的指令后,需要判断当前多个芯片中的各芯片是否满足预设的升级条件。

步骤S606,若多个芯片满足升级条件,芯片1返回升级准备完成响应给通信模组。

作为第一芯片的芯片1在判断各芯片满足预先设置的升级条件后,则返回升级准备完成响应给通信模组。

步骤S607,通信模组下载升级固件。

如前述步骤S503所述,在收到作为第一芯片的芯片1返回的升级准备完成响应后,通信模组从服务器下载升级固件,以便后续向多个芯片发送升级固件数据。

步骤S608,通信模组获取各芯片的升级顺序,并根据各芯片的升级顺序,确定当前待升级的目标芯片。

通信模组从服务器上获取各芯片的升级顺序,其中,各芯片的升级顺序由用户根据各芯片的排布顺序,预先在服务器上进行设置,升级过程中,通信模组只需从服务器读取即可。

如前述步骤S201所述,通信模组接收到服务器发送的升级固件,以及,在获取了各芯片的升级顺序后,通信模组需要确定当前待升级的目标芯片,其中,当前待升级的目标芯片为升级顺序中,排在第一位的芯片,请参见图6,从芯片1、芯片2以及芯片3的排布顺序可以确定个芯片的升级顺序为:芯片3、芯片2、芯片1,因此,当前升级的目标芯片为芯片3。

步骤S609,通信模组发送开始升级指令给芯片1,开始升级指令中包括芯片3的型号信息。

由于芯片1为第一芯片,如前述步骤S202所述,通信模组向第一芯片发送开始升级指令,即通信模组发送开始升级指令给芯片1,而由于当前升级的待升级的目标芯片为芯片3,因此,开始升级指令中包括芯片3的型号信息,当芯片1、芯片2以及芯片3收到该开始升级的指令后,即可知道当前待升级的芯片为芯片3。

步骤S610,芯片1收到通信模组发送的开始升级指令,发送开始升级指令给芯片2。

步骤S611,芯片2收到芯片1发送的开始升级指令,发送开始升级指令给芯片3。

步骤S612,芯片3收到芯片2发送的开始升级指令,返回开始升级完成应答给芯片2。

步骤S613,芯片3进入升级模式。

经过上述步骤S610、步骤S611后,通信模组发送的开始升级指令由芯片1发送给芯片2,再由芯片2发送给芯片3,芯片3在收到开始升级指令后,由于开始升级指令中包括了芯片3的型号信息,因此,在此过程中,芯片1、芯片2以及芯片3可以判断得到,当前待升级的目标芯片为芯片3,因此,如前述步骤S203所述,芯片3首先将其芯片模式调整为升级模式。

步骤S614,芯片2收到芯片3返回的开始升级完成应答,返回开始升级完成应答给芯片1。

芯片2接收到芯片3返回的开始升级完成应答后,进一步地将该开始升级完成应答返回给芯片1。

步骤S615,芯片2进入数据透传模式。

芯片2在将开始升级完成应答返回给芯片1后,由于芯片2已经从开始升级指令中得知,当前待升级的目标芯片为芯片3,因此,如前述步骤S203所述,芯片2将其芯片模式调整为透传模式。

步骤S616,芯片1收到芯片2返回的开始升级完成应答,返回开始升级完成应答给通信模组。

芯片1接收到芯片2返回的开始升级完成应答后,进一步地将该开始升级完成应答返回给通信模组。

步骤S617,芯片1进入数据透传模式。

芯片1在将开始升级完成应答返回给通信模组后,由于芯片1已经从开始升级指令中得知,当前待升级的目标芯片为芯片3,因此,如前述步骤S203所述,芯片1也将其芯片模式调整为透传模式。

步骤S618,通信模组向芯片1发送升级固件数据。

在通信模组收到多个芯片返回的开始升级完成应答后,如前述步骤S204所述,通信模组向第一芯片,即芯片1发送升级固件数据。

步骤S619,芯片1收到升级固件数据,并透传给芯片2。

如前述步骤S402所述,由于当前芯片1的芯片模式为透传模式,因此,芯片1将收到的升级固件数据发送给芯片2。

步骤S620,芯片2收到升级固件数据,并透传给芯片3。

同理,如前述步骤S402所述,由于当前芯片2的芯片模式也为透传模式,因此,芯片2将收到的升级固件数据发送给芯片3。

步骤S621,芯片3收到升级固件数据,进行固件升级。

如前述步骤S401所述,芯片3在收到升级固件数据后,使用升级固件数据,在升级模式下执行进行固件升级。

步骤S622,芯片3升级完成,并退出升级模式,回到初始状态。

如前述步骤S403所述,芯片3升级完成后,退出升级模式,回到初始状态。

步骤S623,芯片3返回升级完成应答给芯片2。

步骤S624,芯片2收到芯片3返回的升级完成应答,返回升级完成应答给芯片1。

如前述步骤S403所述,芯片3升级完成后,退出升级模式,并向芯片1和芯片2发送升级完成应答。

步骤S625,芯片2退出数据透传模式,回到初始状态。

如前述步骤S404所述,芯片2收到芯片3升级完成应答后,退出透传模式,将芯片状态调整为初始状态。

步骤S626,芯片1收到芯片2返回的升级完成应答,返回升级完成应答给通信模组。

芯片1在收到芯片2返回的升级完成应答后,需要将该升级完成应答发送给通信模组,以便通信模组进入下一步的操作过程。

步骤S627,芯片1退出数据透传模式,回到初始状态。

继续如前述步骤S404所述,芯片1收到芯片2发送的升级完成应答后,退出透传模式,将芯片状态调整为初始状态。

芯片3的升级完成后,开始升级芯片2,请参见图7,是本申请实施例提供的另一种OTA升级方法的流程示意图,如图7所示,芯片2的升级过程包括:

步骤S701,通信模组发送开始升级指令给芯片1,开始升级指令中包括芯片2的型号信息。

芯片3升级完成后,通信模组继续发送开始升级的指令给多个芯片,进行下一个芯片的升级,而由于当前升级的待升级的目标芯片为芯片2,因此,开始升级指令中包括芯片2的型号信息,当芯片1、芯片2以及芯片3收到该开始升级的指令后,即可知道当前待升级的芯片为芯片2。

步骤S702,芯片1收到通信模组发送的开始升级指令,发送开始升级指令给芯片2。

步骤S703,芯片2收到芯片1发送的开始升级指令,发送开始升级指令给芯片3。

步骤S704,芯片3收到芯片2发送的开始升级指令,返回开始升级完成应答给芯片2。

步骤S705,芯片3进入休眠模式。

经过上述步骤S702、步骤S703后,通信模组发送的开始升级指令由芯片1发送给芯片2,再由芯片2发送给芯片3,芯片3在收到开始升级指令后,由于开始升级指令中包括了芯片2的型号信息,因此,在此过程中,芯片1、芯片2以及芯片3可以判断得到,当前待升级的目标芯片为芯片2,因此,如前述步骤S203所述,以及芯片3已升级,芯片3首先将其芯片模式调整为休眠模式。

步骤S706,芯片2收到芯片3返回的开始升级完成应答,返回开始升级完成应答给芯片1。

步骤S707,芯片2进入升级模式。

芯片2在将开始升级完成应答返回给芯片1后,由于芯片2已经从开始升级指令中得知,当前待升级的目标芯片为芯片2,因此,如前述步骤S203所述,芯片2将其芯片模式调整为升级模式。

步骤S708,芯片1收到芯片2返回的开始升级完成应答,返回开始升级完成应答给通信模组。

步骤S709,芯片1进入数据透传模式。

芯片1在将开始升级完成应答返回给通信模组后,由于芯片1已经从开始升级指令中得知,当前待升级的目标芯片为芯片2,因此,如前述步骤S203所述,芯片1将其芯片模式调整为透传模式。

步骤S710,通信模组向芯片1发送升级固件数据。

步骤S711,芯片1收到升级固件数据,并透传给芯片2。

如前述步骤S402所述,由于当前芯片1的芯片模式为透传模式,因此,芯片1将收到的升级固件数据发送给芯片2。

步骤S712,芯片2收到升级固件数据,进行固件升级。

如前述步骤S401所述,芯片2在收到升级固件数据后,使用升级固件数据,在升级模式下执行进行固件升级。

步骤S713,芯片2升级完成,并退出升级模式,回到初始状态。

如前述步骤S403所述,芯片2升级完成后,退出升级模式,回到初始状态。

步骤S714,芯片2分别返回升级完成应答给芯片3和芯片1。

如前述步骤S403所述,芯片2升级完成后,退出升级模式,并向芯片1和芯片3发送升级完成应答。

步骤S715,芯片3收到芯片2发送的升级完成应答,退出休眠模式,回到初始状态。

如前述步骤S404所述,芯片3收到芯片2发送的升级完成应答后,退出休眠模式,将芯片状态调整为初始状态。

步骤S716,芯片1收到芯片2发送的升级完成应答,返回升级完成应答给通信模组。

步骤S717,芯片1退出数据透传模式,回到初始状态。

继续如前述步骤S404所述,芯片1收到芯片2发送的升级完成应答后,退出透传模式,将芯片状态调整为初始状态。

芯片2的升级完成后,开始升级芯片1,请参见图8,是本申请实施例提供的另一种OTA升级方法的流程示意图,如图8所示,芯片1的升级过程包括:

步骤S801,通信模组发送开始升级指令,开始升级指令中包括芯片1的型号信息。

芯片3、芯片2均升级完成后,通信模组继续发送开始升级的指令给多个芯片,进行下一个芯片的升级,而由于当前升级的待升级的目标芯片为芯片1,因此,开始升级指令中包括芯片1的型号信息,当芯片1、芯片2以及芯片3收到该开始升级的指令后,即可知道当前待升级的芯片为芯片1。

步骤S802,芯片1收到通信模组发送的开始升级指令,发送开始升级指令给芯片2。

步骤S803,芯片2收到芯片1发送的开始升级指令,发送开始升级指令给芯片3。

步骤S804,芯片3收到芯片2发送的开始升级指令,返回开始升级完成应答给芯片2。

步骤S805,芯片3进入休眠模式。

经过上述步骤S802、步骤S803后,通信模组发送的开始升级指令由芯片1发送给芯片2,再由芯片2发送给芯片3,芯片3在收到开始升级指令后,由于开始升级指令中包括了芯片1的型号信息,因此,在此过程中,芯片1、芯片2以及芯片3可以判断得到,当前待升级的目标芯片为芯片1,因此,如前述步骤S203所述,以及芯片3已升级,芯片3首先将其芯片模式调整为休眠模式。

步骤S806,芯片2收到芯片3返回的开始升级完成应答,返回开始升级完成应答给芯片1。

步骤S807,芯片2进入休眠模式。

同理,如上述步骤S805,芯片2也进入休眠模式。

步骤S808,芯片1收到芯片2返回的开始升级完成应答,返回开始升级完成应答给通信模组。

步骤S809,芯片1进入升级模式。

芯片1在将开始升级完成应答返回给通信模组后,由于芯片1已经从开始升级指令中得知,当前待升级的目标芯片为芯片1,因此,如前述步骤S203所述,芯片1将其芯片模式调整为升级模式。

步骤S810,通信模组向芯片1发送升级固件数据。

步骤S811,芯片1收到升级固件数据,进行固件升级。

如前述步骤S401所述,芯片1在收到升级固件数据后,使用升级固件数据,在升级模式下执行进行固件升级。

步骤S812,芯片1升级完成,并退出升级模式,回到初始状态。

如前述步骤S403所述,芯片1升级完成后,退出升级模式,回到初始状态。并向芯片2和通信模组发送升级完成应答。

步骤S813,芯片1分别返回升级完成应答给芯片2和通信模组。

芯片1升级完成后,退出升级模式,并向芯片2和通信模组发送升级完成应答。

步骤S814,芯片2收到芯片1返回的升级完成应答,返回升级完成应答给芯片3。

步骤S815,芯片2退出休眠模式,回到初始状态。

继续如前述步骤S404所述,芯片2收到芯片1发送的升级完成应答后,退出休眠模式,将芯片状态调整为初始状态。

步骤S816,芯片3收到芯片2返回的升级完成应答,退出休眠模式,回到初始状态。

继续如前述步骤S404所述,芯片3收到芯片2发送的升级完成应答后,退出休眠模式,将芯片状态调整为初始状态。

步骤S817,通信模组收到芯片1返回的升级完成应答,返回升级完成应答给服务器。

步骤S818,服务器收到通信模组返回的升级完成应答,返回升级完成应答给设备。

步骤S819,设备收到服务器返回的升级完成应答,告知用户升级完成。

至此,如图1所示的多个芯片中,芯片1、芯片2以及芯片3的整个升级过程完成。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述OTA升级方法实施例中的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述OTA升级方法实施例。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种网络检测的方法、相关装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!