CN111541562B - 一种基于网络驱动层的机载设备固件升级方法及系统 - Google Patents
一种基于网络驱动层的机载设备固件升级方法及系统 Download PDFInfo
- Publication number
- CN111541562B CN111541562B CN202010299868.1A CN202010299868A CN111541562B CN 111541562 B CN111541562 B CN 111541562B CN 202010299868 A CN202010299868 A CN 202010299868A CN 111541562 B CN111541562 B CN 111541562B
- Authority
- CN
- China
- Prior art keywords
- upgrade
- upgrading
- command
- equipment
- driver layer
- 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.)
- Active
Links
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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
一种基于网络驱动层的机载设备固件升级方法,机载设备包括网络驱动层和存储设备,包括步骤:S1:接收升级开始命令,并发送收到升级开始命令的确认信息;S2:接收升级数据包命令,并根据升级数据包命令,将升级数据写入存储设备中;S3:接收升级数据包传输完成命令,并发送收到传输完成命令的确认信息;S4:接收升级校验码;S5:对比升级校验码,判断升级是否成功;步骤S1‑S5均在网络驱动层完成。本发明由机载设备的网络驱动层来进行各种软件升级命令的接收和处理,而不占用机载设备应用层空间,针对存储空间较小且没有网络协议栈的机载设备,达到了对其安全稳定的进行软件在线升级的目的。
Description
技术领域
本发明涉及飞机机载设备领域,具体涉及一种适合内存较小且不依赖网络协议栈的基于网络驱动层的机载设备固件升级方法及系统。
背景技术
随着我国民用航空工业的发展,飞机机队数量和航空运输量的迅猛增长,同时随着信息化技术的发展,航空公司对机载设备的各方面性能提出了更高的要求,尤其是对机载设备安全和稳定地升级的需求越来越高。部分机载设备内存很小,存储设备空间较小且没有网络协议栈。现有技术首先需要启动一个单独的进程用于软件升级,然后升级软件通过网络驱动层及网络协议栈传输到机载设备内存中,最后通过应用层的程序将升级软件写入存储设备指定的位置,如图2所示。由于大部分设备有足够的内存资源,且系统自带协议栈,现有的设备软件在线升级方法是在应用层进行升级,在应用层实现升级方便且简单。但对于内存很小、存储设备空间较小且没有网络协议栈的机载设备,首先可能没有足够的资源用于开启额外的进程,其次没有足够的内存空间用于暂存升级软件,还可能没有网络协议栈用于接收处理升级软件数据,因此常规的设备软件在线升级方法无法适用于硬件资源有限且没有网络协议栈的机载设备。针对此类机载设备,目前多数情况是通过仿真器进行软件升级,存在升级过程需要专用的软件和设备,操作繁琐等问题。
发明内容
本发明所要解决的技术问题是:常规的设备软件在线升级方法无法适用于航空领域机载设备内存小且没有网络协议栈的特点,而通过仿真器进行软件升级,存在升级过程需要专用的软件和设备,操作繁琐的问题。本发明的目的在于提供一种适合没有网络协议栈的机载设备的超低资源占用软件在线升级的加载方法。
本发明通过以下述技术方案实现:
一种基于网络驱动层的机载设备固件升级方法,所述机载设备包括网络驱动层和存储设备,包括以下步骤:
S1:接收升级开始命令,并发送收到所述升级开始命令的确认信息;
S2:接收升级数据包命令,并根据所述升级数据包命令,将升级数据写入所述存储设备中;
S3:接收所述升级数据包传输完成命令,并发送收到所述传输完成命令的确认信息;
S4:接收升级校验码;
S5:对比所述升级校验码,判断升级是否成功;
所述步骤S1-S5均在所述网络驱动层完成。
本发明由机载设备的网络驱动层来进行各种软件升级命令的接收和处理,而不占用机载设备应用层的空间,通过在机载设备的网络驱动层实现了对内存与存储空间较小且没有网络协议栈的机载设备进行软件在线升级。由于内存太小的设备,在正常运行功能的时候已经占用较多的内存资源,此时再开启新的进程进行升级,极可能造成内存耗尽而使系统崩溃。本发明在设备的驱动层做固件软件升级,则不需要开启新的进程,不会影响系统运行。
进一步的,所述升级数据包命令包括升级数据编号、升级数据长度和升级数据内容,步骤S2包括以下子步骤:
S201:通过所述升级数据编号和所述存储设备中软件存储的起始位置,计算出需要覆盖的数据段起始位置;
S202:根据所述升级数据长度和所述数据段起始位置,将所述升级数据内容写入所述存储设备的指定位置。
在机载设备网络驱动层(具体实现位置主要是在网络驱动层的中断上下文,下文统称网络驱动层)实现软件升级数据包的接收和识别,并直接将升级软件数据写入存储设备中,升级过程无需启动新的进程,也不需要占用额外的内存空间,升级过程简单方便,而且不会影响应用层软件的正常运行,对于内存与存储空间较小且没有网络协议栈的机载设备具有较高的应用价值。本发明通过向机载设备发送固定包长的软件升级数据信息,当机载设备网络驱动层接收到网络信息后,将根据升级数据中相应字段识别出软件升级数据包并将数据包直接烧写到指定位置。
进一步的,步骤S5包括以下子步骤:
S501:计算所述存储设备中升级后软件的校验码;
S502:对比所述存储设备中升级后软件的校验码和所述升级校验码,判断机载设备固件升级是否成功;
S503:当所述机载设备固件升级成功时,发送升级成功命令。
进一步的,所述步骤S3包括:若未收到所述升级数据包传输完成命令,则执行步骤S2。
进一步的,当升级失败且升级次数小于三次时,重复步骤S1-S5。
一种使用基于网络驱动层的机载设备固件升级方法的系统,包括管理终端和机载设备,所述机载设备包括网络驱动层和存储设备;
所述管理终端用于:向所述机载设备发送升级开始命令,向所述机载设备发送升级数据包命令,向所述机载设备发送所述升级数据包传输完成命令,向所述机载设备发送升级校验码;
所述网络驱动层用于:向所述管理终端发送收到所述升级开始命令的确认信息;根据所述升级数据包命令,将升级数据写入所述存储设备中,向所述管理终端发送收到所述传输完成命令的确认信息,对比所述升级校验码,并判断升级是否成功,向所述管理终端发送升级成功命令。
进一步的,所述管理终端与所述机载设备之间传输协议的网络最大传输单元MTU,大于所述升级数据包命令的字节长度。
进一步的,所述升级数据包命令包括升级数据编号、升级数据长度和升级数据内容,所述网络驱动层通过所述升级数据编号和所述存储设备中软件存储的起始位置,计算出需要覆盖的数据段起始位置,并根据所述升级数据长度和所述数据段起始位置,将所述升级数据内容写入所述存储设备的指定位置。
进一步的,所述网络驱动层计算所述存储设备中升级后软件的校验码;所述网络驱动层对比所述存储设备中升级后软件的校验码和所述升级校验码,判断机载设备固件升级是否成功。优选的,当升级失败且升级次数小于三次时,所述机载设备重新进行升级。
本发明与现有技术相比,具有如下的优点和有益效果:
在网络驱动层进行升级,实现了内存较小且没有网络协议栈的机载设备在线升级,解决了该类设备升级困难的问题,提高了此类机载设备升级效率。
内存太小的设备,正常运行功能的时候已经将内存资源用的差不多了。此时再开启新的进程进行升级,可能造成内存耗尽而使系统崩溃。本发明在驱动层做这个工作,则不需要开启新的进程,不会影响系统运行。
本发明通过机载设备的网络驱动层来进行升级命令的识别和处理,避免了通过应用程序进行软件升级,尤其适应于具有内存小、存储设备空间有限且没有网络协议栈特点的机载设备。而且机载设备升级过程无需专用的软件和设备,操作简单方便。本发明使得航空领域机载设备的升级有了新的突破,便于机载设备的批量固件升级。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明示意图;
图2为现有技术流程图;
图3为实施例1流程图;
图4为软件升级命令格式表。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1。
如图1所示,本发明主要是在机载设备网络驱动层(具体实现位置主要是在网络驱动层的中断上下文,下文统称网络驱动层)实现软件升级数据包的接收和识别,并直接将升级软件数据写入存储设备中,升级过程无需启动新的进程,也不需要占用额外的内存空间,升级过程简单方便,而且不会影响应用层软件的正常运行,对于内存与存储空间较小且没有网络协议栈的机载设备具有较高的应用价值。如下将结合图3适合机载系统的软件升级流程图以及图4软件升级命令格式表,对本实施例进行详细说明:
1.机载设备管理终端利用网络协议向指定机载设备发送软件升级命令。且所使用的网络传输协议的网络最大传输单元必须大于图4所有命令的数据长度。
2.机载设备在网络驱动层接收网络数据,然后根据端口号以及图4中软件升级标识符和升级命令类型字段识别软件升级开始命令;并向机载设备管理终端回复软件升级开始命令ACK以表明该机载设备存在并且准备好升级。
3.机载设备管理终端接收到软件升级开始命令ACK后,开始向机载设备发送软件数据包。升级软件文件将以1Kbyte固定数据长度进行分片,但最后一片数据可能会小于1Kbyte;每一片数据将按照数据被分割前其起始地址的相对地址进行编号,该编号将在发送软件升级数据包命令时填写到图4中升级数据编号字段中,而不超过1Kbyte大小的数据片将在发送软件升级数据包命令时填写到图4中升级数据内容字段中,同时将数据长度填写到升级数据长度字段。
4.机载设备管理终端按照图4所示构造软件升级数据包命令并向机载设备发送该命令。
5.机载设备在驱动层接收并识别到软件升级数据包命令后,并利用命令中升级数据编号以及该存储设备上软件存储的起始位置计算出需要覆盖的数据段的起始位置,然后根据命令中升级数据长度将升级数据内容字段中的数据写到存储设备上的指定位置。
6.如果机载设备管理终端数据发送完成,将向机载设备发送数据包传输完成命令。
7.机载设备接收到数据包传输完成命令后表明软件传输完成并跳转到步骤8,否则表明软件数据包传输未完成并跳转到步骤4。
8.机载设备向机载设备管理终端发送数据传输完成ACK。
9.机载设备管理终端接收到数据传输完成ACK,管理终端将计算并发送升级软件的校验码。
10.机载设备在网络驱动层接收到校验码后,从存储设备中读取设备中升级后的软件并计算该软件的校验码,将机载设备管理终端发送的校验码与机载设备计算的校验码进行对比以验证软件升级是否成功。
11.如果校验码相同表明软件升级成功则升级结束,机载设备在驱动层向机载设备管理终端发送升级成功命令;否则表明升级失败,机载设备在驱动层向机载设备管理终端发送升级失败命令并跳转到步骤1,如果升级3次依然失败,则停止升级。
12.该发明在网络驱动层完成机载设备的软件在线升级,既不会影响系统的正常运行,也无需启动专项的升级进程,升级过程资源占用低,操作简单,适用于内存较小,存储设备较小且没有网络协议栈的机载设备。
实施例2
在实施例1的基础上,进一步的具体的操作方式如下:
1.在机载设备管理终端与机载设备上部署相应的软件并启动。
2.将升级文件放到管理终端对应目录下,确保管理终端与待升级机载设备网络互相连通。
3.启动管理终端上的升级软件,选择需要升级的设备。
4.启动升级功能,管理终端向机载设备发送软件升级开始命令。
5.管理终端等待正在升级的机载设备回复软件升级开始命令ACK后开始发送升级软件数据,机载设备开始升级。
6.当管理终端接收到升级成功的消息后,将该升级状态消息显示到终端上,并向下一个机载设备发送升级命令。
7.当管理终端接收到升级失败消息后,将该升级状态消息显示到终端上,并重新向该机载设备发送升级命令,如果对该机载设备进行3次升级均失败,则停止该设备的升级并向下一个机载设备发送升级命令。
8.所有机载设备升级完成后,升级结束,升级状态信息显示在管理终端上。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于网络驱动层的机载设备固件升级方法,其特征在于,所述机载设备包括网络驱动层和存储设备,包括以下步骤:
S1:接收升级开始命令,并发送收到所述升级开始命令的确认信息;
S2:接收升级数据包命令,并根据所述升级数据包命令,将升级数据写入所述存储设备中;
S3:接收所述升级数据包传输完成命令,并发送收到所述传输完成命令的确认信息;
S4:接收升级校验码;
S5:对比所述升级校验码,判断升级是否成功;
所述步骤S1-S5均在所述网络驱动层完成。
2.根据权利要求1所述的基于网络驱动层的机载设备固件升级方法,其特征在于,所述升级数据包命令包括升级数据编号、升级数据长度和升级数据内容,步骤S2包括以下子步骤:
S201:通过所述升级数据编号和所述存储设备中软件存储的起始位置,计算出需要覆盖的数据段起始位置;
S202:根据所述升级数据长度和所述数据段起始位置,将所述升级数据内容写入所述存储设备的指定位置。
3.根据权利要求2所述的基于网络驱动层的机载设备固件升级方法,其特征在于,步骤S5包括以下子步骤:
S501:计算所述存储设备中升级后软件的校验码;
S502:对比所述存储设备中升级后软件的校验码和所述升级校验码,判断机载设备固件升级是否成功;
S503:当所述机载设备固件升级成功时,发送升级成功命令。
4.根据权利要求1所述的基于网络驱动层的机载设备固件升级方法,其特征在于,所述步骤S3包括:若未收到所述升级数据包传输完成命令,则执行步骤S2。
5.根据权利要求1所述的基于网络驱动层的机载设备固件升级方法,其特征在于,当升级失败且升级次数小于三次时,重复步骤S1-S5。
6.一种使用权利要求1-5任一所述的基于网络驱动层的机载设备固件升级方法的系统,其特征在于,包括管理终端和机载设备,所述机载设备包括网络驱动层和存储设备;
所述管理终端用于:向所述机载设备发送升级开始命令,向所述机载设备发送升级数据包命令,向所述机载设备发送所述升级数据包传输完成命令,向所述机载设备发送升级校验码;
所述网络驱动层用于:向所述管理终端发送收到所述升级开始命令的确认信息;根据所述升级数据包命令,将升级数据写入所述存储设备中,向所述管理终端发送收到所述传输完成命令的确认信息,对比所述升级校验码,并判断升级是否成功,向所述管理终端发送升级成功命令。
7.根据权利要求6所述的基于网络驱动层的机载设备固件升级方法的系统,其特征在于,所述管理终端与所述机载设备之间传输协议的网络最大传输单元MTU,大于所述升级数据包命令的字节长度。
8.根据权利要求6所述的基于网络驱动层的机载设备固件升级方法的系统,其特征在于,所述升级数据包命令包括升级数据编号、升级数据长度和升级数据内容,所述网络驱动层通过所述升级数据编号和所述存储设备中软件存储的起始位置,计算出需要覆盖的数据段起始位置,并根据所述升级数据长度和所述数据段起始位置,将所述升级数据内容写入所述存储设备的指定位置。
9.根据权利要求6所述的基于网络驱动层的机载设备固件升级方法的系统,其特征在于,所述网络驱动层计算所述存储设备中升级后软件的校验码;所述网络驱动层对比所述存储设备中升级后软件的校验码和所述升级校验码,判断机载设备固件升级是否成功。
10.根据权利要求6所述的基于网络驱动层的机载设备固件升级方法的系统,其特征在于,当升级失败且升级次数小于三次时,所述机载设备重新进行升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010299868.1A CN111541562B (zh) | 2020-04-16 | 2020-04-16 | 一种基于网络驱动层的机载设备固件升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010299868.1A CN111541562B (zh) | 2020-04-16 | 2020-04-16 | 一种基于网络驱动层的机载设备固件升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541562A CN111541562A (zh) | 2020-08-14 |
CN111541562B true CN111541562B (zh) | 2022-09-20 |
Family
ID=71975019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010299868.1A Active CN111541562B (zh) | 2020-04-16 | 2020-04-16 | 一种基于网络驱动层的机载设备固件升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111541562B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113805924A (zh) * | 2021-09-27 | 2021-12-17 | 一飞智控(天津)科技有限公司 | 一种编队飞机整体升级流程处理方法、系统、终端及应用 |
CN114217831A (zh) * | 2021-11-17 | 2022-03-22 | 航天科工微电子系统研究院有限公司 | 一种嵌入式系统的多功能软件升级方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055373A (zh) * | 2016-07-04 | 2016-10-26 | 苏州光之翼智能科技有限公司 | 一种批量无人机固件自动升级装置及其方法 |
CN107357601A (zh) * | 2016-05-10 | 2017-11-17 | 零度智控(北京)智能科技有限公司 | 无人机固件升级装置、方法及终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018006262A1 (zh) * | 2016-07-05 | 2018-01-11 | 深圳市大疆创新科技有限公司 | 一种联网验证的方法及装置 |
JP7069826B2 (ja) * | 2018-02-27 | 2022-05-18 | 株式会社リコー | 情報処理装置、ファームウェア更新方法、プログラム |
-
2020
- 2020-04-16 CN CN202010299868.1A patent/CN111541562B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357601A (zh) * | 2016-05-10 | 2017-11-17 | 零度智控(北京)智能科技有限公司 | 无人机固件升级装置、方法及终端 |
CN106055373A (zh) * | 2016-07-04 | 2016-10-26 | 苏州光之翼智能科技有限公司 | 一种批量无人机固件自动升级装置及其方法 |
Non-Patent Citations (2)
Title |
---|
"多旋翼无人机管控系统设计";秦汉;《中国优秀博硕士学位论文全文数据库(硕士) 工程科技II辑》;20190115;说明书第[0066]段 * |
"嵌入式固件远程升级技术的研究与实现";王广辉;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20120115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111541562A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109413134B (zh) | 车载应用升级方法、装置、系统及存储介质 | |
CN111541562B (zh) | 一种基于网络驱动层的机载设备固件升级方法及系统 | |
US9372682B2 (en) | Parallel programming and updating of lighting bus subscribers | |
CN110730104A (zh) | 一种mesh网络设备的多设备批量固件升级的方法 | |
WO2013114543A1 (ja) | 列車情報管理装置及びその制御ソフトウェアの選択方法 | |
CN112202920B (zh) | 车机系统升级方法及装置 | |
CN106850241A (zh) | 一种车载obd终端及其远程升级方法 | |
US20240069906A1 (en) | Server, software update system, distribution method, and non-transitory storage medium | |
CN113094072A (zh) | 车辆升级方法、装置、电子装置及存储介质 | |
CN108446130A (zh) | Ota升级方法 | |
CN114915554B (zh) | 远程升级方法、装置、计算机设备和存储介质 | |
CN113238774A (zh) | 车载迎宾动画更新方法、装置、车载终端及存储介质 | |
CN114866525B (zh) | 一种一主多从模式嵌入式设备远程在线固件升级方法及系统 | |
CN111966375A (zh) | 一种固件升级方法、系统、设备及计算机可读存储介质 | |
CN111158751A (zh) | 一种Windows环境部署方法、电子设备及存储介质 | |
CN114567552A (zh) | 车载v2x设备升级方法、装置、计算机设备及存储介质 | |
CN113138788A (zh) | 空调程序升级方法及空调系统 | |
CN112685068A (zh) | 远程升级boot镜像文件的方法及计算机可读介质 | |
CN114546455A (zh) | 一种双分区的mcu软件升级方法及装置 | |
CN114020294A (zh) | 一种ecu无线升级的方法、系统及存储介质 | |
CN114416144A (zh) | 一种适配多款屏幕升级方法 | |
CN114579166A (zh) | 组件模块升级方法、组件模块和财务机器人 | |
CN112615916A (zh) | 文件部署方法、装置、电子设备以及存储介质 | |
KR102541439B1 (ko) | 차량 무선 업데이트의 관리 제어 방법 및 장치 | |
CN114095954B (zh) | 一种基于uart的无线通信模块升级方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |