EP3218804A1 - Update einer firmware - Google Patents

Update einer firmware

Info

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
Application number
EP15801313.6A
Other languages
English (en)
French (fr)
Inventor
Klaus Sperlich
Dieter Gramsch
Juri Helbling
Uwe Schröder
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harting Electric Stiftung and Co KG
Original Assignee
Harting Electric GmbH and Co KG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harting Electric GmbH and Co KG filed Critical Harting Electric GmbH and Co KG
Publication of EP3218804A1 publication Critical patent/EP3218804A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B05SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05BSPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
    • B05B5/00Electrostatic spraying apparatus; Spraying apparatus with means for charging the spray electrically; Apparatus for spraying liquids or other fluent materials by other electric means
    • B05B5/025Discharge apparatus, e.g. electrostatic spray guns
    • B05B5/053Arrangements for supplying power, e.g. charging power
    • B05B5/0533Electrodes specially adapted therefor; Arrangements of electrodes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B05SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05BSPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
    • B05B5/00Electrostatic spraying apparatus; Spraying apparatus with means for charging the spray electrically; Apparatus for spraying liquids or other fluent materials by other electric means
    • B05B5/16Arrangements for supplying liquids or other fluent material
    • B05B5/1608Arrangements for supplying liquids or other fluent material the liquid or other fluent material being electrically conductive
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B05SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05BSPRAYING APPARATUS; ATOMISING APPARATUS; NOZZLES
    • B05B5/00Electrostatic spraying apparatus; Spraying apparatus with means for charging the spray electrically; Apparatus for spraying liquids or other fluent materials by other electric means
    • B05B5/16Arrangements for supplying liquids or other fluent material
    • B05B5/1683Arrangements for supplying liquids or other fluent material specially adapted for particulate materials
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/10Apparatus 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/12Apparatus 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/1241Apparatus 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
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2201/00Indexing scheme relating to printed circuits covered by H05K1/00
    • H05K2201/02Fillers; Particles; Fibers; Reinforcement materials
    • H05K2201/0203Fillers and particles
    • H05K2201/0242Shape of an individual particle
    • H05K2201/0257Nanoparticles
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2203/00Indexing scheme relating to apparatus or processes for manufacturing printed circuits covered by H05K3/00
    • H05K2203/10Using electric, magnetic and electromagnetic fields; Using laser light
    • H05K2203/105Using 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.
EP15801313.6A 2014-11-10 2015-10-21 Update einer firmware Withdrawn EP3218804A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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