An on-board software online upgrading method compatible with different bus interfaces

By adopting an online software upgrade method compatible with different bus interfaces, the problem of incompatibility with user machine loading in existing technologies has been solved, achieving efficient and flexible software upgrades, ensuring the correctness and independence of loading, and improving the maintenance efficiency and reliability of airborne products.

CN120950108BActive Publication Date: 2026-01-16CHENGDU CAIC ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511493154.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-20
Publication Date
2026-01-16
Estimated Expiration
2045-10-20

AI Technical Summary

Technical Problem

Existing online software upgrade methods can only meet the maintenance needs of airborne product manufacturers, but cannot be compatible with the unified loading requirements of users' machines, resulting in low software upgrade efficiency.

Method used

A method for online airborne software upgrade compatible with different bus interfaces is provided. By judging the validity of the loading identifier and the loading source identifier, the source of the loading command is identified, and the target code information is received on different bus interfaces. Verification and consistency comparison are performed to ensure the correctness and independence of the loaded target code information.

Benefits of technology

It meets the requirements of unified loading on user machines and maintenance by product manufacturers, improves the flexibility and efficiency of software upgrades, prevents accidental loading, ensures the normal operation of updated applications, and has high reliability and robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120950108B_ABST
    Figure CN120950108B_ABST
Patent Text Reader

Abstract

The application discloses an airborne software online upgrading method compatible with different bus interfaces, and belongs to the technical field of airborne embedded software, and comprises the following steps: providing two types of bus interfaces; taking a loading mark as a basis for whether to execute loading, identifying a loading information source according to a loading source mark, and giving priority to product software to respond to a loading demand from a user; when loading is executed, another loading interface is shielded, so that the independence of the loading interface is guaranteed; consistency of a CSCI ID and a target code name of a loading target code is judged, so that the correctness of the loading target code is ensured; after target code loading and verification are successful, a program is jumped to an updated application program, and the cleaning of the loading mark and the loading source mark is executed in the application program, so that the updated application program can normally operate, other product software is prevented from being wrongly loaded to become "bricks", and the method has the advantages of high reliability and strong robustness.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of airborne embedded software, and particularly relates to an airborne software online upgrading method compatible with different bus interfaces. BACKGROUND

[0002] Airborne products usually need to frequently update software according to user flight test requirements, and iteratively upgrade. Traditional offline software upgrading methods need to displace and disassemble the products, additionally provide power supply for the products, and the external factory maintenance process is complex, and the software upgrading efficiency is low. In order to improve the software upgrading efficiency of airborne products and realize unified management, distributed upgrading of software of different airborne products, users usually use airborne bus interfaces (such as 1394B bus), define a unified loading protocol, and use a platform management system bus network to realize in-place upgrading of software of each airborne product. However, for manufacturers of airborne products, in order to improve the software maintenance and troubleshooting efficiency of products, a low-cost bus interface (such as RS-422A bus) is usually used to realize the in-place upgrading function of software.

[0003] At present, the commonly used software online upgrading method is single, and can only meet the maintenance requirements of manufacturers of airborne products, and cannot simultaneously meet the unified loading requirements of users on the machine. SUMMARY

[0004] In view of the above problems in the prior art, the present application provides an airborne software online upgrading method compatible with different bus interfaces, which solves the problem that the existing software online upgrading method can only meet the maintenance requirements of manufacturers of airborne products and cannot simultaneously meet the unified loading requirements of users on the machine.

[0005] In order to achieve the above-mentioned purposes, the technical scheme adopted by the present application is as follows:

[0006] The present application provides an airborne software online upgrading method compatible with different bus interfaces, comprising:

[0007] S1: executing a BOOT boot program, reading an online loading identifier and a loading source identifier, and judging whether a synchronization header and a checksum are correct, if the synchronization header and the checksum are correct, entering S2; otherwise, entering S3;

[0008] S2: judging whether the online loading identifier and the loading source identifier are simultaneously valid, if not valid, entering S3; if valid, entering S5;

[0009] S3: executing an application program to perform a normal mode task, judging whether a valid online loading command is received, if the online loading command is valid, setting the online loading identifier as AA55AA55H, and entering S4; otherwise, continuing to execute S3;

[0010] S4: identify the loading command source, if the loading command is sent by the flight tube computer through the 1394B bus, set the loading source identification to 11H, at the same time, no longer receive the command through the RS-422A bus, enter S5; if the loading command is sent by the maintenance device through the RS-422A bus, set the loading source identification to 22H, at the same time, no longer receive the loading command through the 1394B bus, enter S5;

[0011] S5: package the online loading identification and the loading source identification, write into the product NVM after increasing the synchronization header and the checksum, and execute the CPU software reset;

[0012] S6: execute the online loading program, obtain the loading source identification information from the product NVM, if the data synchronization header and the checksum are correct, judge whether the loading source identification is 11H, if yes, enter S7; otherwise, enter S8;

[0013] S7: receive the execution loading command and the target code information sent by the flight tube computer through the 1394B bus, and judge whether the execution loading command is valid, if yes, enter S9; otherwise, continue to execute S7;

[0014] S8: receive the execution loading command and the target code information sent by the ground maintenance device through the RS-422A bus, and judge whether the execution loading command is valid, if yes, enter S9; otherwise, continue to execute S8;

[0015] S9: receive the target code data, when receiving the first frame of target code information, judge whether the first 16 bytes of the target code are the product software configuration item CSCI ID and the target code name, to confirm the correctness of the loading target code, if the CSCI ID and the target code name are consistent with the product information, continue to receive the subsequent target code data, and enter S10; otherwise, enter S6, report the target code information error, and reload;

[0016] S10: perform the checksum calculation on the complete target code information received by the product, if the target code passes the checksum, report the target code transmission success, enter S11; otherwise, return to S6, report the transmission failure, and reload;

[0017] S11: calculate the number of FLASH sectors to be erased according to the received target code length information, and perform the FLASH sector erase, after the FLASH sector erase is completed, write the received target code into the FLASH;

[0018] S12: read the target code data from the FLASH, and perform the consistency comparison with the target code received through the bus, if the target code information is consistent, consider that the target code passes the checksum, execute the program jump instruction, jump to the updated application program, enter S13; otherwise, report the target code checksum failure, return to S6, and reload;

[0019] S13: The application program judges whether valid clear loading identifier and loading source identifier instructions are received, and if valid identifier clear instructions are received, the online loading identifier and loading source identifier are cleared; otherwise, the updated application program is continuously executed.

[0020] Further, the judging whether the online loading identifier and the loading source identifier are valid at the same time comprises:

[0021] If the online loading identifier is AA55AA55H and the loading source identifier is 11H or 22H, it is considered that the two are valid at the same time; otherwise, it is considered that they are invalid.

[0022] Further, the judging whether valid online loading instructions are received comprises:

[0023] If the received online loading instructions change from invalid 0 to valid 1, and the valid 1 lasts for at least 1s, it is considered that valid online loading instructions are received; otherwise, it is considered that valid online loading instructions are not received.

[0024] Further, the judging whether the execution loading instructions are valid comprises:

[0025] If the execution loading instructions change from invalid 0 to valid 1, and the valid 1 lasts for at least 1s, it is considered that the execution loading instructions are valid; otherwise, it is considered that the execution loading instructions are invalid.

[0026] Further, the first 16 bytes of the target code information are software configuration item ID 500365H and software target code name 107.bin.

[0027] Further, the verifying calculation of the complete target code information of the received product comprises:

[0028] The CRC (Cyclic Redundancy Check) is used for the verifying calculation.

[0029] Further, the validity judging method of the identifier clear instructions is that the received identifier clear instructions change from invalid 0 to valid 1, and the valid 1 lasts for at least 1s.

[0030] The application has the following beneficial effects:

[0031] This application provides an online software upgrade method for airborne systems compatible with different bus interfaces. It meets both the unified loading requirements of users and the maintenance and troubleshooting needs of external product manufacturers, offering advantages such as high flexibility and efficiency in software upgrades. This method is compatible with two types of bus interfaces, providing significant practical application value and economic benefits. It uses a loading identifier as the basis for determining whether to execute a loading request, and identifies the loading information source based on the loading source identifier. The product software prioritizes responding to loading requests from users, and masks the other loading interface during loading, ensuring its independence. Simultaneously, the method performs a consistency comparison of the target code information. After successful target code loading verification, it executes the updated application via a jump instruction. The loading identifier and loading source identifier are cleared within the application to ensure the updated application runs normally, preventing accidental loading of other product software that could "brick" the system and prevent the product from starting normally. This method offers high reliability and robustness. Attached Figure Description

[0032] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other embodiments can be obtained based on these drawings.

[0033] Figure 1 This is a flowchart illustrating an online software upgrade method compatible with different bus interfaces, provided as an embodiment of this application.

[0034] Figure 2 This is a schematic diagram of a program storage partition provided in an embodiment of this application. Detailed Implementation

[0035] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.

[0036] This application provides an online upgrade method for airborne software compatible with different bus interfaces. This method can be found in [reference needed]. Figure 1 , Figure 1 The diagram shown is a flowchart illustrating an online software upgrade method compatible with different bus interfaces provided in this application embodiment. In this method, the program storage partition can be found in... Figure 2 The method includes:

[0037] S1: the product executes the BOOT program after normal power on, the BOOT program obtains the software online loading identification and loading source identification from the product non-volatile memory, judges whether the obtained data synchronization header and checksum are correct, if the synchronization header and checksum are correct, continues to judge whether the online loading identification and loading source identification are valid at the same time; otherwise, executes the normal application program.

[0038] S2: judges whether the online loading identification and loading source identification are valid at the same time, if not, executes the normal application program, if yes, executes the loading program. The validity judgment method is that when the online loading identification is AA55AA55H and the loading source identification is 11H or 22H, it is considered that both are valid at the same time, otherwise, it is considered that not valid.

[0039] S3: executes the application program to perform the normal mode task, judges whether the valid online loading command is received in real time in the application program, if the online loading command is valid, sets the online loading identification as AA55AA55H, continues to judge the loading source identification, if not valid, executes the normal application program. The online loading command validity judgment method is that when the received online loading command changes from invalid 0 to valid 1, and the valid 1 lasts at least 1s, it is considered that the valid online loading command is received; otherwise, it is considered that the valid online loading command is not received.

[0040] S4: identifies the loading command source, if the loading command is sent by the flying tube computer through the 1394B bus, sets the loading source identification as 11H, at the same time, no longer receives the command through the RS-422A bus, executes step S5; if the loading command is sent by the maintenance device through the RS-422A bus, sets the loading source identification as 22H, at the same time, no longer receives the loading command through the 1394B bus, writes the loading identification and loading source identification into the NVM.

[0041] S5: packs the online loading identification and loading source identification, writes into the product NVM after adding the synchronization header and checksum, and executes the CPU software reset.

[0042] S6: executes the online loading program, obtains the loading source identification information from the product NVM, if the obtained data synchronization header and checksum are correct, judges whether the loading source identification is 11H, if yes, enters step S7; otherwise, enters step S8.

[0043] S7: receives the execution loading command and target code information sent by the flying tube computer through the 1394B bus, if the execution loading command is valid, enters step S9; otherwise, executes step S7; the execution loading command validity judgment method is that the execution loading command changes from invalid 0 to valid 1, and the valid 1 lasts at least 1s; the first 16 bytes of the target code information are software configuration item ID (CSCI ID) 500365H and software target code name 107.bin.

[0044] S8: receiving the execution loading instruction and target code information sent by the ground maintenance device through the RS-422A bus, if the execution loading instruction is valid, entering step S9; otherwise, executing step S8; the validity of the execution loading instruction is determined by changing the execution loading instruction from invalid 0 to valid 1, and the valid 1 lasts at least 1 s; the first 16 bytes of the target code information are software configuration item ID (CSCI ID) 500365H and software target code name 107.bin.

[0045] S9: executing target code data receiving, when receiving the first frame of target code information, judging whether the first 16 bytes of the target code are the CSCI ID and the target code name of the product to confirm the correctness of the loaded target code, if the CSCI ID and the target code name are consistent with the product information, continuing to receive the subsequent target code data, and executing step S10; otherwise, returning to step S6, reporting target code information error, and re-executing loading.

[0046] S10: performing check calculation on the complete target code information of the received product, the check calculation method being CRC (Cyclic Redundancy Check), if the target code passes the check, reporting target code transmission success, and executing step S11; otherwise, returning to step S6, reporting transmission failure, and re-executing loading.

[0047] S11: calculating the number of FLASH sectors to be erased according to the length information of the received target code, and executing FLASH sector erasing, after the FLASH sector erasing is completed, writing the received target code into the FLASH, and executing step S12.

[0048] S12: reading the target code data from the FLASH, and performing consistency comparison with the target code received through the bus, if the target code information is consistent, considering that the target code passes the check, executing program jump instruction, jumping to the updated application program, and executing step S13; otherwise, reporting target code check failure, returning to step S6, and re-loading.

[0049] S13: the application program judging whether valid clear loading identifier and loading source identifier instructions are received, if valid identifier clear instructions are received, clearing 0 the NVM space data of the stored identifier, otherwise, continuing to execute the updated application program; the validity of the identifier clear instruction is determined by changing the received identifier clear instruction from invalid 0 to valid 1, and the valid 1 lasts at least 1 s.

[0050] The application can be compatible with two different bus interfaces, can meet the unified loading demand of user, can facilitate the user to uniformly manage the airborne software, can distribute upgrade, can be compatible with the low-cost bus loading demand of product manufacturer, can facilitate the external factory maintenance and troubleshooting, has the advantages of strong software upgrade flexibility and high upgrade efficiency, has strong practical application value and high economic benefits. Moreover, the loading information source is identified through the loading source identifier, the loading command request from the user is preferentially responded, when loading through a certain bus, the loading request of another bus interface is not responded any more, the bus data conflict is prevented, the independence of the software loading bus interface is ensured, and the reliability is high. Meanwhile, the consistency of the target code information is compared when executing the loading, including the target code CSCI ID and the target code name, only when the target code information is consistent, the program solidification is executed, the product is prevented from being changed into a brick due to the misloading of other product software. In addition, after the target code loading verification is successful, the updated application program is executed through the jump instruction, the loading identifier and the loading source identifier are cleared in the application program, so that the updated application program can be normally run, the product is prevented from being changed into a brick due to the misloading of other product software, the product cannot be normally started, and the advantages of high reliability and strong robustness are obtained.

[0051] It should be noted that the person skilled in the art will realize that the embodiments described herein are for the purpose of helping the reader to understand the principles of the application and should be understood as the protection scope of the application not being limited to such specific statements and embodiments. The person skilled in the art can make various other specific modifications and combinations according to the technical inspirations disclosed in the application without departing from the essence of the application, and these modifications and combinations are still within the protection scope of the application.

Claims

1. An on-board software online upgrading method compatible with different bus interfaces, characterized in that, Comprising: S1: execute BOOT program, read online loading identification and loading source identification, and determine whether the synchronization header and checksum are correct, if the synchronization header and checksum are correct, enter S2; otherwise, enter S3; S2: determine whether the online loading identification and loading source identification are valid at the same time, if not, enter S3; if valid, enter S5; S3: execute application program to perform normal mode task, determine whether a valid online loading command is received, if a valid online loading command is received, set the online loading identification as AA55AA55H, enter S4; otherwise, continue to execute S3; S4: identify the loading command source, if the loading command is sent by the flight computer through the 1394B bus, set the loading source identification as 11H, at the same time, no longer receive the command through the RS-422A bus, enter S5; if the loading command is sent by the maintenance device through the RS-422A bus, set the loading source identification as 22H, at the same time, no longer receive the loading command through the 1394B bus, enter S5; S5: package the online loading identification and loading source identification, write into the product NVM after adding the synchronization header and checksum, and execute CPU software reset; S6: execute the online loading program, obtain the loading source identification information from the product NVM, if the data synchronization header and checksum are correct, determine whether the loading source identification is 11H, if yes, enter S7; otherwise, enter S8; S7: receive the execution loading command and target code information sent by the flight computer through the 1394B bus, and determine whether the execution loading command is valid, if the execution loading command is valid, enter S9; otherwise, continue to execute S7; S8: receive the execution loading command and target code information sent by the ground maintenance device through the RS-422A bus, and determine whether the execution loading command is valid, if the execution loading command is valid, enter S9; otherwise, continue to execute S8; S9: receive the target code data, when the first frame of target code information is received, determine whether the first 16 bytes of the target code are the product software configuration item CSCI ID and the target code name, to confirm the correctness of the loading target code, if the CSCI ID and the target code name are consistent with the product information, continue to receive the subsequent target code data, and enter S10; otherwise, enter S6, report the target code information error, and reload; S10: perform the check calculation on the complete target code information of the received product, if the target code passes the check, report the target code transmission success, enter S11; otherwise, return to S6, report the transmission failure, and reload; S11: calculate the number of FLASH sectors to be erased according to the length information of the received target code, and perform FLASH sector erasing, after the FLASH sector erasing is completed, write the received target code into the FLASH; S12: read the target code data from the FLASH, and perform consistency comparison with the target code received through the bus, if the target code information is consistent, consider that the target code passes the check, execute the program jump instruction, jump to the updated application program, enter S13; otherwise, report the target code check failure, return to S6, and reload; S13: The application program judges whether valid clear loading identifier and loading source identifier instructions are received, if valid identifier clear instructions are received, the online loading identifier and loading source identifier are cleared; otherwise, the updated application program is continuously executed.

2. The method for online upgrade of airborne software compatible with different bus interfaces according to claim 1, characterized in that, The judgment whether the online loading identifier and the loading source identifier are valid simultaneously comprises: If the online loading identifier is AA55AA55H and the loading source identifier is 11H or 22H, it is considered that both are valid simultaneously; otherwise, it is considered that both are invalid.

3. The method for online upgrade of onboard software compatible with different bus interfaces according to claim 1, characterized in that, The judgment whether the online loading command is valid comprises: If the received online loading command is changed from invalid 0 to valid 1, and the valid 1 lasts for at least 1s, it is considered that the valid online loading command is received; otherwise, it is considered that the valid online loading command is not received.

4. The method for online upgrade of onboard software compatible with different bus interfaces according to claim 1, characterized in that, The judgment whether the execution loading command is valid comprises: If the execution loading command is changed from invalid 0 to valid 1, and the valid 1 lasts for at least 1s, it is considered that the execution loading command is valid; otherwise, it is considered that the execution loading command is invalid.

5. The method for online upgrade of onboard software compatible with different bus interfaces according to claim 1, characterized in that, The first 16 bytes of the target code information are software configuration item ID 500365H and software target code name 107.bin.

6. The method for online upgrade of onboard software compatible with different bus interfaces according to claim 1, characterized in that, The verification calculation of the complete target code information of the received product comprises: The verification calculation is performed by using CRC (Cyclic Redundancy Check).

7. The method for online upgrade of onboard software compatible with different bus interfaces according to claim 1, characterized in that, The validity judgment method of the identifier clear instruction is that the received identifier clear instruction is changed from invalid 0 to valid 1, and the valid 1 lasts for at least 1s.

Citation Information

Patent Citations

  • Software upgrading and version maintenance method for remote interface unit of heterogeneous multiprocessor

    CN116166287A

  • Controller software upgrading method and device, electronic equipment and storage medium

    CN118939288A