Embedded system upgrading method and system

By analyzing and storing the upgraded firmware data in the embedded system and comparing the total calibration value to confirm that the upgrade is successful, the system error problem caused by the lack of data verification in the existing technology is solved, and a safe and reliable embedded system upgrade is achieved.

CN119718376APending Publication Date: 2025-03-28SHENZHEN ZHENBANG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411840827.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-13
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The existing embedded software upgrade methods lack data verification, which makes the system prone to errors and cannot run after upgrading.

Method used

By obtaining the firmware frames sent by the upper computer, analyzing and storing the upgraded firmware data, analyzing the total calibration value after receiving the end frame, calculating the total calibration value of the stored firmware data, and comparing the consistency of the two to confirm that the upgrade is successful.

Benefits of technology

The data verification of embedded system upgrades is realized, avoiding the problem of system errors that cannot be run after the upgrade.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718376A_ABST
    Figure CN119718376A_ABST
Patent Text Reader

Abstract

The invention provides an embedded system upgrading method and system. The method comprises the following steps: acquiring a firmware frame sent by an upper computer and analyzing the firmware frame to obtain upgrading firmware data; storing the upgraded firmware data to a preset storage area to obtain stored firmware data; if an end frame sent by the upper computer is received, analyzing the end frame to obtain a total correction value of the upgrade firmware data, and calculating a total correction value of the storage firmware data; and if the total correction value of the upgrade firmware data is consistent with the total correction value of the storage firmware data, returning upgrade verification success information. According to the method, the embedded software can be upgraded, the data can be verified, and the situation that the equipment cannot run after upgrading is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of embedded technology, and in particular to an embedded system upgrading method and system. Background Art

[0002] An embedded system is a special-purpose computer system that is usually embedded in other devices to control, monitor or assist the operation of the devices. An embedded system generally includes embedded hardware and embedded software. Embedded hardware may include processors, memory, input and output devices, and embedded software may include various software used to control the operation of the embedded system.

[0003] Embedded systems need to regularly upgrade embedded software to update the system. However, the current commonly used embedded software upgrade method lacks data verification, and the system is prone to errors after the upgrade, resulting in inability to operate. Summary of the invention

[0004] The present invention provides an embedded system upgrade method and system, aiming to solve the problem that the current embedded software upgrade method easily causes the system to fail to operate.

[0005] In a first aspect, the present invention provides an embedded system upgrade method, the method comprising:

[0006] Obtaining a firmware frame sent by the host computer and parsing the firmware frame to obtain upgrade firmware data;

[0007] storing the upgraded firmware data in a preset storage area to obtain stored firmware data;

[0008] If an end frame sent by the host computer is received, the end frame is parsed to obtain a total calibration value of the upgraded firmware data, and the total calibration value of the stored firmware data is calculated;

[0009] If the total calibration value of the upgraded firmware data is consistent with the total calibration value of the stored firmware data, an upgrade verification success message is returned.

[0010] In a second aspect, the present invention provides an embedded upgrade system, wherein the embedded upgrade system is configured to be used to execute any of the above embedded system upgrade methods.

[0011] The present invention discloses an embedded system upgrade method and an embedded upgrade system, wherein the embedded system upgrade method comprises: obtaining a firmware frame sent by a host computer and parsing the firmware frame to obtain upgrade firmware data; storing the upgrade firmware data in a preset storage area to obtain storage firmware data; if an end frame sent by the host computer is received, parsing the end frame to obtain a total calibration value of the upgrade firmware data, and calculating the total calibration value of the storage firmware data; if the total calibration value of the upgrade firmware data is consistent with the total calibration value of the storage firmware data, returning upgrade verification success information. In an embodiment of the present invention, when the host computer sends a firmware frame for upgrading, the upgrade firmware data of the firmware frame can be stored in a preset storage area to obtain storage firmware data, and then when the end frame is received, the end frame is parsed to obtain the total calibration value of the upgrade firmware data, and the total calibration value of the storage firmware data is calculated, and whether the upgrade is successful is confirmed by comparing whether the total calibration value of the upgrade firmware data is consistent with the total calibration value of the storage firmware data, and when the total calibration value of the upgrade firmware data is consistent with the total calibration value of the storage firmware data, the information of successful upgrade verification is returned, and the data can be verified while the embedded device is upgraded to avoid the system from being unable to run after the upgrade. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying any creative work.

[0013] Figure 1 is a flow chart of an embedded system upgrade method provided by an embodiment of the present invention;

[0014] Figure 2 is a first sub-flow chart of an embedded system upgrade method provided by an embodiment of the present invention;

[0015] Figure 3 is a second sub-flow chart of the embedded system upgrade method provided by an embodiment of the present invention;

[0016] Figure 4 is a third sub-flow chart of an embedded system upgrade method provided by an embodiment of the present invention;

[0017] Figure 5 is a fourth sub-flow chart of an embedded system upgrade method provided by an embodiment of the present invention;

[0018] Figure 6 is a fifth sub-flow chart of an embedded system upgrade method provided by an embodiment of the present invention;

[0019] Figure 71 is an architecture diagram of an embedded upgrade system provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0020] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0021] It should be understood that when used in this specification and the appended claims, the terms "include" and "comprises" indicate the presence of described features, integers, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, operations, elements, components and / or groups thereof.

[0022] It should also be understood that the terms used in this specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. As used in the specification of the present invention and the appended claims, the singular forms of "a", "an" and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should also be further understood that the term "and / or" used in the specification of the present invention and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.

[0023] In addition, the directional terms mentioned in the present invention, such as "upper", "lower", "front", "back", "left", "right", "inner", "outer", "side", etc., are only for reference to the directions of the attached drawings and the use status of the product. Therefore, the directional terms used are used to illustrate and understand the present invention, but not to limit the present invention. In addition, in the drawings, structures with similar or identical structures are represented by the same reference numerals.

[0024] See also Figure 1 The present invention provides an embedded system upgrade method, which can be applied to an embedded upgrade system to upgrade embedded software and verify data to avoid errors in the upgrade. The embedded system upgrade method includes S110-S140.

[0025] S110, acquiring a firmware frame sent by a host computer and parsing the firmware frame to obtain upgrade firmware data.

[0026] In the embodiment of the present invention, Figure 7As shown, the embedded upgrade system may include a host computer, a host and multiple slaves. The host computer is used to send a startup frame, a firmware frame and an end frame. The startup frame is used to mark the start of the upgrade and verify the host or slave that needs to be upgraded. The firmware frame is used to transmit the upgrade data so that the host or slave completes the upgrade. The end frame is used to verify the upgrade data of the host or slave. The host can send the startup frame, firmware frame and end frame to a certain slave, or to multiple slaves at the same time.

[0027] For example, for a smart home system, the smart home system includes multiple smart devices, such as smart bulbs, smart sockets, smart thermostats, etc., and these smart devices all have embedded software and need regular software upgrades to fix vulnerabilities, add new functions or optimize performance. In this smart home system, the host computer is the control center of the smart home system, which can be a server or a high-performance computer, responsible for managing and coordinating the software upgrades of various smart devices. The host is the core device in the smart home system, which can be a smart router or a smart central control, responsible for receiving the upgrade instructions and data sent by the host computer and forwarding them to the slave machine. The slave machine can be other smart devices in the smart home system, such as smart bulbs, smart sockets, etc. The slave machine is used to receive the upgrade data forwarded by the host and perform upgrade operations.

[0028] For an embedded device, the built-in FLASH of its MCU can be divided into four partitions, namely Bootloader, Jump Parameter, ApplicationRun and ApplicationBackup. When the FLASH of the MCU is not enough, ApplicationBackup can be replaced by external FLASH or other non-volatile flash memory modules. Among them, Bootloader is used to read Jump Parameter, jump Application Run, copy upgrade program, JumpParameter is used to store jump flags (1: Run BOOT, which refers to running the program in the Bootloader area; 2: Run APP, which refers to running the program in the Application Run area; 3: Try to run APP, which refers to trying to run the program in the Application Run area; 4: Copy Backup area data to Run area, which refers to copying the data in the ApplicationBackup area to the Application Run area; Others: Determine whether APP has firmware data, which refers to whether there is a program in the Application Run area and whether the starting data is correct;), jump times (record flag 3 jumps APP times), firmware data size, total calibration value of firmware data, backup area start address, backup area size and reserved data and other upgrade-related information, Application Run is the program running area, Application Backup is the storage area of ​​the upgrade program and the temporary backup area of ​​the original program, which is consistent with the size of ApplicationRun. When upgrading, the upgrade firmware data is stored in ApplicationBackup.

[0029] After the upper computer sends the startup frame, the host receives the startup frame and confirms the device that needs to be upgraded based on the startup frame. The device may include the host itself and the slave. For example, if the device that needs to be upgraded is only the host itself, the host starts to enter the device verification process after receiving the startup frame. When the device verification process passes, it waits to receive the firmware frame. If the device that needs to be upgraded is a slave, the host forwards the startup frame to the corresponding slave. The slave that receives the startup frame enters the device verification process, and when the device verification process passes, it waits for the slave to forward the firmware frame. It can be understood that the upper computer confirms that there are multiple devices that need to be upgraded, that is, the host and multiple slaves can be upgraded at the same time. The upgrade process of the host and the slave is the same, and the upgrade process of the host is described below.

[0030] After the host computer sends the firmware frame, the host obtains the firmware frame. The firmware frame may include device type, firmware package number, firmware data length, and upgrade firmware data. The host can parse the firmware frame to obtain the upgrade firmware data in the firmware to prepare for subsequent upgrades.

[0031] S120, storing the upgraded firmware data in a preset storage area to obtain stored firmware data.

[0032] In an embodiment of the present invention, the preset storage area is Application Backup, and the upgraded firmware data can be stored in Application Backup to obtain the stored firmware data. It can be understood that, in theory, the stored firmware data is the same as the upgraded firmware data, and the stored firmware data is obtained by storing the upgraded firmware data in Application Backup.

[0033] S130: If an end frame sent by the host computer is received, the end frame is parsed to obtain a total calibration value of the upgraded firmware data, and the total calibration value of the stored firmware data is calculated.

[0034] In an embodiment of the present invention, the end frame may include the device type and the total calibration value of the upgraded firmware data. The host obtains the total calibration value of the upgraded firmware data by parsing the end frame, and then calculates the total calibration value of the stored firmware data, and confirms whether the total calibration value of the upgraded firmware data is consistent with the total calibration value of the stored firmware data. In addition, when the host obtains the firmware frame and the end frame, it will verify the device type. Only when the verification passes will the subsequent steps be continued. If the verification fails, the upgrade error information is returned to the host computer. For example, after the host receives the end frame, it parses the end frame to obtain the device type. When the device type of the end frame is consistent with the device type of the host, the verification passes. If the device type of the end frame is inconsistent with the device type of the host, the verification fails, and the host returns the upgrade error information to the host computer.

[0035] S140: If the total calibration value of the upgraded firmware data is consistent with the total calibration value of the stored firmware data, an upgrade verification success message is returned.

[0036] In the embodiment of the present invention, when the total calibration value of the upgraded firmware data is consistent with the total calibration value of the stored firmware data, it indicates that the upgraded firmware data has passed the verification, and then the information of successful upgrade verification can be returned, indicating that the host upgrade is successful. When the host is successfully upgraded, the backup area address, backup area size, firmware data length, and total calibration value can be recorded, and then the jump flag can be modified and the system can be reset.

[0037] After the host upgrade is completed, when the host starts, the host will first run the Bootloader, read the upgrade information data in the JumpParameter area, and run the corresponding function according to the jump flag. Specifically, the jump flag may include 1: run BOOT, 2: run APP, 3: try to run APP, 4: copy the Backup area data to the Run area. When the host reads the upgrade information data, it will run the corresponding function according to the jump flag. When the jump flag 4 is read, the data in ApplicationRun is exchanged with the data in ApplicationBackup, so that the upgraded data can be replaced in Application Run. When the data exchange is successful, the jump flag is changed to 3, that is, try to run APP, the host runs APP, and when the operation is successful, the jump flag is changed to run APP. The host will run the upgraded software in the subsequent operation process.

[0038] In addition, the above is explained by taking the host software upgrade as an example. If the upgraded device is a slave, its upgrade process is similar to that of the host. The difference is that the startup frame, firmware frame and end frame received by the host can be sent by the host.

[0039] See also Figure 2 In some embodiments, such as in this embodiment, the embedded system upgrade method may include steps S150-S160.

[0040] S150, reading the unique identifier of the stored firmware data and the unique identifier of the backup data in the preset backup area respectively;

[0041] S160, if the unique identifier of the stored firmware data is consistent with its own unique identifier, then enter the step of returning the upgrade verification success information.

[0042] In an embodiment of the present invention, the unique identifier may be a GUID address, and the GUID address of the stored firmware data may be obtained by reading the stored firmware data. If the GUID address of the stored firmware data is consistent with its own GUID address, the step of returning verification success information may be entered.

[0043] See also Figure 3 In some embodiments, such as in the present embodiment, the embedded system upgrade method may include steps S170-S173.

[0044] S170, obtaining frame information sent by the host computer, and confirming whether the device type of the host computer matches the device type in the frame information, wherein the frame information includes a startup frame, the firmware frame, and the end frame;

[0045] S171, if the device type of the own device does not match the device type in the frame information, then identify a slave that matches the device type in the frame information among all slaves and set it as the target slave;

[0046] S172, forwarding the frame information to the target slave;

[0047] S173: If no slave matching the device type is found among all the slaves, an upgrade error message is returned.

[0048] In an embodiment of the present invention, the frame information sent by the host computer may include a startup frame, a firmware frame, and an end frame. The startup frame marks the start of the upgrade, the firmware frame is used for the upgrade, and the end frame marks the end of the upgrade and verification. Taking the startup frame as an example, the host computer can send a startup frame to enable the host or slave to enter the upgrade process. The host computer first sends the startup frame to the host, and the host receives and parses the startup frame to obtain device parameter information. The device parameter information may include device type, upgrade method, software version, hardware version, firmware data length, and the number of firmware data packets, wherein the device type, upgrade method, and software / hardware version are used for self-verification of the master / slave upgrade. The firmware data length refers to the size of the loaded binary firmware file, which is used to determine whether the transmitted data is correct; the number of firmware data packets refers to the number of firmware data frames transmitted, which is used to determine whether the transmitted data is correct.

[0049] The host obtains the startup frame, and parses the startup frame to obtain the device parameter information, then obtains the device type from the device parameter information, and compares it with its own device type. If the device type of the device parameter information is consistent with the device type of the host, then other information verification can continue, such as software version and hardware version. If the device type of the device parameter information is inconsistent with the device type of the host, the host identifies the device type of the device parameter information, and confirms the slave that matches the device type of the device parameter information among all slaves to obtain the target slave, and then sends the startup frame to the target slave. It can be understood that the above is explained using the startup frame as an example. When the host receives a firmware frame or an end frame, the device type will also be verified. The verification process is consistent with the process of the startup frame, and will not be explained in detail here.

[0050] See also Figure 4 In some embodiments, such as in this embodiment, the embedded system upgrade method may include steps S1701-S1705.

[0051] S1701, if the acquired frame is the startup frame, and the device type of the device matches the device type in the startup frame, confirm whether the software version number of the device matches the software version number in the startup frame;

[0052] S1702, if the software version number of the device does not match the software version number in the startup frame, confirm whether the hardware version number of the device matches the hardware version number in the startup frame;

[0053] S1703, if its own hardware version number matches the hardware version number in the startup frame, a response success message is returned;

[0054] S1704, if the software version number of the device matches the software version number in the startup frame, an upgrade failure message is returned;

[0055] S1705: If the hardware version number of the device does not match the hardware version number in the startup frame, an upgrade failure message is returned.

[0056] In the embodiment of the present invention, after the host completes the verification of the device type, the host continues to obtain the software version and hardware version in the device parameter information, and then verifies its own software version and hardware version respectively. For example, when the software version of the host does not match the software version of the device parameter information, it indicates that the software version of the host needs to be upgraded, and then it can continue to confirm whether the hardware version of the host is consistent with the hardware version of the device parameter information. If the hardware version of the host is consistent with the hardware version of the device parameter information, the upgrade method can be further confirmed.

[0057] When the software version of the host is consistent with the software version of the device parameter information, or when the hardware version is inconsistent with the software version of the device parameter information, an upgrade failure message is returned.

[0058] See also Figure 5 In some embodiments, such as in this embodiment, step S1703 may include steps S17031-S17033.

[0059] S17031, confirm whether the current upgrade mode is broadcast upgrade;

[0060] S17032: if the current upgrade mode is the broadcast upgrade, do not respond to the frame information;

[0061] S17033: If the current upgrade mode is non-broadcast upgrade, a response success message is returned.

[0062] In an embodiment of the present invention, the upgrade mode may include single device upgrade, address upgrade and broadcast upgrade. Single device upgrade refers to the host computer being designated as the host or a certain slave upgrade. Address upgrade refers to upgrading a specific device through the device address of the device. The number of devices upgraded may be multiple. The device address may be an IP address, a MAC address or other forms of identifiers, which are used to uniquely identify the device in the network. Broadcast upgrade refers to the host computer upgrading all connected devices. In a single device upgrade, the host computer is designated as the host or a certain slave upgrade. The host computer sends a specific identifier with the device, such as a device type or device identification. When the host and the slave receive the startup frame, the firmware frame and the end frame, the device type or device identification will be verified. The upgrade will continue only after the verification is passed. Broadcast upgrade is when the host computer sends startup frames, firmware frames and end frames to the host and all slaves at the same time, and the host and the slaves both feed back feedback information to the host computer.

[0063] By considering the single device upgrade and the address upgrade as non-broadcast upgrade, it can be determined whether the host upgrade mode is broadcast upgrade or non-broadcast upgrade. For broadcast upgrade, the host computer sends startup frames, firmware frames and end frames to all hosts and slaves at the same time. When the software versions of the host or slave are consistent, it indicates that no upgrade is required this time and the startup frame, firmware frame or end frame sent by the host computer is not responded. When the hardware version of the host or slave is consistent with the hardware version of the device parameter information, it also indicates that no upgrade is required this time and the startup frame, firmware frame or end frame sent by the host computer is not responded.

[0064] For non-broadcast upgrades, when the host's software version is inconsistent with the software version of the device parameter information, and the host's hardware version is consistent with the hardware version of the device parameter information, a successful response message can be returned to the host computer. When the host's software version is consistent with the software version of the device parameter information, an upgrade failure message can be returned. When the host's hardware version is inconsistent with the hardware version of the device parameter information, an upgrade failure message can also be returned.

[0065] See also Figure 6 In some embodiments, such as in this embodiment, step S120 may include steps S121-S122.

[0066] S121, confirming whether the firmware package numbers of the upgrade firmware data are continuous;

[0067] S122: If the firmware package numbers of the upgraded firmware data are continuous, then the firmware data length and the number of firmware packages of the upgraded firmware data are recorded.

[0068] In the embodiment of the present invention, it is possible to confirm whether the firmware package numbers are continuous. If they are continuous, the firmware data length and the number of firmware packages can be further recorded. If they are not continuous, it is possible to confirm whether it is a broadcast upgrade. If it is not a broadcast upgrade, an upgrade failure message is returned. If it is a broadcast upgrade, no response is given. The recorded firmware data length and firmware package number can be used to confirm whether the firmware data length and firmware package number of the stored firmware data are consistent to verify the data.

[0069] The present invention further provides an embedded system upgrade system, which is configured to be used to execute the embedded system upgrade method described in any one of the above embodiments.

[0070] The embedded system upgrade method and system disclosed in the present invention can store the upgraded firmware data of the firmware frame to a preset storage area when the upper computer sends a firmware frame for upgrading, so as to obtain the stored firmware data, and then parse the end frame to obtain the total calibration value of the upgraded firmware data when receiving the end frame, and calculate the total calibration value of the stored firmware data, and confirm whether the upgrade is successful by comparing the total calibration value of the upgraded firmware data with the total calibration value of the stored firmware data. When the total calibration value of the upgraded firmware data is consistent with the total calibration value of the stored firmware data, information on successful upgrade verification is returned, and the data can be verified while the embedded device is being upgraded to avoid the system being unable to run after the upgrade.

[0071] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed by the present invention, and these modifications or replacements should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.

Claims

1. An embedded system upgrade method, characterized in that: The method comprises: Obtaining a firmware frame sent by the host computer and parsing the firmware frame to obtain upgrade firmware data; storing the upgraded firmware data in a preset storage area to obtain stored firmware data; If an end frame sent by the host computer is received, the end frame is parsed to obtain a total calibration value of the upgraded firmware data, and the total calibration value of the stored firmware data is calculated; If the total calibration value of the upgraded firmware data is consistent with the total calibration value of the stored firmware data, an upgrade verification success message is returned.

2. The method according to claim 1, characterized in that After the step of if the total calibration value of the upgraded firmware data is consistent with the total calibration value of the stored firmware data, the method further includes: Respectively reading the unique identifier of the stored firmware data and the unique identifier of the backup data in the preset backup area; If the unique identifier of the stored firmware data is consistent with its own unique identifier, the step of returning the upgrade verification success information is entered.

3. The method according to claim 1, characterized in that The method further comprises: Obtaining the frame information sent by the host computer, and confirming whether the device type of the host computer matches the device type in the frame information, wherein the frame information includes a startup frame, the firmware frame, and the end frame; If the device type of the device itself does not match the device type in the frame information, then a slave matching the device type in the frame information is identified among all slaves and set as the target slave; The frame information is forwarded to the target slave.

4. The method according to claim 3, characterized in that The method further comprises: If the acquired frame is the startup frame, and the device type of the device matches the device type in the startup frame, then confirm whether the software version number of the device matches the software version number in the startup frame; If its own software version number does not match the software version number in the startup frame, confirm whether its own hardware version number matches the hardware version number in the startup frame; If its own hardware version number matches the hardware version number in the startup frame, a response success message is returned.

5. The method according to claim 4, characterized in that After the step of confirming whether the software version number of the self matches the software version number in the startup frame, the method further includes: If its own software version number matches the software version number in the startup frame, an upgrade failure message is returned.

6. The method according to claim 4, characterized in that After the step of confirming whether the hardware version number of the self matches the hardware version number in the startup frame, the method further includes: If its own hardware version number does not match the hardware version number in the startup frame, an upgrade failure message is returned.

7. The method according to claim 3, characterized in that The method further comprises: Confirm whether the current upgrade mode is broadcast upgrade; If the current upgrade mode is the broadcast upgrade, the frame information is not responded; If the current upgrade mode is non-broadcast upgrade, a response success message is returned.

8. The method according to claim 3, characterized in that The method further comprises: If no slave matching the device type is found among all the slaves, an upgrade error message is returned.

9. The method according to claim 1, characterized in that The step of storing the upgraded firmware data in a preset storage area to obtain stored firmware data comprises: Confirm whether the firmware package numbers of the upgraded firmware data are continuous; If the firmware package numbers of the upgraded firmware data are continuous, the firmware data length and the number of firmware packages of the upgraded firmware data are recorded.

10. An embedded upgrade system, characterized in that: The method is configured to be used to execute the embedded system upgrade method as described in any one of claims 1 to 9.