CN117032825A - 机载电子设备软件加载方法、装置、存储介质及飞行器 - Google Patents
机载电子设备软件加载方法、装置、存储介质及飞行器 Download PDFInfo
- Publication number
- CN117032825A CN117032825A CN202310956954.9A CN202310956954A CN117032825A CN 117032825 A CN117032825 A CN 117032825A CN 202310956954 A CN202310956954 A CN 202310956954A CN 117032825 A CN117032825 A CN 117032825A
- Authority
- CN
- China
- Prior art keywords
- loading
- data packet
- identifier
- software
- state
- 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 46
- 238000011068 loading method Methods 0.000 claims abstract description 483
- 230000001360 synchronised effect Effects 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 11
- 125000004122 cyclic group Chemical group 0.000 claims description 7
- 230000005283 ground state Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013524 data verification Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 11
- 238000007711 solidification Methods 0.000 description 8
- 230000008023 solidification Effects 0.000 description 8
- 230000005856 abnormality Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种机载电子设备软件加载方法、装置、存储介质及飞行器,所述机载电子设备软件加载方法包括:当飞行器上的电子设备启动时,根据加载标识确定电子设备的功能软件的加载状态;在非加载状态下,若接收到地面加载设备发送的加载指令,则对加载指令进行校验,在校验通过后,重置加载标识,重启电子设备;若所述加载状态为初始加载状态或更新加载状态,则接收地面加载设备发送的数据包,对数据包进行校验,在校验通过后加载数据包,并清空加载标识。本发明所提供的技术方案能够解决现有技术中机载电子设备加载软件时未考虑飞行器的安全性的技术问题。
Description
技术领域
本发明涉及机载电子设备技术领域,尤其涉及一种机载电子设备软件加载方法、装置、存储介质及飞行器。
背景技术
机载电子设备加载飞机功能软件时,拆机离线加载的方式耗时耗力,影响飞机研制和飞行任务的正常执行,需要一种现场可在线加载的方式来完成机载电子设备的软件维护升级,在缩短加载时间,节约人工拆卸安装成本的同时,还需保证机载设备软件加载的正确性、安全性及稳定性,避免空中进行加载。
目前机载电子设备软件的在线加载主要集中为使用光纤总线、1394总线或者可编程逻辑器件的串行总线来实现。例如,专利CN 112068867 A公开了一种使用可编程逻辑器件软件来完成机载电子设备在线加载的方法。通过可编程逻辑器件实现RS232总线的数据收发,将接收到的加载信息转发至存储芯片中,并通BOOTLOADER程序完成软件的加载工作。该方法需要一个单独的可编程逻辑器件软件以及一个特定的RS232总线接口,不具有使用上的通用性;且在进入可编程逻辑器件加载模式后,未对接收的软件信息进行正确性的校验,当接收代码错误时,会将错误代码烧写至存储芯片区域,从而导致产品运行异常,其安全性较差。
现有技术中尽管使用了通讯速度较快的光纤总线,或是使用可编程逻辑器件逻辑软件实现,但始终没有考虑到机载设备加载的安全性,使得在恶劣的通讯环境或异常情况下,会直接导致产品无法正常运行的情况,且在空中防护机制未设置,其安全性及可靠性不强。
发明内容
本发明提供了一种机载电子设备软件加载方法、装置、存储介质及飞行器,旨在有效解决现有技术中机载电子设备加载软件时未考虑飞行器的安全性的技术问题。
根据本发明的一方面,本发明提供一种机载电子设备软件加载方法,所述机载电子设备软件加载方法包括:
S1:当飞行器上的电子设备启动时,根据加载标识确定所述电子设备的功能软件的加载状态,若所述加载状态为非加载状态,则执行步骤S2,若所述加载状态为初始加载状态或更新加载状态,则执行步骤S3;
S2:在非加载状态下,若接收到地面加载设备发送的加载指令,则对所述加载指令进行校验,在校验通过后,根据所述加载指令和轮载信号重置所述加载标识,重启所述电子设备并返回步骤S1;
S3:接收所述地面加载设备发送的数据包,对所述数据包进行校验,在校验通过后加载所述数据包,并清空所述加载标识。
进一步地,所述加载标识包括初始加载标识和在线加载标识,所述初始加载标识存储于所述电子设备的第一存储器地址,所述在线加载标识存储于所述电子设备的第二存储器地址。
进一步地,所述根据加载标识确定所述电子设备的功能软件的加载状态包括:
若所述初始加载标识为预设的第一标识,确定所述加载状态为初始加载状态;
若所述初始加载标识为预设的第二标识,则获取所述在线加载标识;
若所述在线加载标识为预设的第三标识,则确定所述加载状态为更新加载状态;
若所述在线加载标识为预设的第四标识,则确定所述加载状态为非加载状态。
进一步地,所述对所述加载指令进行校验包括:
获取所述加载指令的同步头信息和校验和信息,分别对所述同步头信息和所述校验和信息进行数据校验。
进一步地,所述根据所述加载指令和轮载信号重置所述加载标识包括:
获取轮载信号,当所述轮载信号表征所述飞行器在地面状态时,判断所述加载指令的类型,根据所述加载指令的类型重置所述加载标识;
其中,若所述加载指令的类型为所述初始加载指令,则将所述初始加载标识设置为第一标识;
若所述加载指令的类型为非初始加载指令,则将所述在线加载标识设置为表征为第三标识。
进一步地,所述接收所述地面加载设备发送的数据包包括:
按顺序分别接收所述数据包的多个子数据包,针对每一个子数据包,执行如下操作:
获取该子数据包的序列号,若该序列号与上一个子数据包的序列号连续,则接收该子数据包,否则丢弃该数据包;
获取该子数据包的同步头信息和校验和信息,分别对所述同步头信息和所述校验和信息进行校验,并在校验通过以后,向所述地面加载设备发送该子数据包的接收成功信息,以使所述地面加载设备发送下一个子数据包。
进一步地,所述对所述数据包进行校验包括:
针对每一个子数据包,根据该子数据包计算当前校验码,并获取该子数据包的标准校验码,其中,所述当前校验码和所述标准校验码均为循环冗余校验码;
若所述当前校验码和所述标准校验码相同,则验证通过;
若所述当前校验码和所述标准校验码不同,则验证失败,并向所述地面加载设备发送加载失败信息。
进一步地,所述在校验通过后加载所述数据包包括:
将所述数据包中的目标码写入至存储空间;
在所述存储空间中读取加载后的目标码,若所述加载后的目标码与所述数据包中的目标码一致,则表示加载成功。
根据本发明的另一方面,本发明还提供了一种机载电子设备软件加载装置,所述装置包括:
加载状态确定模块,用于当飞行器上的电子设备启动时,根据加载标识确定所述电子设备的功能软件的加载状态;
第一加载模块,用于在非加载状态下,若接收到地面加载设备发送的加载指令,则对所述加载指令进行校验,在校验通过后,根据所述加载指令和轮载信号重置所述加载标识,重启所述电子设备;
第二加载模块,用于接收所述地面加载设备发送的数据包,对所述数据包进行校验,在校验通过后加载所述数据包,并清空所述加载标识。
根据本发明的另一方面,本发明还提供了一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一机载电子设备软件加载方法。
根据本发明的另一方面,本发明还提供了一种飞行器,包括加载状态确定模块、第一加载模块、第二加载模块、处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行如上所述的任一机载电子设备软件加载方法。
通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:
在本发明所公开的技术方案中,根据机载电子设备的加载标识确定不同的加载状态,在非加载状态下等待加载指令,并根据加载指令和轮载信号重置加载标识。在加载状态下获取数据包并完成加载,清空加载标识。在本申请中,根据加载标识确定加载状态,初始加载标识和在线加载标识具有安全互斥效果,避免空中误运行加载功能带来的飞行隐患。通过严格的加载进入条件及安全互斥的加载标识设定及代码校验方法的合理场景应用,确保机载电子设备能够正确的完成在线加载过程,安全、可靠的运行加载功能,即保证了软件的正确加载又提高了加载过程的效率和易用性,特别是满足了适航软件运行的安全、可靠飞行要求。保证软件在地面进行正确加载,防止空中误运行加载功能。
执行加载操作时,对加载代码进行校验,校验通过后才进行代码加载,并会在产品断电、数据链路中断、数据传输异常情况等情况下,上报加载失败,提示重新加载,且不会执行加载过程,确保不会加载错误程序。在加载过程中,当出现数据固化异常时,加载功能模块会上报数据固化失败,提醒用户重新进行加载。该方法不用拆卸机载设备,可在线加载软件,节约人工成本,方便软件维护。
另外,通过标识的方式,实现了加载程序与应用程序的解耦合,按照该方法为基准开发的机载应用程序无需依照传统做法另行开发加载程序,最大程度提高了加载程序的复用率,减少了机载加载程序软件重新研发所带来的人力成本以及适航成本。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1为本发明实施例提供的一种机载电子设备软件加载方法的步骤流程图;
图2为本发明实施例提供的一种机载电子设备软件加载装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
图1所示为本发明实施例所提供的机载电子设备软件加载方法的步骤流程图,根据本发明的一方面,本发明提供一种机载电子设备软件加载方法,所述机载电子设备软件加载方法包括:
S1:当飞行器上的电子设备启动时,根据加载标识确定所述电子设备的功能软件的加载状态,若所述加载状态为非加载状态,则执行步骤S2,若所述加载状态为初始加载状态或更新加载状态,则执行步骤S3;
S2:在非加载状态下,若接收到地面加载设备发送的加载指令,则对所述加载指令进行校验,在校验通过后,根据所述加载指令和轮载信号重置所述加载标识,重启所述电子设备并返回步骤S1;
S3:接收所述地面加载设备发送的数据包,对所述数据包进行校验,在校验通过后加载所述数据包,并清空所述加载标识。
飞行器上具有多个机载电子设备,相比现有技术,本方案不需要为每一个电子设备设计启动方法,只需要设计该通用的机载电子设备软件安全加载方法,该方法可应用于多个机载电子设备中的任意一个,保证软件能够在地面进行正确加载,防止空中误运行加载功能。
以下对上述步骤S1~S3进行具体描述。
在步骤S1中,当飞行器上的电子设备启动时,根据加载标识确定所述电子设备的功能软件的加载状态,若所述加载状态为非加载状态,则执行步骤S2,若所述加载状态为初始加载状态或更新加载状态,则执行步骤S3;
示例性地,在电子设备的存储空间上存储有加载标识,加载标识包括两种,分别可以表征电子设备是否完成了初始加载操作,或者是否即将进行在线加载操作。其中,加载标识包括初始加载标识和在线加载标识。
举例来说,初始加载标识为电子脉冲存储器地址A中的数值,在电子设备首次上电运行时,初始加载标识为默认出厂状态值,该值为初始加载标识有效值,表征电子设备未加载过任何代码,电子设备需要进行初始加载,加载状态为初始加载状态。另外还有在线加载标识,例如,为在电子脉冲存储器地址B中的数值,若在线加载指令有效,表示需要对产品软件变更加载,加载状态为更新加载状态。若两个标识都无效,则加载状态为非加载状态。
在电子设备启动时,读取电子脉冲存储器中的在线加载标识和初始加载标识,判断软件是否加载软件。
在步骤S2中,在非加载状态下,若接收到地面加载设备发送的加载指令,则对所述加载指令进行校验,在校验通过后,根据所述加载指令和轮载信号重置所述加载标识,重启所述电子设备并返回步骤S1;
示例性地,若在线加载标识和初始加载标识都无效,则进入该步骤,电子设备可能具有多个功能软件,在启动后运行当前的软件。在需要加载新的软件时或者需要更新软件时,会接收到地面加载设备发送的加载指令。本方案通过地面加载设备手工设置加载指令以及轮载在地面有效的双重条件,保证产品的应用功能模块设置存储的在线加载标识的安全、稳定、可靠,防止空中发生误判。
在步骤S3中,接收所述地面加载设备发送的数据包,对所述数据包进行校验,在校验通过后加载所述数据包,并清空所述加载标识。
示例性地,若所述加载状态为初始加载状态或更新加载状态,则进行软件加载操作。具体来说,获取软件的数据包,并验证数据包是否准确完整。在电子设备正确完成加载后,将电子脉冲存储器中对应的加载标识置为无效值,以使下次启动电子设备时,不再次进行加载重复的加载操作。
进一步地,所述加载标识包括初始加载标识和在线加载标识,所述初始加载标识存储于所述电子设备的第一存储器地址,所述在线加载标识存储于所述电子设备的第二存储器地址。
示例性地,在电子设备的预设的地址中存储了初始加载标识和在线加载标识,例如分别在电子脉冲存储器地址A和存储器地址B中存储该两个标识,两个标识相互独立,彼此不受影响。
进一步地,所述根据加载标识确定所述电子设备的功能软件的加载状态包括:
若所述初始加载标识为预设的第一标识,确定所述加载状态为初始加载状态;
若所述初始加载标识为预设的第二标识,则获取所述在线加载标识;
若所述在线加载标识为预设的第三标识,则确定所述加载状态为更新加载状态;
若所述在线加载标识为预设的第四标识,则确定所述加载状态为非加载状态。
示例性地,初始加载标识和在线加载标识分别有两个状态,若所述初始加载标识为预设的第一标识,初始加载标识有效,表示将要进行初始加载;若所述初始加载标识为预设的第二标识,则无效,表示电子设备未加载软件,继续获取在线加载标识;若所述在线加载标识为预设的第三标识,则表示有效,表示需要对软件进行更新或升级;若所述在线加载标识为预设的第四标识,在线加载标识无效,不需要加载操作。
进一步地,所述对所述加载指令进行校验包括:
获取所述加载指令的同步头信息和校验和信息,分别对所述同步头信息和所述校验和信息进行数据校验。
示例性地,加载指令以数据帧格式发送,为了保障数据的准确性,为所需要的目标软件,根据同步头信息进行判断是否为目标软件。在确定软件类型后,需要校验数据是否完整,版本是否正确,则通过校验和信息进行判断。
进一步地,所述根据所述加载指令和轮载信号重置所述加载标识包括:
获取轮载信号,当所述轮载信号表征所述飞行器在地面状态时,判断所述加载指令的类型,根据所述加载指令的类型重置所述加载标识;
其中,若所述加载指令的类型为所述初始加载指令,则将所述初始加载标识设置为第一标识;
若所述加载指令的类型为非初始加载指令,则将所述在线加载标识设置为表征为第三标识。
示例性地,当加载指令有效,且接收的加载指令为初始加载指令时,且当前轮载信号表征飞行器在地面状态,则设置初始加载标识有效,例如,将该有效标识写入电子脉冲存储器中的地址A;
当加载指令有效,且接收的加载指令为非首次加载指令,且当前轮载信号表征飞行器在地面状态,则设置在线加载标识有效,例如,并将该有效标识写入电子脉冲存储器中的地址B。
加载标识重置后,对产品下电,并等待下次产品重新上电。
若接收到的加载指令无效或轮载信号在空中时,认为当前产品不具备加载条件,此时初始加载标识和加载标识均为无效,即电子设备无加载需求,电子设备继续执运行当前的应用功能。
进一步地,所述接收所述地面加载设备发送的数据包包括:
按顺序分别接收所述数据包的多个子数据包,针对每一个子数据包,执行如下操作:
获取该子数据包的序列号,若该序列号与上一个子数据包的序列号连续,则接收该子数据包,否则丢弃该数据包;
获取该子数据包的同步头信息和校验和信息,分别对所述同步头信息和所述校验和信息进行校验,并在校验通过以后,向所述地面加载设备发送该子数据包的接收成功信息,以使所述地面加载设备发送下一个子数据包。
示例性地,在数据传输的过程中,数据包较大,无法一次传输成功,或者传输速度较慢,因此将一个完整的数据包分为若干个子数据包,并根据顺序一个个发送至电子设备。
在每一个子数据包发送过程中,需要对收到的子数据包都进行同步头信息及校验和信息的判断,并对接收到的子数据包的序列号(标识当前数据包在所有数据包中顺序)进行正确性判断。只有当前子数据包接收正确时,认为当前接收的子数据包正确,即同步头信息和校验和信息正确,且序列号比上次正确接收的数据包的序列号大1)。若当前的子数据包传输完成,向地面加载设备反馈接收状态。
若当前子数据包数据接收正确,向地面加载设备反馈加载成功信息,地面加载设备根据反馈信息发送下一个子数据包。
为了保障数据的完整正确的传输,在本方案中,若当前子数据包的数据接收不正确,向地面加载设备反馈加载失败信息,地面加载设备根据反馈信息重复发送该子数据包;当数据链路中断,地面加载设备无法接收到电子设备的反馈信息时,地面加载设备重复发送同一个子数据包,若通讯恢复,则加载继续,若通信无法恢复正常,则结束该次加载。
进一步地,所述对所述数据包进行校验包括:
针对每一个子数据包,根据该子数据包计算当前校验码,并获取该子数据包的标准校验码,其中,所述当前校验码和所述标准校验码均为循环冗余校验码;
若所述当前校验码和所述标准校验码相同,则验证通过;
若所述当前校验码和所述标准校验码不同,则验证失败,并向所述地面加载设备发送加载失败信息。
示例性地,当多个子数据包接收完成后,对接收到的所有子数据包进行CRC校验。若CRC校验通过,则认为当前接收的待加载目标码正确。
进一步地,所述在校验通过后加载所述数据包包括:
将所述数据包中的目标码写入至存储空间;
在所述存储空间中读取加载后的目标码,若所述加载后的目标码与所述数据包中的目标码一致,则表示加载成功。
示例性地,将接收到的待加载目标码固化至存储芯片中。在固化过程中,将写入的数据重新进行读取,并与写入的该字节数据进行比对,若比对失败则认为当前数据写入失败,电子设备将该信息反馈至地面加载设备。
电子设备重新上电后再次进行加载。若读出的每一个字节数据均与写入的数据一致,则认为当前待加载代码固化成功,加载功能模块将加载标识清空,同时,将该信息反馈至地面加载设备。最后,产品断电,本次加载完成。
下面根据实施例一到实施例四说明多种场景下的加载情况。
实施例一
在该场景下,进行初始加载。具体来说,初始加载标识有效,轮载信号表征飞行器在地面状态,加载指令有效。电子设备处于初始加载模式。在该模式下,具体执行过程如下:
步骤1:机载电子设备上电;
步骤2:进入启动程序;
步骤3:从电子脉冲存储器中地址A(第一存储器地址)读取初始加载标识,从地址B(第二存储器地址)读取在线加载标识;
步骤4:判断初始加载标识有效,且电子设备当前尚未完成初始加载,则通过通讯功能获取地面加载设备发送的待加载代码的数据包。
步骤5:在每一个子数据包发送过程中,需要对收到的子数据包都进行同步头信息及校验和信息的判断,并对接收到的子数据包的序列号(标识当前数据包在所有数据包中顺序)进行正确性判断。只有当前子数据包接收正确时,认为当前接收的子数据包正确,即同步头信息和校验和信息正确,且序列号比上次正确接收的数据包的序列号大1)。若当前的子数据包传输完成,向地面加载设备反馈接收状态。
步骤6:若当前子数据包数据接收正确,向地面加载设备反馈加载成功信息,地面加载设备根据反馈信息发送下一个子数据包;若当前子数据包的数据接收不正确,向地面加载设备反馈加载失败信息,地面加载设备根据反馈信息重复发送该子数据包;当数据链路中断,地面加载设备无法接收到电子设备的反馈信息时,地面加载设备重复发送同一个子数据包,若通讯恢复,则加载继续,若通信无法恢复正常,则结束该次加载。
步骤7:当多个子数据包接收完成后,对接收到的所有子数据包进行CRC校验。若CRC校验通过,则认为当前接收的待加载目标码正确。
步骤8:若CRC校验通过,则认为当前接收的待加载目标码正确。将接收到的待加载目标码固化至存储芯片中。在固化过程中,将写入的数据重新进行读取,并与写入的该字节数据进行比对,若比对失败则认为当前数据写入失败,电子设备将该信息反馈至地面加载设备。
电子设备重新上电后再次进行加载。若读出的每一个字节数据均与写入的数据一致,则认为当前待加载代码固化成功,加载功能模块将加载标识清空,同时,将该信息反馈至地面加载设备。最后,产品断电,本次加载完成。
实施例一
在该场景下,进行更新加载。具体来说,在线加载标识有效,轮载信号表征飞行器在地面状态,加载指令有效。电子设备处于更新加载模式。在该模式下,具体执行过程如下:
步骤1:机载电子设备上电;
步骤2:进入启动程序;
步骤3:从电子脉冲存储器中地址A(第一存储器地址)读取初始加载标识,从地址B(第二存储器地址)读取在线加载标识;
步骤4:判断在线加载标识有效,且电子设备当前尚未完成在线的更新加载,则通过通讯功能获取地面加载设备发送的待加载代码的数据包。
步骤5:在每一个子数据包发送过程中,需要对收到的子数据包都进行同步头信息及校验和信息的判断,并对接收到的子数据包的序列号(标识当前数据包在所有数据包中顺序)进行正确性判断。只有当前子数据包接收正确时,认为当前接收的子数据包正确,即同步头信息和校验和信息正确,且序列号比上次正确接收的数据包的序列号大1)。若当前的子数据包传输完成,向地面加载设备反馈接收状态。
步骤6:若当前子数据包数据接收正确,向地面加载设备反馈加载成功信息,地面加载设备根据反馈信息发送下一个子数据包;若当前子数据包的数据接收不正确,向地面加载设备反馈加载失败信息,地面加载设备根据反馈信息重复发送该子数据包;当数据链路中断,地面加载设备无法接收到电子设备的反馈信息时,地面加载设备重复发送同一个子数据包,若通讯恢复,则加载继续,若通信无法恢复正常,则结束该次加载。
步骤7:当多个子数据包接收完成后,对接收到的所有子数据包进行CRC校验。若CRC校验通过,则认为当前接收的待加载目标码正确。
步骤8:若CRC校验通过,则认为当前接收的待加载目标码正确。将接收到的待加载目标码固化至存储芯片中。在固化过程中,将写入的数据重新进行读取,并与写入的该字节数据进行比对,若比对失败则认为当前数据写入失败,电子设备将该信息反馈至地面加载设备。
电子设备重新上电后再次进行加载。若读出的每一个字节数据均与写入的数据一致,则认为当前待加载代码固化成功,加载功能模块将加载标识清空,同时,将该信息反馈至地面加载设备。最后,产品断电,本次加载完成。
实施例三
在该场景下,电子脉冲存储器中的初始加载标识和加载标识均无效。产品处于空中重启模式。在该模式下,具体执行步骤如下:
步骤1:机载电子设备上电;
步骤2:进入启动程序;
步骤3:从电子脉冲存储器中地址A(第一存储器地址)读取初始加载标识,从地址B(第二存储器地址)读取在线加载标识;
步骤4:当前获取的初始加载标识和在线加载标识均无效,直接运行电子设备当前的软件。
实施例四
在该场景下,进行初始加载或者更新加载,但加载异常。因数据传输中断、数据传输异常、目标码选择错误等原因,导致代码加载失败。在该模式下,具体执行步骤如下:
步骤1:机载电子设备上电;
步骤2:进入启动程序;
步骤3:从电子脉冲存储器中地址A(第一存储器地址)读取初始加载标识,从地址B(第二存储器地址)读取在线加载标识;
步骤4:满足加载条件后(即当前有加载需求),通过通讯功能获取地面加载设备发送的待加载代码的数据包。
步骤5:在数据传输的过程中,若当前包数据接收不正确,加载功能模块向地面加载设备反馈加载失败信息,地面加载设备根据反馈信息重复发送该包数据;当加数据链路中断,地面加载设备无法接收到加载功能模块的反馈信息时,地面加载设备重复向加载功能模块发送同一包数据包,若通讯恢复,则加载继续,若通信无法恢复正常,则结束该次加载。
步骤6:当数据包接收完成后,加载功能模块对接收到的所有待加载数据包进行CRC校验。
步骤7:若CRC校验通过,则认为当前接收的待加载目标码正确。此时,将接收到的待加载目标码固化至存储芯片中。在固化过程中,将写入的数据重新进行读取,并与写入的该字节数据进行比对,若比对失败则认为当前软件写入失败,加载功能模块将该信息反馈至地面加载设备,同时,产品重新上电后再次进行加载。
通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:
在本发明所公开的技术方案中,根据机载电子设备的加载标识确定不同的加载状态,在非加载状态下等待加载指令,并根据加载指令和轮载信号重置加载标识。在加载状态下获取数据包并完成加载,清空加载标识。在本申请中,根据加载标识确定加载状态,初始加载标识和在线加载标识具有安全互斥效果,避免空中误运行加载功能带来的飞行隐患。通过严格的加载进入条件及安全互斥的加载标识设定及代码校验方法的合理场景应用,确保机载电子设备能够正确的完成在线加载过程,安全、可靠的运行加载功能,即保证了软件的正确加载又提高了加载过程的效率和易用性,特别是满足了适航软件运行的安全、可靠飞行要求。保证软件在地面进行正确加载,防止空中误运行加载功能。
执行加载操作时,对加载代码进行校验,校验通过后才进行代码加载,并会在产品断电、数据链路中断、数据传输异常情况等情况下,上报加载失败,提示重新加载,且不会执行加载过程,确保不会加载错误程序。在加载过程中,当出现数据固化异常时,加载功能模块会上报数据固化失败,提醒用户重新进行加载。该方法不用拆卸机载设备,可在线加载软件,节约人工成本,方便软件维护。
另外,通过标识的方式,实现了加载程序与应用程序的解耦合,按照该方法为基准开发的机载应用程序无需依照传统做法另行开发加载程序,最大程度提高了加载程序的复用率,减少了机载加载程序软件重新研发所带来的人力成本以及适航成本。
基于与本发明实施例的一种机载电子设备软件加载方法同样的发明构思,本发明实施例提供了一种机载电子设备软件加载装置,请参考图2,所述装置包括:
加载状态确定模块201,用于当飞行器上的电子设备启动时,根据加载标识确定所述电子设备的功能软件的加载状态;
第一加载模块202,用于在非加载状态下,若接收到地面加载设备发送的加载指令,则对所述加载指令进行校验,在校验通过后,根据所述加载指令和轮载信号重置所述加载标识,重启所述电子设备;
第二加载模块203,用于接收所述地面加载设备发送的数据包,对所述数据包进行校验,在校验通过后加载所述数据包,并清空所述加载标识。
进一步地,所述加载标识包括初始加载标识和在线加载标识,所述初始加载标识存储于所述电子设备的第一存储器地址,所述在线加载标识存储于所述电子设备的第二存储器地址。
进一步地,所述加载状态确定模块201还用于:
若所述初始加载标识为预设的第一标识,确定所述加载状态为初始加载状态;
若所述初始加载标识为预设的第二标识,则获取所述在线加载标识;
若所述在线加载标识为预设的第三标识,则确定所述加载状态为更新加载状态;
若所述在线加载标识为预设的第四标识,则确定所述加载状态为非加载状态。
进一步地,所述第一加载模块202还用于:
获取所述加载指令的同步头信息和校验和信息,分别对所述同步头信息和所述校验和信息进行数据校验。
进一步地,所述第一加载模块202还用于:
获取轮载信号,当所述轮载信号表征所述飞行器在地面状态时,判断所述加载指令的类型,根据所述加载指令的类型重置所述加载标识;
其中,若所述加载指令的类型为所述初始加载指令,则将所述初始加载标识设置为第一标识;
若所述加载指令的类型为非初始加载指令,则将所述在线加载标识设置为表征为第三标识。
进一步地,所述第二加载模块203还用于:
按顺序分别接收所述数据包的多个子数据包,针对每一个子数据包,执行如下操作:
获取该子数据包的序列号,若该序列号与上一个子数据包的序列号连续,则接收该子数据包,否则丢弃该数据包;
获取该子数据包的同步头信息和校验和信息,分别对所述同步头信息和所述校验和信息进行校验,并在校验通过以后,向所述地面加载设备发送该子数据包的接收成功信息,以使所述地面加载设备发送下一个子数据包。
进一步地,所述第二加载模块203还用于:
针对每一个子数据包,根据该子数据包计算当前校验码,并获取该子数据包的标准校验码,其中,所述当前校验码和所述标准校验码均为循环冗余校验码;
若所述当前校验码和所述标准校验码相同,则验证通过;
若所述当前校验码和所述标准校验码不同,则验证失败,并向所述地面加载设备发送加载失败信息。
进一步地,所述第二加载模块203还用于:
将所述数据包中的目标码写入至存储空间;
在所述存储空间中读取加载后的目标码,若所述加载后的目标码与所述数据包中的目标码一致,则表示加载成功。
其中,所述机载电子设备软件加载装置的其它方面以及实现细节与前面所描述的机载电子设备软件加载方法相同或相似,在此不再赘述。
根据本发明的另一方面,本发明还提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上所述的任一机载电子设备软件加载方法。
根据本发明的另一方面,本发明还提供一种飞行器,包括加载状态确定模块、第一加载模块、第二加载模块、处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行如上所述的任一机载电子设备软件加载方法。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (11)
1.一种机载电子设备软件加载方法,其特征在于,所述机载电子设备软件加载方法包括:
S1:当飞行器上的电子设备启动时,根据加载标识确定所述电子设备的功能软件的加载状态,若所述加载状态为非加载状态,则执行步骤S2,若所述加载状态为初始加载状态或更新加载状态,则执行步骤S3;
S2:在非加载状态下,若接收到地面加载设备发送的加载指令,则对所述加载指令进行校验,在校验通过后,根据所述加载指令和轮载信号重置所述加载标识,重启所述电子设备并返回步骤S1;
S3:接收所述地面加载设备发送的数据包,对所述数据包进行校验,在校验通过后加载所述数据包,并清空所述加载标识。
2.如权利要求1所述的机载电子设备软件加载方法,其特征在于,所述加载标识包括初始加载标识和在线加载标识,所述初始加载标识存储于所述电子设备的第一存储器地址,所述在线加载标识存储于所述电子设备的第二存储器地址。
3.如权利要求2所述的机载电子设备软件加载方法,其特征在于,所述根据加载标识确定所述电子设备的功能软件的加载状态包括:
若所述初始加载标识为预设的第一标识,确定所述加载状态为初始加载状态;
若所述初始加载标识为预设的第二标识,则获取所述在线加载标识;
若所述在线加载标识为预设的第三标识,则确定所述加载状态为更新加载状态;
若所述在线加载标识为预设的第四标识,则确定所述加载状态为非加载状态。
4.如权利要求1所述的机载电子设备软件加载方法,其特征在于,所述对所述加载指令进行校验包括:
获取所述加载指令的同步头信息和校验和信息,分别对所述同步头信息和所述校验和信息进行数据校验。
5.如权利要求2所述的机载电子设备软件加载方法,其特征在于,所述根据所述加载指令和轮载信号重置所述加载标识包括:
获取所述轮载信号,当所述轮载信号表征所述飞行器在地面状态时,判断所述加载指令的类型,根据所述加载指令的类型重置所述加载标识;
其中,若所述加载指令的类型为初始加载指令,则将所述初始加载标识设置为第一标识;
若所述加载指令的类型为非初始加载指令,则将所述在线加载标识设置为表征为第三标识。
6.如权利要求1所述的机载电子设备软件加载方法,其特征在于,所述接收所述地面加载设备发送的数据包包括:
按顺序分别接收所述数据包的多个子数据包,针对每一个子数据包,执行如下操作:
获取该子数据包的序列号,若该序列号与上一个子数据包的序列号连续,则接收该子数据包,否则丢弃该数据包;
获取该子数据包的同步头信息和校验和信息,分别对所述同步头信息和所述校验和信息进行校验,并在校验通过以后,向所述地面加载设备发送该子数据包的接收成功信息,以使所述地面加载设备发送下一个子数据包。
7.如权利要求6所述的机载电子设备软件加载方法,其特征在于,所述对所述数据包进行校验包括:
针对每一个子数据包,根据该子数据包计算当前校验码,并获取该子数据包的标准校验码,其中,所述当前校验码和所述标准校验码均为循环冗余校验码;
若所述当前校验码和所述标准校验码相同,则验证通过;
若所述当前校验码和所述标准校验码不同,则验证失败,并向所述地面加载设备发送加载失败信息。
8.如权利要求7所述的机载电子设备软件加载方法,其特征在于,所述在校验通过后加载所述数据包包括:
将所述数据包中的目标码写入至存储空间;
在所述存储空间中读取加载后的目标码,若所述加载后的目标码与所述数据包中的目标码一致,则表示加载成功。
9.一种机载电子设备软件加载装置,其特征在于,所述装置包括:
加载状态确定模块,用于当飞行器上的电子设备启动时,根据加载标识确定所述电子设备的功能软件的加载状态;
第一加载模块,用于在非加载状态下,若接收到地面加载设备发送的加载指令,则对所述加载指令进行校验,在校验通过后,根据所述加载指令和轮载信号重置所述加载标识,重启所述电子设备;
第二加载模块,用于接收所述地面加载设备发送的数据包,对所述数据包进行校验,在校验通过后加载所述数据包,并清空所述加载标识。
10.一种存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如权利要求1至8中任一项所述的机载电子设备软件加载方法。
11.一种飞行器,包括加载状态确定模块、第一加载模块、第二加载模块、处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述的机载电子设备软件加载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310956954.9A CN117032825A (zh) | 2023-07-31 | 2023-07-31 | 机载电子设备软件加载方法、装置、存储介质及飞行器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310956954.9A CN117032825A (zh) | 2023-07-31 | 2023-07-31 | 机载电子设备软件加载方法、装置、存储介质及飞行器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117032825A true CN117032825A (zh) | 2023-11-10 |
Family
ID=88630988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310956954.9A Pending CN117032825A (zh) | 2023-07-31 | 2023-07-31 | 机载电子设备软件加载方法、装置、存储介质及飞行器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117032825A (zh) |
-
2023
- 2023-07-31 CN CN202310956954.9A patent/CN117032825A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569847B (zh) | 一种用于车载系统基于移动网络实现iap远程升级的方法 | |
US7428663B2 (en) | Electronic device diagnostic methods and systems | |
US5276863A (en) | Computer system console | |
CN103761122A (zh) | 一种芯片固件的升级方法和系统 | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
CN109189445A (zh) | 一种物联网设备程序升级的方法 | |
CN111930406B (zh) | 车载终端微控制单元软件升级方法、电子设备及存储介质 | |
CN114281394A (zh) | 一种快速在线升级程序的方法、系统、设备及介质 | |
CN114995860B (zh) | 图形处理器固件升级的方法和图形处理器 | |
CN111190629A (zh) | 一种嵌入式终端升级软件包及其解析方法 | |
CN113064748A (zh) | 进程接替的方法、装置、电子设备及存储介质 | |
CN113467813A (zh) | 一种控制器在线升级方法、装置、电子设备及存储介质 | |
CN113760332A (zh) | 软件升级方法和电子设备 | |
CN114840235A (zh) | 车辆控制器固件升级方法、系统、车辆控制器及存储介质 | |
CN117032825A (zh) | 机载电子设备软件加载方法、装置、存储介质及飞行器 | |
JP2003172199A (ja) | 車両用電子制御装置のプログラム書き換えシステム | |
CN114594995A (zh) | 电子装置及其开机方法 | |
CN112600787A (zh) | 一种通信系统及通信方法 | |
CN115437674B (zh) | 一种固件升级方法、装置、介质及电子设备 | |
CN116483409A (zh) | 一种远程固件更新的方法、系统、电子设备及存储介质 | |
CN115658152A (zh) | 固件升级方法、固件、电子设备和计算机可读存储介质 | |
CN114815700A (zh) | 一种星载sar在轨工作程控系统及方法 | |
CN114546455A (zh) | 一种双分区的mcu软件升级方法及装置 | |
CN114026537A (zh) | 用于在车辆的车载总线上与计算机进行对话的方法 | |
CN117908932A (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 |