CN116088911A - 一种分布式io的固件批量升级系统、方法及终端装置 - Google Patents

一种分布式io的固件批量升级系统、方法及终端装置 Download PDF

Info

Publication number
CN116088911A
CN116088911A CN202310261868.6A CN202310261868A CN116088911A CN 116088911 A CN116088911 A CN 116088911A CN 202310261868 A CN202310261868 A CN 202310261868A CN 116088911 A CN116088911 A CN 116088911A
Authority
CN
China
Prior art keywords
upgrading
upgrade
firmware
upper computer
program
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
Application number
CN202310261868.6A
Other languages
English (en)
Inventor
侯文科
王福斌
张苇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motong Transmission And Control Shenzhen Co ltd
Original Assignee
Motong Transmission And Control Shenzhen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motong Transmission And Control Shenzhen Co ltd filed Critical Motong Transmission And Control Shenzhen Co ltd
Priority to CN202310261868.6A priority Critical patent/CN116088911A/zh
Publication of CN116088911A publication Critical patent/CN116088911A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种分布式IO的固件批量升级方法、系统及终端装置,由上位机读取升级包进行解析,解析通过后下发升级指令,下位机接收到升级指令后,由应用程序跳转至启动加载程序,并擦除应用程序,擦除成功后开始接收上位机下发的升级包,并校验,直至所有升级包接收完成后,开始对整个应用程序再进行校验,校验成功则返回升级成功,否则返回升级失败;升级成功后,通信将重新组网,对设备进行重新地址分配,然后开始对下一个设备进行升级。本发明可实现对所有设备进行批量升级,无需拆卸IO设备PCB,无需专用设备,只需通过IO本身数据总线即可对说过设备完成批量升级,无需对每个设备单独升级,大大提升固件升级效率。

Description

一种分布式IO的固件批量升级系统、方法及终端装置
技术领域
本发明涉及一种系统、方法及装置,尤其涉及一种分布式IO的固件批量升级系统、方法及终端装置,属于工业自动化技术领域。
背景技术
分布式IO是近年来兴起的一种概念,其主要目的是要解决传统集成式IO不利于扩展与维护,一旦出现部分IO损坏,则存在需要更换整个控制设备、维护成本极高的问题;分布式IO是一种IO设备与控制设备分离,可以分布式安装到设备各个节点的设备,即分布式IO模块是IO模块与控制系统分离,可以方便的装配到设备的各个地方,方便接线,而且当其中某个模块损坏时,只需更换盖模块即可,不影响其他使用。
现如今由于科技在不断发展,产品的功能也面临着不断升降优化的需求,相应的,对于分布式IO来说,实现产品固件升降也显得尤为重要。目前分布式IO固件升级方式有两种,一种是离线升级,一种是在线升级。
其中离线升级是,采用调试器或仿真器对产品MCU进行固件烧写,这种方式需要用到专用设备,并且是对产品PCB进行升级,因此当产品已经组装成整机时,需要将产品外壳拆除,对内部PCB进行固件烧写,此方法在终端应用实施难度大、操作复杂,故而此方法一般在工厂单板固件烧写时使用。
在线升级是一种可在设备正常运行状态下对固件升级的技术,无需调试器,通过设备自带的通信接口,将固件刷入设备,完成更新,对于分布式IO设备,这种升级方式虽然无需将PCB拆除,但是需要对每个设备模块都进行独立升级,然而分布式IO设备模块数量大,此种升级方式效率低、升级慢,对于安装位置比较特殊的IO,升级难度大。
发明内容
为了解决上述技术所存在的不足之处,本发明提供了一种分布式IO的固件批量升级系统、方法及装置。
为了解决以上技术问题,本发明采用的技术方案是:一种分布式IO的固件批量升级方法,上位机读取升级包进行解析,解析通过后下发升级指令,下位机接收到升级指令后,由应用程序跳转至启动加载程序,并擦除应用程序,擦除成功后开始接收上位机下发的升级包,并校验,直至所有升级包接收完成后,开始对整个应用程序再进行校验,校验成功则返回升级成功,否则返回升级失败;升级成功后,通信将重新组网,对设备进行重新地址分配,然后开始对下一个设备进行升级。
进一步地,升级方法具体包括如下步骤:
步骤S1:上位机读取并解析所有升级的固件,若固件匹配,则开始升级;
步骤S2:启动加载程序获取到上位机升级指令后擦除设备应用程序,并返回允许升级状态;
步骤S3:上位机分解升级数据包,依次下发到启动加载模块程序,启动加载模块程序接收到上位机下发数据后校验数据是否正确,数据正确则写入应用程序存储器;
步骤S4:上位机检测数据包是否下发完毕,下发完毕后,启动加载程序对整个应用程序进行数据校验,校验通过则返回升级成功;
步骤S5:上位机接收到设备升级成功信息后,检测是否所有设备均升级成功,若还有设备未升级,则对所有设备进行重新组网,分配地址,准备进行下一设备升级;
步骤S6:重复S2~S5步骤,直到所有设备升级成功;
步骤S7:所有设备升级成功后,将设备设置为正常运行状态,结束升级。
进一步地,该系统包含有:
启动加载模块,所述启动加载模块包含但不限于启动引导、应用程序校验、固件升级功能;
上位机通信模块,所述上位机通信模块用于程序固件解析,以及与下位机的数据交换;
批量升级通信模块,所述批量升级通信模块用于各个分布式IO设备之间建立组网通信。
进一步地,启动加载模块检测到当前标志为固件升级标志时,则程序进入固件升级状态,等待上位机下发固件升级指令;
若当前标志为正常启动状态时,则程序进入正常引导状态,先校验应用程序的完整性;若校验成功,则程序跳转到应用程序,若校验事变,则程序设置为固件升级状态。
进一步地,固件升级功能包含设备闪存擦除、数据校验、及固件烧写入设备闪存。
进一步地,进入固件升级状态后,上位机下发固件升级指令,先擦除设备闪存中存储的应用程序,再下发程序升级数据包,若数据正确则将数据包写入设备闪存,否则丢弃数据,如此往复,直到上位机完成所有数据包的传输。
进一步地,上位机通信模块的工作流程为:读取程序文件并进行解析,检测文件是否与下位机匹配,只有完全匹配才可升级,匹配成功后,上位机与下位机开始握手升级。
一种终端装置,应用有分布式IO的固件批量升级系统。
本发明可实现对所有设备进行批量升级,无需拆卸IO设备PCB,无需专用设备,只需通过IO本身数据总线即可对说过设备完成批量升级,无需对每个设备单独升级,大大提升固件升级效率。
附图说明
图1为本发明分布式IO的固件批量升级方法的流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
针对现有的分布式IO固件升级方法的弊端,本发明所要解决的问题点在于设计一种分布式IO的固件批量升级系统及方法,其可不借助专用设备,无需拆卸PCB,即可实现对所有设备的批量升级。其基本思路为,先设计包含上位机通信模块、启动加载模块以及批量升级通信模块的分布式IO的固件批量升级系统。
具体实施方案如下:设计的启动加载模块,其包含但不限于启动引导、应用程序校验、固件升级的功能。设备上电时,程序进入启动加载模块,程序首先检测存储与设备闪存特定地址中的固件升级标志,若当前标志为固件升级标志,则程序进入固件升级状态,等待上位机下发固件升级指令。若当前标志位正常启动状态,则程序进入正常引导状态,在正常引导状态中,程序首先校验应用程序的完整性,即对整个应用程序空间进行CRC校验,若校验成功,则表示应用程序正确,则将程序跳转到应用程序,若校验失败,则将程序设置为固件升级状态,等待上位机下发固件升级指令。
固件升级功能包含设备闪存擦除、数据校验及固件烧写入设备闪存。当上位机下发固件升级指令后,程序首先将擦除设备闪存中存储的应用程序,擦除完成后告知上位机,上位机接收到完成信号后开始下发程序升级数据包,设备接收到数据包后首先将校验数据的正确性,数据正确则将数据包写入设备闪存,否则丢弃数据,如此往复,直到上位机完成所有数据包的传输。所有数据包完成传输后,启动程序将再次校验整个应用程序的完整性,校验成功将返回升级成功信息。
批量升级通信模块,主要用于各个分布式IO设备之间建立组网通信,实现各个设备地址自动分配,再通过通信调度完成各个模块的依次升级。
上位机通信模块,用于程序固件解析,以及与下位机的数据交换,其主要工作流程为:读取程序文件,为了保证程序文件的保密性,所有程序固件均做了加密处理,所以当上位机读取程序文件时,首先需要对程序文件进行解密处理,解密完成后上位机对程序文件进行解析,检测文件是否与下位机匹配,只有完全匹配才可升级,匹配成功后,上位机与下位机开始握手升级。
基于上述分布式IO的固件批量升级系统的设置,本发明所公开的分布式IO的固件批量升级方法的流程如图1所示:
上位机读取升级包进行解析,解析通过后下发升级指令,下位机接收到升级指令后,由应用程序跳转至启动加载程序,启动加载程序开始擦除应用程序,擦除成功后开始接收上位机下发的升级包,并校验,直至所有升级包接收完成后,开始对整个应用程序再进行校验,校验成功则返回升级成功,否则返回升级失败。升级成功后,通信将重新组网,对设备进行重新地址分配,然后开始对下一个设备进行升级。
本发明所提供的分布式IO的固件批量升级方法具体包括以下步骤:
步骤S1:上位机读取并解析所有升级的固件,若固件匹配,则开始升级;
步骤S2:启动加载程序获取到上位机升级指令后擦除设备应用程序,并返回允许升级状态;
步骤S3:上位机分解升级数据包,依次下发到启动加载模块程序,启动加载模块程序接收到上位机下发数据后校验数据是否正确,数据正确则写入应用程序存储器;
步骤S4:上位机检测数据包是否下发完毕,下发完毕后,启动加载程序对整个应用程序进行数据校验,校验通过则返回升级成功;
步骤S5:上位机接收到设备升级成功信息后,检测是否所有设备均升级成功,若还有设备未升级,则对所有设备进行重新组网,分配地址,准备进行下一设备升级;
步骤S6:重复S2~S5步骤,直到所有设备升级成功;
步骤S7:所有设备升级成功后,将设备设置为正常运行状态,结束升级。
本发明还公开了一种终端设备,用于分布式IO的固件批量升级系统的运行。
与现有技术相比,本发明在应用时,可在应用现场对分布式IO设备进行批量升级,无需人工拆机工作,只需通过IO本身数据总线即可对所有设备完成批量升级,无需对每个设备单独升级,极大提高了分布式IO设备的升级效率。
上述实施方式并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的技术方案范围内所做出的变化、改型、添加或替换,也均属于本发明的保护范围。

Claims (8)

1.一种分布式IO的固件批量升级方法,其特征在于:升级方法为:上位机读取升级包进行解析,解析通过后下发升级指令,下位机接收到升级指令后,由应用程序跳转至启动加载程序,并擦除应用程序,擦除成功后开始接收上位机下发的升级包,并校验,直至所有升级包接收完成后,开始对整个应用程序再进行校验,校验成功则返回升级成功,否则返回升级失败;升级成功后,通信将重新组网,对设备进行重新地址分配,然后开始对下一个设备进行升级。
2.根据权利要求1所述的分布式IO的固件批量升级方法,其特征在于:升级方法具体包括如下步骤:
步骤S1:上位机读取并解析所有升级的固件,若固件匹配,则开始升级;
步骤S2:启动加载程序获取到上位机升级指令后擦除设备应用程序,并返回允许升级状态;
步骤S3:上位机分解升级数据包,依次下发到启动加载模块程序,启动加载模块程序接收到上位机下发数据后校验数据是否正确,数据正确则写入应用程序存储器;
步骤S4:上位机检测数据包是否下发完毕,下发完毕后,启动加载程序对整个应用程序进行数据校验,校验通过则返回升级成功;
步骤S5:上位机接收到设备升级成功信息后,检测是否所有设备均升级成功,若还有设备未升级,则对所有设备进行重新组网,分配地址,准备进行下一设备升级;
步骤S6:重复S2~S5步骤,直到所有设备升级成功;
步骤S7:所有设备升级成功后,将设备设置为正常运行状态,结束升级。
3.一种基于权利要求1-2任一项所述的分布式IO的固件批量升级方法的固件批量升级系统,其特征在于:该系统包含有:
启动加载模块,所述启动加载模块包含但不限于启动引导、应用程序校验、固件升级功能;
上位机通信模块,所述上位机通信模块用于程序固件解析,以及与下位机的数据交换;
批量升级通信模块,所述批量升级通信模块用于各个分布式IO设备之间建立组网通信。
4.根据权利要求3所述的分布式IO的固件批量升级系统,其特征在于:所述启动加载模块检测到当前标志为固件升级标志时,则程序进入固件升级状态,等待上位机下发固件升级指令;
若当前标志为正常启动状态时,则程序进入正常引导状态,先校验应用程序的完整性;若校验成功,则程序跳转到应用程序,若校验事变,则程序设置为固件升级状态。
5.根据权利要求4所述的分布式IO的固件批量升级系统,其特征在于:固件升级功能包含设备闪存擦除、数据校验、及固件烧写入设备闪存。
6.根据权利要求5所述的分布式IO的固件批量升级系统,其特征在于:进入固件升级状态后,上位机下发固件升级指令,先擦除设备闪存中存储的应用程序,再下发程序升级数据包,若数据正确则将数据包写入设备闪存,否则丢弃数据,如此往复,直到上位机完成所有数据包的传输。
7.根据权利要求3所述的分布式IO的固件批量升级系统,其特征在于:所述上位机通信模块的工作流程为:读取程序文件并进行解析,检测文件是否与下位机匹配,只有完全匹配才可升级,匹配成功后,上位机与下位机开始握手升级。
8.一种终端装置,其特征在于:应用有权利要求3-7任一项所述的分布式IO的固件批量升级系统。
CN202310261868.6A 2023-03-17 2023-03-17 一种分布式io的固件批量升级系统、方法及终端装置 Pending CN116088911A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310261868.6A CN116088911A (zh) 2023-03-17 2023-03-17 一种分布式io的固件批量升级系统、方法及终端装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310261868.6A CN116088911A (zh) 2023-03-17 2023-03-17 一种分布式io的固件批量升级系统、方法及终端装置

Publications (1)

Publication Number Publication Date
CN116088911A true CN116088911A (zh) 2023-05-09

Family

ID=86206706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310261868.6A Pending CN116088911A (zh) 2023-03-17 2023-03-17 一种分布式io的固件批量升级系统、方法及终端装置

Country Status (1)

Country Link
CN (1) CN116088911A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117193833A (zh) * 2023-11-06 2023-12-08 成都科江科技有限公司 一种工控应用固件在线升级的方法
CN117573147A (zh) * 2023-10-27 2024-02-20 福氏新能源技术(上海)有限公司 一种基于背板总线控制的mcu烧录控制方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573147A (zh) * 2023-10-27 2024-02-20 福氏新能源技术(上海)有限公司 一种基于背板总线控制的mcu烧录控制方法
CN117193833A (zh) * 2023-11-06 2023-12-08 成都科江科技有限公司 一种工控应用固件在线升级的方法
CN117193833B (zh) * 2023-11-06 2024-01-23 成都科江科技有限公司 一种工控应用固件在线升级的方法

Similar Documents

Publication Publication Date Title
CN116088911A (zh) 一种分布式io的固件批量升级系统、方法及终端装置
CN104579719B (zh) 一种固件的升级方法和系统、上位机和光模块
CN105183515B (zh) 云台固件升级的方法及装置
CN102411539B (zh) 一种手机外部设备在线调试方法及系统
CN101673202A (zh) 一种程序烧写方法和系统以及一种待烧写装置和烧写装置
CN113608772B (zh) 一种应用程序升级方法及装置
CN102567049A (zh) 嵌入式操作系统的升级方法
CN110187909A (zh) 一种基于安卓系统的单片机固件升级方法
CN106569833A (zh) 一种具有二级boot的dsp程序在线升级方法
CN101159957A (zh) 一种数据终端设备升级、修复的方法和装置
CN109582341A (zh) 一种机车信号车载系统设备的主机系统及其程序变更方法
CN107621943A (zh) 一种fpga动态批量烧写系统及方法
CN105760194A (zh) 一种dsp控制系统软件升级方法及装置
CN111506334A (zh) 一种dsp芯片程序在线升级方法及系统
CN109857433B (zh) 一种单片机软件升级工具和方法
CN111782246A (zh) 基于总线的多节点设备嵌入式程序升级方法
CN111414182B (zh) 一种基于spi的fpga远程升级方法
CN103809988A (zh) 一种信息处理方法及电子设备
CN108845823B (zh) 一种基于f2812芯片的软件在线升级方法
CN113377404B (zh) 一种新能源车域控制器安全监控芯片程序更新方法及系统
CN114237640A (zh) 一种基于串口协议的芯片测试控制板Uboot烧录方法
CN102110002B (zh) 增加电子装置开机速度的方法
CN101221519A (zh) 一种处理器系统中闪存存储器的读写调试方法
CN110377332B (zh) 安全计算机平台软件程序在线换装方法
CN113741940A (zh) 在线升级电动汽车整车控制器bootloader的方法

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