UPDATING OF FIRMWARE

20170242685 · 2017-08-24

Assignee

Inventors

Cpc classification

International classification

Abstract

The present disclosure provides a first method for updating firmware of a computer system, which is embedded in a technical device, wherein the technical device has a volatile memory module, wherein the technical device has a non-volatile memory module, in which a firmware update package is stored, wherein the firmware update package contains individual files and associated first checksums, wherein the method runs through the following steps in the specified sequence: a restart (G), a subsequent booting of the computer system (H), and checking if an indicator file exists in the non-volatile memory module (I). Also provided is a second method for updating firmware of the computer system, which is embedded in a technical device, wherein the method runs through the following steps in the specified sequence: a restart (G), a subsequent booting of the computer system (H), and a check as to whether an indicator file exists in the non-volatile memory module (I).

Claims

1. A method for preparing an update of firmware of a computer system which is embedded in a technical device, wherein the technical device has a volatile memory module, wherein the technical device has a nonvolatile memory module, wherein the method iterates the following method steps in the specified sequence: starting the update of the firmware (A) downloading a firmware update package to the volatile memory module (B) copying the firmware update package to the nonvolatile memory module (C) creating an indicator file in the nonvolatile memory module (D) issuing a request to a user to perform a restart of the technical device (E) restarting the computer system (F).

2. A method for updating firmware of a computer system which is embedded in a technical device, wherein the technical device includes a volatile memory module, wherein the technical device includes a nonvolatile memory module, on which a firmware update package is stored wherein the firmware update package includes individual files and associated first checksums, wherein the method iterates the following method steps in the specified sequence: a restart (G), a subsequent startup of the computer system (H), and a check of whether an indicator file exists in the nonvolatile memory module (I).

3. The method for updating firmware of a computer system as claimed in claim 2, wherein if the indicator file does not exist, a startup of firmware of the technical device is performed (J).

4. The method for updating firmware of a computer system as claimed in claim 2, wherein if the indicator file exists, the firmware update package is copied from the nonvolatile memory module to the volatile memory module (K) subsequently, all files included in the firmware update package are unpacked in the volatile memory module (L), and the associated second checksums of the files are formed, and the first and second checksums of the files of the firmware update package and the copied firmware update package are then compared (M).

5. The method for updating firmware of a computer system as claimed in claim 2, wherein if the checksums of the files of the firmware update package and the copied firmware update package are not identical, the firmware update package in the nonvolatile memory module is deleted (O), and the indicator file in the nonvolatile memory module is deleted (P) and subsequently, a startup of firmware of the technical device is performed (J, Q).

6. The method for updating firmware of a computer system as claimed in claim 4, wherein if the checksums of the files of the firmware update package and the copied firmware update package are identical, all files of the firmware update package stored in the volatile memory module are copied to the nonvolatile memory module (R), and subsequently, it is checked whether the copy operation was successful (S).

7. The method for updating firmware of a computer system as claimed in claim 2, wherein if the copy operation was successful, the firmware update package in the nonvolatile memory is deleted (O) subsequently, the indicator file in the nonvolatile memory is deleted (P), and a startup of firmware of the technical device is then performed (J, Q).

8. The method for updating firmware of a computer system as claimed in claim 6, wherein if the copy operation was unsuccessful, the user of the technical device is requested to perform a restart of the technical device (T).

9. A computer system including a data memory in which a firmware update package is stored, which is made up of three individual packages, wherein a first package includes all files relevant to the firmware, wherein a second package includes at least one script file, and wherein a third package includes at least one checksum which is associated with a file of the first package, and with the aid of which the correctness of this file may be checked.

10. The method for preparing an update of a computer system as claimed in claim 1, wherein the volatile memory module is a RAM memory, and the nonvolatile memory is a flash memory.

11. The method for updating firmware of a computer system as claimed in claim 2, wherein the volatile memory module is a RAM memory, and the nonvolatile memory module is a flash memory.

Description

EXEMPLARY EMBODIMENT

[0043] An exemplary embodiment of the present invention is depicted in the drawings and is described in greater detail below. The following are shown:

[0044] FIG. 1 shows a flow chart of an upstream method for preparing an update, and a flow chart for a downstream method for updating firmware of a technical device;

[0045] FIG. 2 shows a flow chart of a downstream method for updating the firmware of the technical device.

[0046] The figures include partially simplified schematic representations. Identical reference numerals are used in part for similar but possibly non-identical elements. Various views of similar elements may be scaled differently.

[0047] The upstream method in FIG. 1 is used for preparing an update of firmware of a computer system which is embedded in a technical device. The technical device is equipped with a volatile memory module, for example, RAM memory, and with a nonvolatile memory module, for example, flash memory. The method iterates the following method steps in the specified sequence: [0048] The start (A) of the firmware update is, for example, initiated via a so-called command, for example, via a console. The firmware monitors, for example, a certain folder, to determine whether a new update is available. [0049] A firmware update package is then downloaded to the volatile memory module (B). The firmware update package may, for example, be stored on a USB stick and supplied to the technical device via a USE interface. [0050] Subsequently, the firmware update package is copied to the nonvolatile memory module (C). [0051] An indicator file is then created in the nonvolatile memory module (D). The function of the indicator file will be described in greater detail below. [0052] Finally, a request is issued to a user by the technical device, including the content for performing a restart of the technical device (E). [0053] Finally, a restart, a so-called reboot, of the computer system takes place (F). The upstream method is thus terminated.

[0054] FIG. 2 shows a flow chart of a downstream method for the actual updating of the firmware of the computer system. The method iterates the following method steps in the specified sequence: [0055] First, the technical device is restarted (G). For example, for this purpose, a request for a “restart” may be made to the user beforehand by the computer system. [0056] Then, the computer system is started up (H). [0057] Subsequently, it is checked whether an indicator file exists in the nonvolatile memory module (I). [0058] If the indicator file does not exist, the computer system or the technical device is started with the aid of the firmware or the corresponding files, logs, and scripts. This is also referred to as starting up the firmware (J). In this case, the downstream method would be terminated. [0059] If, however, the indicator file exists, then the firmware update package is copied from the volatile memory module (RAM) to the nonvolatile (flash) memory module (K). [0060] Subsequently, all files included in the firmware update package are unpacked in the volatile memory module (L). [0061] Thereafter, the associated second checksums of the unpacked files are formed, and the first and second checksums of the files of the firmware update package and the copied firmware update package are then compared (M). [0062] Via the comparison of the checksums, it is checked whether the preceding copy operation was successful (N). [0063] If the first checksums of the files of the firmware update package and the second checksums of the copied firmware update package are not identical, the firmware update package in the nonvolatile memory module is deleted (O). [0064] Subsequently, the indicator file in the nonvolatile memory module is also deleted (P). [0065] Thereafter, the startup of the firmware of the technical device is performed (Q). In this case, the downstream method is terminated. [0066] If the checksums of the files of the firmware update package and the copied firmware update package are identical (R), [0067] all files of the firmware update package stored in the volatile memory module are copied to the nonvolatile memory module (R). [0068] Thereafter, it is checked whether the copy operation was successful (S). [0069] If the copy operation was successful (T), the firmware update package in the nonvolatile memory is deleted (O). Here, the method steps in the flow chart come together again. [0070] Subsequently, the indicator file in the nonvolatile memory is deleted (P). [0071] The startup of the firmware of the technical device then takes place. The downstream method is thereby terminated. [0072] If the copy operation of the files was unsuccessful, the user of the technical device is requested to perform a restart of the technical device (T). The method may optionally restart again at method step (G).