A firmware upgrade method and related device for 1394 bus

By sending and receiving encrypted firmware upgrade data packets on the IEEE1394 bus and using cyclic redundancy check and encryption algorithms, the problem that existing technologies cannot adapt to the IEEE1394 bus is solved, and safe and reliable firmware upgrades are achieved, which is suitable for industrial control and aerospace fields.

CN119847563BActive Publication Date: 2025-09-30北京傲星科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411921561.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-09-30
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

The existing firmware upgrade method is not applicable to the IEEE1394 bus and cannot meet the high requirements of the industrial control and aerospace fields for data transmission security, reliability and transmission rate.

Method used

After both the upgrading device and the device to be upgraded are connected to the IEEE1394 bus, they respond to the periodic synchronization instructions of the bus control node, send and receive encrypted firmware upgrade data packets, and ensure the integrity and security of the data packets through cyclic redundancy check and encryption algorithms, ultimately realizing firmware upgrade on the IEEE1394 bus.

Benefits of technology

It realizes safe and reliable firmware upgrade data packet transmission on the IEEE1394 bus, improves the security and accuracy of the transmission process, and supports automatic firmware upgrades.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847563B_ABST
    Figure CN119847563B_ABST
Patent Text Reader

Abstract

The present application discloses a firmware upgrade method and related device for 1394 bus, which relates to the field of firmware upgrade, including: the upgrade device responds to the periodic synchronization instruction broadcast by the bus control node, sends an encrypted firmware upgrade data subpacket to the device to be upgraded within the period, so that the device to be upgraded decrypts it within the period, and when the subpacket sequence number of the obtained firmware upgrade data subpacket is inconsistent with the total number of subpackets, triggers the bus control node to broadcast a new periodic synchronization instruction, and when the values ​​are consistent, splices the firmware upgrade data subpackets, and loads the obtained firmware upgrade data packet into the memory to complete the firmware upgrade. The present application is based on the transmission of the firmware upgrade data packet between the upgrade device and the device to be upgraded, and configures the device to be upgraded to trigger the bus control node to send the periodic synchronization instruction and automatically load the firmware upgrade data packet, thereby realizing automatic firmware upgrade in the IEEE1394 bus deployment scenario.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of firmware upgrade, and in particular to a firmware upgrade method and related devices for a 1394 bus. Background Art

[0002] Firmware upgrade is an important technical means to upgrade the device firmware by loading firmware upgrade data packets into the device, thereby maintaining the device functions. Existing firmware upgrade methods are mostly based on the Universal Serial Bus (USB) or Ethernet interface to achieve the transmission of upgrade data packets.

[0003] However, existing firmware upgrade methods are not applicable to the industrial control field or the aerospace field. Specifically, since the industrial control field or the aerospace field has high requirements for the security, reliability and transmission rate of data transmission, the devices used in the above fields mostly implement communication based on the IEEE1394 bus. This results in the existing firmware upgrade methods based on the universal serial bus or network interface being unable to be implemented through the IEEE1394 bus. Since the performance of the universal serial bus or Ethernet in terms of data transmission security, reliability and transmission rate is inferior to that of the IEEE1394 bus, the devices that perform data communication based on the universal serial bus or Ethernet cannot meet the data transmission requirements of the above fields. Therefore, how to provide a firmware upgrade method that is compatible with the IEEE1394 bus has become an urgent problem to be solved. Summary of the Invention

[0004] In view of the above problems, this application provides a method and related apparatus for upgrading firmware for 1394 bus, so as to achieve the purpose of providing a firmware upgrading method adapted to IEEE1394 bus. The specific scheme is as follows:

[0005] A first aspect of the present application provides a firmware upgrade method for a 1394 bus, comprising:

[0006] When both the upgrading device and the device to be upgraded are connected to a preset IEEE 1394 bus, the upgrading device responds to a periodic synchronization instruction broadcasted by a bus control node of the preset IEEE 1394 bus and sends an encrypted firmware upgrade data subpacket in a target state to the device to be upgraded within a period corresponding to the periodic synchronization instruction, the encrypted firmware upgrade data subpacket being obtained by the upgrading device after splitting and encrypting a firmware upgrade data packet, the target state being a state tag of "not sent" and having a minimum subpacket sequence number;

[0007] The device to be upgraded decrypts the received encrypted firmware upgrade data subpackets within the period corresponding to the periodic synchronization instruction to obtain the firmware upgrade data subpackets, and determines whether the subpacket sequence number of the firmware upgrade data subpackets is consistent with the numerical value of the total number of subpackets. If not, a trigger instruction is sent to the bus control node to enable the bus control node to broadcast a new periodic synchronization instruction; when the subpacket sequence number is consistent with the numerical value of the total number of subpackets, the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers, and loads the obtained firmware upgrade data packets into the memory to complete the firmware upgrade.

[0008] In a possible implementation, before sending an encrypted firmware upgrade data subpackage in a target state to the device to be upgraded within the cycle corresponding to the cycle synchronization instruction, the method further includes:

[0009] The upgrading device splits the firmware upgrade data packet to obtain a plurality of the firmware upgrade data subpackets, and generates a subpacket sequence number for each of the firmware upgrade data subpackets according to the order of splitting;

[0010] The upgrade device generates a first cyclic redundancy check code for each of the firmware upgrade data subpackets using a preset cyclic redundancy check algorithm;

[0011] The upgrading device encrypts the firmware upgrading data sub-packet using a preset encryption algorithm, and adds the first cyclic redundancy check code to the obtained encrypted firmware upgrading data sub-packet.

[0012] In a possible implementation, before the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers, the method further includes:

[0013] The device to be upgraded sub-packages the firmware upgrade data:

[0014] extracting the first cyclic redundancy check code from the firmware upgrade data subpacket, and processing the firmware upgrade data subpacket using the preset cyclic redundancy check algorithm to generate a second cyclic redundancy check code; if the first cyclic redundancy check code is consistent with the second cyclic redundancy check code, adding a pass verification tag to the firmware upgrade data subpacket; if the first cyclic redundancy check code is inconsistent with the second cyclic redundancy check code, sending a retry instruction including the subpacket sequence number of the firmware upgrade data subpacket to the bus control node, so that the bus control node broadcasts a retry synchronization instruction including the subpacket sequence number of the firmware upgrade data subpacket, the retry synchronization instruction being used to trigger the upgrading device to resend the encrypted firmware upgrade data subpacket with the subpacket sequence number to the device to be upgraded;

[0015] In a case where each of the firmware upgrade data subpackets is added with the verification pass tag, the device to be upgraded performs an operation step of splicing the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers.

[0016] In a possible implementation, when both the upgrading device and the device to be upgraded are connected to a preset IEEE 1394 bus, the method further includes:

[0017] The upgrading device sends an identity authentication request with authentication information to the device to be upgraded;

[0018] The device to be upgraded compares the authentication information in the received identity authentication request with locally pre-stored information, and feeds back an authentication result indicating that the authentication is successful to the upgrading device if the comparison is consistent.

[0019] The second aspect of the present application provides a firmware upgrade device for a 1394 bus, the firmware upgrade device comprising: an upgrade device and a device to be upgraded,

[0020] The upgrading device is configured to, when both the upgrading device and the device to be upgraded are connected to a preset IEEE 1394 bus, respond to a periodic synchronization instruction broadcasted by a bus control node of the preset IEEE 1394 bus and, within a period corresponding to the periodic synchronization instruction, send an encrypted firmware upgrade data subpacket in a target state to the device to be upgraded, wherein the encrypted firmware upgrade data subpacket is obtained by the upgrading device after splitting and encrypting a firmware upgrade data packet, the target state is a state tag of "not sent" and the subpacket sequence number is the smallest;

[0021] The device to be upgraded is used to decrypt the received encrypted firmware upgrade data subpackets within the period corresponding to the periodic synchronization instruction, obtain the firmware upgrade data subpackets, and determine whether the subpacket sequence number of the firmware upgrade data subpackets is consistent with the numerical value of the total number of subpackets. If not, a trigger instruction is sent to the bus control node to enable the bus control node to broadcast a new periodic synchronization instruction; when the subpacket sequence number is consistent with the numerical value of the total number of subpackets, the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers, and loads the obtained firmware upgrade data packets into the memory to complete the firmware upgrade.

[0022] In a possible implementation, the upgrading device is further configured to:

[0023] Before sending an encrypted firmware upgrade data subpacket in a target state to the device to be upgraded within the cycle corresponding to the cycle synchronization instruction, the firmware upgrade data packet is split to obtain multiple firmware upgrade data subpackets, and the subpacket sequence number of each firmware upgrade data subpacket is generated according to the splitting order; a first cyclic redundancy check code of each firmware upgrade data subpacket is generated using a preset cyclic redundancy check algorithm; the firmware upgrade data subpacket is encrypted using a preset encryption algorithm, and the first cyclic redundancy check code is added to the obtained encrypted firmware upgrade data subpacket.

[0024] In a possible implementation, the device to be upgraded is further configured to:

[0025] Before the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers, the device to be upgraded performs the following steps on each of the firmware upgrade data subpackets: extracting the first cyclic redundancy check code from the firmware upgrade data subpacket, and processing the firmware upgrade data subpacket using the preset cyclic redundancy check algorithm to generate a second cyclic redundancy check code; if the first cyclic redundancy check code is consistent with the second cyclic redundancy check code, adding a pass verification tag to the firmware upgrade data subpacket; and if the first cyclic redundancy check code is inconsistent with the second cyclic redundancy check code, sending a retry instruction including the subpacket sequence number of the firmware upgrade data subpacket to the bus control node, so that the bus control node broadcasts a retry synchronization instruction including the subpacket sequence number of the firmware upgrade data subpacket, wherein the retry synchronization instruction is used to trigger the upgrading device to resend the encrypted firmware upgrade data subpacket with the subpacket sequence number to the device to be upgraded;

[0026] In the case that each of the firmware upgrade data subpackets is added with the verification tag, the operation step of splicing the obtained firmware upgrade data subpackets in the order of the subpacket serial numbers from small to large is performed.

[0027] In a possible implementation, when both the upgrading device and the device to be upgraded are connected to a preset IEEE 1394 bus, the upgrading device is further configured to:

[0028] The upgrading device sends an identity authentication request with authentication information to the device to be upgraded, so that the device to be upgraded compares the authentication information in the received identity authentication request with the locally stored information, and feeds back an authentication result indicating that the authentication is passed to the upgrading device if the comparison is consistent.

[0029] A third aspect of the present application provides an electronic device, comprising at least one processor and a memory connected to the processor, wherein:

[0030] The memory is used to store computer programs;

[0031] The processor is used to execute the computer program so that the electronic device can implement the firmware upgrade method for the 1394 bus according to the first aspect or any implementation of the first aspect.

[0032] A fourth aspect of the present application provides a computer storage medium carrying one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement the firmware upgrade method for the 1394 bus according to the first aspect or any implementation of the first aspect.

[0033] By means of the above-mentioned technical solution, the firmware upgrade method and related apparatus for a 1394 bus provided by this application are implemented by configuring both the upgrading device and the device to be upgraded to access a preset IEEE 1394 bus, configuring the upgrading device to respond to a cycle synchronization instruction sent by a bus control node, sending an encrypted firmware upgrade data packet to the device to be upgraded, and configuring the device to be upgraded to receive the encrypted firmware upgrade data packet, thereby achieving the transmission of firmware upgrade data packets on the IEEE 1394 bus. Furthermore, by configuring the upgrading device and the device to be upgraded to send and receive the encrypted firmware upgrade data packet within the same cycle corresponding to the cycle synchronization instruction, the security and accuracy of the firmware upgrade data packet transmission process are improved. Subsequently, by configuring the device to be upgraded to send a trigger instruction to the bus control node when the sub-packet sequence number and the total number of sub-packets are inconsistent, so that the bus control node broadcasts a new periodic synchronization instruction, and configuring the device to be upgraded to splice the obtained firmware upgrade data sub-packets in ascending order of the sub-packet sequence number when the sub-packet sequence number and the total number of sub-packets are consistent, and loading the obtained firmware upgrade data packets into the memory, the firmware upgrade is completed, thereby realizing automatic firmware upgrade in the IEEE1394 bus deployment scenario. It can be seen that this application provides a firmware upgrade method adapted to the IEEE1394 bus. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] The above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale.

[0035] Figure 1 A flowchart of a firmware upgrade method provided by this application;

[0036] Figure 2 A flowchart of a firmware upgrade method provided for one possible implementation of the present application;

[0037] Figure 3 A flowchart of obtaining a firmware upgrade data packet from a data packet to be upgraded provided by this application;

[0038] Figure 4 This is a schematic diagram of the structure of the electronic device provided in this application. DETAILED DESCRIPTION

[0039] The following describes the embodiments of the present application in conjunction with the accompanying drawings. The terms used in the implementation methods of the present application are only used to explain the specific embodiments of the present application and are not intended to limit the present application.

[0040] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art will appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0041] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0042] The first aspect of the present application provides a method for upgrading the firmware of a 1394 bus. Figure 1 As shown, the firmware upgrade method includes:

[0043] S101. When both the upgrading device and the device to be upgraded are connected to a preset IEEE1394 bus, the upgrading device responds to a periodic synchronization instruction broadcasted by a bus control node of the preset IEEE1394 bus, and sends an encrypted firmware upgrade data subpacket in a target state to the device to be upgraded within a period corresponding to the periodic synchronization instruction. The encrypted firmware upgrade data subpacket is obtained by the upgrading device after splitting and encrypting the firmware upgrade data packet. The target state is that the status tag is not sent, and the subpacket sequence number is the smallest.

[0044] It should be noted that, in actual application scenarios, the above-mentioned preset IEEE1394 bus may include a bus control computer (CC), a bus monitoring node (Bus Monitor), and multiple remote nodes (Remote Nodes). The bus control node is used to control the synchronization between each remote node and the bus monitoring node. The bus monitoring node is used to monitor and analyze bus data and issue alarms. The above-mentioned remote nodes are used to perform specific functions. After the above-mentioned upgrade device and the device to be upgraded are connected to the above-mentioned preset IEEE1394 bus, they both act as remote nodes to perform their respective functions.

[0045] It should be noted that, in actual application scenarios, the above-mentioned upgrading device and the device to be upgraded can be connected to the preset IEEE1394 bus through a cable that is compatible with the IEEE1394 external interface. Specifically, taking the upgrading device as an example: select a cable that is compatible with the IEEE1394 external interface, and electrically connect the upgrading device to the preset IEEE1394 bus through the cable. After loading the IEEE1394 bus driver in the upgrading device, the upgrading device can be connected to the preset IEEE1394 bus.

[0046] It should be noted that in actual application scenarios, in order to ensure the reliability of the firmware upgrade, when both the upgrading device and the device to be upgraded are connected to the preset IEEE1394 bus, it is necessary to perform status detection and communication detection on the upgrading device and the device to be upgraded. The above status detection and communication detection process may include the following steps A1 to A5.

[0047] In step A1, the upgrading device and the device to be upgraded respond to the heartbeat detection instruction broadcasted by the bus control node and send a detection receipt signal to the preset IEEE1394 bus, thereby triggering step A2.

[0048] In step A2, the bus monitoring node monitors the detection receipt signal on the preset IEEE1394 bus during the period corresponding to the heartbeat detection instruction. If the bus monitoring node detects the detection receipt signal sent by the upgrading device and the device to be upgraded at the end of the period, it sends a trigger instruction to the bus control node, thereby triggering step A3.

[0049] In step A3, the bus control node broadcasts a communication detection instruction in response to the trigger instruction sent by the bus monitoring node in step A2, and triggers step A4.

[0050] In step A4, the upgrading device responds to the communication detection instruction and sends a communication verification data packet to the device to be upgraded according to the preset handshake protocol, and triggers step A5.

[0051] In step A5, the device to be upgraded performs a cyclic redundancy check on the communication verification data packet, and if the check result is passed, sends a trigger instruction indicating that the content communication is normal to the bus control node.

[0052] It should be noted that, in an actual application scenario, the trigger instruction in the above step A5 is used to trigger the bus control node to send the first cycle synchronization instruction.

[0053] It should be noted that, in an actual application scenario, the cycle synchronization instruction may be a start of frame (STOF) packet sent by the bus control node. The cycle synchronization instruction is sent periodically.

[0054] It should be noted that in actual application scenarios, this application configures the upgrade device to send an encrypted firmware upgrade data subpacket with a status label of "not sent" and the smallest subpacket number to the device to be upgraded in each cycle. While avoiding the risk of the device to be upgraded missing the encrypted firmware upgrade data subpacket due to disordered sending, it also improves the efficiency of the device to be upgraded in splicing the obtained firmware upgrade data subpackets.

[0055] It should be noted that in actual application scenarios, this application configures both the upgrading device and the device to be upgraded to connect to the preset IEEE1394 bus, and configures the upgrading device to respond to the periodic synchronization instruction sent by the bus control node to send an encrypted firmware upgrade data packet to the device to be upgraded, thereby realizing the transmission of firmware upgrade data packets in the IEEE1394 bus.

[0056] S102. The device to be upgraded decrypts the received encrypted firmware upgrade data subpackets within the period corresponding to the periodic synchronization instruction to obtain the firmware upgrade data subpackets, and determines whether the subpacket sequence number of the firmware upgrade data subpackets is consistent with the total number of subpackets. If not, a trigger instruction is sent to the bus control node to cause the bus control node to broadcast a new periodic synchronization instruction. If the subpacket sequence number is consistent with the total number of subpackets, the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence number, and loads the obtained firmware upgrade data packets into the memory to complete the firmware upgrade.

[0057] It should be noted that in actual application scenarios, the period for the above-mentioned device to be upgraded to receive the encrypted firmware upgrade data sub-packet is different from the above-mentioned Figure 1 In step S101, the upgrade device sends encrypted firmware upgrade data subpackets in the same cycle. This application avoids the risk of inconsistent sent and received encrypted firmware upgrade data subpackets due to cycle asynchrony by configuring the upgrade device and the device to be upgraded to send and receive encrypted firmware data subpackets in the same cycle corresponding to the cycle synchronization instruction, thereby improving the security and accuracy of the firmware upgrade data subpackets during transmission.

[0058] It should be noted that, in actual application scenarios, the above-mentioned subpacket sequence number represents the order in which the firmware upgrade data subpackets are split, and the above-mentioned total number of subpackets represents the total number of firmware upgrade data subpackets obtained after splitting a firmware upgrade data packet. This application configures the device to be upgraded to send a trigger instruction to the bus control node when the subpacket sequence number and the total number of subpackets are inconsistent, so that the bus control node broadcasts a new periodic synchronization instruction, and configures the device to be upgraded to splice the obtained firmware upgrade data subpackets in the order of the subpacket sequence number from small to large when the subpacket sequence number and the total number of subpackets are consistent, and loads the obtained firmware upgrade data packet into the memory to complete the firmware upgrade, thereby realizing automatic firmware upgrade in the IEEE1394 bus deployment scenario.

[0059] It should be noted that in actual application scenarios, to prevent malicious nodes from rolling back the device to be upgraded to the version corresponding to the firmware upgrade package of a previous version, after the current firmware upgrade package is loaded into memory and the device to be upgraded is operating normally, it is possible to configure the device to delete all firmware upgrade packages of previous versions except the current firmware upgrade package. This allows the current firmware upgrade package to be used as a backup file while mitigating the risk of rollback attacks.

[0060] In one possible implementation, if the device to be upgraded cannot operate normally after the current firmware upgrade data package is loaded into the memory, the current firmware upgrade data package is deleted and a rollback operation is performed based on the historical version of the firmware upgrade data package to ensure the normal operation of the device to be upgraded.

[0061] The present application configures both the upgrading device and the device to be upgraded to access a preset IEEE1394 bus, configures the upgrading device to respond to a periodic synchronization instruction sent by the bus control node, sends an encrypted firmware upgrade data packet to the device to be upgraded, and configures the device to be upgraded to receive the encrypted firmware upgrade data packet, thereby realizing the transmission of firmware upgrade data packets in the IEEE1394 bus. At the same time, by configuring the upgrading device and the device to be upgraded to send and receive encrypted firmware data packets within the same cycle corresponding to the periodic synchronization instruction, the security and accuracy of the firmware upgrade data packets during transmission are improved. Subsequently, by configuring the device to be upgraded to send a trigger instruction to the bus control node when the subpacket sequence number and the total number of subpackets are inconsistent, so that the bus control node broadcasts a new periodic synchronization instruction, and configuring the device to be upgraded to splice the obtained firmware upgrade data packets in the order of the subpacket sequence number from small to large when the subpacket sequence number and the total number of subpackets are consistent, and load the obtained firmware upgrade data packets into the memory to complete the firmware upgrade, thereby realizing automatic firmware upgrade in the IEEE1394 bus deployment scenario. It can be seen that this application provides a firmware upgrade method adapted to the IEEE1394 bus.

[0062] In a possible implementation, before sending an encrypted firmware upgrade data sub-packet of a target state to the device to be upgraded within the cycle corresponding to the cycle synchronization instruction, the above Figure 1 The firmware upgrade method shown also includes:

[0063] The upgrade device splits the firmware upgrade data packet to obtain multiple firmware upgrade data subpackets, and generates a subpacket sequence number for each firmware upgrade data subpacket according to the splitting order;

[0064] The upgrade device generates a first cyclic redundancy check code for each firmware upgrade data packet using a preset cyclic redundancy check algorithm;

[0065] The upgrade device encrypts the firmware upgrade data subpacket using a preset encryption algorithm and adds the first cyclic redundancy check code to the obtained encrypted firmware upgrade data subpacket. It should be noted that in actual application scenarios, the method for obtaining the encrypted firmware upgrade data subpacket sent by the upgrade device to the device to be upgraded may include the following steps B1 to B5.

[0066] In step B1, the upgrade device uses a preset fragmentation script to fragment the firmware upgrade data packet based on the preset IEEE1394 bus maximum transmission unit (MTU), obtains multiple firmware upgrade data packets, and generates a packet sequence number for each firmware upgrade data packet according to the order of fragmentation. This triggers step B2.

[0067] Those skilled in the art will appreciate that, in actual application scenarios, the above-mentioned preset sharding script can be written by the designer based on a variety of theories, such as maximum transmission unit sharding, virtual pass sharding, consistent hash sharding, etc. This application does not impose excessive restrictions on the specific type and construction process of the above-mentioned preset sharding script and does not elaborate on it.

[0068] It should be noted that, in actual application scenarios, the data volume of each of the above firmware upgrade data subpackets is smaller than the above maximum transmission unit.

[0069] In step B2, the upgrade device generates a first cyclic redundancy check code for each firmware upgrade data packet using a preset cyclic redundancy check algorithm, and triggers step B3.

[0070] Those skilled in the art will appreciate that, in practical application scenarios, the above-mentioned preset cyclic redundancy check algorithm may be an algorithm constructed based on cyclic redundancy check (CRC) rules. This application does not make any excessive restrictions or elaborate on the specific construction process of the above-mentioned preset cyclic redundancy check algorithm.

[0071] In step B3, the upgrade device encrypts the firmware upgrade data sub-packet using a preset encryption algorithm to obtain encrypted data, and then triggers step B4.

[0072] In step B4, the upgrade device pre-joins the encrypted data to obtain encrypted firmware upgrade data sub-packets, and triggers step B5.

[0073] In one possible implementation, the pre-splicing process may include: splicing the 1394 header, the anonymous signing agreement (AMS) header, the payload data, and the packet trailer. The payload data includes at least the encrypted data, the subpacket sequence number, the total number of subpackets, the device heartbeat signal, and the device health status signal.

[0074] In step B5, the upgrading device adds each first cyclic redundancy check code to the end of each encrypted firmware upgrading data subpacket, and obtains the encrypted firmware upgrading data subpacket sent by the upgrading device to the device to be upgraded.

[0075] In a possible implementation, before the device to be upgraded splices the obtained firmware upgrade data sub-packets in ascending order of sub-packet sequence numbers, the above Figure 1 The firmware upgrade method shown also includes:

[0076] The device to be upgraded subpackets each firmware upgrade data packet: extracts a first cyclic redundancy check code from the firmware upgrade data subpacket, and processes the firmware upgrade data subpacket using a preset cyclic redundancy check algorithm to generate a second cyclic redundancy check code; if the first cyclic redundancy check code is consistent with the second cyclic redundancy check code, adds a pass verification tag to the firmware upgrade data subpacket; if the first cyclic redundancy check code is inconsistent with the second cyclic redundancy check code, sends a retry instruction including the subpacket sequence number of the firmware upgrade data subpacket to the bus control node, so that the bus control node broadcasts a retry synchronization instruction including the subpacket sequence number of the firmware upgrade data subpacket, and the retry synchronization instruction is used to trigger the upgrading device to resend the encrypted firmware upgrade data subpacket with the subpacket sequence number to the device to be upgraded;

[0077] In the case that each firmware upgrade data sub-packet is added with a verification tag, the device to be upgraded performs an operation step of splicing the obtained firmware upgrade data sub-packets in ascending order of sub-packet sequence numbers.

[0078] It should be noted that in actual application scenarios, this application configures the device to be upgraded to perform a consistency comparison on the first cyclic redundancy check code and the second cyclic redundancy check code of each firmware upgrade data subpacket before splicing the obtained firmware upgrade data subpackets in order from small to large according to the subpacket serial number. The cyclic redundancy check code is used to represent the characteristics of the data content, thereby realizing the verification of whether the data of the firmware upgrade data subpacket has been tampered with during the data transmission process, thereby improving the accuracy of the firmware upgrade.

[0079] In a possible implementation, when both the upgrading device and the device to be upgraded are connected to the preset IEEE1394 bus, the above Figure 1 The firmware upgrade method shown also includes:

[0080] The upgrading device sends an identity authentication request with authentication information to the device to be upgraded;

[0081] The device to be upgraded compares the authentication information in the received identity authentication request with the locally stored information, and if the information matches, feeds back an authentication result indicating that the authentication is successful to the upgrading device.

[0082] It should be noted that in actual application scenarios, this application improves the security of the data packet transmission process by configuring the device to be upgraded to authenticate the upgrading device when both the upgrading device and the device to be upgraded are connected to a preset IEEE1394 bus. If the authentication is successful, the bus monitoring node or the bus control node is triggered to execute the subsequent encrypted firmware upgrade data packet transmission step. Among them, the above-mentioned authentication method can be various, such as digital certificates or access tokens.

[0083] In order to facilitate the above Figure 1 The understanding of the firmware upgrade method shown is explained here in conjunction with a possible implementation of the present application:

[0084] like Figure 2 The figure shows a flowchart of a firmware upgrade method. The specific steps are as follows:

[0085] In step S201, the upgrading device and the device to be upgraded are connected to a preset IEEE1394 bus, and step S202 is triggered.

[0086] Step S202: Initialize the configuration of the upgrading device and the device to be upgraded, and perform status detection and communication detection, which triggers step S203.

[0087] In a possible implementation, the above step S202 may be an operation step controlled and executed by a bus monitoring node and a bus control node of a preset IEEE1394 bus.

[0088] Step S203: Determine whether both the upgraded device and the device to be upgraded have passed the status detection and communication detection. If so, step S204 is triggered; if not, step S201 is triggered.

[0089] Step S204: Determine whether the upgraded device and the device to be upgraded have passed identity authentication. If so, step S205 is triggered; otherwise, step S201 is triggered.

[0090] In a possible implementation, the above steps S203 and S204 may be operation steps executed by the bus control node, and their specific implementation may be the above steps A1 to A5.

[0091] In step S205, the upgrading device responds to the periodic synchronization instructions broadcast periodically by the bus control node and sends an encrypted firmware upgrade data packet in the target state to the device to be upgraded within the period corresponding to each periodic synchronization instruction, thereby triggering step S206.

[0092] In step S206, when the device to be upgraded successfully receives the fully encrypted firmware upgrade data sub-packets, it concatenates the decrypted firmware upgrade data sub-packets in ascending order of sub-packet sequence numbers to obtain a firmware upgrade data packet, and then triggers step S207.

[0093] In step S207, the device to be upgraded loads the firmware upgrade data package into the memory and determines whether the device to be upgraded is operating normally. If so, step S208 is triggered; if not, step S209 is triggered.

[0094] In step S208, the device to be upgraded deletes the firmware upgrade data package of the historical version to complete the firmware upgrade.

[0095] In step S209, the device to be upgraded performs a rollback operation according to the firmware upgrade data package of the historical version and reports an error to the upgrading device.

[0096] In one possible implementation, the above Figure 2 The specific implementation of step S205 and step S206 shown may be:

[0097] like Figure 3 The figure shows a flow chart of obtaining a firmware upgrade data package from a data package to be upgraded. The specific steps are as follows:

[0098] In step S301, the bus control node sends a cycle synchronization instruction to the upgrade device in response to a first trigger instruction sent by the upgrade device indicating that communication is normal, and triggers step S302.

[0099] In step S302, the upgrade device determines whether the periodic synchronization instruction has a sub-packet sequence number. If yes, step S303 is triggered; if not, step S304 is triggered.

[0100] In step S303, the upgrading device responds to the periodic synchronization instruction, adds an inspection-free tag to the encrypted firmware upgrading data sub-packet with the sub-packet sequence number, and sends it to the device to be upgraded, thereby triggering step S305.

[0101] In step S304, the upgrading device responds to the periodic synchronization instruction and sends an encrypted firmware upgrade data package in the target state to the device to be upgraded within the period corresponding to the periodic synchronization instruction, thereby triggering step S305.

[0102] In step S305, the device to be upgraded decrypts the received encrypted firmware upgrade data sub-package within the period to obtain the firmware upgrade data sub-package, and triggers step S306.

[0103] In step S306, the device to be upgraded determines whether the encrypted firmware upgrade data sub-package has an inspection exemption tag. If so, step S308 is triggered; if not, step S307 is triggered.

[0104] In step S307, the device to be upgraded determines whether the sub-package sequence number of the firmware upgrade data sub-package is consistent with the total number of sub-packages. If so, step S308 is triggered; if not, step S12 is triggered.

[0105] In step S308, the device to be upgraded subpackets each firmware upgrade data: adds a verification tag to the firmware upgrade data subpacket whose first cyclic redundancy check code and second cyclic redundancy check code are consistent, and triggers step S309.

[0106] In step S309, the device to be upgraded determines whether each firmware upgrade data package has been added with a verification tag. If so, step S310 is triggered; if not, step S313 is triggered.

[0107] In step S310, the device to be upgraded determines whether the total number of firmware upgrade data sub-packets with verification tags added is equal to the total number of sub-packets. If so, step S311 is triggered; if not, step S314 is triggered.

[0108] In step S311, the firmware upgrade data sub-packets obtained by the device to be upgraded are spliced ​​in ascending order of sub-packet sequence numbers to obtain a firmware upgrade data packet.

[0109] In step S312, the device to be upgraded sends a second trigger instruction to the bus control node, and step S315 is triggered.

[0110] In step S313, the device to be upgraded sends a third trigger instruction including the subpacket sequence number of each firmware upgrade data subpacket without the verification tag to the bus control node, and deletes each firmware upgrade data without the verification tag, thereby triggering step S315.

[0111] In step S314, the device to be upgraded sends a fourth trigger instruction to the bus control node, and step S315 is triggered.

[0112] In step S315, the bus control node determines whether the received trigger instruction is the second trigger instruction. If so, step S302 is triggered; if not, step S316 is triggered.

[0113] In step S316, the bus control node records the sub-packet sequence number in the trigger instruction, generates a periodic synchronization instruction based on the sub-packet sequence number with the earliest recording time and the smallest value, and sends it to the upgrade device, thereby triggering step S302.

[0114] The second aspect of the present application provides a firmware upgrade device for a 1394 bus, the firmware upgrade device comprising: an upgrade device and a device to be upgraded,

[0115] The upgrading device is configured to, when both the upgrading device and the device to be upgraded are connected to a preset IEEE 1394 bus, respond to a periodic synchronization instruction broadcasted by a bus control node of the preset IEEE 1394 bus and send an encrypted firmware upgrade data sub-packet in a target state to the device to be upgraded within a period corresponding to the periodic synchronization instruction. The encrypted firmware upgrade data sub-packet is obtained by the upgrading device after splitting and encrypting the firmware upgrade data packet. The target state is a state tag of "not sent" and the sub-packet sequence number is the smallest.

[0116] The device to be upgraded is used to decrypt the received encrypted firmware upgrade data subpackets within the cycle corresponding to the periodic synchronization instruction, obtain the firmware upgrade data subpackets, and determine whether the subpacket sequence number of the firmware upgrade data subpackets is consistent with the total number of subpackets. If not, a trigger instruction is sent to the bus control node to enable the bus control node to broadcast a new periodic synchronization instruction; when the subpacket sequence number is consistent with the total number of subpackets, the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence number, and loads the obtained firmware upgrade data packets into the memory to complete the firmware upgrade.

[0117] In a possible implementation, the upgrade device is further configured to:

[0118] Before sending an encrypted firmware upgrade data subpacket in a target state to the device to be upgraded within a cycle corresponding to a cycle synchronization instruction, the firmware upgrade data packet is split to obtain multiple firmware upgrade data subpackets, and a subpacket sequence number is generated for each firmware upgrade data subpacket according to the order of splitting; a first cyclic redundancy check code is generated for each firmware upgrade data subpacket using a preset cyclic redundancy check algorithm; the firmware upgrade data subpacket is encrypted using a preset encryption algorithm, and the first cyclic redundancy check code is added to the obtained encrypted firmware upgrade data subpacket.

[0119] In a possible implementation, the device to be upgraded is further configured to:

[0120] Before the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of subpacket sequence numbers, the device to be upgraded performs the following operations on each firmware upgrade data subpacket: extracts a first cyclic redundancy check code from the firmware upgrade data subpacket, and processes the firmware upgrade data subpacket using a preset cyclic redundancy check algorithm to generate a second cyclic redundancy check code; if the first cyclic redundancy check code is consistent with the second cyclic redundancy check code, adds a pass verification tag to the firmware upgrade data subpacket; and if the first cyclic redundancy check code is inconsistent with the second cyclic redundancy check code, sends a retry instruction including the subpacket sequence number of the firmware upgrade data subpacket to the bus control node, so that the bus control node broadcasts a retry synchronization instruction including the subpacket sequence number of the firmware upgrade data subpacket, the retry synchronization instruction being used to trigger the upgrading device to resend the encrypted firmware upgrade data subpacket with the subpacket sequence number to the device to be upgraded;

[0121] In the case that each firmware upgrade data sub-packet is added with a verification pass tag, the operation step of splicing the obtained firmware upgrade data sub-packets is performed in the order of the sub-packet sequence numbers from small to large.

[0122] In a possible implementation, when both the upgrading device and the device to be upgraded are connected to a preset IEEE1394 bus, the upgrading device is further configured to:

[0123] The upgrading device sends an identity authentication request with authentication information to the device to be upgraded, so that the device to be upgraded compares the authentication information in the received identity authentication request with the locally stored information, and feeds back an authentication result indicating that the authentication is passed to the upgrading device if the comparison is consistent.

[0124] A third aspect of the present application provides an electronic device, comprising at least one processor and a memory connected to the processor, wherein:

[0125] Memory is used to store computer programs;

[0126] The processor is used to execute the computer program so that the electronic device can implement the firmware upgrade method for the 1394 bus of the first aspect or any implementation manner of the first aspect.

[0127] The fourth aspect of the present application provides a computer storage medium, which carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement the firmware upgrade method for the 1394 bus according to the first aspect or any implementation of the first aspect.

[0128] The third aspect of the present application provides a structural diagram of an electronic device as shown in FIG. Figure 4 The electronic devices in the embodiments of the present application may include but are not limited to fixed terminals such as mobile phones, notebook computers, PDAs (personal digital assistants), PADs (tablet computers), desktop computers, etc. Figure 4 The electronic device shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.

[0129] like Figure 4 As shown, the electronic device may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage device 408 into a random access memory (RAM) 403. When the electronic device is powered on, the RAM 403 also stores various programs and data required for the operation of the electronic device. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0130] Typically, the following devices may be connected to the I / O interface 405: an input device 406 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 407 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 408 including, for example, a memory card, a hard disk, etc.; and a communication device 409. The communication device 409 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. Although Figure 4 The electronic device is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.

[0131] It should also be noted that the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed across multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment. In addition, in the drawings of the device embodiments provided in this application, the connection relationship between the modules indicates that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.

[0132] Through the description of the above embodiments, those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course can also be implemented by special hardware including application-specific integrated circuits, special CPUs, special memories, special components, etc. In general, all functions performed by computer programs can be easily implemented with corresponding hardware, and the specific hardware structures used to implement the same function can also be diverse, such as analog circuits, digital circuits or special circuits, etc. However, for the present application, software program implementation is a better implementation method in most cases. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer's floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., and includes a number of instructions to enable a computer device (which can be a personal computer, training equipment, or network equipment, etc.) to execute the methods described in each embodiment of the present application.

[0133] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.

[0134] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website, a computer, a training device or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website, a computer, a training device or a data center. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

Claims

1. A method for upgrading firmware of a 1394 bus, characterized in that: include: When both the upgrading device and the device to be upgraded are connected to a preset IEEE 1394 bus, the upgrading device responds to a periodic synchronization instruction broadcasted by a bus control node of the preset IEEE 1394 bus and sends an encrypted firmware upgrade data subpacket in a target state to the device to be upgraded within a period corresponding to the periodic synchronization instruction, the encrypted firmware upgrade data subpacket being obtained by the upgrading device after splitting and encrypting a firmware upgrade data packet, the target state being a state tag of "not sent" and having a minimum subpacket sequence number; The device to be upgraded decrypts the received encrypted firmware upgrade data subpackets within the period corresponding to the periodic synchronization instruction to obtain the firmware upgrade data subpackets, and determines whether the subpacket sequence number of the firmware upgrade data subpackets is consistent with the numerical value of the total number of subpackets. If not, a trigger instruction is sent to the bus control node to enable the bus control node to broadcast a new periodic synchronization instruction; when the subpacket sequence number is consistent with the numerical value of the total number of subpackets, the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers, and loads the obtained firmware upgrade data packets into the memory to complete the firmware upgrade.

2. The firmware upgrade method according to claim 1, wherein: Before sending an encrypted firmware upgrade data sub-package in a target state to the device to be upgraded within the cycle corresponding to the cycle synchronization instruction, the method further includes: The upgrading device splits the firmware upgrade data packet to obtain a plurality of the firmware upgrade data subpackets, and generates a subpacket sequence number for each of the firmware upgrade data subpackets according to the order of splitting; The upgrade device generates a first cyclic redundancy check code for each of the firmware upgrade data subpackets using a preset cyclic redundancy check algorithm; The upgrading device encrypts the firmware upgrading data sub-packet using a preset encryption algorithm, and adds the first cyclic redundancy check code to the obtained encrypted firmware upgrading data sub-packet.

3. The firmware upgrade method according to claim 2, wherein: Before the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers, the method further includes: The device to be upgraded sub-packets the firmware upgrade data: extracting the first cyclic redundancy check code from the firmware upgrade data subpacket, and processing the firmware upgrade data subpacket using the preset cyclic redundancy check algorithm to generate a second cyclic redundancy check code; if the first cyclic redundancy check code is consistent with the second cyclic redundancy check code, adding a pass verification tag to the firmware upgrade data subpacket; if the first cyclic redundancy check code is inconsistent with the second cyclic redundancy check code, sending a retry instruction including the subpacket sequence number of the firmware upgrade data subpacket to the bus control node, so that the bus control node broadcasts a retry synchronization instruction including the subpacket sequence number of the firmware upgrade data subpacket, the retry synchronization instruction being used to trigger the upgrading device to resend the encrypted firmware upgrade data subpacket with the subpacket sequence number to the device to be upgraded; In a case where each of the firmware upgrade data subpackets is added with the verification pass tag, the device to be upgraded performs an operation step of splicing the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers.

4. The firmware upgrade method according to claim 1, wherein: In the case where both the upgrading device and the device to be upgraded are connected to a preset IEEE1394 bus, the method further includes: The upgrading device sends an identity authentication request with authentication information to the device to be upgraded; The device to be upgraded compares the authentication information in the received identity authentication request with locally pre-stored information, and feeds back an authentication result indicating that the authentication is successful to the upgrading device if the comparison is consistent.

5. A firmware upgrade device for 1394 bus, characterized in that: The firmware upgrade device includes: an upgrade device and a device to be upgraded, The upgrading device is configured to, when both the upgrading device and the device to be upgraded are connected to a preset IEEE 1394 bus, respond to a periodic synchronization instruction broadcasted by a bus control node of the preset IEEE 1394 bus and, within a period corresponding to the periodic synchronization instruction, send an encrypted firmware upgrade data subpacket in a target state to the device to be upgraded, wherein the encrypted firmware upgrade data subpacket is obtained by the upgrading device after splitting and encrypting a firmware upgrade data packet, the target state is a state tag of "not sent" and the subpacket sequence number is the smallest; The device to be upgraded is used to decrypt the received encrypted firmware upgrade data subpackets within the period corresponding to the periodic synchronization instruction, obtain the firmware upgrade data subpackets, and determine whether the subpacket sequence number of the firmware upgrade data subpackets is consistent with the numerical value of the total number of subpackets. If not, a trigger instruction is sent to the bus control node to enable the bus control node to broadcast a new periodic synchronization instruction; when the subpacket sequence number is consistent with the numerical value of the total number of subpackets, the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers, and loads the obtained firmware upgrade data packets into the memory to complete the firmware upgrade.

6. The firmware upgrade device according to claim 5, characterized in that: The upgrade device is further configured to: Before sending an encrypted firmware upgrade data sub-packet in a target state to the device to be upgraded within the cycle corresponding to the cycle synchronization instruction, splitting the firmware upgrade data packet to obtain a plurality of the firmware upgrade data sub-packets, and generating a sub-packet sequence number for each of the firmware upgrade data sub-packets in the order of splitting; A first cyclic redundancy check code is generated for each of the firmware upgrade data subpackets using a preset cyclic redundancy check algorithm; the firmware upgrade data subpackets are encrypted using a preset encryption algorithm, and the first cyclic redundancy check code is added to the obtained encrypted firmware upgrade data subpackets.

7. The firmware upgrade device according to claim 6, wherein: The device to be upgraded is further configured to: Before the device to be upgraded splices the obtained firmware upgrade data subpackets in ascending order of the subpacket sequence numbers, the device to be upgraded extracts the first cyclic redundancy check code from each firmware upgrade data subpacket, and processes the firmware upgrade data subpacket using the preset cyclic redundancy check algorithm to generate a second cyclic redundancy check code; When the first cyclic redundancy check code is consistent with the second cyclic redundancy check code, adding a verification tag to the firmware upgrade data subpacket; When the first cyclic redundancy check code is inconsistent with the second cyclic redundancy check code, sending a retry instruction including the subpacket sequence number of the firmware upgrade data subpacket to the bus control node, so that the bus control node broadcasts a retry synchronization instruction including the subpacket sequence number of the firmware upgrade data subpacket, the retry synchronization instruction being used to trigger the upgrading device to resend the encrypted firmware upgrade data subpacket with the subpacket sequence number to the device to be upgraded; In the case that each of the firmware upgrade data subpackets is added with the verification tag, the operation step of splicing the obtained firmware upgrade data subpackets in the order of the subpacket serial numbers from small to large is performed.

8. The firmware upgrade device according to claim 5, wherein: When both the upgrading device and the device to be upgraded are connected to the preset IEEE1394 bus, the upgrading device is further configured to: The upgrading device sends an identity authentication request with authentication information to the device to be upgraded, so that the device to be upgraded compares the authentication information in the received identity authentication request with the locally stored information, and feeds back an authentication result indicating that the authentication is passed to the upgrading device if the comparison is consistent.

9. An electronic device, characterized in that: comprising at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is configured to execute the computer program so as to enable the electronic device to implement the firmware upgrade method for a 1394 bus as claimed in any one of claims 1 to 4.

10. A computer storage medium, characterized in that The storage medium carries one or more computer programs, and when the one or more computer programs are executed by an electronic device, the electronic device can implement the firmware upgrade method for a 1394 bus as claimed in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Firmware upgrading method and device, air conditioner and storage medium

    CN115202690A

  • Method and apparatus for transmitting data over data bus at maximum speed

    CN1241080A