WO2017125182A1 - Method for updating control device software, preferably for a motor vehicle - Google Patents

Method for updating control device software, preferably for a motor vehicle Download PDF

Info

Publication number
WO2017125182A1
WO2017125182A1 PCT/EP2016/077996 EP2016077996W WO2017125182A1 WO 2017125182 A1 WO2017125182 A1 WO 2017125182A1 EP 2016077996 W EP2016077996 W EP 2016077996W WO 2017125182 A1 WO2017125182 A1 WO 2017125182A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
flash
updated
stored
flash application
Prior art date
Application number
PCT/EP2016/077996
Other languages
German (de)
French (fr)
Inventor
Alexander Vensmer
Markus Petri
Gunnar Piel
Tom Schilli
Thomas Wendel
Michael Hauser
Uwe Heller
Original Assignee
Robert Bosch Gmbh
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 Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Publication of WO2017125182A1 publication Critical patent/WO2017125182A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Definitions

  • the present invention relates to a method for updating software of a control device, preferably for a motor vehicle, according to the preamble of the independent claim.
  • a generic method is known for example from WO 2005/004160 A2.
  • a software update of a control unit by means of a flash programming of a multi-segment flash memory of the control unit via a serial interface, a request to be made to the flash programming is defined, a sequence of the flash programming by states and transitions of the Software-defined state machines specified and availability, security and
  • ECUs Automated electronic control units in automobiles often have the ability to update the software of the ECU or parts of this software.
  • microcontrollers
  • flash memory electrically erasable memory
  • flashloader or flashbootloader FBL
  • FBL flashbootloader
  • Diagnostic communication uses a specific diagnostic protocol. For reprogramming the software finds a change in the so-called Programming mode instead. This mode change involves that
  • Diagnostic communication is used, for example, to perform a clear memory and to transfer new software and flash.
  • ECU functions are not available because the corresponding software is not running. During the flash process, even if only parts of the software are updated, no additional application functions can be executed because the flashbootloader is unable to do so. Due to the distribution of software functions to different ECUs and the requirement to be able to update software parts not only in the workshop, but also over radio links over distances, there is a desire
  • the inventive method according to the features of the independent claim has the advantage that, for example, during an update of an air conditioning function at least one important vehicle function such as the function of central locking or terminal control can be maintained.
  • memory does not have to be stored redundantly.
  • the electrically writable memory is divided into blocks.
  • a block is the smallest, erasable unit.
  • the problem is that the blocks of a partition can not be accessed (execute code, read data), while within this partition an Erase or. Delete operation or a write operation is performed. This has the consequence that a sensible division of software or. application
  • the basic software consists of an application software and a Flashbootloader.
  • the Flashbootloader is used to update all parts of the software.
  • the application software also includes a Flash application. This flash application is capable of processing the requirements with respect to the communication, for example with a master, preferably via the diagnostic communication, and for example a
  • the Flash application stops the application to be updated, replaces it (delete, write) and then restarts it, if necessary after an initialization. During this process, other application functions can continue to run.
  • FIG. 1 shows the schematic structure of the control device with flash
  • FIG. 2 shows a sequence diagram of the flash application
  • FIG. 3 Flash phases with flash application as well
  • FIG. 4 shows an exemplary partitioning of the electrically erasable
  • a control unit 10 comprises at least one microcontroller 12. In the
  • Microcontroller 12 is at least one electrically erasable memory 14
  • applications 20 are stored. These are programs that perform certain functions that are particularly associated with a motor vehicle. It is therefore a multiplicity of applications 20.1, 20. n, 20.x such as a program for a central locking, a
  • Terminal control a door control, a heating control, a
  • the corresponding applications 20 run in the control unit 10.
  • the control unit 10 is, for example, via a bus system
  • components 19 are, for example, vehicle components which are controlled as a function of the applications 20, such as, for example, the
  • Flashbootloader 16 is used for deleting and / or rewriting software specific programs or applications 20 as follows. As already stated in the prior art, it has been customary in a
  • a flash application 22 is provided. This is also like the other applications 20 in electrically erasable
  • This flash application 22 is now able to target certain applications 20. n, 20.x or to control and / or their software or
  • FIG. 2 shows by way of example the course of the updating of a
  • a master 23 for the flash process sends a corresponding programming command to the flash application 22 in a step 101.
  • the flash application 22 stops the application 20.x to be updated.
  • will / will be the one
  • Application (s) 20. n located on the same partition 40 of the electrically erasable memory 14 as the application 20.x to be updated. However, application 20.1 is not stopped because it is an important application that should continue to run.
  • Application 20.1 is also not located on the same partition 40 as the application 20. x.
  • the stop command (step 103) corresponds to the continuous arrow 34 in FIG. 3.
  • the flash application 22 reports a corresponding response to the master 23 in step
  • the master 23 sends a delete command to the flash application 22 in a step 109.
  • corresponding blocks in the electrically erasable memory 14, which are associated with the application 20.x to be updated are deleted.
  • the deletion takes place by means of the flash application 22.
  • the flash application 22 sends a corresponding response to the master 23, step 1. 13.
  • the master 23 then transmits updated data or software to the flash application 22 , Step 1 14.
  • the Flash application 22 describes or causes the
  • step 1 18. Erase and override according to the steps 1 1 1, 1 16 corresponds to the dot-dashed arrow 36 in Figure 3. Then, the master 23 sends a command to the flash application 22, in a default Mode, step 120. the default mode causes the
  • Flash application 22 an initialization command to the updated application 20.x, step 122 to send. After initialization, the updated application 20.x gives a corresponding feedback to the flash application 22, step 124. The flash application 22 then sends a corresponding start command to the stopped applications 20.x, 20.n, step 128. This
  • Start command corresponds to the dashed arrow 38 in Figure 3.
  • the launched applications 20.x, 20. n give a corresponding Feedback to the flash application 22, step 128.
  • the flash application 22 passes this positive feedback to the master 23.
  • the master 23 can be, for example, a diagnostic tester that is used in the workshop. Alternatively, however, it could also be other control devices that record wirelessly with the control unit 10, for example.
  • FIG. 3 shows schematically the different hardware or. Software layers. A corresponding
  • Hardware 32 includes, for example, the microcontroller 12 with electrically erasable memory 14. It runs a basic software 26, via which the contact between the flash application 22 and the applications to be influenced 20. n, 20.x takes place. In addition, a real-time environment 24 is provided on which the applications 20 can be operated in quasi real-time.
  • FIG. 4 shows, by way of example, the structure and assignment of the electrically erasable memory 14.
  • four partitions 40, 41, 42, 43 are provided, a plurality of blocks 45 are located in one partition.
  • a block 45 is the smallest erasable unit of electrically erasable memory 14. Blocks 45 of a partition 40-43 can not be accessed (execute code, read data) if during this partition 40-43 an erase or write operation is performed , This has the consequence that a meaningful division of the applications 20 on the available partitions 40-43
  • the flash application 22 is now located on the first partition 41 together with a so-called basic application 20.1, which is also to be executed when updating an application 20.x to be updated updated
  • application 20.x is located on a different partition, for example the zeroth partition 40.
  • the basic software 26 could also be stored in the first partition 41.
  • two flash bootloaders 16, 16.1, 16.2, preferably on different partitions could also be located on the partitions 40, 41.
  • all applications 20 in the electrically erasable memory 14 would have to be closed, as well as the
  • Basic application 20.1 or all programs stored on partitions 40-43 are closed. The same also applies to the basic software 26 or the operating system 28.
  • the provision of only a single flash boot loader 16 would be equally possible.
  • the flash application 22 is capable of accepting the requirements relating to diagnostic communication or communication with the master 23 and / or the applications 20. As described, it is capable of starting a delete operation and / or writing data. It is also able to stop applications 20 to be replaced
  • Add operating states such as a so-called default mode and / or a flash mode.
  • the scheduling is influenced and the respective application 20 is started or stopped.
  • all applications 20 from the flash partition 40 to be updated are not executed during the flash process.
  • each application 20 must satisfy at least one simple interface, via which it is driven by the flash application 22.
  • These commands are initialization or activation 36 and / or starting 38 and / or stopping 34 (compare steps 103 - stop, step 122 - initialization, step 126 - start).
  • the method with the associated device preferably finds application in the updating of software of a control device, in particular for motor vehicles, wherein it must be ensured that certain applications 20 continue to be executed during the updating of the software or further applications.
  • This update could either be via a
  • Diagnostic tester example in the workshop or wirelessly be initiated by a remote control function remotely as the master 23.

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)
  • Stored Programmes (AREA)

Abstract

The invention relates to a method for updating software of a control device (10), in particular for motor vehicles, the control device (10) comprising at least one microcontroller (12) which includes at least one electrically deletable memory (14) and can execute different applications (20; 20.1, 20.n, 20.x) that are stored in the electrically deletable memory (14); at least one flash application (22) that is stored in the electrically deletable memory (14) updates and/or actuates at least one application (20.x), which is to be updated, while at least one additional application (20.1) continues to be executed.

Description

Beschreibung Titel  Description title
Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug  Method for updating software of a control unit, preferably for a motor vehicle
Stand der Technik State of the art
Die vorliegende Erfindung betrifft ein Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug, nach der Gattung des unabhängigen Anspruchs. The present invention relates to a method for updating software of a control device, preferably for a motor vehicle, according to the preamble of the independent claim.
Ein gattungsgemäßes Verfahren ist beispielsweise aus der WO 2005/004160 A2 bekannt. Zur Durchführung eines Software-Updates eines Steuergerätes durch eine Flash-Programmierung eines mehrere Segmente aufweisenden Flash- Speichers des Steuergerätes über eine serielle Schnittstelle wird eine an die Flash-Programmierung zu stellende Anforderung festgelegt, ein Ablauf der Flash- Programmierung durch ein Zustände und Übergänge der softwaredefinierenden Zustandsautomaten spezifiziert und Verfügbarkeits-, Sicherheits-und A generic method is known for example from WO 2005/004160 A2. In order to carry out a software update of a control unit by means of a flash programming of a multi-segment flash memory of the control unit via a serial interface, a request to be made to the flash programming is defined, a sequence of the flash programming by states and transitions of the Software-defined state machines specified and availability, security and
Zuverlässigkeitsanforderungen eines jeden Zustands und eines jeden Übergangs des Zustandsautomaten überprüft. Reliability requirements of each state and each transition of the state machine checked.
Elektronische Steuergeräte (ECUs) im Automobil verfügen häufig über eine Möglichkeit, die Software des Steuergerätes oder Teile dieser Software zu aktualisieren. Bei modernen Mikrocontrollern (μθ) geschieht dies in der Regel durch das Löschen und neu Beschreiben eines elektrisch löschbaren Speichers (Flash-Memory). Dieses sogenannte Flashen wird in der Regel durch eine spezielle Software ausgeführt, welche als Flashloader oder Flashbootloader (FBL) bezeichnet wird. Viele Automobilhersteller definieren einen Updateprozess, der genau beschreibt, in welcher Reihenfolge verschiedene Diagnosefunktionen auszuführen sind, um ein Software-Update durchzuführen. Für die Automated electronic control units (ECUs) in automobiles often have the ability to update the software of the ECU or parts of this software. In modern microcontrollers (μθ), this is usually done by erasing and rewriting an electrically erasable memory (flash memory). This so-called flashing is usually done by a special software called flashloader or flashbootloader (FBL). Many car manufacturers define an update process that accurately describes in which order different diagnostic functions are to be performed to perform a software update. For the
Diagnosekommunikation wird ein bestimmtes Diagnoseprotokoll verwendet. Zur Reprogrammierung der Software findet ein Wechsel in den sogenannten Programmier-Modus statt. Dieser Modus-Wechsel beinhaltet, dass die Diagnostic communication uses a specific diagnostic protocol. For reprogramming the software finds a change in the so-called Programming mode instead. This mode change involves that
Applikationssoftware beendet wird und auf dem Mikrocontroller nur noch der Flashbootloader ausgeführt wird. Dieser wiederum wird mit Hilfe der Application software is terminated and on the microcontroller only the Flashbootloader is running. This in turn will help with the help of
Diagnosekommunikation dazu verwendet, um beispielsweise ein Löschen des Speichers durchzuführen und neue Software zu übertragen und zu flashen.Diagnostic communication is used, for example, to perform a clear memory and to transfer new software and flash.
Während der Flashbootloader ausgeführt wird, sind komplexe While the Flashbootloader is running, there are complex ones
Steuergerätefunktionen nicht verfügbar, da die entsprechende Software nicht ausgeführt wird. Während des Flashvorgangs können, selbst wenn nur Teile der Software aktualisiert werden, keine weiteren Applikationsfunktionen ausgeführt werden, da der Flashbootloader hierzu nicht in der Lage ist. Bedingt durch die Verteilung von Softwarefunktionen auf verschiedene Steuergeräte und die Anforderung, Software-Teile nicht nur in der Werkstatt, sondern auch über Funkverbindungen über Entfernungen hinweg aktualisieren zu können, besteht der Wunsch,ECU functions are not available because the corresponding software is not running. During the flash process, even if only parts of the software are updated, no additional application functions can be executed because the flashbootloader is unable to do so. Due to the distribution of software functions to different ECUs and the requirement to be able to update software parts not only in the workshop, but also over radio links over distances, there is a desire
Software-Teile ersetzen zu können, ohne während der Zeit der Aktualisierung auf andere Applikationen zu verzichten. To replace software parts without sacrificing other applications during the time of the update.
Offenbarung der Erfindung Disclosure of the invention
Das erfindungsgemäße Verfahren gemäß den Merkmalen des unabhängigen Anspruchs hat demgegenüber den Vorteil, dass beispielsweise während einem Update einer Klimaanlagenfunktion zumindest eine wichtige Fahrzeugfunktion wie beispielsweise die Funktion der Zentralverriegelung oder Klemmensteuerung aufrechterhalten werden kann. Außerdem müssen hierbei Speicher nicht redundant vorgehalten werden. The inventive method according to the features of the independent claim has the advantage that, for example, during an update of an air conditioning function at least one important vehicle function such as the function of central locking or terminal control can be maintained. In addition, memory does not have to be stored redundantly.
Diese Aufgabe wird erfindungsgemäß mit Hilfe einer speziellen Flash-Applikation gelöst, die die Kommunikation mit einem Master sicherstellt und weitere This object is achieved according to the invention with the aid of a special flash application, which ensures communication with a master and more
Applikationen steuert in der Weise, dass zumindest eine weitere Applikation, vorzugsweise für Basisfunktionen, die immer ausgeführt werden sollen, weiterhin stabil läuft. Es handelt sich um ein Verfahren, welches applikatives Flashen unterstützt (im weiteren Flash-Applikation genannt). Applications controls in such a way that at least one further application, preferably for basic functions, which should always be executed, continues to run stably. It is a process that supports applicative flashing (called flash application in the following text).
Bevorzugt ist der elektrisch beschreibbare Speicher (Flash-Speicher) in Blöcke aufgeteilt. Ein Block ist die kleinste, löschbare Einheit. Mehrere Blöcke befinden sich in einer Partition und der gesamte Speicher besteht in der Regel aus mehreren Partitionen. Bei den beschriebenen Lösungen besteht das Problem, dass auf die Blöcke einer Partition nicht zugegriffen werden kann (Code ausführen, Daten lesen), während innerhalb dieser Partition eine Erase-bzw. Lösch-Operation oder eine Write bzw. Schreib-Operation ausgeführt wird. Das hat zur Folge, dass eine sinnvolle Aufteilung der Software-bzw. Applikations-Preferably, the electrically writable memory (flash memory) is divided into blocks. A block is the smallest, erasable unit. There are several blocks in one partition and all memory is usually there several partitions. In the solutions described, the problem is that the blocks of a partition can not be accessed (execute code, read data), while within this partition an Erase or. Delete operation or a write operation is performed. This has the consequence that a sensible division of software or. application
Funktionen auf die verfügbaren Flash-Partitionen vorgenommen werden muss, um sicherzustellen, dass kein Code ausgeführt wird, der in einer der zu programmierenden Partitionen liegt. Die grundsätzliche Software besteht wie bisher aus einer Applikations-Software und einem Flashbootloader. Der Flashbootloader wird verwendet, um alle Teile der Software zu aktualisieren. Die Applikationssoftware enthält zusätzlich eine Flash-Applikation. Diese Flash-Applikation ist in der Lage, die Anforderungen bezüglich der Kommunikation beispielsweise mit einem Master, vorzugsweise über die Diagnosekommunikation, zu bearbeiten und beispielsweise eineFunctions must be made on the available flash partitions to ensure that no code is executed, which lies in one of the partitions to be programmed. As before, the basic software consists of an application software and a Flashbootloader. The Flashbootloader is used to update all parts of the software. The application software also includes a Flash application. This flash application is capable of processing the requirements with respect to the communication, for example with a master, preferably via the diagnostic communication, and for example a
Löschoperation zu starten oder Daten zu schreiben. Hierzu stoppt die Flash- Applikation die zu aktualisierende Applikation, ersetzt diese (löschen, schreiben) und startet sie, gegebenenfalls nach einer Initialisierung, anschließend wieder. Während dieses Vorgangs können andere Applikationsfunktionen weiter ausgeführt werden. Delete operation or write data. To do this, the Flash application stops the application to be updated, replaces it (delete, write) and then restarts it, if necessary after an initialization. During this process, other application functions can continue to run.
Weitere zweckmäßige Weiterbildungen ergeben sich aus weiteren abhängigen Ansprüchen und der Beschreibung. Kurze Beschreibung der Zeichnungen Further expedient developments emerge from further dependent claims and the description. Brief description of the drawings
Nachfolgend wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf die begleitende Zeichnung im Detail beschrieben. Dabei zeigen: Figur 1 den schematischen Aufbau des Steuergeräts mit Flash-Hereinafter, an embodiment of the invention will be described in detail with reference to the accompanying drawings. 1 shows the schematic structure of the control device with flash
Applikation; Application;
Figur 2 ein Sequenzdiagramm der Flash-Applikation, FIG. 2 shows a sequence diagram of the flash application,
Figur 3 Flashphasen mit Flash-Applikation sowie Figur 4 eine beispielhafte Partitionierung des elektrisch löschbarenFIG. 3 Flash phases with flash application as well FIG. 4 shows an exemplary partitioning of the electrically erasable
Speichers. Memory.
Ausführungsform der Erfindung Embodiment of the invention
Ein Steuergerät 10 umfasst zumindest einen MikroController 12. In dem A control unit 10 comprises at least one microcontroller 12. In the
MikroController 12 ist zumindest ein elektrisch löschbarer Speicher 14 Microcontroller 12 is at least one electrically erasable memory 14
vorgesehen. In dem elektrisch löschbaren Speicher 14 sind Applikationen 20 abgelegt. Hierbei handelt es sich um Programme, die bestimmten Funktionen, die insbesondere mit einem Kraftfahrzeug verbunden sind, durchführen. Es handelt sich also um eine Vielzahl von Applikationen 20.1 ,20. n, 20.x wie beispielsweise ein Programm für eine Zentralverriegelung, eine intended. In the electrically erasable memory 14 applications 20 are stored. These are programs that perform certain functions that are particularly associated with a motor vehicle. It is therefore a multiplicity of applications 20.1, 20. n, 20.x such as a program for a central locking, a
Klemmensteuerung, eine Türsteuerung, eine Heizungssteuerung, eine Terminal control, a door control, a heating control, a
Wegfahrsperre oder ähnliches. Die entsprechenden Applikationen 20 laufen in dem Steuergerät 10. Das Steuergerät 10 ist beispielsweise über ein BussystemImmobilizer or similar. The corresponding applications 20 run in the control unit 10. The control unit 10 is, for example, via a bus system
17 mit weiteren Komponenten 19 verbunden. Bei diesen Komponenten 19 handelt es sich beispielsweise um Fahrzeugkomponenten, welche abhängig von den Applikationen 20 angesteuert werden wie beispielsweise die 17 connected to other components 19. These components 19 are, for example, vehicle components which are controlled as a function of the applications 20, such as, for example, the
Zentralverriegelung, entsprechende Klemmen (Zündung ein/aus etc.), Aktuatoren zur Türsteuerung, Klimaanlage etc. In dem MikroController 12 ist zudem ein sogenannter Flashbootloader 16 enthalten. Der Flashbootloader 16 dient dem Löschen und/oder neu Beschreiben von Software bestimmter Programme bzw. Applikationen 20 wie nachfolgend noch ausgeführt. Wie bereits im Stand der Technik ausgeführt war es bislang üblich, bei einerCentral locking, appropriate terminals (ignition on / off, etc.), actuators for door control, air conditioning, etc. In the microcontroller 12 also a so-called flash bootloader 16 is included. The Flashbootloader 16 is used for deleting and / or rewriting software specific programs or applications 20 as follows. As already stated in the prior art, it has been customary in a
Aktualisierung der Software einer Applikation 20.x sämtliche Applikationen 20 zu stoppen, anschließend zu aktualisieren und dann wieder zu starten. Um sicherzustellen, dass bestimmte, insbesondere für Fahrzeugfunktionen besonders wichtige Funktionalitäten auch während des Flashvorgangs weiterhin zur Verfügung stehen, ist eine Flash-Applikation 22 vorgesehen. Diese befindet sich ebenfalls wie die anderen Applikationen 20 im elektrisch löschbaren Updating the software of an application 20.x stop all applications 20, then update and then restart. In order to ensure that certain functionalities that are particularly important, in particular for vehicle functions, are still available during the flash operation, a flash application 22 is provided. This is also like the other applications 20 in electrically erasable
Speicher 14. Diese Flash-Applikation 22 ist nun in der Lage, gezielt bestimmte Applikationen 20. n, 20.x bzw. anzusteuern und/oder deren Software bzw. Memory 14. This flash application 22 is now able to target certain applications 20. n, 20.x or to control and / or their software or
zugehörige Daten zu aktualisieren, während besonders wichtige Funktionalitäten, beispielhaft die Applikation 20.1 , weiterhin ausgeführt werden. Die Applikationto update associated data, while particularly important functionalities, such as application 20.1, continue to be executed. The application
20.1 wird also nicht durch die Flash-Applikation 22 gestoppt. Die Applikation 20.1 wird auch nicht neu überschrieben bzw. aktualisiert. Figur 2 zeigt exemplarisch den Ablauf der Aktualisierung einer zu 20.1 is therefore not stopped by the flash application 22. The application 20.1 will not be overwritten or updated. FIG. 2 shows by way of example the course of the updating of a
aktualisierenden Applikation 20.x. Ein Master 23 für den Flash-Vorgang sendet in einem Schritt 101 einen entsprechenden Programmierbefehl an die Flash- Applikation 22. Die Flash-Applikation 22 stoppt in einem Schritt 103 die zu aktualisierende Applikation 20.x. Außerdem wird/werden auch diejenige updating application 20.x. A master 23 for the flash process sends a corresponding programming command to the flash application 22 in a step 101. In a step 103, the flash application 22 stops the application 20.x to be updated. In addition, will / will be the one
Applikation(en) 20. n gestoppt, die sich auf derselben Partition 40 des elektrisch löschbaren Speichers 14 befindet/befinden wie die zu aktualisierende Applikation 20.x. Nicht gestoppt wird jedoch die Applikation 20.1 , da es sich hier um eine wichtige Applikation handelt, die weiterhin ausgeführt werden soll. Diese Application (s) 20. n located on the same partition 40 of the electrically erasable memory 14 as the application 20.x to be updated. However, application 20.1 is not stopped because it is an important application that should continue to run. These
Applikation 20.1 befindet sich auch nicht auf derselben Partition 40 wie die zu aktualisierende Applikation 20. x. Der Stoppbefehl (Schritt 103) entspricht dem durchgängigen Pfeil 34 in Figur 3. Nach einer entsprechenden Rückmeldung der zu aktualisierenden Applikation 20.x an die Flash-Applikation 22 meldet die Flash-Applikation 22 eine entsprechende Antwort an den Master 23 in Schritt Application 20.1 is also not located on the same partition 40 as the application 20. x. The stop command (step 103) corresponds to the continuous arrow 34 in FIG. 3. After a corresponding acknowledgment of the application 20.x to be updated to the flash application 22, the flash application 22 reports a corresponding response to the master 23 in step
107. Daraufhin sendet der Master 23 einen Löschbefehl an die Flash-Applikation 22 in einem Schritt 109. Daraufhin werden entsprechende Blöcke in dem elektrisch löschbaren Speicher 14, die der zu aktualisierenden Applikation 20.x zugeordnet sind, gelöscht. Das Löschen erfolgt durch die Flash-Applikation 22. Nach erfolgreichem Abschluss des Löschens sendet die Flash-Applikation 22 eine entsprechende Antwort an den Master 23, Schritt 1 13. Der Master 23 überträgt darauf hin aktualisierte Daten bzw. Software an die Flash-Applikation 22, Schritt 1 14. Die Flash-Applikation 22 beschreibt bzw. veranlasst die 107. Thereafter, the master 23 sends a delete command to the flash application 22 in a step 109. Subsequently, corresponding blocks in the electrically erasable memory 14, which are associated with the application 20.x to be updated, are deleted. The deletion takes place by means of the flash application 22. After successful completion of the deletion, the flash application 22 sends a corresponding response to the master 23, step 1. 13. The master 23 then transmits updated data or software to the flash application 22 , Step 1 14. The Flash application 22 describes or causes the
Überschreibung der zu aktualisierenden Blöcke der zugehörigen Applikation 20.x mit den vom Master 23 übermittelten Daten, Schritt 1 16. Nach erfolgtem Overwriting of the blocks to be updated of the associated application 20.x with the data transmitted by the master 23, step 1 16. After completion
Überschreiben der Daten gibt die Flash-Applikation 22 eine positive  Overwriting the data gives the flash application 22 a positive
Rückmeldung an den Master 23, Schritt 1 18. Löschen und Überschreiben gemäß den Schritten 1 1 1 ,1 16 entspricht dem strich-punktiertem Pfeil 36 in Figur 3. Daraufhin sendet der Master 23 einen Befehl an die Flash-Applikation 22, in einen Default-Modus zu wechseln, Schritt 120. der Default-Modus veranlasst dieFeedback to the master 23, step 1 18. Erase and override according to the steps 1 1 1, 1 16 corresponds to the dot-dashed arrow 36 in Figure 3. Then, the master 23 sends a command to the flash application 22, in a default Mode, step 120. the default mode causes the
Flash-Applikation 22, einen Initialisierungsbefehl an die aktualisierte Applikation 20.x, Schritt 122 zu senden. Nach erfolgter Initialisierung gibt die aktualisierte Applikation 20.x eine entsprechende Rückmeldung an die Flash-Applikation 22, Schritt 124. Daraufhin sendet die Flash-Applikation 22 einen entsprechenden Startbefehl an die gestoppten Applikationen 20.x, 20. n, Schritt 128. DieserFlash application 22, an initialization command to the updated application 20.x, step 122 to send. After initialization, the updated application 20.x gives a corresponding feedback to the flash application 22, step 124. The flash application 22 then sends a corresponding start command to the stopped applications 20.x, 20.n, step 128. This
Startbefehl entspricht dem gestrichelten Pfeil 38 in Figur 3. Nach erfolgtem Start geben die gestarteten Applikationen 20.x, 20. n eine entsprechende Rückmeldung an die Flash-Applikation 22, Schritt 128. Die Flash-Applikation 22 gibt diese positive Rückmeldung weiter an den Master 23. Der Start command corresponds to the dashed arrow 38 in Figure 3. After the start, the launched applications 20.x, 20. n give a corresponding Feedback to the flash application 22, step 128. The flash application 22 passes this positive feedback to the master 23. The
Aktualisierungsvorgang für die Applikation 20.x ist damit abgeschlossen. Update process for application 20.x is now complete.
Während der Aktualisierung jedoch wurde beispielsweise die Basis-Applikation 20.1 nicht gestoppt, sondern weiterhin ausgeführt. During the update, however, the base application 20.1, for example, was not stopped, but continued to run.
Bei dem Master 23 kann es sich beispielsweise um einen Diagnosetester, der in der Werkstatt zum Einsatz kommt, handeln. Alternativ könnten es jedoch auch weitere Steuergeräte sein, die beispielsweise drahtlos mit dem Steuergerät 10 Kontakt aufnehmen. The master 23 can be, for example, a diagnostic tester that is used in the workshop. Alternatively, however, it could also be other control devices that record wirelessly with the control unit 10, for example.
Das Ausführungsbeispiel gemäß Figur 3 verdeutlicht die bereits in Verbindung mit Figur 2 erläuterten Schritte. Darüber hinaus zeigt Figur 3 schematisch die verschiedenen Hardware-bzw. Software-Schichten. Eine entsprechende The exemplary embodiment according to FIG. 3 clarifies the steps already explained in connection with FIG. In addition, Figure 3 shows schematically the different hardware or. Software layers. A corresponding
Hardware 32 umfasst beispielsweise den MikroController 12 mit elektrisch löschbarem Speicher 14. Es läuft eine Basissoftware 26, über die der Kontakt zwischen der Flash-Applikation 22 und den zu beeinflussenden Applikationen 20. n, 20.x stattfindet. Außerdem ist eine Echtzeitumgebung 24 vorgesehen, auf der die Applikationen 20 in quasi Echtzeit betreiben werden können. Hardware 32 includes, for example, the microcontroller 12 with electrically erasable memory 14. It runs a basic software 26, via which the contact between the flash application 22 and the applications to be influenced 20. n, 20.x takes place. In addition, a real-time environment 24 is provided on which the applications 20 can be operated in quasi real-time.
Schematisch dargestellt sind weiterhin ein Betriebssystem 28 sowie einenSchematically represented are still an operating system 28 and a
Treiber 30, über den alternative Ansteuerungsmoglichkeiten als Back-up möglich wären. Driver 30, via the alternative driving options would be possible as a back-up.
Figur 4 zeigt beispielhaft den Aufbau und die Belegung des elektrisch löschbaren Speichers 14. In diesem sind beispielhaft vier Partitionen 40, 41 , 42, 43 vorgesehen, mehrere Blöcke 45 befinden sich in einer Partition. Ein Block 45 ist die kleinste, löschbare Einheit des elektrisch löschbaren Speichers 14. Auf Blöcke 45 einer Partition 40-43 kann nicht zugegriffen werden (Code ausführen, Daten lesen), wenn währenddessen innerhalb dieser Partition 40-43 eine Löschoder Schreib-Operation ausgeführt wird. Dies hat zur Folge, dass eine sinnvolle Aufteilung der Applikationen 20 auf die verfügbaren Partitionen 40-43 FIG. 4 shows, by way of example, the structure and assignment of the electrically erasable memory 14. In this example, four partitions 40, 41, 42, 43 are provided, a plurality of blocks 45 are located in one partition. A block 45 is the smallest erasable unit of electrically erasable memory 14. Blocks 45 of a partition 40-43 can not be accessed (execute code, read data) if during this partition 40-43 an erase or write operation is performed , This has the consequence that a meaningful division of the applications 20 on the available partitions 40-43
vorgenommen werden muss, um sicherzustellen, dass kein Code ausgeführt wird, der in einer der zu programmierenden bzw. zu aktualisierenden Partitionen 40-43 liegt. Gemäß Figur 4 befindet sich nun die Flash-Applikation 22 zusammen mit einer sogenannten Basisapplikation 20.1 , die auch bei einer Aktualisierung einer zu aktualisierenden Applikation 20.x ausgeführt werden soll, auf der ersten Partition 41. Weitere Applikationen 20. n, wie auch eine zu aktualisierende Applikation 20.x liegen hingegen auf einer anderen Partition, beispielsweise der der nullten Partition 40. must be made to ensure that no code is executed which resides in one of the partitions 40-43 to be programmed or updated. According to FIG. 4, the flash application 22 is now located on the first partition 41 together with a so-called basic application 20.1, which is also to be executed when updating an application 20.x to be updated updated On the other hand, application 20.x is located on a different partition, for example the zeroth partition 40.
Auch die Basissoftware 26 könnte in der ersten Partition 41 abgelegt sein. The basic software 26 could also be stored in the first partition 41.
Beispielhaft könnten auf den Partitionen 40,41 auch zwei Flashbootloader 16, 16.1 , 16.2, vorzugsweise auf unterschiedlichen Partitionen, liegen. Beim Betrieb dieser Flashbootloader 16 müssten jedoch sämtliche Applikationen 20 im elektrisch löschbaren Speicher 14 geschlossen werden, als auch die By way of example, two flash bootloaders 16, 16.1, 16.2, preferably on different partitions, could also be located on the partitions 40, 41. During operation of these flash bootloaders 16, however, all applications 20 in the electrically erasable memory 14 would have to be closed, as well as the
Basisapplikation 20.1 und die Basissoftware 26 und/oder das Betriebssystem 28.Basic application 20.1 and the base software 26 and / or the operating system 28.
Bei einem Flash-Vorgang unter Rückgriff auf den Flashbootloader 16 würde eine Durchführung des entsprechenden Flash-Programms im RAM vorgenommen werden. Insbesondere eine Aktualisierung der Flash-Applikation 22 und/oder der Basisapplikation 20.1 ist weiterhin über den Flashbootloader 16 in bekannter Weise vorzunehmen. Hierzu würden jedoch alle Applikationen 20, also auch dieIn a flash operation using the flash boot loader 16, the corresponding flash program would be executed in RAM. In particular, an update of the flash application 22 and / or the base application 20.1 is still to be made via the Flashbootloader 16 in a known manner. For this purpose, however, all applications 20, including the
Basisapplikation 20.1 bzw. alle Programme, die auf den Partitionen 40-43 abgelegt sind, geschlossen. Gleiches gilt auch für die Basissoftware 26 bzw. das Betriebssystem 28. Alternativ zur beispielhaft gezeigten Variante gemäß Figur 4 mit zwei Flashbootloader 16.1 , 16.2 wäre jedoch das Vorsehen lediglich eines einzigen Flashbootloaders 16 gleichermaßen möglich. Basic application 20.1 or all programs stored on partitions 40-43 are closed. The same also applies to the basic software 26 or the operating system 28. As an alternative to the variant shown by way of example shown in FIG. 4 with two flash bootloaders 16.1, 16.2, however, the provision of only a single flash boot loader 16 would be equally possible.
Die Flash-Applikation 22 ist wie beschrieben in der Lage, die Anforderungen betreffend Diagnosekommunikation bzw. Kommunikation mit dem Master 23 und/oder den Applikationen 20 zu übernehmen. Sie ist wie beschrieben in der Lage, eine Löschoperation zu starten und/oder Daten zu schreiben. Sie ist weiterhin in der Lage, Applikationen 20 zu stoppen, den zu ersetzenden As described, the flash application 22 is capable of accepting the requirements relating to diagnostic communication or communication with the master 23 and / or the applications 20. As described, it is capable of starting a delete operation and / or writing data. It is also able to stop applications 20 to be replaced
Softwareanteil bzw. die Applikation 20 zu ersetzen (löschen, schreiben) und anschließend wieder zu starten. Während dieses Vorgangs können andere, wichtige Applikationen 20.1 weiter ausgeführt werden. Software part or the application 20 to replace (delete, write) and then start again. During this process, other important applications 20.1 can continue to be executed.
Beispielsweise im Rahmen einer Diagnose-Verbindung mit dem Steuergerät 10 kann initiiert werden, bestimmte Daten zu aktualisieren. Die Identifizierung der zu aktualisierenden Daten erfolgt beispielsweise über einen Identifier. Nach dem bereits beschriebenen Vorgehen erfolgt das Stoppen aller Applikationen 20. n, die auf derselben Partition 40 wie die zu aktualisierende Applikation 20.x liegen. DieFor example, within the scope of a diagnostic connection with the control unit 10, it is possible to initiate the updating of certain data. The identification of the data to be updated takes place, for example, via an identifier. After the procedure already described, the stopping of all applications 20. n, which are located on the same partition 40 as the application 20.x to be updated, is stopped. The
Basis-Applikation 20.1 jedoch wird weiterhin ausgeführt. Anschließend werden die sogenannten Flash-Daten über die bereits beschriebene interaktive Vorgehensweise zwischen Master 23 und Flash-Applikation 22 heruntergeladen. Anschließend werden die aktualisierten Applikationen 20.x initialisiert. Basic application 20.1, however, will continue to run. Subsequently, the so-called flash data on the already described interactive Procedure downloaded between Master 23 and Flash Application 22. Subsequently, the updated applications 20.x are initialized.
Anschließend werden alle gestoppten Applikationen 20.x, 20. n wieder gestartet. Die Kommunikation der Flash-Applikation 22 mit den weiteren Applikationen 20 erfolgt unter Verwendung des Betriebssystems 28 und/oder der Basissoftware 26 und/oder der Echtzeitumgebung 24. Damit ist es zweckmäßig, dass auch diese auf derselben Partition 41 liegen wie die Flash-Applikation 22. Subsequently, all stopped applications 20.x, 20.n are restarted. The communication of the flash application 22 with the other applications 20 takes place using the operating system 28 and / or the basic software 26 and / or the real-time environment 24. Thus, it is expedient that these too lie on the same partition 41 as the flash application 22 ,
Weiter kann es erforderlich sein, dem Betriebssystem 28 weitere Further, it may be necessary for the operating system 28 more
Betriebszustände hinzuzufügen, beispielsweise einen sogenannten Default- Modus und/oder einen Flash-Modus. In Abhängigkeit des Modus wird das Scheduling beeinflusst und die jeweilige Applikation 20 gestartet oder gestoppt. Außerdem werden alle Applikationen 20 aus der zu aktualisierenden Flash- Partition 40 während des Flash-Vorgangs nicht ausgeführt. Außerdem muss jede Applikation 20 zumindest einem einfachen Interface genügen, worüber es von der Flash-Applikation 22 angesteuert wird. Diese Befehle sind Initialisierung bzw. Aktivierung 36 und/oder Starten 38 und/oder Stoppen 34 (vergleiche die Schritte 103 - Stopp, Schritt 122 - Initialisierung, Schritt 126 - Start). Add operating states, such as a so-called default mode and / or a flash mode. Depending on the mode, the scheduling is influenced and the respective application 20 is started or stopped. In addition, all applications 20 from the flash partition 40 to be updated are not executed during the flash process. In addition, each application 20 must satisfy at least one simple interface, via which it is driven by the flash application 22. These commands are initialization or activation 36 and / or starting 38 and / or stopping 34 (compare steps 103 - stop, step 122 - initialization, step 126 - start).
Bevorzugte Verwendung findet das Verfahren mit der zugehörigen Vorrichtung bei der Aktualisierung von Software eines Steuergeräts insbesondere für Kraftfahrzeuge, wobei sicherzustellen ist, dass bestimmte Applikationen 20 während der Aktualisierung der Software bzw. weitere Applikationen weiterhin ausgeführt werden. Diese Aktualisierung könnte entweder über einen The method with the associated device preferably finds application in the updating of software of a control device, in particular for motor vehicles, wherein it must be ensured that certain applications 20 continue to be executed during the updating of the software or further applications. This update could either be via a
Diagnosetester beispielsweise in der Werkstatt oder aber auch drahtlos durch eine fernsteuernde Funktion aus der Ferne als Master 23 initiiert werden. Diagnostic tester example, in the workshop or wirelessly be initiated by a remote control function remotely as the master 23.

Claims

Ansprüche claims
Verfahren zum Aktualisieren von Software eines Steuergerätes (10), Method for updating software of a control unit (10),
insbesondere für Kraftfahrzeuge, wobei das Steuergerät (10) zumindest einen MikroController (12) mit zumindest einem elektrisch löschbaren Speicher (14) umfasst, wobei der MikroController (12) unterschiedliche Applikationen (20; 20.1 , 20. n, 20.x), die in dem elektrisch löschbaren Speicher (14) abgelegt sind, ausführen kann, dadurch gekennzeichnet, dass zumindest eine Flash-Applikation (22) in dem elektrisch löschbaren Speicher (14) abgelegt ist, wobei die Flash- Applikation (22) zumindest eine zu aktualisierende Applikationen (20.x) aktualisiert und/oder ansteuert, während zumindest eine weitere Applikation (20.1 ) weiterhin ausgeführt wird. in particular for motor vehicles, wherein the control device (10) comprises at least one microcontroller (12) with at least one electrically erasable memory (14), the microcontroller (12) having different applications (20; 20.1, 20 n, 20.x); in the electrically erasable memory (14) are stored, can perform, characterized in that at least one flash application (22) in the electrically erasable memory (14) is stored, wherein the flash application (22) at least one applications to be updated (20.x) is updated and / or activated while at least one further application (20.1) continues to be executed.
Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass der elektrisch löschbare Speicher (14) mehrere Partitionen (40-43) umfasst, wobei zumindest die zu aktualisierende Applikation (20. x) auf einer anderen Partition (40) abgelegt ist als die Partition (41 ), auf der die Flash-Applikation (22) abgelegt ist und/oder die weiterhin auszuführende Applikation (20.1 ) abgelegt ist. Method according to Claim 1, characterized in that the electrically erasable memory (14) comprises a plurality of partitions (40-43), at least the application (20.x) to be updated being stored on a different partition (40) than the partition (41 ), on which the flash application (22) is stored and / or the application (20.1) still to be executed is stored.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22) mit zumindest einem Master (23) kommuniziert, über den die Aktualisierung der zu aktualisierenden Applikation (20.x) initiiert wird. Method according to one of the preceding claims, characterized in that the flash application (22) communicates with at least one master (23) via which the update of the application (20.x) to be updated is initiated.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22) zumindest eine Applikation (20), vorzugsweise die zu aktualisierende Applikation (20.x) und/oder die Applikation (20. n), die auf derselben Partition (40) liegt wie die zu aktualisierende Applikation (20.x), stoppt und/oder ersetzt, vorzugsweise zumindest teilweise löscht und beschreibt und/oder startet. Method according to one of the preceding claims, characterized in that the flash application (22) at least one application (20), preferably the application to be updated (20.x) and / or the application (20. n), on the same partition (40) lies like the application (20.x) to be updated, stops and / or replaces, preferably at least partially deletes and describes and / or starts.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest ein Programm vorgesehen ist, insbesondere ein Flashbootloader (16), zum Aktualisieren der Flash-Applikation (22) und/oder zum Aktualisieren zumindest einer Applikation (20.1 ), die auf derselben Partition (41 ) liegt wie die Flash-Applikation (22). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22), insbesondere unter Verwendung einer Method according to one of the preceding claims, characterized in that at least one program is provided, in particular a flash bootloader (16), for updating the flash application (22) and / or for updating at least one application (20.1) which is located on the same partition (16). 41) is like the Flash application (22). Method according to one of the preceding claims, characterized in that the flash application (22), in particular using a
Basissoftware (26) und/oder einer Echtzeitumgebung (24) zumindest eine Applikation (20; 20.1 , 20. n, 20. x) stoppt, anschließend die zu aktualisierende Applikation (20.x) aktualisiert und/oder anschließend zumindest eine Applikation (20; 20.1 , 20. n, 20.x) initialisiert und/oder anschließend zumindest eine  Basic software (26) and / or a real-time environment (24) at least one application (20; 20.1, 20. n, 20. x) stops, then updates the application to be updated (20.x) and / or subsequently at least one application (20 ; 20.1, 20. n, 20.x) and / or subsequently at least one
Applikation (20; 20.1 , 20. n, 20.x) startet.  Application (20; 20.1, 20. n, 20.x) starts.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22) zumindest eine Applikation (20. n) stoppt, die in derselben Partition (40) liegt wie die zu aktualisierende Applikation (20.x). Method according to one of the preceding claims, characterized in that the flash application (22) stops at least one application (20. n) which lies in the same partition (40) as the application (20.x) to be updated.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest die Basissoftware (26) in dem elektrisch löschbaren Speicher (14) gespeichert wird, insbesondere in derselben Partition (41 ), in der auch die Flash-Applikation (22) abgelegt ist. Method according to one of the preceding claims, characterized in that at least the basic software (26) is stored in the electrically erasable memory (14), in particular in the same partition (41) in which the flash application (22) is stored.
Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22) mit zumindest einem Master (23) bezüglich einer Aktualisierung zumindest einer Applikation (20.x) kommuniziert, und/oder dass die Flash-Applikation (22) zumindest die zu aktualisierende Applikation (20.x) stoppt, und/oder dass die Flash-Applikation (22) zumindest einen Lösch-Befehl (109) empfängt, und/oder dass die Flash-Applikation (22) daraufhin zumindest Teile der zu aktualisierenden Applikation (20.x) löscht, und/oder dass die Flash- Applikation (22) von dem Master (23) aktualisierte Daten für die zu Method according to one of the preceding claims, characterized in that the flash application (22) with at least one master (23) with respect to an update of at least one application (20.x) communicates, and / or that the flash application (22) at least the application (20.x) to be updated stops, and / or that the flash application (22) receives at least one delete command (109), and / or that the flash application (22) thereupon at least parts of the application to be updated (20.x) deletes, and / or that the flash application (22) from the master (23) updated data for the
aktualisierende Applikation (20.x) empfängt, und/oder dass die Flash-Applikation (22) die empfangenen Daten in den elektrisch beschreibbaren Speicher (14) schreibt, und/oder dass die Flash-Applikation (22) die nun aktualisierte  updating application (20.x) receives, and / or that the flash application (22) writes the received data in the electrically writable memory (14), and / or that the flash application (22) the now updated
Applikation (20.x) initialisiert (122) und/oder dass die Flash-Applikation (22) zumindest eine gestoppte Applikation (20.x, 20. n) startet (126).  Application (20.x) initialized (122) and / or that the flash application (22) at least one stopped application (20.x, 20. n) starts (126).
10. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm dazu eingerichtet ist ein Verfahren nach einem der Ansprüche 1 bis 9 10. Computer program, characterized in that the computer program is set up for a method according to one of claims 1 to 9
durchzuführen. perform.
1 1 . Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm dazu eingerichtet ist ein Verfahren nach einem der Ansprüche 1 bis 9 1 1. Computer program, characterized in that the computer program is set up for a method according to one of claims 1 to 9
durchzuführen. 12. Elektrisches Speichermedium mit einem Computerprogramm nach Anspruch 1 1 .  perform. 12. An electrical storage medium with a computer program according to claim 1 1.
13. Steuergerät, welches dazu eingerichtet ist ein Verfahren nach einem der 13. Control unit, which is adapted to a method according to one of
Ansprüche 1 bis 9 durchzuführen.  Perform claims 1 to 9.
PCT/EP2016/077996 2016-01-20 2016-11-17 Method for updating control device software, preferably for a motor vehicle WO2017125182A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016200711.4 2016-01-20
DE102016200711.4A DE102016200711A1 (en) 2016-01-20 2016-01-20 Method for updating software of a control unit, preferably for a motor vehicle

Publications (1)

Publication Number Publication Date
WO2017125182A1 true WO2017125182A1 (en) 2017-07-27

Family

ID=57354358

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/077996 WO2017125182A1 (en) 2016-01-20 2016-11-17 Method for updating control device software, preferably for a motor vehicle

Country Status (2)

Country Link
DE (1) DE102016200711A1 (en)
WO (1) WO2017125182A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020099023A3 (en) * 2018-11-12 2020-08-13 Bayerische Motoren Werke Aktiengesellschaft Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111133412A (en) 2017-07-25 2020-05-08 奥罗拉实验室有限公司 Software incremental update and anomaly detection for building vehicle ECU software based on tool chain
CN113614016B (en) * 2019-03-18 2023-05-05 因温特奥股份公司 Safety device for personnel handling equipment incorporated in a building

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125897A1 (en) * 2007-11-14 2009-05-14 Continental Teves, Inc. Systems and Methods for Updating Device Software
US20140025870A1 (en) * 2011-02-09 2014-01-23 Continental Automotive Gmbh Computer reprogramming method, data storage medium and motor vehicle computer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248172A1 (en) 2003-06-24 2006-11-02 Thomas Zurawka Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125897A1 (en) * 2007-11-14 2009-05-14 Continental Teves, Inc. Systems and Methods for Updating Device Software
US20140025870A1 (en) * 2011-02-09 2014-01-23 Continental Automotive Gmbh Computer reprogramming method, data storage medium and motor vehicle computer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020099023A3 (en) * 2018-11-12 2020-08-13 Bayerische Motoren Werke Aktiengesellschaft Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium

Also Published As

Publication number Publication date
DE102016200711A1 (en) 2017-07-20

Similar Documents

Publication Publication Date Title
DE102005013285B4 (en) Method of configuring a controller and controller
DE19964013B4 (en) Method and device for controlling operations in a vehicle
DE10027006B4 (en) System for controlling the operation of a motor vehicle and a method for starting such a system
WO2017013134A1 (en) Method and system for firmware-updating a control device for process control
WO2005064546A1 (en) Data logging in a motor vehicle
DE102020110271B3 (en) Control unit for a vehicle and method for testing a program element of a vehicle function and motor vehicle with a control unit
EP3128383B1 (en) Field device
WO2017125181A1 (en) Method for updating control device software, preferably for a motor vehicle
WO2017125182A1 (en) Method for updating control device software, preferably for a motor vehicle
EP0997347B1 (en) Procedure and system for mode switching of a vehicle control apparatus
DE19931184A1 (en) Altering controller memory contents involves writing new data that is worthy of security into different memory area before transferring to original memory area contg. replaced data
WO2017050557A1 (en) System and method for distributing and/or updating software in interconnected control devices of a vehicle
WO2017178211A1 (en) Method for operating a control device for a vehicle, control device, operating system, motor vehicle
DE102005009639A1 (en) Method and device for saving individual settings data
EP0664387B1 (en) Process to change the working mode of a control device in vehicles
EP2052300B1 (en) Method for programming a controller in a motor vehicle
DE102011055087A1 (en) Method for executing reprogramming of control device in motor vehicle, involves addressing, coupling and then configuring control device to interface of board control of motor vehicle
EP2367084A1 (en) Method for the configuration of a control device of an industrial automation device and components for an industrial automation device
EP1187011A2 (en) Method for programming a control device
DE10234063A1 (en) Version specific programming of program and data memory in a motor vehicle control unit, whereby version data and program alterations are stored with the base program and a particular version is selected using a selection tool
DE10039766B4 (en) Method for controlling operating parameters of a vehicle
DE102007059355A1 (en) Method for operating a control unit and control unit
DE10007610A1 (en) Programming method of vehicle controller, involves transmitting programs to specific controller through bus after functionally disconnecting other controllers from bus by turning-off ignition switch
WO2020099023A2 (en) Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium
DE102004052438A1 (en) Service programmer for automatic doors has applications memory supplying control programs to microprocessors

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16798467

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16798467

Country of ref document: EP

Kind code of ref document: A1