EP3218804A1 - Update einer firmware - Google Patents
Update einer firmwareInfo
- Publication number
- EP3218804A1 EP3218804A1 EP15801313.6A EP15801313A EP3218804A1 EP 3218804 A1 EP3218804 A1 EP 3218804A1 EP 15801313 A EP15801313 A EP 15801313A EP 3218804 A1 EP3218804 A1 EP 3218804A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- firmware
- volatile memory
- firmware update
- computer system
- technical device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B5/00—Electrostatic spraying apparatus; Spraying apparatus with means for charging the spray electrically; Apparatus for spraying liquids or other fluent materials by other electric means
- B05B5/025—Discharge apparatus, e.g. electrostatic spray guns
- B05B5/053—Arrangements for supplying power, e.g. charging power
- B05B5/0533—Electrodes specially adapted therefor; Arrangements of electrodes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B5/00—Electrostatic spraying apparatus; Spraying apparatus with means for charging the spray electrically; Apparatus for spraying liquids or other fluent materials by other electric means
- B05B5/16—Arrangements for supplying liquids or other fluent material
- B05B5/1608—Arrangements for supplying liquids or other fluent material the liquid or other fluent material being electrically conductive
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B05—SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
- B05B—SPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
- B05B5/00—Electrostatic spraying apparatus; Spraying apparatus with means for charging the spray electrically; Apparatus for spraying liquids or other fluent materials by other electric means
- B05B5/16—Arrangements for supplying liquids or other fluent material
- B05B5/1683—Arrangements for supplying liquids or other fluent material specially adapted for particulate materials
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K3/00—Apparatus or processes for manufacturing printed circuits
- H05K3/10—Apparatus or processes for manufacturing printed circuits in which conductive material is applied to the insulating support in such a manner as to form the desired conductive pattern
- H05K3/12—Apparatus or processes for manufacturing printed circuits in which conductive material is applied to the insulating support in such a manner as to form the desired conductive pattern using thick film techniques, e.g. printing techniques to apply the conductive material or similar techniques for applying conductive paste or ink patterns
- H05K3/1241—Apparatus or processes for manufacturing printed circuits in which conductive material is applied to the insulating support in such a manner as to form the desired conductive pattern using thick film techniques, e.g. printing techniques to apply the conductive material or similar techniques for applying conductive paste or ink patterns by ink-jet printing or drawing by dispensing
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K2201/00—Indexing scheme relating to printed circuits covered by H05K1/00
- H05K2201/02—Fillers; Particles; Fibers; Reinforcement materials
- H05K2201/0203—Fillers and particles
- H05K2201/0242—Shape of an individual particle
- H05K2201/0257—Nanoparticles
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K2203/00—Indexing scheme relating to apparatus or processes for manufacturing printed circuits covered by H05K3/00
- H05K2203/10—Using electric, magnetic and electromagnetic fields; Using laser light
- H05K2203/105—Using an electrical field; Special methods of applying an electric potential
Definitions
- the invention relates to a method for preparing an update of a firmware of a computer system according to the preamble of independent claim 1 and a method for updating a firmware of a computer system according to the preamble of independent claim 2.
- the invention also relates to a computer system with a Data storage on which a
- Such computer systems are also referred to as "embedded devices.”
- the computer systems are operated with a so-called firmware that includes all the necessary control and function data as well as control and functional specifications (processes) for the technical device to be operated.
- WO 2007 005 790 A2 discloses a method for updating a firmware of a technical device. Before the update, a local copy of the firmware data package is saved on the storage medium of the technical device. If the update fails, the update can be reattached using the copy.
- the object of the invention is to propose a reliable update of a firmware.
- Update procedure of a firmware The actual update procedure is prepared in an upstream process.
- Switches are known from network technology.
- firmware English, firm / solid '
- the firmware is functionally fixed to the hardware, which means that one can not be used without the other. It assumes an intermediate position between hardware (ie the physical parts of a device) and the application software (the possibly interchangeable programs of a device).
- a firmware update package is, for example, an extractable ZIP file, which is usually provided by the manufacturer of the associated technical device.
- the firmware update package proposed here includes files, protocols and scripts and associated checksums generated using the popular md5 algorithm.
- the invention-relevant firmware update package advantageously consists of three smaller packages.
- a first package contains all files relevant to the firmware.
- a second package consists of at least one so-called script file. From the script file individual commands are read out and
- the script file ensures that the files of the first package are copied to the intended destination folders.
- a third package consists of at least one checksum, which is assigned to a file of the first package and with the aid of which the correctness of this file can be checked.
- the firmware update package consists of two packages and this script file.
- the upstream method is used to prepare an update of a firmware of a computer system, which is embedded in a technical device.
- the technical device is with a volatile
- Memory device such as a RAM memory
- a non-volatile memory device such as a flash memory
- the firmware update package can for example be stored on a USB stick and fed to the technical device via a USB interface. - The firmware update package is then copied to the non-volatile memory block.
- an indicator file is created in the non-volatile memory block.
- the function of the indicator file is explained in more detail below.
- the technical device issues a request to a user with the content to restart the technical device.
- the downstream process refers to the actual
- Computer system which is embedded in a technical device, refers to a technical device with a volatile
- Memory module such as a RAM memory
- a non-volatile memory device such as a flash memory
- firmware update package is stored and the firmware update package contains individual files, logs and scripts and associated first checksums.
- the indicator file serves as an indicator that the individual files, logs and scripts of the firmware have been properly and completely downloaded and copied without errors.
- the function of the indicator file will be highlighted more clearly below. If the indicator file does not exist, the firmware of the technical device is started. The technical device is operated with the existing firmware or with the existing firmware files. In this case, the downstream update process would be finished.
- Firmware update package copied from non-volatile memory block to volatile memory device.
- the indicator file indicates that a firmware update package has been downloaded and an update can be performed.
- the firmware update package in the non-volatile memory device is deleted. Also, the indicator file in the non-volatile memory device is then cleared. This ensures that the startup of the technical device does not take place with a faulty or damaged firmware. The startup then takes place with a previous version, i. with the old firmware.
- Memory module stored firmware update packages in the non-volatile memory module copied. This step replaces the old firmware files, old logs, and old scripts with new ones.
- the firmware update procedure is ended.
- the indicator file and the firmware update package are retained. After the next restart, the update process is repeated.
- a counter can be installed here, which ends the process after first copying attempts by deleting the indicator file and the firmware update.
- the technical device starts up with the new firmware files, protocols and scripts.
- An essential part of the invention is a script file included in the firmware update package.
- This script file is also referred to below as the installation script.
- the firmware update is passed from the computer system to the installation script.
- the installation script will then do the following
- Fig. 1 is a flowchart of an upstream method for
- Fig. 2 is a flowchart of a downstream method for
- the upstream method in FIG. 1 is used to prepare an update of a firmware of a computer system which is embedded in a technical device.
- the technical device is equipped with a volatile memory module, for example a RAM memory, and with a non-volatile memory module, for example a flash memory.
- a volatile memory module for example a RAM memory
- a non-volatile memory module for example a flash memory.
- the start (A) of the firmware update is initiated, for example, by a so-called command, for example via a console.
- the firmware monitors, for example, a specific folder, if there is a new update.
- the firmware update package can for example be stored on a USB stick and fed to the technical device via a USB interface.
- the technical device issues a request to a user with the content to restart the technical device (E).
- a reboot a so-called reboot, the
- FIG. 2 shows a flowchart of a downstream method for actually updating the firmware of the computer system. The process goes through the following process steps in the order given:
- this can be done previously by the computer system, a request for a "restart" to the user.
- firmware update packages and the second checksums of the copied firmware update package are not identical, the firmware update package in the non-volatile memory device is deleted (0).
- the indicator file in the non-volatile memory module is also deleted (P).
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manufacturing & Machinery (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Stored Programmes (AREA)
Abstract
Die Erfindung bezieht sich auf ein erstes Verfahren zum Update einer Firmware eines Computersystems, welches in einem technischen Gerät eingebettet ist, wobei das technische Gerät einen flüchtigen Speicherbaustein, beispielsweise einen RAM-Speicher, aufweist, wobei das technische Gerät einen nicht flüchtigen Speicherbaustein, beispielsweise einen Flash-Speicher, aufweist, auf welchem ein Firmwareupdatepaket gespeichert ist, wobei das Firmwareupdatepaket einzelne Dateien und zugehörige erste Checksummen enthält, wobei das Verfahren folgende Verfahrensschritte in der angegebenen Reihenfolge durchläuft: - einen Neustart (G), - ein anschließendes Hochfahren des Computersystems (H), und - überprüfen, ob eine Indikatordatei im nicht flüchtigen Speicherbaustein existiert (I). Die Erfindung bezieht sich auf ein zweites Verfahren zum Update einer Firmware des Computersystems, welches in einem technischen Gerät eingebettet ist, wobei das Verfahren folgende Verfahrensschritte in der angegebenen Reihenfolge durchläuft: - einen Neustart (G), - ein anschließendes Hochfahren des Computersystems (H), und - ein Überprüfen, ob eine Indikatordatei im nicht flüchtigen Speicherbaustein existiert (I).
Description
Update einer Firmware Beschreibung
Die Erfindung geht aus von einem Verfahren zum Vorbereiten eines Updates einer Firmware eines Computersystems nach dem Oberbegriff des unabhängigen Anspruchs 1 und von einem Verfahren zum Update einer Firmware eines Computersystems nach dem Oberbegriff des unabhängigen Anspruchs 2. Die Erfindung bezieht sich ebenfalls auf ein Computersystems mit einem Datenspeicher, auf welchem ein
Firmewareupdatepaket gespeichert ist ausgehend vom Anspruch 9.
Derartige Computersysteme werden auch als„embedded devices" bezeichnet. Die Computersysteme werden mit einer so genannten Firmware betrieben, die alle notwendigen Steuer- und Funktionsdaten sowie Steuer- und Funktionsvorschriften (Prozesse) für das zu betreibende technische Gerät umfasst.
Stand der Technik
Die WO 2007 005 790 A2 offenbart ein Verfahren zum Update einer Firmware eines technischen Gerätes. Vom Firmware-Datenpaket wird vorm Update eine lokale Kopie auf dem Speichermedium des technischen Gerätes gespeichert. Bei einem eventuellen Scheitern des Updates kann das Update mithilfe der Kopie erneut durchgeführt werden.
Es kann jedoch vorkommen, dass Updates mit beschädigten oder unvollständigen Dateien durchgeführt werden, ohne dass ein
Betriebsfehler des Gerätes sofort auffällt. Vor einem solchen Fehler kann das Updateverfahren der WO 2007 005 790 A2 nicht schützen.
Aufgabenstellung
Die Aufgabe der Erfindung besteht darin, ein zuverlässiges Update einer Firmware vorzuschlagen.
Die Aufgabe wird durch die kennzeichnenden Merkmale des
unabhängigen Anspruchs 1 gelöst.
Vorteilhafte Ausgestaltungen der Erfindung sind in den
Unteransprüchen angegeben.
Der Kern der Erfindung liegt in einer Zweistufigkeit eines
Updateverfahrens einer Firmware. Das eigentliche Updateverfahren wird in einem vorgeschalteten Verfahren vorbereitet.
Die hier vorgestellten Verfahren werden besonders vorteilhaft bei so genannten Switches eingesetzt. Switches sind aus der Netzwerktechnik bekannt.
Unter einer Firmware (engl, firm /fest') versteht ein Fachmann eine Software, die in elektronische Geräte eingebettet ist. Sie ist zumeist in einem Flash-Speicher gespeichert. Die Firmware ist funktional fest mit der Hardware verbunden ist, was bedeutet, dass das eine ohne das andere nicht nutzbar ist. Sie nimmt eine Zwischenstellung zwischen Hardware (also den physikalischen Anteilen eines Gerätes) und der Anwendungssoftware (den ggf. austauschbaren Programmen eines Gerätes) ein.
Bei einem Firmwareupdatepaket handelt es sich beispielsweise um ein entpackbares ZIP-file, welches in der Regel vom Hersteller des zugehörigen technischen Gerätes bereitgestellt wird. Das hier vorgeschlagene Firmwareupdatepaket beinhaltet Dateien, Protokolle
und Skripte und zugehörige Checksummen, die mithilfe des bekannten md5-Algorithmus erzeugt wurden.
Das erfindungsrelevante Firmwareupdatepaket besteht, nachdem es entpackt wurde, vorteilhafterweise aus drei kleineren Paketen. Ein erstes Paket enthält alle für die Firmware relevanten Dateien. Ein zweites Paket besteht aus zumindest einer so genannten Skript-Datei. Aus der Skript-Datei werden einzelne Befehle ausgelesen und
ausgeführt. Die Skript-Datei sorgt unter anderen dafür, dass die Dateien des ersten Paketes in die vorgesehenen Zielordner kopiert werden. Ein drittes Paket besteht aus zumindest einer Checksumme, die einer Datei des ersten Paketes zugeordnet ist und mit deren Hilfe die Korrektheit dieser Datei überprüft werden kann.
Wenn das zweite Paket lediglich eine Skript-Datei enthält, was der Regelfall ist, besteht das Firmwareupdatepaket aus zwei Paketen und eben dieser Skript-Datei.
Die nachfolgend beschriebenen Verfahren werden maßgeblich von der Skript-Datei geführt.
Das vorgeschaltete Verfahren dient zur Vorbereitung eines Updates einer Firmware eines Computersystems, welches in einem technischen Gerät eingebettet ist. Das technische Gerät ist mit einem flüchtigen
Speicherbaustein, beispielsweise einem RAM-Speicher, und mit einem nicht flüchtigen Speicherbaustein, beispielsweise einem Flash-Speicher, ausgestattet. Das Verfahren durchläuft folgende Verfahrensschritte in der angegebenen Reihenfolge:
- Zunächst wird ein Firmwareupdatepaket in den flüchtigen
Speicherbaustein heruntergeladen. Das Firmwareupdatepaket kann beispielweise auf einem USB-Stick gespeichert sein und dem technischen Gerät über eine USB-Schnittstelle zugeführt werden.
- Anschließend wird das Firmwareupdatepaket in den nicht flüchtigen Speicherbaustein kopiert.
- Dann wird eine Indikatordatei im nicht flüchtigen Speicherbaustein erzeugt. Die Funktion der Indikatordatei wird weiter unten näher erläutert.
- Zuletzt wird vom technischen Gerät eine Aufforderung an einen Benutzter ausgegeben mit dem Inhalt, einen Neustart des technischen Gerätes durchzuführen.
Das nachgeschaltete Verfahren bezieht sich auf den eigentlichen
Updatevorgang der Firmware. Alle die Firmware betreffenden Dateien werden ausgetauscht.
Das nachgeschaltete Verfahren zum Update einer Firmware eines
Computersystems, welches in einem technischen Gerät eingebettet ist, bezieht sich auf ein technische Gerät mit einem flüchtigen
Speicherbaustein, beispielsweise einen RAM-Speicher, und einem nicht flüchtigen Speicherbaustein, beispielsweise einen Flash-Speicher, wobei im nicht flüchtigen Speicherbaustein ein Firmwareupdatepaket gespeichert ist und wobei das Firmwareupdatepaket einzelne Dateien, Protokolle und Skripte und zugehörige erste Checksummen enthält.
Das nachgeschaltete Verfahren durchläuft folgende Verfahrensschritte in der angegebenen Reihenfolge:
- Zunächst wird ein Neustart des technischen Gerätes durchgeführt.
- Anschließend wird überprüft, ob eine Indikatordatei im nicht
flüchtigen Speicherbaustein existiert.
Die Indikatordatei dient als Indikator dafür, dass die einzelnen Dateien, Protokolle und Skripte der Firmware ordnungsgemäß und vollständig heruntergeladen wurden und fehlerfrei kopiert wurden. Die Funktion der Indikatordatei wird weiter unten noch deutlicher hervorgehoben.
Wenn die Indikatordatei nicht existiert, wird ein Anstarten einer Firmware des technischen Gerätes durchgeführt. Das technische Gerät wird mit der vorhandenen Firmware beziehungsweise mit den vorhandenen Firmwaredateien betrieben. In diesem Fall wäre das nachgeschaltete Updateverfahren beendet.
Wenn die Indikatordatei jedoch existiert, wird das
Firmwareupdatepaket vom nicht flüchtigen Speicherbaustein in den flüchtigen Speicherbaustein kopiert. Die Indikatordatei zeigt hier an, dass ein Firmwareupdatepaket heruntergeladen wurde und ein Update durchgeführt werden kann.
Anschließend werden alle im Firmwareupdatepaket enthaltenen Dateien im flüchtigen Speicherbaustein entpackt und die
zugehörigen zweiten Checksummen dieser Dateien gebildet.
Dann werden die zweiten Checksummen der Dateien des kopierten Firmwareupdatepakets und die ersten Checksummen des ursprünglichen Firmwareupdatepakets miteinander verglichen.
Wenn die ersten und zweiten Checksummen der Dateien nicht identisch sind, wird das Firmwareupdatepaket im nicht flüchtigen Speicherbaustein gelöscht. Ebenfalls wird dann die Indikatordatei im nicht flüchtigen Speicherbaustein gelöscht. Dadurch wird sichergestellt, dass das Anstarten des technischen Gerätes nicht mit einer fehlerhaften bzw. beschädigten Firmeware erfolgt. Das Anstarten erfolgt dann mit einer vorherigen Version, d.h. mit der alten Firmware.
Wenn jedoch die Checksummen der Dateien des
Firmwareupdatepakets und des kopierten Firmwareupdatepakets identisch sind, werden alle Dateien des im flüchtigen
Speicherbaustein gespeicherten Firmwareupdatepakets in den
nicht flüchtigen Speicherbaustein kopiert. Bei diesem Schritt werden die alten Firmwaredateien, die alten Protokolle und die alten Skripte durch neue ersetzt.
- Anschließend wird kontrolliert, ob der Kopiervorgang erfolgreich war. Dies geschieht üblicherweise über das Auslesen interner Fehlerprotokolle.
- Wenn der Kopiervorgang nicht erfolgreich war, wird das Verfahren zum Update der Firmware beendet. Die Indikatordatei sowie das Firmwareupdatepaket bleiben erhalten. Nach dem nächsten Neustart wird der Updatevorgang wiederholt. Alternativ kann hier auch ein Zähler eingebaut werden, der nach erst n- Kopierversuchen durch Löschen der Indikatordatei sowie des Firmwareupdatepakes das Verfahren beendet.
- Wenn der Kopiervorgang allerdings erfolgreich war, wird das
Firmwareupdatepaket im nicht flüchtigen Speicherbaustein gelöscht, da dies nun nicht mehr benötigt wird. Dies ist außerdem aus Speicherplatzgründen von Vorteil. Außerdem wird die
Indikatordatei im nicht flüchtigen Speicherbaustein gelöscht.
- Danach erfolgt ein Anstarten des technischen Gerätes mit den neuen Firmwaredateien, Protokollen und Skripten.
Ein wesentlicher Bestandteil der Erfindung besteht in einer Skript-Datei, die im Firmwareupdatepaket enthalten ist. Diese Skript-Datei wird im Folgenden auch als Installationsskript bezeichnet. Die Ausführung des Firmwareupdates wird vom Computersystem an das Installationsskript übergeben. Das Installationsskript führt anschließend folgende
Verfahrensschritte aus:
• Kopieren des Firmwareupdatepaketes vom RAM- Speicherbaustein in den FLASH-Speicherbaustein.
• Jetzt werden zweite Checksummen des ersten Paketes des Firmwareupdatepaketes errechnet und mit den bereits
enthaltenen ersten Checksummen verglichen.
• Sind die ersten und zweiten Checksummen identisch, deutet
dies auf fehlerfreie Firmwaredateien hin.
• Das Installationsskript kopiert die Firmwaredateien nunmehr in den RAM-Speicherbaustein und installiert diese.
• Um den FLASH Speicher nicht durch unnötige Schreibzugriffe zu stressen, werden die Firmwaredateien nur kopiert, wenn die zuvor errechneten Checksummen der bereits installierten
Firmwaredatei nicht identisch mit der errechneten Checksumme der zu installierenden Firmwaredatei.
Ein Wesentlicher Erfindungsgedanke des beschriebenen Update- Verfahrens besteht darin, dass nicht nur die zu installierenden
Firmwaredateien, sondern auch das Installationsskript auf
Computersystem geladen werden. Dadurch wird ein hohes Maß an Sicherheit erreicht, dass das technische Gerät nicht durch ein
beschädigtes Firmwareupdatepaket ausfällt.
Ausführungsbeispiel
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im Folgenden näher erläutert. Es zeigen:
Fig. 1 Ein Ablaufdiagramm eines vorgeschalteten Verfahrens zur
Vorbereitung eines Updates und ein Ablaufdiagramm zu einem Nachgeschalteten Verfahren zum Update einer Firmware eines Technischen Gerätes,
Fig. 2 ein Ablaufdiagramm eines nachgeschalteten Verfahrens zum
Update der Firmware des Technischen Gerätes.
Die Figuren enthalten teilweise vereinfachte, schematische Darstellungen. Zum Teil werden für gleiche, aber gegebenenfalls nicht identische
Elemente identische Bezugszeichen verwendet. Verschiedene Ansichten gleicher Elemente könnten unterschiedlich skaliert sein.
Das vorgeschaltete Verfahren in Figur 1 dient zur Vorbereitung eines Updates einer Firmware eines Computersystems, welches in einem technischen Gerät eingebettet ist. Das technische Gerät ist mit einem flüchtigen Speicherbaustein, beispielsweise einem RAM-Speicher, und mit einem nicht flüchtigen Speicherbaustein, beispielsweise einem Flash- Speicher, ausgestattet. Das Verfahren durchläuft folgende
Verfahrensschritte in der
angegebenen Reihenfolge:
- Der Start (A) des Firmwareupdates wird beispielsweise durch ein so genanntes Kommando, beispielsweise über eine Konsole, initiiert. Die Firmware überwacht, beispielsweise einen bestimmten Ordner, ob ein neues Update vorliegt.
- Dann wird ein Firmwareupdatepaket in den flüchtigen
Speicherbaustein heruntergeladen (B). Das Firmwareupdatepaket kann beispielweise auf einem USB-Stick gespeichert sein und dem technischen Gerät über eine USB-Schnittstelle zugeführt werden.
- Anschließend wird das Firmwareupdatepaket in den nicht flüchtigen Speicherbaustein kopiert (C).
- Dann wird eine Indikatordatei im nicht flüchtigen Speicherbaustein erzeugt (D). Die Funktion der Indikatordatei wird weiter unten näher erläutert.
- Zuletzt wird vom technischen Gerät eine Aufforderung an einen Benutzter ausgegeben, mit dem Inhalt, einen Neustart des technischen Gerätes durchzuführen (E).
- Zuletzt erfolgt ein Neustart, ein so genannter Reboot, des
Computersystems (F). Das vorgeschaltete Verfahren ist damit beendet.
In Figur 2 wird ein Ablaufplan eines nachgeschalten Verfahrens zum eigentlichen Update der Firmware des Computersystems gezeigt. Das Verfahren durchläuft folgende Verfahrensschritte in der angegebenen Reihenfolge:
- Zunächst wird das technische Gerät neu gestartet (G).
Beispielsweise kann hierzu zuvor vom Computersystem eine Aufforderung zu einem„Neustart" an den Benutzer erfolgen.
- Dann wird das Computersystem hochgefahren (H).
- Anschließend wird überprüft, ob eine Indikatordatei im nicht
flüchtigen Speicherbaustein existiert (I).
- Wenn die Indikatordatei nicht existiert, wird das Computersystem beziehungsweise das technische Gerät, unter Zuhilfenahme der Firmeware beziehungsweise der entsprechenden Dateien,
Protokolle und Skripte, gestartet. Man spricht auch von einem Anstarten der Firmware (J). In diesem Fall wäre das
nachgeschaltete Verfahren beendet.
- Wenn allerdings die Indikatordatei existiert, dann wird das
Firmwareupdatepaket vom flüchtigen Speicherbaustein (RAM) in den nicht flüchtigen Speicherbaustein (FLASH) kopiert (K).
- Anschließend werden alle im Firmwareupdatepaket enthaltenen Dateien im flüchtigen Speicherbaustein entpackt (L).
- Danach werden die zugehörigen zweiten Checksummen der
entpackten Dateien gebildet und dann werden die ersten und zweiten Checksummen der Dateien des Firmwareupdatepakets und des kopierten Firmwareupdatepakets verglichen (M).
Durch den Vergleich der Checksummen wird überprüft, ob der vorangegangene Kopiervorgang erfolgreich war (N).
Wenn die ersten Checksummen der Dateien des
Firmwareupdatepakets und die zweiten Checksummen des kopierten Firmwareupdatepakets nicht identisch sind, wird das Firmwareupdatepaket im nicht flüchtigen Speicherbaustein gelöscht (0).
Anschließend wird auch die Indikatordatei im nicht flüchtigen Speicherbaustein gelöscht (P).
Danach wird das Anstarten der Firmware des technischen Gerätes durchgeführt (Q). In diesem Fall wäre das nachgeschaltete
Verfahren beendet.
Wenn die Checksummen der Dateien des Firmwareupdatepakets und des kopierten Firmwareupdatepakets identisch sind (R), werden alle Dateien des im flüchtigen Speicherbaustein
gespeicherten Firmwareupdatepakets in den nicht flüchtigen
Speicherbaustein kopiert (R).
Danach wird kontrolliert, ob der Kopiervorgang erfolgreich war (S). Wenn der Kopiervorgang erfolgreich war (T), wird das
Firmwareupdatepaket im nicht flüchtigen Speicher gelöscht (0). Hier laufen die Verfahrensschritte im Ablaufdiagramm wieder zusammen.
Anschließend wird die Indikatordatei im nicht flüchtigen Speicher gelöscht (P).
Dann erfolgt das Anstarten der Firmware des technischen Gerätes. Damit ist das nachgeschaltete Verfahren beendet.
Wenn der Kopiervorgang der Dateien nicht erfolgreich war, wird der Benutzer des technischen Gerätes aufgefordert, einen Neustart des technischen Gerätes durchzuführen (T). Das Verfahren kann ggf. wieder von neuem bei Verfahrensschritt (G) beginnen.
Claims
Ansprüche Verfahren zur Vorbereitung eines Updates einer Firmware eines
Computersystems, welches in einem technischen Gerät eingebettet ist,
- wobei das technische Gerät einen flüchtigen
Speicherbaustein, beispielsweise einen RAM-Speicher, aufweist,
- wobei das technische Gerät einen nicht flüchtigen
Speicherbaustein, beispielsweise einen Flash-Speicher, aufweist
wobei das Verfahren folgende Verfahrensschritte in der
angegebenen Reihenfolge durchläuft:
- Starten des Updates der Firmware (A)
- Herunterladen eines Firmwareupdatepakets in den flüchtigen Speicherbaustein (B)
- Kopieren des Firmwareupdatepakets in den nicht flüchtigen Speicherbaustein (C)
- Erzeugen einer Indikatordatei im nicht flüchtigen
Speicherbaustein (D)
- Ausgabe einer Aufforderung an einen Benutzter einen
Neustart des technischen Gerätes durchzuführen (E)
- Neustart des Computersystems (F).
Verfahren zum Update einer Firmware eines Computersystems, welches in einem technischen Gerät eingebettet ist,
- wobei das technische Gerät einen flüchtigen
Speicherbaustein, beispielsweise einen RAM-Speicher, aufweist,
- wobei das technische Gerät einen nicht flüchtigen
Speicherbaustein, beispielsweise einen Flash-Speicher, aufweist, auf welchem ein Firmwareupdatepaket gespeichert ist
- wobei das Firmwareupdatepaket einzelne Dateien und
zugehörige erste Checksummen enthält
wobei das Verfahren folgende Verfahrensschritte in der
angegebenen Reihenfolge durchläuft:
- einen Neustart (G),
- ein anschließendes Hochfahren des Computersystems (H) und
- ein Überprüfen, ob eine Indikatordatei im nicht flüchtigen
Speicherbaustein existiert (I).
Verfahren zum Update einer Firmware eines Computersystems nach vorstehendem Anspruch
dadurch gekennzeichnet, dass
- wenn die Indikatordatei nicht existiert ein Anstarten einer Firmware des technischen Gerätes durchgeführt wird (J).
4. Verfahren zum Update einer Firmware eines Computersystems nach Anspruch 2
dadurch gekennzeichnet, dass
- wenn die Indikatordatei existiert, das Firmwareupdatepaket vom nicht flüchtigen Speicherbaustein in den flüchtigen Speicherbaustein kopiert wird (K)
- anschließend werden alle im Firmwareupdatepaket enthaltenen Dateien im flüchtigen Speicherbaustein entpackt (L) und die zugehörigen zweiten Checksummen der Dateien gebildet, und dann werden die ersten und zweiten Checksummen der Dateien des Firmwareupdatepakets und des kopierten Firmwareupdatepakets verglichen (M).
5. Verfahren zum Update einer Firmware eines Computersystems nach vorstehendem Anspruch
dadurch gekennzeichnet, dass
- wenn die Checksummen der Dateien des
Firmwareupdatepakets und des kopierten
Firmwareupdatepakets nicht identisch sind, das Firmwareupdatepaket im nicht flüchtigen Speicherbaustein gelöscht wird (0) und
- die Indikatordatei im nicht flüchtigen Speicherbaustein
gelöscht wird (P)
- und anschließend ein Anstarten einer Firmware des technischen Gerätes durchgeführt wird (J, Q).
Verfahren zum Update einer Firmware eines Computersystems nach Anspruch 4
dadurch gekennzeichnet, dass
- wenn die Checksummen der Dateien des
Firmwareupdatepakets und des kopierten
Firmwareupdatepakets identisch sind, alle Dateien des im flüchtigen Speicherbaustein gespeicherten
Firmwareupdatepakets in den nicht flüchtigen
Speicherbaustein kopiert werden (R) und
- anschließend kontrolliert wird, ob der Kopiervorgang
erfolgreich war (S).
Verfahren zum Update einer Firmware eines Computersystems nach vorstehendem Anspruch
dadurch gekennzeichnet, dass
- wenn der Kopiervorgang erfolgreich war das
Firmwareupdatepaket im nicht flüchtigen Speicher gelöscht wird (0)
- anschließend die Indikatordatei im nicht flüchtigen Speicher gelöscht wird (P) und
- dann ein Anstarten einer Firmware des technischen Gerätes durchgeführt wird (J, Q).
Verfahren zum Update einer Firmware eines Computersystems nach Anspruch 6
dadurch gekennzeichnet, dass
- wenn der Kopiervorgang nicht erfolgreich war, der Benutzer des technischen Gerätes aufgefordert wird, einen Neustart des technischen Gerätes durchzuführen (T).
9. Computersystems mit einem Datenspeicher, auf welchem ein
Firmewareupdatepaket gespeichert ist, welche aus drei einzelnen Paketen besteht,
• wobei ein erstes Paket alle für die Firmware relevanten
Dateien beinhaltet,
• wobei ein zweites Paket zumindest eine Skript-Datei enthält und
• wobei ein drittes Paket zumindest eine Checksumme enthält, die einer Datei des ersten Paketes zugeordnet ist und mit deren Hilfe die Korrektheit dieser Datei überprüft werden kann.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014116321.4A DE102014116321A1 (de) | 2014-11-10 | 2014-11-10 | Update einer Firmware |
PCT/DE2015/100436 WO2016074663A1 (de) | 2014-11-10 | 2015-10-21 | Update einer firmware |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3218804A1 true EP3218804A1 (de) | 2017-09-20 |
Family
ID=54705332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP15801313.6A Withdrawn EP3218804A1 (de) | 2014-11-10 | 2015-10-21 | Update einer firmware |
Country Status (9)
Country | Link |
---|---|
US (1) | US20170242685A1 (de) |
EP (1) | EP3218804A1 (de) |
JP (1) | JP2017534136A (de) |
KR (1) | KR20170067826A (de) |
CN (1) | CN107003876A (de) |
CA (1) | CA2967098A1 (de) |
DE (1) | DE102014116321A1 (de) |
RU (1) | RU2017120292A (de) |
WO (1) | WO2016074663A1 (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190087174A1 (en) * | 2017-09-21 | 2019-03-21 | Western Digital Technologies, Inc. | Background firmware update |
US10592232B2 (en) * | 2017-09-26 | 2020-03-17 | Quanta Computer Inc. | Preserving firmware setting during firmware update |
CN107783773B (zh) * | 2017-11-22 | 2021-01-12 | 广东乐心医疗电子股份有限公司 | 固件烧录方法及系统 |
CN109189426A (zh) * | 2018-08-29 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种升级方法、装置、存储介质及电子设备 |
CN109284118B (zh) * | 2018-09-27 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种固件刷新方法、系统、电子设备及计算机可读存储介质 |
US20200104118A1 (en) * | 2018-09-28 | 2020-04-02 | Bose Corporation | Systems and methods for providing staged updates in embedded devices |
US20230229417A1 (en) * | 2022-01-19 | 2023-07-20 | Calamp Corp. | Technologies for over-the-air updates for telematics systems |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130185548A1 (en) * | 2012-01-12 | 2013-07-18 | Gueorgui Djabarov | Multiple System Images for Over-The-Air Updates |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19721786A1 (de) * | 1997-05-24 | 1998-11-26 | Schneider Automation Gmbh | Verfahren zum Betreiben eines Datenverarbeitungsgerätes, insbesondere Automatisierungsgerätes |
US6604238B1 (en) * | 1999-07-26 | 2003-08-05 | Hewlett-Packard Development Company, L.P. | Method and system for installing software |
US20030182414A1 (en) * | 2003-05-13 | 2003-09-25 | O'neill Patrick J. | System and method for updating and distributing information |
US20020083427A1 (en) * | 2000-12-26 | 2002-06-27 | Chen-Pang Li | Embedded system capable of rapidly updating software and method for rapidly updating software of embedded system |
US7093244B2 (en) * | 2001-04-18 | 2006-08-15 | Domosys Corporation | Method of remotely upgrading firmware in field-deployed devices |
US7089547B2 (en) * | 2002-09-13 | 2006-08-08 | International Business Machines Corporation | Firmware updating |
EP1660996A2 (de) * | 2003-09-03 | 2006-05-31 | Bitfone Corporation | Dreiphasen-boot-prozess in elektronischen einrichtungen |
JP2007510987A (ja) * | 2003-10-27 | 2007-04-26 | アメリカン パワー コンバージョン コーポレイション | ソフトウェアプログラムを更新するためのシステムおよび方法 |
US7895590B2 (en) * | 2004-09-03 | 2011-02-22 | Microsoft Corporation | Update at shutdown |
US7702952B2 (en) | 2005-06-30 | 2010-04-20 | Sling Media, Inc. | Firmware update for consumer electronic device |
WO2007117514A1 (en) * | 2006-03-31 | 2007-10-18 | Hewlett-Packard Company | Mobile device capable of multiple updates |
US8707297B2 (en) * | 2006-07-26 | 2014-04-22 | Dell Products L.P. | Apparatus and methods for updating firmware |
JP5040264B2 (ja) * | 2006-11-01 | 2012-10-03 | セイコーエプソン株式会社 | 情報処理装置、情報更新方法及びそのプログラム |
US8539471B2 (en) * | 2007-12-13 | 2013-09-17 | Telefonaktiebolaget L M Ericsson (Publ) | Updating firmware of an electronic device |
US8661429B2 (en) * | 2012-02-28 | 2014-02-25 | Seagate Technology Llc | Updating peripheral device firmware via a portable device |
-
2014
- 2014-11-10 DE DE102014116321.4A patent/DE102014116321A1/de not_active Withdrawn
-
2015
- 2015-10-21 CA CA2967098A patent/CA2967098A1/en not_active Abandoned
- 2015-10-21 WO PCT/DE2015/100436 patent/WO2016074663A1/de active Application Filing
- 2015-10-21 EP EP15801313.6A patent/EP3218804A1/de not_active Withdrawn
- 2015-10-21 RU RU2017120292A patent/RU2017120292A/ru unknown
- 2015-10-21 CN CN201580061143.6A patent/CN107003876A/zh active Pending
- 2015-10-21 JP JP2017543871A patent/JP2017534136A/ja not_active Withdrawn
- 2015-10-21 US US15/517,484 patent/US20170242685A1/en not_active Abandoned
- 2015-10-21 KR KR1020177012310A patent/KR20170067826A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130185548A1 (en) * | 2012-01-12 | 2013-07-18 | Gueorgui Djabarov | Multiple System Images for Over-The-Air Updates |
Also Published As
Publication number | Publication date |
---|---|
CN107003876A (zh) | 2017-08-01 |
CA2967098A1 (en) | 2016-05-19 |
DE102014116321A1 (de) | 2016-05-12 |
KR20170067826A (ko) | 2017-06-16 |
WO2016074663A1 (de) | 2016-05-19 |
US20170242685A1 (en) | 2017-08-24 |
RU2017120292A (ru) | 2018-12-13 |
JP2017534136A (ja) | 2017-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016074663A1 (de) | Update einer firmware | |
DE102006047979B4 (de) | Datenverarbeitungssystem, Verfahren und Computerprogrammprodukt zum Ausführen einer Testroutine in Verbindung mit einem Betriebssystem | |
DE102019109672A1 (de) | Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates | |
EP1903436B1 (de) | Computersystem und Verfahren zum Aktualisieren von Programmcode | |
DE102009020389A1 (de) | System zur Aktualisierung von Firmware und Verfahren dazu, und Verfahren zum Erzeugen von Firmware | |
DE112009002207B4 (de) | Aktualisieren einer Firmware mit mehreren Prozessoren | |
DE602004007209T2 (de) | Sicherheitssteuerung zur Bereitstellung einer schnellen Wiederherstellung von Sicherheitsprogrammdaten | |
DE19839680B4 (de) | Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten | |
EP1639603A2 (de) | Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat | |
EP1574004A2 (de) | Verfahren zur übertragung von daten auf einem bus | |
WO2005085993A2 (de) | Verfahren und datenverarbeitungsgerät zur aktualisierung von rechnerprogrammen per datenübertragung | |
DE102015207795A1 (de) | Verfahren und Vorrichtung zum Aktualisieren von Software in einem Transportmittel | |
WO2017178211A1 (de) | Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug | |
DE202014010619U1 (de) | Update einer Firmware | |
EP3811203A1 (de) | Verfahren zum aktualisieren von software auf einem zielgerät | |
EP1876533A1 (de) | Anordnung und Verfahren zum Laden von Daten in einen Speicher | |
WO2007087918A1 (de) | Endgerät und verfahren zur aktualisierung von programmcode eines endgeräts | |
WO2020099023A2 (de) | Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium | |
DE102021002079B3 (de) | Verfahren zum effizienten Ablegen von Daten | |
DE112019004272T5 (de) | Installieren von anwendungsprogrammcode auf einem fahrzeugsteuerungssystem | |
DE102012217312B4 (de) | Verfahren und System zur Aktualisierung von Code in Verarbeitungssystemen | |
WO2020025372A1 (de) | Verfahren, steuervorrichtung, computerprogramm und computerprogrammprodukt zum aktualisieren einer software für eine steuervorrichtung | |
WO2009103728A1 (de) | Verfahren und vorrichtung zum speichern von informationsdaten | |
DE102020216481A1 (de) | Verfahren zum Betreiben eines Steuergeräts und Steuergerät | |
DE10123170A1 (de) | Verfahren zum Betreiben eines Steuergeräts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20170316 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20180312 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20180925 |