A Method for Software Upgrade and Version Maintenance of a Heterogeneous Multi-Processor Remote Interface Unit
The method for software upgrade and version management in heterogeneous multi-processor remote interface units addresses complexity and security issues by coordinating encrypted data distribution and integrity checks, improving efficiency and adaptability in aircraft systems.
Patent Information
- Application Number
- CN202211319900.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-26
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2042-10-26
AI Technical Summary
In the prior art, the software upgrade and version maintenance process of heterogeneous multiprocessor remote interface units is complicated, which increases the work burden of maintenance personnel and poses a risk of commercial confidentiality, making it difficult to meet the needs of high density, high performance and high reliability of on-board equipment.
The main processor and coprocessor work together, by setting up the upgraded software storage area, data encryption and packaging is performed, and maintenance instructions and software are issued using ground maintenance equipment. The main processor and coprocessor are maintained at the same time, and the software version compatibility and integrity verification are carried out to simplify operation steps.
It realizes the simplification of software upgrade and version maintenance of heterogeneous multiprocessor remote interface unit software upgrade and version maintenance, reduces labor and time costs, improves data security, and enhances equipment adaptability and reliability.
Smart Images

Figure CN116166287B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of avionics computers, and particularly relates to a method for software upgrade and version maintenance of a heterogeneous multi-processor remote interface unit. Background Art
[0002] With the continuous development of airborne remote interface units, systems with a single main processor architecture have gradually been unable to meet the development requirements of high density, high performance, high security, and high reliability of on-board equipment. Airborne computer products are gradually transitioning and developing from traditional single main processor architectures to heterogeneous and multi-processor hardware architectures, that is, multiple main processors with different architectures work together and cooperate with each other to meet the functional and performance requirements of the product. However, with the increase in the number of main processors inside the remote interface unit, combined with the situation that the main processors under heterogeneous architectures have different endian orders, the problems of software upgrade and version maintenance have become increasingly complex. The currently adopted method is to manually upgrade each main processor one by one, but this upgrade method undoubtedly increases the work complexity of software maintenance personnel.
[0003] Remote interface unit products are on-board products and have commercial confidentiality requirements. If cleartext upgrade is used during the upgrade process, there will be commercial risks such as software leakage.
[0004] With the increasing number and complexity of on-board software, the software upgrade frequency is continuously increasing, and the number of scenarios that require version switching is also increasing. During the product test phase, users will have requirements for software version rollback (downgrade); or in modified aircraft of the same aircraft platform, the same airborne products may be loaded with different software configuration items of different versions. In such test scenarios, the software maintenance process of airborne products will face frequent version switching. Therefore, it is an urgent need to enable on-board products to have the function of quickly switching multiple software versions. Summary of the Invention
[0005] In view of this, the purpose of this application is to propose a method for software upgrade and version maintenance of a heterogeneous multi-processor remote interface unit to solve or mitigate at least one of the problems raised in the background art, simplify the operation steps of software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit, and save manpower and time.
[0006] To achieve the above purpose, the specific technical solution adopted by the present invention is as follows:
[0007] A method for software upgrade and version maintenance of a heterogeneous multi-processor remote interface unit, the heterogeneous multi-processor remote interface unit includes a main processor and multiple coprocessors that communicate with each other;
[0008] An upgrade software storage area is provided on each of the main processor and the co-processors; the upgrade software storage area is used to store the historical version software and the software to be upgraded;
[0009] A ground maintenance device communicates with the main processor and is used to send maintenance instructions and / or the software to be upgraded to the main processor, and the main processor sends respective maintenance instructions and / or the software to be upgraded to the co-processors to be maintained;
[0010] The maintenance processes of the main processor and each co-processor to be maintained are carried out simultaneously; when the maintenance is to downgrade the current version to the historical version, the main processor and / or the co-processor call the historical version software in the upgrade software storage area based on the maintenance instructions;
[0011] The process of sending the software to be upgraded is as follows:
[0012] Add the length information of the data, software version information, main processor endian flag, and the starting address of program execution to the head of each software to be upgraded, add the check information of the data to the end and perform encapsulation;
[0013] Perform the first encryption on the encapsulated software to be upgraded;
[0014] Merge and re-encrypt the software to be upgraded after the first encryption. The specific method is as follows:
[0015] Add the corresponding processing serial number information and data length to the head of each software to be upgraded after the first encryption, add the check code to the tail and merge; add the upgrade file size information to the head of the merged data packet, add the check code information to the tail and perform encapsulation, and perform the second encryption after encapsulation.
[0016] Further, the software upgrade and version maintenance method includes the following steps:
[0017] S1. The host computer encapsulates and encrypts the upgrade software of each main processor of the remote interface unit;
[0018] S2. The host computer sends the upgrade data, the device main processor receives the upgrade data, and decrypts and unpacks the upgrade data and distributes it to the corresponding co-processors respectively;
[0019] S3. The host computer sends an upgrade command, and the main processor distributes the upgrade command to each co-processor;
[0020] S4. Each main processor decrypts and verifies the upgrade data according to the upgrade key in the upgrade command and performs software upgrade, and reports the upgrade result to the host computer;
[0021] S5. The host computer sends a software version check command, and each main processor performs software integrity verification. The main processor performs software version compatibility verification and reports the check results to the host computer.
[0022] Furthermore, the determination method of the main processor and the coprocessor is as follows:
[0023] A fixed identification number is assigned to each main processor, and one of the main processors is designated as the main processor for software upgrade and maintenance, and the other main processors are defined as coprocessors for upgrade and maintenance.
[0024] Furthermore, S2 is specifically as follows: The host computer issues upgrade data. The main processor performs data verification on the upgrade data, and performs the first decryption and decompression. According to the main processor serial number information of each segment of upgrade data, each segment of upgrade data is sent to the corresponding coprocessor through the internal bus of the device.
[0025] After each main processor receives the upgrade data, it performs data integrity verification. After passing the verification, it performs endian conversion on the upgrade data to make the endian of the upgrade data consistent with its own endian, and stores it in the upgrade software storage area of its own memory.
[0026] Furthermore, the information included in the upgrade command in S3 is: the ID information of each main processor, the software version to be upgraded, and the decryption key of the upgrade data. After receiving the upgrade command, the main processor forwards the upgrade command to the corresponding coprocessor according to the command information.
[0027] Furthermore, S4 specifically includes the following steps:
[0028] S401. After each main processor receives the upgrade command, it enters the loading mode and searches for the data in the upgrade software storage area of its own memory according to the software version required by the command.
[0029] S402. Decrypt the encrypted data according to the upgrade key and perform data integrity verification.
[0030] S403. Each main processor writes the upgrade data that has passed the verification into its own running software storage area.
[0031] S404. After the writing is completed, the data written into the software storage area is read and compared with the upgrade data after decryption and verification in the upgrade software storage area. If the data comparison is consistent, the upgrade is successful.
[0032] S405. Send the upgrade result to the main processor. The main processor reports the upgrade result to the host computer.
[0033] Further, in S5, the host computer sends a software version check command, and each main processor performs software integrity verification and software version compatibility verification. Data integrity verification is performed by calculating the checksum of software data and comparing it with the expected value to determine data integrity; software version compatibility verification is performed by querying the version compatibility table to determine software version compatibility; the main processor reports the software data integrity verification result, software version, and compatibility to the host computer; by comparing the software versions and compatibilities of each main processor through the host computer, if the versions are the same and compatible, the upgrade is considered successful and the upgrade is completed, otherwise the upgrade is considered failed.
[0034] Further, the upgrade-related commands include: upgrade command, software storage version query command, software storage deletion command, and stop operation command; among them, the fields included in an upgrade command are: upgrade instruction frame header, ID of the main processor to be upgraded, upgrade software version information, software key, and checksum; the fields included in the software storage version query command are: software version query instruction frame header, ID of the main processor to be queried, and checksum; the fields included in the software storage deletion command are: software storage deletion instruction frame header, main processor ID, software version information to be deleted, and checksum; the fields included in the stop operation command are: stop instruction frame header, main processor ID, and checksum.
[0035] Further, the storage space corresponding to each main processor includes a running software storage area, an upgrade execution program storage area, and an upgrade software storage area; the running software storage area stores the currently running software; the upgrade execution program storage area stores the execution program related to the upgrade; the data storage method in the upgrade software storage area adopts a rolling storage method.
[0036] Further, the host computer is an airborne CMS system, a ground maintenance device, or an airborne computer storing upgrade software. Description of the Drawings
[0037] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0038] Figure 1 It is a schematic diagram of the system architecture of heterogeneous multi-processors in the specific embodiment of the present invention;
[0039] Figure 2 It is a flow chart of the upgrade steps of heterogeneous multi-processors in the specific embodiment of the present invention;
[0040] Figure 3 It is a schematic diagram of the data encapsulation and encryption process in the specific embodiment of the present invention;
[0041] Figure 4 It is the flowchart of the main processor receiving upgrade data in the specific embodiment of the present invention;
[0042] Figure 5 It is the flowchart of the coprocessor receiving data in the specific embodiment of the present invention;
[0043] Figure 6 It is the flowchart of the main processor receiving upgrade commands and upgrades in the specific embodiment of the present invention;
[0044] Figure 7 It is the flowchart of the coprocessor receiving upgrade commands and upgrades in the specific embodiment of the present invention;
[0045] Figure 8 It is the flowchart of the main processor executing the software version query command in the specific embodiment of the present invention;
[0046] Figure 9 It is the schematic diagram of the program storage space partition of the main processor in the specific embodiment of the present invention. Specific Embodiment
[0047] The following will describe the embodiments of the present disclosure in detail with reference to the accompanying drawings.
[0048] The following illustrates the embodiments of the present disclosure through specific specific examples. Those skilled in the art can easily understand other advantages and effects of the present disclosure from the content disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that, without conflict, the following embodiments and the features in the embodiments can be combined with each other. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present disclosure without creative efforts belong to the scope of protection of the present disclosure.
[0049] Note that the following describes various aspects of embodiments within the scope of the appended claims. It should be apparent that the aspects described herein can be embodied in a wide variety of forms, and any specific structure and / or function described herein is illustrative only. Based on this disclosure, those skilled in the art should understand that one aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects set forth herein can be used to implement a device and / or practice a method. Additionally, this device can be implemented and this method can be practiced using other structures and / or functionality in addition to one or more of the aspects set forth herein.
[0050] It should also be noted that the diagrams provided in the following embodiments only schematically illustrate the basic concept of the present disclosure. Only the components related to the present disclosure are shown in the diagrams, rather than being drawn according to the number, shape, and size of the components in actual implementation. The type, quantity, and ratio of each component in actual implementation can be arbitrarily changed, and the component layout type may also be more complex.
[0051] In addition, in the following description, specific details are provided to facilitate a thorough understanding of the examples. However, those skilled in the art will understand that the described aspects can be practiced without these specific details.
[0052] In one embodiment of the present invention, a method for software upgrade and version maintenance of a heterogeneous multi-processor remote interface unit is proposed;
[0053] The heterogeneous multi-processor remote interface unit includes a main processor and multiple co-processors that communicate with each other;
[0054] An upgrade software storage area is provided on both the main processor and each co-processor; the upgrade software storage area is used to store historical version software and software to be upgraded; a schematic diagram of the program storage space partition of the main processor is as Figure 9 shown.
[0055] A ground maintenance device, which communicates with the main processor, is used to send maintenance instructions and / or the software to be upgraded to the main processor, and the main processor sends respective maintenance instructions and / or the software to be upgraded to the co-processors to be maintained;
[0056] The maintenance processes of the main processor and each co-processor to be maintained are carried out simultaneously; when the maintenance is to downgrade the current version to a historical version, the main processor and / or the co-processor call the historical version software in the upgrade software storage area based on the maintenance instructions;
[0057] The process of sending the software to be upgraded is as follows:
[0058] Add the length information of the data, software version information, main processor endian flag, and the starting address of program execution to the head of the software for each version to be upgraded, add the check information of the data to the end, and perform encapsulation;
[0059] Perform the first encryption on the encapsulated software for the version to be upgraded;
[0060] Merge and re-encrypt the software for each version to be upgraded after the first encryption. The specific method is as follows:
[0061] Add the corresponding processing serial number information to the head of the software for each version to be upgraded after the first encryption, add the check code to the tail, and merge them; add the upgrade file size information to the head of the merged data packet, add the check code information to the tail, and perform encapsulation. After encapsulation, perform the second encryption.
[0062] In this embodiment, the software upgrade and version maintenance method includes the following steps:
[0063] S1. The host computer encapsulates and encrypts the upgrade software of each main processor of the remote interface unit;
[0064] S2. The host computer sends the upgrade data. The main processor of the device receives the upgrade data, decrypts and unpacks the upgrade data, and distributes them to the corresponding coprocessors respectively;
[0065] S3. The host computer sends an upgrade command. The main processor distributes the upgrade command to each coprocessor;
[0066] S4. Each main processor decrypts, checks, and upgrades the software according to the upgrade key in the upgrade command, and reports the upgrade result to the host computer;
[0067] S5. The host computer sends a software version check command. Each main processor performs software integrity verification, and the main processor performs software version compatibility verification, and reports the check result to the host computer.
[0068] In this embodiment, the determination method of the main processor and coprocessors is as follows:
[0069] Assign a fixed identification number to each main processor, and designate one of the main processors as the main processor for software upgrade and maintenance, and define the other main processors as coprocessors for upgrade and maintenance.
[0070] In this embodiment, S2 is specifically as follows: The host computer sends the upgrade data. The main processor checks the data of the upgrade, performs the first decryption and unpacking, and distributes each piece of upgrade data to the corresponding coprocessor through the internal bus of the device according to the main processor serial number information of each piece of upgrade data.
[0071] After each main processor receives the upgrade data, it performs data integrity verification. After passing the verification, it performs endian conversion on the upgrade data to make the endian of the upgrade data consistent with its own endian, and stores it in the upgrade software storage area of its own memory.
[0072] In this embodiment, the information included in the upgrade command in S3 is: the ID information of each main processor, the software version to be upgraded, and the decryption key of the upgrade data; after receiving the upgrade command, the main processor forwards the upgrade command to the corresponding coprocessor according to the command information.
[0073] In this embodiment, S4 specifically includes the following steps:
[0074] S401. After each main processor receives the upgrade command, it enters the loading mode and searches for the data in the upgrade software storage area of its own memory according to the software version required by the command;
[0075] S402. Decrypt the encrypted data according to the upgrade key and perform data integrity verification;
[0076] S403. Each main processor writes the upgraded data that has passed the verification into its own running software storage area;
[0077] S404. After the writing is completed, read the data written into the software storage area and compare it with the upgraded data after decryption and verification in the upgrade software storage area. If the data comparison is consistent, the upgrade is successful;
[0078] S405. Send the upgrade result to the main processor. The main processor reports the upgrade result to the host computer.
[0079] In this embodiment, in S5, the host computer sends a software version check command, and each main processor performs software integrity verification and software version compatibility verification. Data integrity verification is judged by calculating the checksum of the software data and comparing it with the expected value; software version compatibility verification is judged by querying the version compatibility table; the main processor reports the software data integrity verification result, software version and compatibility to the host computer; by comparing the software versions and compatibilities of each main processor by the host computer, if the versions are the same and compatible, it is regarded as the upgrade being successful this time, and the upgrade is completed, otherwise it is regarded as the upgrade failing.
[0080] In this embodiment, the upgrade - related commands include: upgrade command, software storage version query command, software storage deletion command, and stop operation command. Among them, a field included in one upgrade command are: upgrade instruction frame header, main processor ID to be upgraded, upgraded software version information, software key, and checksum. The software storage version query command includes the fields: software version query instruction frame header, main processor ID to be queried, and checksum. The software storage deletion command includes the fields: software storage deletion instruction frame header, main processor ID, software version information to be deleted, and checksum. The stop operation command includes the fields: stop instruction frame header, main processor ID, and checksum.
[0081] In this embodiment, the storage space corresponding to each main processor includes a running software storage area, an upgrade execution program storage area, and an upgraded software storage area. The running software storage area stores the currently running software. The upgrade execution program storage area stores the execution programs related to the upgrade. The data storage method in the upgraded software storage area adopts a rolling storage method.
[0082] In this embodiment, the host computer is an airborne CMS system, a ground maintenance device, or an airborne computer storing the upgraded software.
[0083] In one embodiment, the remote interface unit includes a main processor and several coprocessors. Fig. 1 shows an exemplary heterogeneous multi - processor architecture diagram. The device includes a main processor, a redundant main processor, and coprocessors. In this embodiment, the main processor communicates with the host computer via an ARINC 664 bus. The main processor and the coprocessors communicate via an SPI bus. During the upgrade process, the redundant main processor is regarded as a coprocessor.
[0084] The upgrade process is shown in Fig. 2 and includes the following steps:
[0085] Step 1: As shown in Fig. 3, the ground maintenance device encapsulates and encrypts the upgrade software of multiple main processors.
[0086] First, the ground maintenance device performs data encapsulation and encryption on the upgrade software of each main processor: adds the length information of the data, software version information, main processor endian flag, and the starting address of program operation to the head of each software version to be upgraded, and adds the CRC32 checksum of the data to the end of the data. Then, it performs the first encryption on each independent upgraded data after encapsulation.
[0087] Next, merge, encapsulate, and re-encrypt each encrypted data: Add the corresponding processing serial number information and data length to the header of each once-encrypted data, and add a checksum to the tail. Merge all the upgrade data, add the upgrade file size information to the header of the overall data packet, and add the checksum information to the tail. Perform a second encryption on the encapsulated data.
[0088] In this embodiment, the checksum uses CRC32, and the data encryption uses AES encryption.
[0089] Step 2: The host computer sends the upgrade data, and the device main processor receives the upgrade data and distributes the decrypted and de-encapsulated upgrade data to the corresponding coprocessors respectively;
[0090] Through the ARINC 664 bus, the host computer sends the upgrade data, and the main processor receives the upgrade data. As shown in Figure 4, after the data passes the integrity check, it is decrypted and de-encapsulated for the first time. The main processor distributes each upgrade data to the corresponding coprocessor through the internal SPI bus according to the main processor ID serial number information of each segment of the upgrade data.
[0091] The process of each coprocessor receiving the upgrade data is shown in Figure 5. After receiving the upgrade data, each coprocessor performs an integrity check on the data. After passing the check, the upgrade data is converted between big-endian and little-endian to make the endian of the upgrade data consistent with its own endian, and the upgrade data is stored in the upgrade software storage area of its own memory. The upgrade software storage area can store multiple versions of the upgrade software, and the data storage method uses a rolling storage method, and the newly received upgrade software overwrites the earliest stored software. It should be noted that the secondarily encrypted data is decrypted in the main processor, and the decryption process of the first-encrypted data is performed in the corresponding main processors. The data stored in the upgrade software storage area of each main processor is the upgrade software after being encrypted once.
[0092] Step 3: The host computer sends an upgrade command, and the device main processor receives the upgrade command and distributes the upgrade command to the corresponding coprocessor according to the main processor ID information in the upgrade command. After each main processor receives the upgrade command, it jumps to the loading program in the upgrade execution program storage area and enters the program loading mode. The process of each main processor receiving the upgrade command is shown in Figures 6 and 7.
[0093] Step 4: During the upgrade process, each main processor decrypts and checks the upgrade data according to the upgrade key in the upgrade command, performs software upgrade, and reports the upgrade result to the host computer. The upgrade process is shown in Figures 6 and 7, and the steps are as follows:
[0094] S401: After each main processor receives an upgrade command, it enters the loading mode and searches for the data in the upgrade software storage area of its own memory according to the software version required by the command;
[0095] S402: Decrypt the encrypted data according to the upgrade key and perform a data integrity check;
[0096] S403: Each main processor writes the verified upgrade data into its own running software storage area;
[0097] S404: After the writing is completed, read the data written into the software storage area and compare it with the upgrade data after decryption and verification in the upgrade software storage area. If the data comparison is consistent, the upgrade is successful;
[0098] S405: Send the upgrade result (success / failure) to the main processor. The main processor reports the upgrade result to the host computer.
[0099] Step 5: The host computer sends a software version check command, and each main processor performs a software integrity check and a software version compatibility check. The program executed by the coprocessor is as follows:
[0100] a. Each main processor calculates the checksum of the current software data and compares it with the expected checksum;
[0101] b. Report its own software version to the main processor.
[0102] The program executed by the main processor is shown in Figure 8 and includes:
[0103] a. Version compatibility: Receive the data integrity and software version information of each main processor, and judge the software version compatibility of each through the look-up table method;
[0104] b. Report the software data integrity check result, software version and compatibility to the host computer.
[0105] The host computer compares the software version and compatibility check results of each main processor. If the version is consistent with the expectation and compatible, it is regarded as a successful upgrade this time, and the upgrade is completed. Otherwise, it is regarded as a failed upgrade.
[0106] In one embodiment, referring to Figure 1, as an improvement of the above embodiment, the heterogeneous multi-processor architecture adopts a redundant main processor and a main processor in parallel, and is connected to the external bus at the same time. The external bus can adopt RS485, RS422 or RS232, and the internal bus of the device adopts PCI or PCIe bus communication mode.
[0107] When the user needs to roll back (downgrade) the software version, the following steps can be adopted:
[0108] 1. Query the software version stored in the current upgrade software storage area of the target main processor. The host computer sends a storage software version query command, and after the target main processor queries, it reports the result to the host computer.
[0109] 2. If the software version to be rolled back can be queried, there is no need to send the downgraded software data. Instead, the host computer directly sends a downgrade command, and the target main processor verifies and decrypts the data in the upgrade software storage area to perform software downgrade.
[0110] In the verification process of different software versions, the time for data transmission is saved, and to a certain extent, the compatibility between on-board devices is improved.
[0111] Through the above embodiments of the present invention, the upgrade method of the heterogeneous multi-processor remote interface unit is simplified, and the complexity of software maintenance work for ground maintenance personnel is effectively reduced. By adopting the data encryption method, the data security during the software upgrade process is ensured. At the same time, through the encrypted storage of different versions of software, the process of repeatedly transmitting upgrade data is saved during the software version rollback verification process, saving the upgrade time, and improving the compatibility between on-board devices to a certain extent.
[0112] The above is only the specific implementation manner of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed by the present disclosure should be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.
Claims
1. A method for software upgrade and version maintenance of a heterogeneous multi-processor remote interface unit, characterized in that: The heterogeneous multi-processor remote interface unit includes a main processor and multiple co-processors that communicate with each other; An upgrade software storage area is provided on each of the main processor and the co-processors; the upgrade software storage area is used to store historical version software and software to be upgraded; A ground maintenance device communicates with the main processor and is used to send maintenance instructions and / or the software to be upgraded to the main processor, and the main processor sends respective maintenance instructions and / or the software to be upgraded to the co-processors to be maintained; The maintenance processes of the main processor and the co-processors to be maintained are carried out simultaneously; when the maintenance is to downgrade the current version to a historical version, the main processor and / or co-processor call the historical version software in the upgrade software storage area based on the maintenance instructions; The process of sending the software to be upgraded is as follows: Add the length information of the data, software version information, main processor endian flag, and the starting address of program operation to the head of each software to be upgraded, and add data check information to the end and perform encapsulation; Perform the first encryption on the encapsulated software to be upgraded; Merge and re-encrypt the software to be upgraded after the first encryption. The specific method is as follows: Add the corresponding processing sequence number information to the head of each software to be upgraded after the first encryption, and add the check code to the tail and merge them; add the upgrade file size information to the head of the merged data packet, and add the check code information to the tail and perform encapsulation. After encapsulation, perform the second encryption.
2. The method for software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit according to claim 1, characterized in that The software upgrade and version maintenance method includes the following steps: S1. The host computer encapsulates and encrypts the upgrade software of each main processor of the remote interface unit; S2. The host computer sends the upgrade data, and the main processor of the device receives the upgrade data, decrypts and unpacks the upgrade data, and distributes them to the corresponding co-processors respectively; S3. The host computer sends an upgrade command, and the main processor distributes the upgrade command to each co-processor; S4. Each main processor decrypts and verifies the upgrade data according to the upgrade key in the upgrade command and performs software upgrade, and reports the upgrade result to the host computer; S5. The host computer sends a software version check command, each main processor performs software integrity verification, the main processor performs software version compatibility verification, and reports the check result to the host computer.
3. According to the method for software upgrade and version maintenance of a heterogeneous multi-processor remote interface unit described in claim 2, characterized in that The determination method of the main processor and the co-processors is as follows: Assign a fixed identification number to each main processor, and designate one of the main processors as the main processor for software upgrade and maintenance, and define the other main processors as co-processors for upgrade and maintenance.
4. The method for software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit according to claim 3, characterized in that, S2 is specifically: the host computer sends the upgrade data, the main processor performs data verification on the upgrade data, performs the first decryption and unpacking, and according to the main processor serial number information of each segment of the upgrade data, sends each upgrade data to the corresponding co-processor through the internal bus of the device; After each main processor receives the upgrade data, it performs data integrity verification. After passing the verification, it performs endian conversion on the upgrade data to make the endian of the upgrade data consistent with its own endian, and stores it in the upgrade software storage area of its own memory.
5. The method for software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit according to claim 4, wherein: The information included in the upgrade command in S3 are: the ID information of each main processor, the software version to be upgraded, and the decryption key of the upgrade data; after receiving the upgrade command, the main processor forwards the upgrade command to the corresponding coprocessor according to the command information.
6. The method for software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit according to claim 5, characterized in that: S4 specifically includes the following steps: S401. After each main processor receives the upgrade command, it enters the loading mode and searches for the data in the upgrade software storage area of its own memory according to the software version required by the command; S402. Decrypt the encrypted data according to the upgrade key and perform data integrity verification; S403. Each main processor writes the upgrade data that has passed the verification into its own running software storage area; S404. After writing is completed, read the data written into the software storage area and compare it with the upgrade data after decryption and verification in the upgrade software storage area. If the data comparison is consistent, the upgrade is successful; S405. Send the upgrade result to the main processor, and the main processor reports the upgrade result to the host computer.
7. The method for software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit according to claim 6, characterized in that: In S5, the host computer sends a software version check command, and each main processor performs software integrity verification and software version compatibility verification; data integrity verification is performed by calculating the checksum of the software data and comparing it with the expected value to judge data integrity; Software version compatibility verification is performed by querying the version compatibility table to judge the compatibility of the software version; the main processor reports the software data integrity verification result, software version and compatibility to the host computer; by comparing the software versions and compatibilities of each main processor by the host computer, if the versions are the same and compatible, the current upgrade is considered successful and the upgrade is completed, otherwise the upgrade is considered failed.
8. The method for software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit according to claim 7, characterized in that, The upgrade-related commands include: upgrade command, software storage version query command, software storage deletion command, and stop operation command; among them, the fields included in an upgrade command are: upgrade instruction frame header, ID of the main processor to be upgraded, upgrade software version information, software key, and checksum; the fields included in the software storage version query command are: software version query instruction frame header, ID of the main processor to be queried, and checksum; the fields included in the software storage deletion command are: software storage deletion instruction frame header, main processor ID, software version information to be deleted, and checksum; the fields included in the stop operation command are: stop instruction frame header, main processor ID, and checksum.
9. The method for software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit according to claim 8, characterized in that: The storage space corresponding to each main processor includes a running software storage area, an upgrade execution program storage area, and an upgrade software storage area; the running software storage area stores the currently running software; the upgrade execution program storage area stores the execution programs related to the upgrade; the data storage method in the upgrade software storage area adopts a rolling storage method.
10. The method for software upgrade and version maintenance of the heterogeneous multi-processor remote interface unit according to claim 9, characterized in that: The host computer is an airborne CMS system, a ground maintenance device, or an airborne computer storing upgrade software.
Citation Information
Patent Citations
Method and system for secure communication during short message-based out-of-band management on 3G equipment
CN102523581A
Method and device for upgrading firmware of battery swap station management system and battery management system
CN113391837A