CN114679383A - 固件升级方法、装置、设备、级联系统和存储介质 - Google Patents
固件升级方法、装置、设备、级联系统和存储介质 Download PDFInfo
- Publication number
- CN114679383A CN114679383A CN202210229664.XA CN202210229664A CN114679383A CN 114679383 A CN114679383 A CN 114679383A CN 202210229664 A CN202210229664 A CN 202210229664A CN 114679383 A CN114679383 A CN 114679383A
- Authority
- CN
- China
- Prior art keywords
- firmware
- data packet
- upgrade
- fragments
- equipment
- 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 58
- 238000012795 verification Methods 0.000 claims abstract description 126
- 239000012634 fragment Substances 0.000 claims abstract description 122
- 238000004590 computer program Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1806—Go-back-N protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种固件升级方法、装置、设备、级联系统和存储介质。固件升级方法包括:接收第一设备发送的配置了部分固件片段的第一升级数据包;对第一升级数据包进行校验,并将第一校验结果反馈至第一设备;若第一校验结果为校验失败,则丢弃第一升级数据包,并接收第一设备重新发送的第一升级数据包,直至校验结果为校验成功;若第一校验结果为校验成功,则保存第一升级数据包以获得部分固件片段,并接收第一设备发送的第二升级数据包,直至获得固件的全部固件片段。本申请保证了级联系统中设备对升级固件的全部固件片段的完整接收,提高了设备正确接收完整升级固件的成功率。
Description
技术领域
本申请涉及LED显示屏控制技术领域,特别是涉及一种固件升级方法、装置、设备、级联系统和存储介质。
背景技术
现有技术中,通过网络电缆进行数据传输时,良好的双绞线误码率一般能够在(1E-8)~(1E-10)内,理论上计算机网络(如以太网、IP、UDP协议)要求误码率低于1E-6才能进行正常的通讯。对于串联形式进行逐级传输的拓扑结构中的待升级设备,待升级设备接收到的升级固件中只要1个bit出错,就会导致升级失败,因此升级固件的传输要保证100%正确性。而在升级固件下发的过程中,若误码率较高,那么待升级设备均接收到正确的升级固件的成功率就会降低,且设备之间的交互繁琐,传输效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高升级固件传输成功率的固件升级方法、装置、设备、级联系统和存储介质。
第一方面,本申请的实施例提供一种固件升级方法,所述固件被拆分为多个固件片段,所述方法包括:
接收第一设备发送的第一升级数据包,所述第一升级数据包中配置有所述固件的部分固件片段;
对所述第一升级数据包进行校验,并将所述第一校验结果反馈至所述第一设备;
若所述第一校验结果为校验失败,则丢弃所述第一升级数据包,并接收所述第一设备重新发送的第一升级数据包,直至所述第一校验结果为校验成功;
若所述第一校验结果为校验成功,则保存所述第一升级数据包以获得所述部分固件片段,并接收所述第一设备发送的第二升级数据包,直至获得所述固件的全部固件片段;其中,所述第二升级数据包中配置的固件片段与所述第一升级数据包中配置的固件片段不同。
上述固件升级方法,接收到第一设备发送的第一升级数据包,对第一升级数据包进行校验并将第一校验结果反馈至第一设备,若校验失败,则丢弃第一升级数据包,并接收第一设备重新发送的第一升级数据包,直至第一校验结果为校验成功;若校验成功,则保存该第一升级数据包并接收第一设备发送的第二升级数据包,再对第二升级数据包进行校验,如此重复,直至获得固件的全部固件片段。本发明保证了级联系统中设备对升级固件的全部固件片段的完整接收,提高了设备正确接收完整升级固件的成功率。
在上述第一方面的其中一个实施例中,还包括:
将保存的第一升级数据包发送给第三设备;
接收所述第三设备对所述保存的第一升级数据包进行校验后所反馈的第二校验结果;
若所述第二校验结果为校验失败,则再次向所述第三设备发送所述保存的第一升级数据包,直至所述第二校验结果为校验成功,以使所述第三设备获得所述部分固件片段;
若所述第二校验结果为校验成功,则向所述第三设备发送保存的第二升级数据包,直至所述第三设备获得所述固件的全部固件片段。
在上述第一方面的其中一个实施例中,还包括:
将所述固件的全部固件片段进行拼接,得到拼接后的固件;
根据所述拼接后的固件进行固件升级。
在上述第一方面的其中一个实施例中,所述对所述第一升级数据包进行校验包括:
采用CRC校验对所述第一升级数据包进行校验。
第二方面,本申请的实施例提供一种固件升级方法,所述固件被拆分为多个固件片段,所述方法包括:
向第二设备发送第一升级数据包,所述第一升级数据包中配置有所述固件的部分固件片段;
接收所述第二设备对所述第一升级数据包进行校验后所反馈的第一校验结果;
若所述第一校验结果为校验失败,则再次向所述第二设备发送所述第一升级数据包,直至所述第一校验结果为校验成功,以使所述第二设备获得所述部分固件片段;
若所述第一校验结果为校验成功,则向所述第二设备发送第二升级数据包,直至所述第二设备获得所述固件的全部固件片段;其中,所述第二升级数据包中配置的固件片段与所述第一升级数据包中配置的固件片段不同。
第三方面,本申请的实施例提供一种固件升级装置,所述固件被拆分为多个固件片段,所述装置包括:
第一接收模块,用于接收第一设备发送的第一升级数据包,所述第一升级数据包中配置有所述固件的部分固件片段;
校验模块,用于对所述第一升级数据包进行校验,并将所述第一校验结果反馈至所述第一设备;
校验处理模块,用于若所述第一校验结果为校验失败,则丢弃所述第一升级数据包,并接收所述第一设备重新发送的第一升级数据包,直至所述第一校验结果为校验成功;若所述第一校验结果为校验成功,则保存所述第一升级数据包以获得所述部分固件片段,并接收所述第一设备发送的第二升级数据包,直至获得所述固件的全部固件片段;其中,所述第二升级数据包中配置的固件片段与所述第一升级数据包中配置的固件片段不同。
在上述第三方面的其中一个实施例中,所述装置还包括:
第一发送模块,用于将保存的第一升级数据包发送给第三设备;
第二接收模块,用于接收所述第三设备对所述保存的第一升级数据包进行校验后所反馈的第二校验结果;
第一反馈处理模块,用于若所述第二校验结果为校验失败,则再次向所述第三设备发送所述保存的第一升级数据包,直至所述第二校验结果为校验成功,以使所述第三设备获得所述部分固件片段;若所述第二校验结果为校验成功,则向所述第三设备发送保存的第二升级数据包,直至所述第三设备获得所述固件的全部固件片段。
第四方面,本申请的实施例提供一种固件升级装置,所述固件被拆分为多个固件片段,所述装置包括:
第一发送模块,用于向第二设备发送第一升级数据包,所述第一升级数据包中配置有所述固件的部分固件片段;
第三接收模块,用于接收所述第二设备对所述第一升级数据包进行校验后所反馈的第一校验结果;
第二反馈处理模块,用于若所述第一校验结果为校验失败,则再次向所述第二设备发送所述第一升级数据包,直至所述第一校验结果为校验成功,以使所述第二设备获得所述部分固件片段;若所述第一校验结果为校验成功,则向所述第二设备发送第二升级数据包,直至所述第二设备获得所述固件的全部固件片段;其中,所述第二升级数据包中配置的固件片段与所述第一升级数据包中配置的固件片段不同。
第五方面,本申请的实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面中任意一项实施例所述的方法的步骤。
第六方面,本申请的实施例提供一种级联系统,包括主设备以及至少一个与所述主设备通信连接的级联支路,所述级联支路包括多个级联的从设备,
所述主设备包括第一存储器和第一处理器,所述第一存储器存储有计算机程序,所述第一处理器执行所述第一存储器中的计算机程序时实现上述第二方面的实施例所述的方法的步骤;
所述从设备包括第二存储器和第二处理器,所述第二存储器存储有计算机程序,所述第二处理器执行所述第二存储器中的计算机程序时用于实现上述第一方面的任意一项实施例所述的方法的步骤。
第七方面,本申请的实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面中任意一项实施例所述的方法的步骤。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的应用场景示意图;
图2为一个实施例中固件升级方法的流程示意图;
图3为另一个实施例中固件升级方法的流程示意图;
图4为一个实施例中固件升级方法的流程示意图;
图5为现有技术中主设备与从设备的连接结构示意图;
图6为一个实施例中主设备与从设备的连接结构示意图;
图7为一个实施例中升级数据包的结构示意图;
图8为一个实施例中固件升级装置的结构示意图;
图9为另一个实施例中固件升级装置的结构示意图;
图10为一个实施例中固件升级装置的结构示意图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,本申请所使用的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。此外,在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本申请的描述中,“若干”的含义是至少一个,例如一个,两个等,除非另有明确具体的限定。
如图1所示,为本发明的应用场景,该应用场景为级联系统,级联系统中包括一台主设备100以及多台待升级的从设备200,多台从设备200相互串联连接组成级联支路,级联支路中多台从设备200中的首端设备与主设备100连接,即首端设备的输入端与主设备100连接,其他从设备200与首端设备相互串联。主设备100上有至少一个连接端口,连接端口用于与级联支路的首端设备连接,多个连接端口可以与多个级联支路的首端设备连接。主设备100、从设备200之间均通过通信电缆连接。主设备100可以通过上位机、USB存储器或串口等方式获取从设备200的升级固件,主设备100将升级固件下发至与其连接的从设备200,从设备200接收到升级固件后一方面是要根据升级固件进行升级,另一方面还要下发至与其连接的未接收到升级固件的从设备200,从而将升级固件逐级下发直至所有从设备200均接收到升级固件。在实际应用中,例如在LED显示控制领域,主设备100可以是LED显示控制系统中的发送卡,从设备200是接收卡。
在工业或商业等连接环境比较恶劣的情况下,通过线缆传输升级固件的误码率高达1E-8,该误码率并不满足正常通讯的误码率要求。会导致主设备100传输升级固件至各个从设备200的成功率降低。例如,需要传输的升级固件的大小为10Mbyte,主设备100向从设备200仅传输一次升级固件的情况下,单个从设备200成功接收升级固件的概率为20%,将8个相互串联的从设备200均作为独立事件进行估算,那么主设备100一次发送升级固件,且全部从设备200均完整接收该升级固件的总成功概率为:(20%)8=0.000256%,若串联的从设备200增加,那么总成功概率将进一步降低。因此在线缆传输的误码率较高的情况下,升级固件成功传输的总概率较低。
基于以上原因,本发明提供了一种固件升级方法,以提高级联系统中从设备200接收升级固件的总体成功接收概率。
在一个实施例中,如图2所示,提供了一种固件升级方法,该固件升级方法的执行主体可以是图1中的从设备200,固件被拆分为多个固件片段,固件升级方法包括如下步骤S110至步骤S140。
S110、接收第一设备发送的第一升级数据包,第一升级数据包中配置有固件的部分固件片段。
其中,固件被拆分为多个固件片段,第一升级数据包配置有部分固件片段,部分固件片段可以是一个固件片段,也可以是多个固件片段中的部分固件片段。固件的拆分过程可以是主设备100执行,主设备100从上位机或者外部存储器获取到从设备200的固件并将固件拆分成多个数据片段后组成升级数据包再下发给从设备200,固件的拆分过程也可以是外部设备执行,主设备100从外部设备获取到多个固件片段再组成升级数据包,直接下发给从设备200。多个固件片段分别封装成多个帧并组成升级数据包,可以将一个固件片段封装成帧并组成一个升级数据包,也可以将多个固件片段封装成帧并组成一个升级数据包。举例来说,如图7所示,每一个升级数据包(如升级数据包0、升级数据包1、升级数据包2)可以仅包括固件片段数据帧(如固件片段数据帧1、固件片段数据帧2、固件片段数据帧3),也可以包括固件片段数据帧以及其他数据(如其他数据1、其他数据2、其他数据3),其他数据具体可以是视频数据、图像数据等,每个固件片段数据帧包括固件片段、帧头以及校验信息(如CRC校验值)。部分固件片段封装成帧形成固件片段数据帧,再将固件片段数据帧组成升级数据包。第一设备可以是级联系统中的主设备100也可以是其中一台从设备200,主设备100是将第一升级数据包发送给从设备200,从设备200是将第一升级数据包发送给下一级从设备200。拆分的固件片段的数量可以是预设个数,也可以是根据升级固件的大小和每个固件片段的预设大小进行确定。
S120、对第一升级数据包进行校验,并将第一校验结果反馈至第一设备。
其中,为了验证是否正确接收到第一升级数据包,执行主体接收到第一升级数据包后,需要对第一升级数据包进行校验,校验方式可以实际情况选择合适的数据校验方式,可以采用CRC(循环冗余校验码)进行校验,也可以采用奇偶校验或者累加和校验方法进行校验,校验结束后向第一设备反馈第一校验结果,以使第一设备确定下一次是重新发送第一升级数据包还是发送另一个第一升级数据包。
S130、若第一校验结果为校验失败,则丢弃第一升级数据包,并接收第一设备重新发送的第一升级数据包,直至第一校验结果为校验成功。
其中,若第一升级数据包校验失败,则执行主体没有正确接收第一升级数据包,将该第一升级数据包丢弃。第一设备若接收到校验失败的第一校验结果,则将第一升级数据包重新发送至执行主体,并对重新接收的第一升级数据包进行校验,直至第一升级数据包正确接收,即校验成功。
S140、若第一校验结果为校验成功,则保存第一升级数据包以获得部分固件片段,并接收第一设备发送的第二升级数据包,直至获得固件的全部固件片段;其中,第二升级数据包中配置的固件片段与第一升级数据包中配置的固件片段不同。
其中,若第一升级数据包校验成功,则执行主体正确接收第一升级数据包,并保存第一升级数据包,也就是获得了第一升级数据包。此时不需要第一设备重新发送第一升级数据包,第一设备接收到校验成功的第一校验结果后,发送第二升级数据包给执行主体,第一升级数据包与第二升级数据包中的固件片段不相同,执行主体接收到第二升级数据包后,再对第二升级数据包进行校验,重复上述的校验过程,直至将全部固件片段正确接收并保存,即获得固件的全部固件片段。
上述实施例中,接收到第一设备发送的第一升级数据包,对第一升级数据包进行校验并将第一校验结果反馈至第一设备,若校验失败,则丢弃第一升级数据包,并接收第一设备重新发送的第一升级数据包,直至第一校验结果为校验成功;若校验成功,则保存该第一升级数据包并接收第一设备发送的第二升级数据包,再对第二升级数据包进行校验,如此重复,直至获得固件的全部固件片段。保证了级联系统中设备对升级固件的全部固件片段的完整接收,提高了设备正确接收完整升级固件的成功率。
在一个实施例中,如图3所示,固件升级方法还包括步骤S210至步骤S240。
S150、将保存的第一升级数据包发送给第三设备。
其中,执行主体不仅需要接收第一设备传来的多个升级数据包,还需要将接收到的多个升级数据包下发给第三设备,第三设备是与执行主体连接的还没有接收到升级数据包的从设备200。执行主体将获取并保存的第一升级数据包发送给第三设备,获取并保存的第一升级数据包是经过校验并校验成功的升级数据包,即执行主体是发送存储好的正确的升级数据包,而不是直接将接收到的第一升级数据包往下发送,避免了错误升级数据包的发送。
S160、接收第三设备对保存的第一升级数据包进行校验后所反馈的第二校验结果。
其中,执行主体发送保存的第一升级数据包给第三设备后,第三设备对保存的第一升级数据包进行校验并向执行主体发送第二校验结果,执行主体需要根据第二校验结果确定下一次向第三设备发送的升级数据包。
S170、若第二校验结果为校验失败,则再次向第三设备发送保存的第一升级数据包,直至第二校验结果为校验成功,以使第三设备获得部分固件片段。
其中,若保存的第一升级数据包校验失败,则第三设备丢弃该保存的第一升级数据包,即没有正确接收到保存的第一升级数据包。执行主体重新给第三设备发送保存的第一升级数据包,直至接收到的第二校验结果为校验成功,以使第三设备保存了该第一升级数据包,也就是获得第一升级数据包中的部分固件片段。
S180、若第二校验结果为校验成功,则向第三设备发送保存的第二升级数据包,直至第三设备获得固件的全部固件片段。
其中,若第三升级数据包校验成功,则执行主体不需要重复发送保存的第一升级数据包,而是将没有发送过的保存的第二升级数据包发送给第三设备,第三设备再对第二升级数据包进行校验,直至将每一个保存的不重复的升级数据包均发送至少一遍,并且第三设备能正确接收到全部的升级数据包,即获得固件的全部固件片段。
现有的级联系统的升级固件传输方式是从设备200接收到升级固件后直接将升级固件往下一级从设备200传输,如图5所示,图中,主设备100为A设备,待升级从设备200分别为B设备、C设备以及D设备,C设备为B设备的下一级从设备200,D设备为C设备的下一级从设备200,B设备以及C设备接收到升级数据包后,将接收到的未进行处理的升级数据包发送给对应的下一级从设备200,同时保存该接收到的升级数据包至存储器中。若每两个设备之间升级数据包的正确传输的概率为90%,那么B设备正确接收每个升级数据包的成功率为90%,C设备正确接收到每个升级数据包的成功率为90%×90%=81%,D设备接收到每一个升级数据包的成功率为81%×90%=72.9%,则A设备(主设备100)重新发送升级数据包的概率为27%。因此,同一级联单元中,串联的从设备200越多,那么所有从设备200均正确接收到升级数据包的概率越小,主设备100需要重新发送升级数据包的概率就增大。而上述实施例中,如图6所示,B设备接收到升级数据包后,要对升级数据包进行校验,若校验成功,将该升级数据包进行保存而获取到升级数据包,并将保存后的升级数据包发送至C设备,C设备对升级数据包进行校验成功后将该升级数据包进行保存而获取到升级数据包,并将保存后的升级数据包发送至D设备。C设备的校验结果只需要返回给B设备,并由B设备根据校验结果给C设备发送固件片段,D设备的校验结果只需要返回给C设备,并由C设备根据校验结果给D设备发送固件片段,而不需要将校验结果逐级上传至A设备(主设备)再由A设备下发固件片段。
从而提高了级联系统中设备的升级固件的传输效率。从设备从主设备或上一从设备接收到正确的升级数据包并保存后,其角色转换成数据的发送端,给下一级从设备发送升级数据包,下一级从设备正确接收到全部升级数据包的成功概率只取决于从设备与下一级从设备之间的交互,而与之前的设备间的数据传输无关,减少了级联系统中设备之间的交互,且从设备只将正确的升级数据包发送给下一级从设备,保证升级数据包向下级从设备传输时,传输成功率不变,即A设备重新发送数据的概率仅为10%,降低了主设备需要重新发送数据的概率,同时保证了升级固件在级联系统中设备之间的传输成功率不变。
在一个实施例中,固件升级方法还包括:将固件的全部固件片段进行拼接,得到拼接后的固件;根据拼接后的固件进行固件升级。
具体地,执行主体接收到的升级数据包中配置的是部分固件片段,在获得全部固件片段后,还需要将全部的固件片段进行拼接成一个完整的固件,再根据该拼接后的完整的固件进行升级。
在一个实施例中,对第一升级数据包进行校验包括:采用CRC校验对第一升级数据包进行校验。
具体地,部分固件片段封装成升级数据包时,均将对应的CRC校验值与部分固件片段一起封装成帧,即每个升级数据包均包括有独立的CRC校验值和包头。执行主体接收到第一升级数据包后,对第一升级数据包进行解析,得到部分固件片段以及CRC校验值,将部分固件片段与CRC校验值进行计算,根据计算出来的CRC值可以判断验证升级数据包是否正确,即是否验证成功。
在一个实施例中,如图4所示,还提供了一种固件升级方法,该方法应用于上述图1中的主设备100或者从设备200,固件被拆分为多个固件片段,固件升级方法包括:
S210、向第二设备发送第一升级数据包,第一升级数据包中配置有固件的部分固件片段;
S220、接收第二设备对第一升级数据包进行校验后所反馈的第一校验结果;
S230、若第一校验结果为校验失败,则再次向第二设备发送第一升级数据包,直至第一校验结果为校验成功,以使第二设备获得部分固件片段;
S240、若第一校验结果为校验成功,则向第二设备发送第二升级数据包,直至第二设备获得固件的全部固件片段;其中,第二升级数据包中配置的固件片段与第一升级数据包中配置的固件片段不同。
本实施例的固件升级方法的执行主体可以是图1中的主设备100或从设备200,第二设备为图1中的从设备200。在需要对第二设备进行升级时,执行主体依次将多个升级数据包发送至与其连接的第二设备,每次均发送一个升级数据包,第二设备对每次接收到的升级数据包进行校验,并给执行主体发送第一校验结果。若第一校验结果表示为校验失败,则将当前发送的第一升级数据包再发送至第二设备,直至第二设备正确接收并保存第一升级数据包,即第二设备获得第一升级数据包;若第一校验结果为校验成功,则第二设备正确接收了该第一升级数据包,执行主体发送第二升级数据包给第二设备,直至第二设备获得固件的全部固件片段。
应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,还提供了一种固件升级装置,包括:第一接收模块301、校验模块302以及校验处理模块303,第一接收模块301用于接收第一设备发送的第一升级数据包,第一升级数据包中配置有固件的部分固件片段;校验模块302用于对第一升级数据包进行校验,并将第一校验结果反馈至第一设备;校验处理模块303用于若第一校验结果为校验失败,则丢弃第一升级数据包,并接收第一设备重新发送的第一升级数据包,直至第一校验结果为校验成功;若第一校验结果为校验成功,则保存第一升级数据包以获得部分固件片段,并接收第一设备发送的第二升级数据包,直至获得固件的全部固件片段;其中,第二升级数据包中配置的固件片段与第一升级数据包中配置的固件片段不同。
在一个实施例中,如图9所示,固件升级装置还包括:第一发送模块304、第二接收模块305以及第一反馈处理模块306,第一发送模块304用于将保存的第一升级数据包发送给第三设备;第二接收模块305用于接收第三设备对保存的第一升级数据包进行校验后所反馈的第二校验结果;第一反馈处理模块306用于若第二校验结果为校验失败,则再次向第三设备发送保存的第一升级数据包,直至第二校验结果为校验成功,以使第三设备获得部分固件片段;若第二校验结果为校验成功,则向第三设备发送保存的第二升级数据包,直至第三设备获得固件的全部固件片段。
在一个实施例中,如图10所示,还提供一种固件升级装置,包括:第二发送模块401、第三接收模块402以及第二反馈处理模块403;第二发送模块401用于向第二设备发送第一升级数据包,第一升级数据包中配置有固件的部分固件片段;第三接收模块402用于接收第二设备对第一升级数据包进行校验后所反馈的第一校验结果;第二反馈处理模块403用于若第一校验结果为校验失败,则再次向第二设备发送第一升级数据包,直至第一校验结果为校验成功,以使第二设备获得部分固件片段;若第一校验结果为校验成功,则向第二设备发送第二升级数据包,直至第二设备获得固件的全部固件片段;其中,第二升级数据包中配置的固件片段与第一升级数据包中配置的固件片段不同。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种级联系统,如图1所示,级联系统包括主设备100以及至少一个与主设备100通信连接的级联支路,级联支路包括多个级联的从设备200;主设备100包括第一存储器和第一处理器,第一存储器存储有计算机程序,第一处理器执行第一存储器中的计算机程序时实现以下步骤:向第二设备发送第一升级数据包,第一升级数据包中配置有固件的部分固件片段;接收第二设备对第一升级数据包进行校验后所反馈的第一校验结果;若第一校验结果为校验失败,则再次向第二设备发送第一升级数据包,直至第一校验结果为校验成功,以使第二设备获得部分固件片段;若第一校验结果为校验成功,则向第二设备发送第二升级数据包,直至第二设备获得固件的全部固件片段;其中,第二升级数据包中配置的固件片段与第一升级数据包中配置的固件片段不同;从设备200包括第二存储器和第二处理器,第二存储器存储有计算机程序,第二处理器执行第二存储器中的计算机程序时用于实现上述各方法实施例中的步骤。
其中,主设备100可以只连接一个级联支路,也可以连接多个级联支路。每个级联支路由多个级联的从设备200组成,也就是说,多个从设备200相互串联后与主设备100串联。主设备100与从设备200以及从设备200与从设备200之间的数据传输方式参见上述的方法实施例,在此不在赘述。在其中一个实施例中,主设备100是LED显示控制系统中的发送卡,从设备100是接收卡。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种固件升级方法,其特征在于,所述固件被拆分为多个固件片段,所述方法包括:
接收第一设备发送的第一升级数据包,所述第一升级数据包中配置有所述固件的部分固件片段;
对所述第一升级数据包进行校验,并将第一校验结果反馈至所述第一设备;
若所述第一校验结果为校验失败,则丢弃所述第一升级数据包,并接收所述第一设备重新发送的第一升级数据包,直至所述校验结果为校验成功;
若所述第一校验结果为校验成功,则保存所述第一升级数据包以获得所述部分固件片段,并接收所述第一设备发送的第二升级数据包,直至获得所述固件的全部固件片段;其中,所述第二升级数据包中配置的固件片段与所述第一升级数据包中配置的固件片段不同。
2.根据权利要求1所述的固件升级方法,其特征在于,所述方法还包括:
将保存的第一升级数据包发送给第三设备;
接收所述第三设备对所述保存的第一升级数据包进行校验后所反馈的第二校验结果;
若所述第二校验结果为校验失败,则再次向所述第三设备发送所述保存的第一升级数据包,直至所述第二校验结果为校验成功,以使所述第三设备获得所述部分固件片段;
若所述第二校验结果为校验成功,则向所述第三设备发送保存的第二升级数据包,直至所述第三设备获得所述固件的全部固件片段。
3.根据权利要求1所述的固件升级方法,其特征在于,还包括:
将所述固件的全部固件片段进行拼接,得到拼接后的固件;
根据所述拼接后的固件进行固件升级。
4.根据权利要求1所述的固件升级方法,其特征在于,所述对所述第一升级数据包进行校验包括:
采用CRC校验对所述第一升级数据包进行校验。
5.一种固件升级方法,其特征在于,所述固件被拆分为多个固件片段,所述方法包括:
向第二设备发送第一升级数据包,所述第一升级数据包中配置有所述固件的部分固件片段;
接收所述第二设备对所述第一升级数据包进行校验后所反馈的第一校验结果;
若所述第一校验结果为校验失败,则再次向所述第二设备发送所述第一升级数据包,直至所述第一校验结果为校验成功,以使所述第二设备获得所述部分固件片段;
若所述第一校验结果为校验成功,则向所述第二设备发送第二升级数据包,直至所述第二设备获得所述固件的全部固件片段;其中,所述第二升级数据包中配置的固件片段与所述第一升级数据包中配置的固件片段不同。
6.一种固件升级装置,其特征在于,所述固件被拆分为多个固件片段,所述装置包括:
第一接收模块,用于接收第一设备发送的第一升级数据包,所述第一升级数据包中配置有所述固件的部分固件片段;
校验模块,用于对所述第一升级数据包进行校验,并将所述第一校验结果反馈至所述第一设备;
校验处理模块,用于若所述第一校验结果为校验失败,则丢弃所述第一升级数据包,并接收所述第一设备重新发送的第一升级数据包,直至所述第一校验结果为校验成功;若所述第一校验结果为校验成功,则保存所述第一升级数据包以获得所述部分固件片段,并接收所述第一设备发送的第二升级数据包,直至获得所述固件的全部固件片段;其中,所述第二升级数据包中配置的固件片段与所述第一升级数据包中配置的固件片段不同。
7.根据权利要求6所述的固件升级装置,其特征在于,所述装置还包括:
第一发送模块,用于将保存的第一升级数据包发送给第三设备;
第二接收模块,用于接收所述第三设备对所述保存的第一升级数据包进行校验后所反馈的第二校验结果;
第一反馈处理模块,用于若所述第二校验结果为校验失败,则再次向所述第三设备发送所述保存的第一升级数据包,直至所述第二校验结果为校验成功,以使所述第三设备获得所述部分固件片段;若所述第二校验结果为校验成功,则向所述第三设备发送保存的第二升级数据包,直至所述第三设备获得所述固件的全部固件片段。
8.一种固件升级装置,其特征在于,所述固件被拆分为多个固件片段,所述装置包括:
第二发送模块,用于向第二设备发送第一升级数据包,所述第一升级数据包中配置有所述固件的部分固件片段;
第三接收模块,用于接收所述第二设备对所述第一升级数据包进行校验后所反馈的第一校验结果;
第二反馈处理模块,用于若所述第一校验结果为校验失败,则再次向所述第二设备发送所述第一升级数据包,直至所述第一校验结果为校验成功,以使所述第二设备获得所述部分固件片段;若所述第一校验结果为校验成功,则向所述第二设备发送第二升级数据包,直至所述第二设备获得所述固件的全部固件片段;其中,所述第二升级数据包中配置的固件片段与所述第一升级数据包中配置的固件片段不同。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任意一项所述的方法的步骤。
10.一种级联系统,包括主设备以及至少一个与所述主设备通信连接的级联支路,所述级联支路包括多个级联的从设备,其特征在于:
所述主设备包括第一存储器和第一处理器,所述第一存储器存储有计算机程序,所述第一处理器执行所述第一存储器中的计算机程序时实现权利要求5所述的方法的步骤;
所述从设备包括第二存储器和第二处理器,所述第二存储器存储有计算机程序,所述第二处理器执行所述第二存储器中的计算机程序时用于实现权利要求1至5中任意一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210229664.XA CN114679383A (zh) | 2022-03-09 | 2022-03-09 | 固件升级方法、装置、设备、级联系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210229664.XA CN114679383A (zh) | 2022-03-09 | 2022-03-09 | 固件升级方法、装置、设备、级联系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114679383A true CN114679383A (zh) | 2022-06-28 |
Family
ID=82071595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210229664.XA Pending CN114679383A (zh) | 2022-03-09 | 2022-03-09 | 固件升级方法、装置、设备、级联系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114679383A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766446A (zh) * | 2022-11-14 | 2023-03-07 | 烟台创为新能源科技股份有限公司 | 一种基于can网络固件升级的策略及设备 |
CN115904418A (zh) * | 2023-02-23 | 2023-04-04 | 南京芯驰半导体科技有限公司 | 一种pcie级联芯片固件烧录的系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686145A (zh) * | 2008-09-26 | 2010-03-31 | 深圳华为通信技术有限公司 | 一种具有升级功能的设备、升级方法及系统 |
JP2012018599A (ja) * | 2010-07-09 | 2012-01-26 | Seiko Epson Corp | ファームウェア更新システム、電子機器、プロジェクター、及び電子機器の制御方法 |
CN109889305A (zh) * | 2018-12-29 | 2019-06-14 | 惠州市蓝微电子有限公司 | 通信帧转发方法、通信节点、多节点通信方法及装置 |
CN113238789A (zh) * | 2021-05-27 | 2021-08-10 | 闻泰通讯股份有限公司 | 电子设备及其固件升级方法、装置和计算机可读存储介质 |
-
2022
- 2022-03-09 CN CN202210229664.XA patent/CN114679383A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101686145A (zh) * | 2008-09-26 | 2010-03-31 | 深圳华为通信技术有限公司 | 一种具有升级功能的设备、升级方法及系统 |
JP2012018599A (ja) * | 2010-07-09 | 2012-01-26 | Seiko Epson Corp | ファームウェア更新システム、電子機器、プロジェクター、及び電子機器の制御方法 |
CN109889305A (zh) * | 2018-12-29 | 2019-06-14 | 惠州市蓝微电子有限公司 | 通信帧转发方法、通信节点、多节点通信方法及装置 |
CN113238789A (zh) * | 2021-05-27 | 2021-08-10 | 闻泰通讯股份有限公司 | 电子设备及其固件升级方法、装置和计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766446A (zh) * | 2022-11-14 | 2023-03-07 | 烟台创为新能源科技股份有限公司 | 一种基于can网络固件升级的策略及设备 |
CN115904418A (zh) * | 2023-02-23 | 2023-04-04 | 南京芯驰半导体科技有限公司 | 一种pcie级联芯片固件烧录的系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114679383A (zh) | 固件升级方法、装置、设备、级联系统和存储介质 | |
CN112217599B (zh) | 数据帧接收方法和装置以及通信方法和系统 | |
CN102281121A (zh) | 一种数据文件传输和校验的方法、设备及系统 | |
CN113721966B (zh) | 节点升级方法、装置、存储介质及电子装置 | |
CN109905205B (zh) | 数据发送、接收的方法及设备、数据传输方法及系统 | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN111752579B (zh) | 蓝牙终端升级方法、装置、存储介质与电子设备 | |
CN113489570B (zh) | 一种PCIe链路的数据传输方法、装置及设备 | |
CN112769939B (zh) | 一种用于实时通讯的大数据可靠传输方法 | |
CN107645357B (zh) | 传输文件不完整的恢复方法及装置 | |
US7783964B2 (en) | Redundant 3-wire communication system and method | |
WO2024131009A1 (zh) | 芯片间通信方法及存储介质 | |
CN110401794A (zh) | 摄像机远程升级方法、装置、电子设备及可读存储介质 | |
US20170070989A1 (en) | A data transmission method with improved robustness, and a set of devices for performing it | |
CN112532359A (zh) | 接收端基于数据重传数据进行内容合并的方法及装置 | |
CN106788916A (zh) | 用于总线的数据传输方法及数据传输装置 | |
CN114968876B (zh) | 数据通信方法、系统、电子装置和存储介质 | |
CN111741013B (zh) | 数据传输方法及装置 | |
JPH02100538A (ja) | ローカルエリアネットワークのデータ通信方法 | |
CN111769913A (zh) | 一种数据传输方法、电子设备及计算机可读存储介质 | |
CN112217600A (zh) | 数据帧接收方法和装置以及通信方法和系统 | |
CN117811702A (zh) | 通信数据的处理方法、装置及系统 | |
JP6813637B1 (ja) | 伝送装置および伝送方法 | |
CN109783433A (zh) | 一种算法加速系统以及加速卡的配置方法 | |
CN116737281B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220628 |
|
RJ01 | Rejection of invention patent application after publication |