CN115543371A - 一种嵌入式平台高可靠自动化软件升级方法 - Google Patents

一种嵌入式平台高可靠自动化软件升级方法 Download PDF

Info

Publication number
CN115543371A
CN115543371A CN202210940389.2A CN202210940389A CN115543371A CN 115543371 A CN115543371 A CN 115543371A CN 202210940389 A CN202210940389 A CN 202210940389A CN 115543371 A CN115543371 A CN 115543371A
Authority
CN
China
Prior art keywords
client
server
upgrading
verification
file
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
CN202210940389.2A
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.)
Luoyang Institute of Electro Optical Equipment AVIC
Original Assignee
Luoyang Institute of Electro Optical Equipment AVIC
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 Luoyang Institute of Electro Optical Equipment AVIC filed Critical Luoyang Institute of Electro Optical Equipment AVIC
Priority to CN202210940389.2A priority Critical patent/CN115543371A/zh
Publication of CN115543371A publication Critical patent/CN115543371A/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种嵌入式平台高可靠自动化软件升级方法,采用图形化交互界面,实现与用户之间的便捷交互;使用唯一通讯接口(串口和以太网可选),通过统一的接口设计实现升级设备与异构目标产品的指令和数据交互;采用s‑c交互架构,目标产品作为客户端,升级设备作为服务器端,通过双方驻留的升级软件实现软件升级;在数据导入、传输、固化过程中加入多种校验机制,确保了整个升级过程的正确性。本发明提高了软件升级的可靠性,改善了传统嵌入式平台软件升级接口不统一、流程不一致、自动化程度低、可靠性差的缺点。

Description

一种嵌入式平台高可靠自动化软件升级方法
技术领域
本发明属于嵌入式技术领域,具体涉及一种自动化软件升级方法。
背景技术
传统嵌入式处理平台由于处理器架构类型的多种多样,往往需要根据其具体选型采用不同的方法实现软件的升级,升级方式从接口类型到操作流程上都存在较大差异,专用仿真器、以太网接口、串口等接口组合使用,造成维护性差的问题。
软件升级接口和方式不统一的同时,升级文件从前期导入、传输到固化过程均存在升级的可靠性隐患,一旦发生文件错误或完整性缺失,都可能造成整个升级过程的失败,甚至造成产品无法正常启动、必须重新烧录固件的后果。
上述缺点使嵌入式平台高可靠自动化的软件升级的需求尤为迫切,需要设计一种软件升级方法,在实现高自动化流程的同时,提高软件升级可靠性,达到降低维护成本的目的。
发明内容
为了克服现有技术的不足,本发明提供了一种嵌入式平台高可靠自动化软件升级方法,采用图形化交互界面,实现与用户之间的便捷交互;使用唯一通讯接口(串口和以太网可选),通过统一的接口设计实现升级设备与异构目标产品的指令和数据交互;采用s-c交互架构,目标产品作为客户端,升级设备作为服务器端,通过双方驻留的升级软件实现软件升级;在数据导入、传输、固化过程中加入多种校验机制,确保了整个升级过程的正确性。本发明提高了软件升级的可靠性,改善了传统嵌入式平台软件升级接口不统一、流程不一致、自动化程度低、可靠性差的缺点。
本发明解决其技术问题所采用的技术方案包括如下步骤:
步骤1:构建服务器端和客户端;
服务器端:驻留在升级设备中,向上为操作人员提供图形化交互控制功能,向下与客户端完成数据交互和完整的软件升级流程;服务器端程序集成升级日志记录和显示功能,留存本地用于后期追溯;
客户端:驻留在目标产品中,通过注册回调机制兼容多种嵌入式硬件平台,负责与服务器端程序进行数据交互,完成驻留产品上的软件升级和校验功能;
步骤2:握手阶段,服务器端和客户端通过通讯网口实现设定格式的数据交互,完成服务器端和客户端状态的确认,具体描述如下:
1)初始状态下,客户端监听通讯接口,等待用户发出操作指令;
2)服务器端根据用户的握手指令,发送握手消息至客户端,客户端接收握手消息,校验握手消息正确性,回复请求响应至服务器端;
3)服务器端发送握手消息后进入超时等待,超时未收到客户端的请求响应则握手失败;收到请求响应且校验成功,则握手成功;
步骤3:升级阶段,服务器端和客户端通过通讯网口实现设定格式的数据交互,完成升级确认、数据传输、软件文件固化、以及固化后的文件校验,具体描述如下:
1)用户通过图形界面完成升级文件的加载和配置,向客户端下发升级指令;
2)服务器端根据用户配置信息和升级文件信息,组织升级请求消息,发送至客户端;
3)客户端收到升级请求消息,核验升级请求消息包和升级信息的正确性,如果核验成功则接受升级操作,设置自身为升级状态并组织回复包发送至服务器端;如果核验失败,则不接受升级操作;
4)服务器端收到回复包,确认客户端接受升级操作,则将升级文件拆分然后封装成数据包,逐包发送至客户端;
5)客户端对收到的数据包,校验数据包正确性,同时组织回复包发送至服务器端:对应校验通过的数据包,解析并重组数据,合成升级文件;对校验失败的数据包,丢弃无效数据且请求服务器端重传;
6)服务器端接收回复包,确认客户端完成升级文件接收和重组,对本地升级文件进行校验,校验结果通过校验请求消息包发送至客户端;
7)客户端接收服务器端的校验请求消息包,校验RAM中重组后的升级文件,比对服务器端和客户端校验结果,并组织回复包发送给客户端;如果校验结果不一致,则组织校验请求回复包发送至服务器端,且取消客户端升级流程;如果一致,则组织校验请求回复包发送至服务器端,等待服务器端的消息包;
8)服务器端解析客户端验请求回复包,如果校验失败,则停止服务器端升级流程;如果校验成功,则发送固化请求消息包至客户端;
9)客户端接收服务器端的固化请求消息包,执行升级文件固化操作,同时回复固化进度至服务器端;
10)服务器端根据固化进度确认固化是否完成,当固化操作完成时,发送第二次文件校验请求消息,校验ROM中驻留的升级文件;
11)客户端接收服务器端的校验请求消息包,校验ROM中固化的升级文件,比对服务器端和客户端校验结果,并组织回复包发送给客户端;
12)服务器端解析客户端验请求回复包,向用户返回校验结果;
步骤4:校验机制,具体描述如下:
1)服务器端和客户端交互过程全部采用CRC32校验,校验错误的数据包丢弃处理,以确保通讯交互的正确性;
2)升级文件传输重组完成后,在固化到ROM之前,对驻留RAM的文件执行MD5校验,以确认执行固化之前的文件正确性;
3)升级文件固化到ROM的操作完成后,对ROM中的文件进行MD5校验,确认固化到ROM中的文件正确性。
优选地,所述通讯网口为RS232或以太网通讯端口。
本发明的有益效果如下:
本发明通过对平台嵌入式***设计统一且高可靠的软件固化方法,在提高软件升级流程自动化程度和可操作性的同时,对升级过程的各阶段加入多种数据校验机制,提高了软件升级的可靠性,改善了传统嵌入式平台软件升级接口不统一、流程不一致、自动化程度低、可靠性差的缺点。
附图说明
图1为本发明方法握手阶段服务器端与客户端的交互流程图。
图2为本发明方法升级阶段服务器端与客户端的交互流程图。
图3为本发明方法升级过程中的校验时机与校验方法示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明设计了一种嵌入式平台高可靠自动化的软件升级方法。采用图形化交互界面,实现与用户之间的便捷交互;使用唯一通讯接口(串口和以太网可选),通过统一的接口设计实现升级设备与异构目标产品的指令和数据交互;采用s-c交互架构,目标产品作为客户端,升级设备作为服务器端,通过双方驻留的升级软件实现软件升级;在数据导入、传输、固化过程中加入多种校验机制,以确保整个升级过程的正确性。
一种嵌入式平台高可靠自动化软件升级方法,包括如下步骤:
步骤1:构建服务器端和客户端;
服务器端:驻留在升级设备中,向上为操作人员提供图形化交互控制功能,向下与客户端完成数据交互和完整的软件升级流程;服务器端程序集成升级日志记录和显示功能,留存本地用于后期追溯;
客户端:驻留在目标产品中,通过注册回调机制兼容多种嵌入式硬件平台,负责与服务器端程序进行数据交互,完成驻留产品上的软件升级和校验功能;
步骤2:握手阶段,服务器端和客户端通过通讯网口实现设定格式的数据交互,完成服务器端和客户端状态的确认,流程如图1所示,具体描述如下:
1)初始状态下,客户端监听通讯接口,等待用户发出操作指令;
2)服务器端根据用户的握手指令,发送握手消息至客户端,客户端接收握手消息,校验握手消息正确性,回复请求响应至服务器端;
3)服务器端发送握手消息后进入超时等待,超时未收到客户端的请求响应则握手失败;收到请求响应且校验成功,则握手成功;
步骤3:升级阶段,服务器端和客户端通过通讯网口实现设定格式的数据交互,完成升级确认、数据传输、软件文件固化、以及固化后的文件校验,流程如图2所示,具体描述如下:
1)用户通过图形界面完成升级文件的加载和配置,向客户端下发升级指令;
2)服务器端根据用户配置信息和升级文件信息,组织升级请求消息,发送至客户端;
3)客户端收到升级请求消息,核验升级请求消息包和升级信息的正确性,如果核验成功则接受升级操作,设置自身为升级状态并组织回复包发送至服务器端;如果核验失败,则不接受升级操作;
4)服务器端收到回复包,确认客户端接受升级操作,则将升级文件拆分然后封装成数据包,逐包发送至客户端;
5)客户端对收到的数据包,校验数据包正确性,同时组织回复包发送至服务器端:对应校验通过的数据包,解析并重组数据,合成升级文件;对校验失败的数据包,丢弃无效数据且请求服务器端重传;
6)服务器端接收回复包,确认客户端完成升级文件接收和重组,对本地升级文件进行校验,校验结果通过校验请求消息包发送至客户端;
7)客户端接收服务器端的校验请求消息包,校验RAM中重组后的升级文件,比对服务器端和客户端校验结果,并组织回复包发送给客户端;如果校验结果不一致,则组织校验请求回复包发送至服务器端,且取消客户端升级流程;如果一致,则组织校验请求回复包发送至服务器端,等待服务器端的消息包;
8)服务器端解析客户端验请求回复包,如果校验失败,则停止服务器端升级流程;如果校验成功,则发送固化请求消息包至客户端;
9)客户端接收服务器端的固化请求消息包,执行升级文件固化操作,同时回复固化进度至服务器端;
10)服务器端根据固化进度确认固化是否完成,当固化操作完成时,发送第二次文件校验请求消息,校验ROM中驻留的升级文件;
11)客户端接收服务器端的校验请求消息包,校验ROM中固化的升级文件,比对服务器端和客户端校验结果,并组织回复包发送给客户端;
12)服务器端解析客户端验请求回复包,向用户返回校验结果;
步骤4:为保证升级流程在导入、传输和固化等各阶段中文件的正确性,从而及时发现错误终止升级流程,本发明在升级流程中加入多种校验机制,如图3所示,具体描述如下:
1)服务器端和客户端交互过程全部采用CRC32校验,校验错误的数据包丢弃处理,以确保通讯交互的正确性;
2)升级文件传输重组完成后,在固化到ROM之前,对驻留RAM的文件执行MD5校验,以确认执行固化之前的文件正确性;
3)升级文件固化到ROM的操作完成后,对ROM中的文件进行MD5校验,确认固化到ROM中的文件正确性。
为实现多平台嵌入式***的平台兼容,提高软件的可移植性,为客户端程序设计注册回调机制,在客户端程序的初始化阶段根据嵌入式平台的实际情况进行固化操作接口的注册,执行软件升级的过程中调用统一的注册接口,从而实现软件与平台的软件隔离,达到多平台兼容的目的。
具体实施例:
一种嵌入式平台高可靠自动化的软件升级方法,包括执行服务器端程序的升级设备,软件升级映像文件,以及执行客户端程序的嵌入式平台目标产品。其中:
服务器端程序,驻留在升级设备中,向上为操作人员提供便捷的图形化交互控制功能,向下与客户端完成数据交互和完整的软件升级流程;服务器端程序集成升级日志记录和显示功能,留存本地用于后期追溯;
客户端程序,驻留在目标产品中,通过注册回调机制兼容多种嵌入式硬件平台,主要负责与服务器端程序进行数据交互,完成驻留产品上的软件升级和校验功能。
在实施例中构建一个双端网络***,包括:
1个客户端节点,用于实现客户端程序运行,完成嵌入式平台的软件升级操作,这里客户端节点采用基于飞思卡尔Power系列P2020处理器、与之配套风河VxWorks6.9操作***、加之Microsemi公司W3J128M72G-800LBI型号的DDR芯片组成软件运行的最小***,并配置RS232调试串口和以太网通讯端口的嵌入式硬件模块;
1个服务器端节点,用于实现服务器端程序运行,这里服务器端节点采用基于飞思卡尔Power系列P2020处理器、与之配套风河VxWorks6.9操作***、加之Microsemi公司W3J128M72G-800LBI型号的DDR芯片组成软件运行的最小***,并配置RS232调试串口和以太网通讯端口的嵌入式硬件模块;
升级文件,以二进制格式存在的映像文件,升级过程的执行文件。
本实施例的嵌入式多平台兼容的高可靠软件升级方法流程分为握手、升级异步过程,在保证升级流程可靠性的同时,增加多重数据校验机制,以保证升级文件的正确性。

Claims (2)

1.一种嵌入式平台高可靠自动化软件升级方法,其特征在于,包括如下步骤:
步骤1:构建服务器端和客户端;
服务器端:驻留在升级设备中,向上为操作人员提供图形化交互控制功能,向下与客户端完成数据交互和完整的软件升级流程;服务器端程序集成升级日志记录和显示功能,留存本地用于后期追溯;
客户端:驻留在目标产品中,通过注册回调机制兼容多种嵌入式硬件平台,负责与服务器端程序进行数据交互,完成驻留产品上的软件升级和校验功能;
步骤2:握手阶段,服务器端和客户端通过通讯网口实现设定格式的数据交互,完成服务器端和客户端状态的确认,具体描述如下:
1)初始状态下,客户端监听通讯接口,等待用户发出操作指令;
2)服务器端根据用户的握手指令,发送握手消息至客户端,客户端接收握手消息,
校验握手消息正确性,回复请求响应至服务器端;
3)服务器端发送握手消息后进入超时等待,超时未收到客户端的请求响应则握手失败;收到请求响应且校验成功,则握手成功;
步骤3:升级阶段,服务器端和客户端通过通讯网口实现设定格式的数据交互,完成升级确认、数据传输、软件文件固化、以及固化后的文件校验,具体描述如下:
1)用户通过图形界面完成升级文件的加载和配置,向客户端下发升级指令;
2)服务器端根据用户配置信息和升级文件信息,组织升级请求消息,发送至客户端;
3)客户端收到升级请求消息,核验升级请求消息包和升级信息的正确性,如果核验成功则接受升级操作,设置自身为升级状态并组织回复包发送至服务器端;如果核验失败,则不接受升级操作;
4)服务器端收到回复包,确认客户端接受升级操作,则将升级文件拆分然后封装成数据包,逐包发送至客户端;
5)客户端对收到的数据包,校验数据包正确性,同时组织回复包发送至服务器端:对应校验通过的数据包,解析并重组数据,合成升级文件;对校验失败的数据包,丢弃无效数据且请求服务器端重传;
6)服务器端接收回复包,确认客户端完成升级文件接收和重组,对本地升级文件进行校验,校验结果通过校验请求消息包发送至客户端;
7)客户端接收服务器端的校验请求消息包,校验RAM中重组后的升级文件,比对服务器端和客户端校验结果,并组织回复包发送给客户端;如果校验结果不一致,则组织校验请求回复包发送至服务器端,且取消客户端升级流程;如果一致,则组织校验请求回复包发送至服务器端,等待服务器端的消息包;
8)服务器端解析客户端验请求回复包,如果校验失败,则停止服务器端升级流程;如果校验成功,则发送固化请求消息包至客户端;
9)客户端接收服务器端的固化请求消息包,执行升级文件固化操作,同时回复固化进度至服务器端;
10)服务器端根据固化进度确认固化是否完成,当固化操作完成时,发送第二次文件校验请求消息,校验ROM中驻留的升级文件;
11)客户端接收服务器端的校验请求消息包,校验ROM中固化的升级文件,比对服务器端和客户端校验结果,并组织回复包发送给客户端;
12)服务器端解析客户端验请求回复包,向用户返回校验结果;
步骤4:校验机制,具体描述如下:
1)服务器端和客户端交互过程全部采用CRC32校验,校验错误的数据包丢弃处理,以确保通讯交互的正确性;
2)升级文件传输重组完成后,在固化到ROM之前,对驻留RAM的文件执行MD5校验,以确认执行固化之前的文件正确性;
3)升级文件固化到ROM的操作完成后,对ROM中的文件进行MD5校验,确认固化到ROM中的文件正确性。
2.根据权利要求1所述的一种嵌入式平台高可靠自动化软件升级方法,其特征在于,所述通讯网口为RS232或以太网通讯端口。
CN202210940389.2A 2022-08-06 2022-08-06 一种嵌入式平台高可靠自动化软件升级方法 Pending CN115543371A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210940389.2A CN115543371A (zh) 2022-08-06 2022-08-06 一种嵌入式平台高可靠自动化软件升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210940389.2A CN115543371A (zh) 2022-08-06 2022-08-06 一种嵌入式平台高可靠自动化软件升级方法

Publications (1)

Publication Number Publication Date
CN115543371A true CN115543371A (zh) 2022-12-30

Family

ID=84724402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210940389.2A Pending CN115543371A (zh) 2022-08-06 2022-08-06 一种嵌入式平台高可靠自动化软件升级方法

Country Status (1)

Country Link
CN (1) CN115543371A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185460A (zh) * 2023-04-26 2023-05-30 深圳市鼎盛科电子有限公司 一种嵌入式***软件自动升级的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185460A (zh) * 2023-04-26 2023-05-30 深圳市鼎盛科电子有限公司 一种嵌入式***软件自动升级的方法及装置

Similar Documents

Publication Publication Date Title
CN111190812B (zh) 基于嵌入式设备的自动化测试框架的***
CN112612699B (zh) 一种hid人机交互场景用例通用自动化测试设备
CN204759403U (zh) 一种基于数据透传实现设备内部模块升级的***
CN112084008A (zh) 一种基于容器技术快速部署云管***的方法
CN115543371A (zh) 一种嵌入式平台高可靠自动化软件升级方法
CN112953983A (zh) Sftp传输方法及装置
CN111859832A (zh) 一种芯片仿真验证方法、装置及相关设备
CN116185460A (zh) 一种嵌入式***软件自动升级的方法及装置
CN110198222B (zh) 一种配电自动化终端即插即用测试方法及测试主站
CN110662096A (zh) 融合终端的数据烧录方法和装置
CN115809096B (zh) 操作***批量自适应升级方法
CN115357258A (zh) 应用的部署方法、装置、存储介质及电子装置
CN113050925B (zh) 区块链智能合约修复方法及装置
CN114840225A (zh) 一种应用部署方法、装置、存储介质及电子装置
CN114244678A (zh) 多协议告警设备接入方法及***
CN113127032A (zh) 一种列车控制器的***更新方法
CN114579166A (zh) 组件模块升级方法、组件模块和财务机器人
CN110825624A (zh) 一种嵌入式设备的模块测试***及方法
CN111082984A (zh) 模拟登录网络设备进行命令行交互的方法和装置
CN109598080A (zh) 一种3d设计图快速自动式转化处理***及其使用方法
CN101594253B (zh) 一种单板升级的方法和***
CN118245092B (zh) 一种安全控制平台多模块在线升级的方法
CN111190785B (zh) 模块化的机电综合管理***自动测试方法
CN114896146A (zh) 软件测试***、方法、电子设备及存储介质
CN116701166A (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