CN116088911A - 一种分布式io的固件批量升级系统、方法及终端装置 - Google Patents
一种分布式io的固件批量升级系统、方法及终端装置 Download PDFInfo
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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固件升级方式有两种,一种是离线升级,一种是在线升级。
其中离线升级是,采用调试器或仿真器对产品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的固件批量升级系统。
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)
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烧录控制方法 |
-
2023
- 2023-03-17 CN CN202310261868.6A patent/CN116088911A/zh active Pending
Cited By (3)
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 |