CN117850836A - 一种批量升级同类节点设备的方法 - Google Patents
一种批量升级同类节点设备的方法 Download PDFInfo
- Publication number
- CN117850836A CN117850836A CN202311847075.9A CN202311847075A CN117850836A CN 117850836 A CN117850836 A CN 117850836A CN 202311847075 A CN202311847075 A CN 202311847075A CN 117850836 A CN117850836 A CN 117850836A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- upgrading
- program
- upgraded
- starting
- 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 29
- 238000004891 communication Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及轨道交通技术领域,提供一种批量升级同类节点设备的方法,所述方法包括:在STM32平台上设置启动程序,所述启动程序用于启动设备中待升级应用程序的升级,所述设备包括搭载在RS485总线上的多个设备节点;所述启动程序接收到发送端发送的升级指令,并判断所述升级指令是否符合升级规则,如果符合则获取升级数据包,接收所述升级数据包并将各包数据分别写入内部FLASH,完成待升级应用程序的升级。本申请解决了现有技术中设备的维护效率低、维护人力成本高的技术问题,实现了批量升级同类节点设备,在不提高硬件成本的状态下,通过设备本身的硬件链路完成程序升级,且不需要留有专用的维护接口,提高了设备维护效率。
Description
技术领域
本发明涉及轨道交通技术领域,具体涉及一种批量升级同类节点设备的方法。
背景技术
在轨道交通领域,设备交付上线后经历的软件生命周期最后一个环节就是软件维护。软件维护分为正确性维护、适应性维护、预防性维护等,任意一种维护都需要对软件进行升级,而由于列车晚上回库时间较少,如果涉及到的设备数量较多,每个设备都需要通过专用接口进行升级,那么投入的人力资源相对较多。
现有技术中,还存在着设备的维护效率低、维护人力成本高的技术问题。
发明内容
有鉴于此,本发明提供了一种批量升级同类节点设备的方法,以解决现有技术中设备的维护效率低、维护人力成本高的技术问题。
本发明所提供的所述一种批量升级同类节点设备的方法,所述方法包括:
在STM32平台上设置启动程序,所述启动程序用于启动设备中待升级应用程序的升级,所述设备包括搭载在RS485总线上的多个设备节点;
判断所述启动程序是否接收到发送端发送的升级指令,如果所述启动程序接收到所述升级指令,使得所述启动程序处于待升级状态,并判断所述升级指令是否符合升级规则,所述升级指令包括升级文件大小、所述升级文件的校验码、待升级应用程序的版本信息,所述发送端用于向多个设备发送所述升级指令;
如果所述升级指令符合所述升级规则,基于所述升级指令获取升级数据包,所述升级数据包包括多个包的包序号、包长度、包校验和包数据;
所述启动程序接收完所有包的所述包数据之后,将接收到的多个所述包数据分别写入内部FLASH,完成所述待升级应用程序的升级。
进一步的,如果所述启动程序未收到所述升级命令,所述启动程序先判断所述待升级应用程序是否已烧录到预设区域,如果所述待升级应用程序没有烧录至所述预设区域,则所述启动程序继续保持所述待升级状态;如果所述待升级应用程序已经烧录至所述预设区域,则调用所述待升级应用程序。
进一步的,通过在所述待升级应用程序中设置复位通讯数据,所述复位通讯数据用于所述发送端向所述启动程序发送复位命令,并进入所述启动程序。
进一步的,判断接收所述升级数据包的过程是否收到回复,如果收到所述回复,则判定升级异常,擦除所述待升级应用程序并等待下次升级。
进一步的,所述升级数据包具有包类型标识符。
进一步的,所述启动程序具有串口通讯功能、数据擦除功能和烧录功能。
与现有技术相比,本发明采用的上述至少一个技术方案能够达到的有益效果至少包括:本发明采用一种批量升级同类节点设备的方法,可以实现在不提高硬件成本的状态下,通过设备本身的硬件链路完成程序升级,且不需要留有专用的维护接口,提高了设备维护效率,降低了人力成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种批量升级同类节点设备的方法流程示意图;
图2是本发明实施例提供的boot程序主要工作流程示意图;
图3是本发明实施例提供的应用程序对boot的隐式调用示意图;
图4是本发明实施例提供的同时升级多台设备节点示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明采用一种批量升级同类节点设备的方法,可以实现在不提高硬件成本的状态下,通过设备本身的硬件链路完成程序升级,且不需要留有专用的维护接口,提高了设备维护效率,降低了人力成本。
根据图1所示,本发明所提供的所述一种批量升级同类节点设备的方法,具体包括:
步骤S100:在STM32平台上设置启动程序,所述启动程序用于启动设备中待升级应用程序的升级,所述设备包括搭载在RS485总线上的多个设备节点;
具体而言,本实施例基于STM32平台实现,且所述设备为挂载RS485总线上的同类设备。首先在在STM32平台上设置一个boot程序(即启动程序),用于启动设备中待升级应用程序的升级,boot程序主要功能是升级维护应用程序,所以boot程序应具有串口通讯功能用于接收RS485总线命令数据,其次boot程序应具备flash擦除与烧录功能,可以进行应用程序更新。boot程序识别命令应与应用程序制定命令不同,防止功能相互干扰。针对重要的指令,主机端多发送两次,确保boot程序可以收到正确的升级命令。boot程序的主要工作流程如图2所示,boot程序在规定的时间内收到升级命令或者无应用时,则进入“升级模式”步骤。图3是在应用程序中留有进入boot程序的入口命令,当收到复位命令时,则应用程序通过隐式调用进入boot程序,然后在boot等待时间发送升级命令,复位命令与升级命令是进入boot程序“升级模式”的关键。“升级模式”是进入应用更新的主要入口,在该状态下,发送端做好包间隔管控,应计算好擦除flash、flash写入时间及数据传输时间之和,确保数据被正确接收并保存。
步骤S200:判断所述启动程序是否接收到发送端发送的升级指令,如果所述启动程序接收到所述升级指令,使得所述启动程序处于待升级状态,并判断所述升级指令是否符合升级规则,所述升级指令包括升级文件大小、所述升级文件的校验码、待升级应用程序的版本信息,所述发送端用于向多个设备发送所述升级指令;
具体而言,如果所述启动程序接收到所述升级指令,所述升级指令中包含升级文件的大小、升级文件的校验码、待升级应用程序的版本等信息。其中升级文件的大小和校验码用于检测应用程序在升级过程中是否有异常,若异常则对程序区进行擦除,此外,如果升级指令中待升级应用程序的版本与应用程序的当前版本相同,则无需进行升级。
进一步的,如果所述启动程序未收到所述升级命令,所述启动程序先判断所述待升级应用程序是否已烧录到预设区域,如果所述待升级应用程序没有烧录至所述预设区域,则所述启动程序继续保持所述待升级状态;如果所述待升级应用程序已经烧录至所述预设区域,则调用所述待升级应用程序。
具体而言,如果boot程序未收到所述升级命令,boot程序先判断所述待升级应用程序是否已烧录到预设区域,若预设区域内无待升级应用程序,boot程序也会停留在boot状态,为升级做准备;如果boot程序在3s内仍未收到所述升级命令,并且检测到待升级应用程序已烧录到预设区域,则直接跳转到该带升级应用程序,并执行该应用程序相应的功能。
步骤S300:如果所述升级指令符合所述升级规则,基于所述升级指令获取升级数据包,所述升级数据包包括多个包的包序号、包长度、包校验和包数据;
步骤S400:所述启动程序接收完所有包的所述包数据之后,将接收到的多个所述包数据分别写入内部FLASH,完成所述待升级应用程序的升级。
具体而言,boot程序收到所述升级命令后,如果通过判断所述升级指令符合升级规则,则开始准备接收升级数据包,所述升级数据包中应包含当前包数据的包序号、包长度、包校验以及包数据等功能,每收到一包数据就将其写入到内部FLASH程序区,直到所有包数据写完,完成所述待升级应用程序的升级。设备的各应用程序可根据硬件地址的不同来完成相应的软件功能。
进一步而言,具体实施时,首先在boot程序中初始化串口,定义“升级命令”格式,定义“数据包”格式,定义“复位命令”格式。该boot程序会在系统上电或所述设备复位后运行并停留3s时间,在该段时间内若boot程序收到特定的升级命令,则停留在boot状态为所述待升级应用程序的升级做准备。“升级命令”格式需包含应用版本,升级应用大小,升级包校验摘要等信息,收到“升级命令”后,若需要升级,即可先擦除flash,后续升级过程中只需要写入数据即可,写入过程中包与包之间的发送时间间隔固定。“复位命令”一般用于升级结束,或者重新进入boot状态,为顺利进入“升级模式”,收到“复位命令”后,立即复位,使设备进入boot状态,紧接着boot程序进行接收“升级命令”。
进一步的,通过在所述待升级应用程序中设置复位通讯数据,所述复位通讯数据用于所述发送端向所述启动程序发送复位命令,并进入所述启动程序。
进一步的,判断接收所述升级数据包的过程是否收到回复,如果收到所述回复,则判定升级异常,擦除所述待升级应用程序并等待下次升级。
具体而言,在boot程序接收升级数据包的过程中,由于RS485总线是半双工通讯,不能同时执行发送和接收,但具备发送和接收的能力,需要分时操作,且同时进行多设备的升级,所以升级过程中不能有任何回复,如果boot程序收到回复则判定升级异常,若升级过程中出现异常,则擦除应用并等待下次升级。
优选的,所述升级数据包需要与所述设备的正常通讯数据包做严格区分,防止相互干扰,因此本实施例的升级数据包具有包类型标识符。
进一步的,所述启动程序具有串口通讯功能、数据擦除功能和烧录功能。
进一步的,本实施例中,一台PC可同时升级搭载在RS485总线上的多个设备节点,如图4所示。
本发明通过以上实施例实现了如下技术效果:
本发明采用一种批量升级同类节点设备的方法,可以实现在不提高硬件成本的状态下,通过设备本身的硬件链路完成程序升级,且不需要留有专用的维护接口,提高了设备维护效率,降低了人力成本。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种批量升级同类节点设备的方法,其特征在于,所述方法包括:
在STM32平台上设置启动程序,所述启动程序用于启动设备中待升级应用程序的升级,所述设备包括搭载在RS485总线上的多个设备节点;
判断所述启动程序是否接收到发送端发送的升级指令,如果所述启动程序接收到所述升级指令,使得所述启动程序处于待升级状态,并判断所述升级指令是否符合升级规则,所述升级指令包括升级文件大小、所述升级文件的校验码、待升级应用程序的版本信息,所述发送端用于向多个设备发送所述升级指令;
如果所述升级指令符合所述升级规则,基于所述升级指令获取升级数据包,所述升级数据包包括多个包的包序号、包长度、包校验和包数据;
所述启动程序接收完所有包的所述包数据之后,将接收到的多个所述包数据分别写入内部FLASH,完成所述待升级应用程序的升级。
2.根据权利要求1所述的一种批量升级同类节点设备的方法,其特征在于,所述方法还包括:
如果所述启动程序未收到所述升级命令,所述启动程序先判断所述待升级应用程序是否已烧录到预设区域,如果所述待升级应用程序没有烧录至所述预设区域,则所述启动程序继续保持所述待升级状态;如果所述待升级应用程序已经烧录至所述预设区域,则调用所述待升级应用程序。
3.根据权利要求1所述的一种批量升级同类节点设备的方法,其特征在于,所述方法还包括:
通过在所述待升级应用程序中设置复位通讯数据,所述复位通讯数据用于所述发送端向所述启动程序发送复位命令,并进入所述启动程序。
4.根据权利要求1所述的一种批量升级同类节点设备的方法,其特征在于,所述方法还包括:
判断所述启动程序接收所述升级数据包的过程是否收到回复,如果收到所述回复,则判定升级异常,擦除所述待升级应用程序并等待下次升级。
5.根据权利要求1所述的一种批量升级同类节点设备的方法,其特征在于,所述方法还包括:
所述升级数据包具有包类型标识符。
6.根据权利要求1所述的一种批量升级同类节点设备的方法,其特征在于,所述方法还包括:
所述启动程序具有串口通讯功能、数据擦除功能和烧录功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311847075.9A CN117850836A (zh) | 2023-12-29 | 2023-12-29 | 一种批量升级同类节点设备的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311847075.9A CN117850836A (zh) | 2023-12-29 | 2023-12-29 | 一种批量升级同类节点设备的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117850836A true CN117850836A (zh) | 2024-04-09 |
Family
ID=90534012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311847075.9A Pending CN117850836A (zh) | 2023-12-29 | 2023-12-29 | 一种批量升级同类节点设备的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117850836A (zh) |
-
2023
- 2023-12-29 CN CN202311847075.9A patent/CN117850836A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109842523A (zh) | 一种固件升级方法、装置、设备及存储介质 | |
US7684926B2 (en) | Electronic control apparatus having first microcomputer which forwards externally supplied updating data to a second microcomputer having a lower data receiving performance than the first microcomputer | |
CN104081726A (zh) | 列车信息管理装置及其控制软件的选择方法 | |
CN106681777A (zh) | 一种多联机程序快速升级方法 | |
EP2224335A2 (en) | Information processing apparatus, method, and program | |
CN111309363A (zh) | 基于Contiki操作系统的在线升级方法及装置 | |
CN113608772B (zh) | 一种应用程序升级方法及装置 | |
CN111142914A (zh) | 一种基于zynq固件升级的方法及计算机可读存储介质 | |
CN111115398B (zh) | 电梯的调试方法、装置、调试终端和存储介质 | |
CN116455694A (zh) | 一种波特率设置方法、装置、设备和存储介质 | |
CN108845823B (zh) | 一种基于f2812芯片的软件在线升级方法 | |
CN117850836A (zh) | 一种批量升级同类节点设备的方法 | |
CN101197959B (zh) | 一种终端的控制方法、系统和设备 | |
US6859895B2 (en) | Method of monitoring life-or-death state of host computer connected to network and life-and-death monitoring system | |
CN117407065A (zh) | 网卡预启动控制方法、装置、设备、系统及存储介质 | |
US6760789B2 (en) | Microcomputer having temporary storage for received data and method of processing received data | |
CN110134423A (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
CN113342385A (zh) | 软件升级方法及装置、空调控制面板 | |
CN115098138A (zh) | 电池管理系统的功能升级方法、装置、电子设备及介质 | |
US5437048A (en) | Programmable controller acting as a master station and having automatic control of interlock process by using an operation complete address flag | |
US6607138B2 (en) | Communication method of IC card reader/writer | |
CN108710495A (zh) | 电子标签程序更新方法、电子标签及存储介质 | |
US7529268B1 (en) | Multi-point electronic control system protocol | |
JP2541356B2 (ja) | 通信システム | |
CN116954676A (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 |