[go: up one dir, main page]

WO2017125181A1 - 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
WO2017125181A1
WO2017125181A1 PCT/EP2016/077936 EP2016077936W WO2017125181A1 WO 2017125181 A1 WO2017125181 A1 WO 2017125181A1 EP 2016077936 W EP2016077936 W EP 2016077936W WO 2017125181 A1 WO2017125181 A1 WO 2017125181A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
program
software
executed
parts
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.)
Ceased
Application number
PCT/EP2016/077936
Other languages
German (de)
French (fr)
Inventor
Alexander Vensmer
Markus Petri
Gunnar Piel
Tom Schilli
Thomas Wendel
Michael Hauser
Uwe Heller
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.)
Robert Bosch GmbH
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 WO2017125181A1 publication Critical patent/WO2017125181A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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.
  • 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 functions on the available flash partitions must be made to ensure that no code is executed, which lies in one of the partitions to be programmed.
  • the basic software consists of an application software or application and a Flashbootloader.
  • the Flashbootloader is used to update all parts of the software at once.
  • the Flashbootloader is able to exchange parts of the application software while running other parts of the application (s).
  • the Flashbootloader needs to know the dependencies and the exact location in the memory of the applications to be executed. This is made possible, for example, by administrative data in the memory, in which, for example, function pointers are deposited that point to the applications to be executed. When creating this administrative data (for example, during the so-called build process), all dependencies must be known so that all
  • FIG. 1 shows the schematic structure of the control device with partitioning including administrative data
  • FIG. 2 is a sequence diagram of the flash boot loader with support for applications;
  • Figure 3 is a schematic representation of two flash phases with
  • 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, 20.1, 20.n are stored. These are programs that perform certain functions that are particularly associated with a motor vehicle. So it is a variety 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 connected, for example via a bus system 17 with other components 19. These components are, for example, vehicle components, which depend on the
  • a program 16 for at least partially deleting and writing the electrically erasable memory 14 is also provided, hereinafter referred to as flash bootloader 16.
  • the Flashbootloader 16 is used for deleting and / or new
  • a basic software 26 an operating system 28 and a driver 30 (CDD Complex Device Driver) are stored in the electrically erasable memory 14.
  • Flashbootloader 16 is provided. This is also like the other applications 20 in electrically erasable memory 14.
  • the flash boot loader 16 is now able to selectively update certain applications 20.x or the associated software, associated data, etc., while preferably particularly important application 20.1, 20 . n, continue to be executed.
  • management data 33 are now arranged in the electrically erasable memory 14. This management data 33 enables the flash boot loader 16 to recognize the dependencies and the exact location in the memory 14 of the applications 20 to be executed.
  • 33 function pointers are stored in the administration data, which point to the applications 20 or software of the applications 20 to be executed.
  • management data 33 For example, in the form of tables, these dependencies are known after creation of the complete program and mapped in the management data 33.
  • 20 associated management data 33 are preferably stored on the electrically erasable memory 14 for each application.
  • These management data 33 are also generated for the base software 26 and / or the operating system 28 and / or the driver 30 and stored in the electrically erasable memory 14.
  • FIG. 2 shows by way of example the course of the updating of a
  • a master 23 for the flash process sends in a step 101 a corresponding session change command to an application 20, preferably to such an application 20, which usually handles the diagnostic communication. This command requires a change of the operating mode.
  • the application 20 starts the flash boot loader 16, possibly as part of a restart, step 103.
  • the flash boot loader 16 receives the corresponding restart command of the application 20.
  • the flash boot loader 16 returns its operational readiness to the master 23 in a step 105.
  • a program sequence 106 is executed. Part of this program sequence 106 is the communication of the Flashbootloaders 16 to another application 20.1, 20, 20 n, this further, step 107. This is done by resorting to the associated management data 33, in which the corresponding program sequences are stored as described.
  • the execution of the function of the application 20 by the flash boot loader 16 is performed cyclically. In addition, certain will continue below
  • Flashbootloader 16 The master 23 then sends a delete command to the
  • Flashbootloader 16 step 109.
  • the Flashbootloader executes the
  • program sequence 1 13 will continue
  • the execution of the application 20.1, 20 which is still to be executed includes execution of corresponding communication between the flash boot loader 16 and the corresponding application 20.
  • the flash boot loader 16 After successful deletion of the application 20.x to be updated, the flash boot loader 16 returns a positive feedback to the master 23.
  • a program sequence 1 19 is executed which continues to carry out the desired application 20, optionally with communication between the flash boot loader 16 and the application 20, step 121 or by resorting to the corresponding administration data 33.
  • the master 23 then transmits the data to be stored to the Flashbootloader 16, step 123.
  • the Flashbootloader 16 writes the transmitted data for the
  • step 125 This is followed by the next program sequence 127, in which the transfer of the function to the application 20 takes place and furthermore the
  • the flash boot loader 16 gives a corresponding positive
  • the master 23 causes a change of the operating mode, for example, in the default mode, step
  • the master 23 sends a corresponding command to the
  • Flash boot loader 16 step 133.
  • the flash boot loader 16 sends a corresponding command in step 135 to the applications 20, which causes a start of the applications 20.
  • the application 20 returns a response signal to the master 23, step 137.
  • the application 20 itself executes the corresponding application software, step 139.
  • 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 base software 26, via which the execution using the Flashbootloaders 16 of the applications 20. n, 20.1 takes place, optionally via the driver 30. In addition, a
  • Real-time environment 24 is provided, on which the applications 20 can be operated in quasi real-time. Schematically represented are still a
  • the continuous arrows 35 symbolize which of the components shown are executed.
  • the flash boot loader 16 causes the basic software 26 to be executed.
  • the base software 26 not all shares need to be executed. If appropriate, it may also be possible via the management data 33 to control that only a part or parts of the basic software 26 are executed.
  • Embodiment according to Figure 3 the application 20.x is to be updated. During the update, however, applications 20.1 and 20.n should continue to run. The update is in the lower image of the figure
  • the updating of the application 20.x and at least partial execution of the communication with the master 23 by the flash boot loader 16 takes place.
  • the flash boot loader 16 furthermore controls the updating of the application 20. x.
  • the Flashbootloader 16 continues to take over the
  • 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 the 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 executed. This has the consequence that a meaningful division of the applications 20 with associated management data 33 must be made to the available partitions 40-43 to ensure that no code is executed in one of the partitions 40-43 to be programmed or updated lies. Exchangeability of individual software components or applications 20, while other applications 20 are executed, depends on the distribution of the software components or applications.
  • two flash bootloaders 16, 16.1, 16.2, preferably on different partitions could also be located on the partitions 40, 41.
  • the provision of only a single Flashbootloaders 16 would be equally possible.
  • Flash boot loader 16 could also be located outside of electrically erasable memory 14.
  • the flash boot loader 16 is capable of handling the requirements for diagnostic communication with the master 23 and / or the applications 20. As described, it is capable of starting a delete operation or writing data. He is also able to stop applications 20 to replace the software part to be replaced or the application 20 (delete, write) and then start again. Furthermore, the Flashbootloader 16 is capable of other applications
  • the method with the associated device preferably finds application in the updating of software of a control device, in particular for
  • 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); at least one program (16), in particular a flash bootloader, is provided for at least partially deleting and writing an electrically deletable memory (14), said program (16) executing at least parts of an application (20; 20.1, 20.n) while updating at least one application (20.x).

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 bzw. Applikationen nicht verfügbar, da die ECU functions or applications not available because the

entsprechende Software bzw. Applikation 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,appropriate software or application is not executed. 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 eines speziellen Programms, eines sogenannten Flashbootloaders gelöst, welcher in der Lage ist, This object is achieved according to the invention with the aid of a special program, a so-called flash bootloader, which is able to

Softwareanteile einer Applikation auszuführen bzw. eine entsprechende Software parts of an application to execute or a corresponding

Applikation auszuführen, während er andere Applikationen aktualisiert. Es handelt sich also um einen Flashbootloader mit der Fähigkeit,  Application while updating other applications. So it's a Flashbootloader with the ability to

Applikationssoftware auszuführen. Execute application software.

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 der 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- 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. 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 functions on the available flash partitions must be made to ensure that no code is executed, which lies in one of the partitions to be programmed.

Die grundsätzliche Software besteht wie bisher aus einer Applikations-Software bzw. Applikation und einem Flashbootloader. Der Flashbootloader wird verwendet, um alle Teile der Software auf einmal zu aktualisieren. Zusätzlich ist der Flashbootloader in der Lage, Teile der Applikationssoftware auszutauschen und währenddessen andere Teile der Applikation(en) auszuführen. Hierzu muss der Flashbootloader die Abhängigkeiten und die genaue Lage im Speicher der auszuführenden Applikationen kennen. Möglich wird dies beispielsweise durch Verwaltungsdaten im Speicher, in denen beispielsweise Funktionspointer hinterlegt sind, die auf die auszuführenden Applikationen zeigen. Bei der Erstellung dieser Verwaltungsdaten (beispielsweise während des sogenannten Build-Vorgangs) müssen alle Abhängigkeiten bekannt sein, damit alle As before, the basic software consists of an application software or application and a Flashbootloader. The Flashbootloader is used to update all parts of the software at once. In addition, the Flashbootloader is able to exchange parts of the application software while running other parts of the application (s). For this, the Flashbootloader needs to know the dependencies and the exact location in the memory of the applications to be executed. This is made possible, for example, by administrative data in the memory, in which, for example, function pointers are deposited that point to the applications to be executed. When creating this administrative data (for example, during the so-called build process), all dependencies must be known so that all

notwendigen Funktionen Teil der Verwaltungsdaten sind. necessary functions are part of the administrative data.

Weitere zweckmäßige Weiterbildungen ergeben sich aus weiteren abhängigen Ansprüchen und der Beschreibung. Further expedient developments emerge from further dependent claims and the description.

Kurze Beschreibung der Zeichnungen Brief description of the drawings

Nachfolgend wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf die begleitende Zeichnung im Detail beschrieben. Dabei zeigen: Hereinafter, an embodiment of the invention will be described in detail with reference to the accompanying drawings. Showing:

Figur 1 den schematischen Aufbau des Steuergeräts mit Partitionierung inklusive Verwaltungsdaten, FIG. 1 shows the schematic structure of the control device with partitioning including administrative data,

Figur 2 ein Sequenzdiagramm des Flashbootloaders mit Unterstützung für Applikationen, Figur 3 eine schematische Darstellung zweier Flashphasen mitFIG. 2 is a sequence diagram of the flash boot loader with support for applications; Figure 3 is a schematic representation of two flash phases with

Flashbootloader sowie Flashbootloader as well

Figur 4 eine beispielhafte Partitionierung des elektrisch löschbaren 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, 20.1 ,20.n abgelegt. Hierbei handelt es sich um Programme, die bestimmte 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, 20.1, 20.n are stored. These are programs that perform certain functions that are particularly associated with a motor vehicle. So it is a variety 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 Bussystem 17 mit weiteren Komponenten 19 verbunden. Bei diesen Komponenten handelt es sich beispielsweise um Fahrzeugkomponenten, welche abhängig von denImmobilizer or similar. The corresponding applications 20 run in the control unit 10. The control unit 10 is connected, for example via a bus system 17 with other components 19. These components are, for example, vehicle components, which depend on the

Applikationen 20 angesteuert werden wie beispielsweise die Applications 20 are controlled such as the

Zentralverriegelung, entsprechende Klemmen (Zündung ein/aus etc.), Aktuatoren zur Türsteuerung, Klimaanlage etc. In dem MikroController 12 ist zudem ein Programm 16 zum zumindest teilweisen Löschen und Beschreiben des elektrisch löschbaren Speichers 14 vorgesehen, nachfolgend als Flashbootloader 16 bezeichnet. Der Flashbootloader 16 dient dem Löschen und/oder neu Central locking, corresponding terminals (ignition on / off, etc.), actuators for door control, air conditioning, etc. In the microcontroller 12, a program 16 for at least partially deleting and writing the electrically erasable memory 14 is also provided, hereinafter referred to as flash bootloader 16. The Flashbootloader 16 is used for deleting and / or new

Beschreiben von Software bestimmte Programme wie nachfolgend noch ausgeführt. Außerdem sind in dem elektrisch löschbaren Speicher 14 auch eine Basissoftware 26, ein Betriebssystem 28 sowie ein Treiber 30 (CDD Complex Device Driver) abgelegt. Describe software specific programs as outlined below. In addition, a basic software 26, an operating system 28 and a driver 30 (CDD Complex Device Driver) are stored in the electrically erasable memory 14.

Wie bereits im Stand der Technik ausgeführt war es bislang üblich, bei einer 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 wichtigeAs stated in the prior art, it has hitherto been customary to stop all applications 20 when updating the software of an application 20.x, then update it and then start it again. To ensure that certain, in particular for vehicle functions important

Funktionalitäten auch während des Flashvorgangs weiterhin zur Verfügung stehen, ist ein speziell ausgestalteter Flashbootloader 16 vorgesehen. Dieser befindet sich ebenfalls wie die anderen Applikationen 20 im elektrisch löschbaren Speicher 14. Der Flashbootloader 16 ist nun in der Lage, gezielt bestimmte Applikationen 20.x bzw. die zugehörige Software, zugehörige Daten etc. zu aktualisieren, während vorzugsweise besonders wichtige Applikation 20.1 , 20. n, weiterhin ausgeführt werden. Hierzu sind nun Verwaltungsdaten 33 im elektrisch löschbaren Speicher 14 angeordnet. Diese Verwaltungsdaten 33 versetzen den Flashbootloader 16 in die Lage, die Abhängigkeiten und die genaue Lage im Speicher 14 der auszuführenden Applikationen 20 zu erkennen. Hierzu sind beispielsweise in den Verwaltungsdaten 33 Funktionspointer hinterlegt, die auf die auszuführenden Applikationen 20 bzw. Software der Applikationen 20 zeigen.Functionalities continue to be available during the flash process, a specially designed Flashbootloader 16 is provided. This is also like the other applications 20 in electrically erasable memory 14. The flash boot loader 16 is now able to selectively update certain applications 20.x or the associated software, associated data, etc., while preferably particularly important application 20.1, 20 . n, continue to be executed. For this purpose, management data 33 are now arranged in the electrically erasable memory 14. This management data 33 enables the flash boot loader 16 to recognize the dependencies and the exact location in the memory 14 of the applications 20 to be executed. For this purpose, for example, 33 function pointers are stored in the administration data, which point to the applications 20 or software of the applications 20 to be executed.

Beispielsweise in Form von Tabellen sind diese Abhängigkeiten nach Erstellen des kompletten Programms bekannt und in den Verwaltungsdaten 33 abgebildet. Hierbei sind vorzugsweise für jede Applikation 20 zugehörige Verwaltungsdaten 33 auf dem elektrisch löschbaren Speicher 14 abgelegt. Diese Verwaltungsdaten 33 werden ebenfalls für die Basissoftware 26 und/oder das Betriebssystem 28 und/oder den Treiber 30 erzeugt und im elektrisch löschbaren Speicher 14 abgelegt. For example, in the form of tables, these dependencies are known after creation of the complete program and mapped in the management data 33. Here, 20 associated management data 33 are preferably stored on the electrically erasable memory 14 for each application. These management data 33 are also generated for the base software 26 and / or the operating system 28 and / or the driver 30 and stored in the electrically erasable memory 14.

Figur 2 zeigt exemplarisch den Ablauf der Aktualisierung einer zu 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 Befehl zum Session-Wechsel an eine Applikation 20, vorzugsweise an eine solche Applikation 20, die üblicherweise die Diagnosekommunikation handhabt. Dieser Befehl bedingt einen Wechsel der Betriebsart. Die Applikation 20 startet den Flashbootloader 16, gegebenenfalls im Rahmen eines Neustarts, Schritt 103. Der Flashbootloader 16 empfängt den entsprechenden Neustartbefehl der Applikation 20. Der Flashbootloader 16 meldet in einem Schritt 105 seine Betriebsbereitschaft an den Master 23 zurück. Daraufhin wird eine Programmsequenz 106 ausgeführt. Bestandteil dieser Programmsequenz 106 ist die Kommunikation des Flashbootloaders 16 an weitere Applikation 20.1 , 20. n, diese weiter auszuführen, Schritt 107. Dies erfolgt unter Rückgriff auf die zugehörigen Verwaltungsdaten 33, in denen die entsprechenden Programmsequenzen wie beschrieben hinterlegt sind. Die Durchführung der Funktion der Applikation 20 durch den Flashbootloader 16 wird zyklisch durchgeführt. Außerdem werden gewisse nachfolgend weiter updating application 20.x. A master 23 for the flash process sends in a step 101 a corresponding session change command to an application 20, preferably to such an application 20, which usually handles the diagnostic communication. This command requires a change of the operating mode. The application 20 starts the flash boot loader 16, possibly as part of a restart, step 103. The flash boot loader 16 receives the corresponding restart command of the application 20. The flash boot loader 16 returns its operational readiness to the master 23 in a step 105. Thereafter, a program sequence 106 is executed. Part of this program sequence 106 is the communication of the Flashbootloaders 16 to another application 20.1, 20, 20 n, this further, step 107. This is done by resorting to the associated management data 33, in which the corresponding program sequences are stored as described. The execution of the function of the application 20 by the flash boot loader 16 is performed cyclically. In addition, certain will continue below

beschriebene Funktionen wie beispielsweise das Löschen des Speichers (Schrittdescribed functions such as clearing the memory (step

1 1 1 ), beschreiben des Speichers (Schritt 125) und weiteres ausgeführt. Während dieser Zeit müssen die Funktionen der Applikation 20 durch den Flashbootloader 16 weiter ausgeführt werden. 1 1 1), describe the memory (step 125) and further executed. While At this time, the functions of the application 20 must continue to be executed by the flash boot loader 16.

Gegebenenfalls erfolgt eine Rückmeldung der Applikation 20 an den Optionally, a response of the application 20 to the

Flashbootloader 16. Daraufhin sendet der Master 23 einen Lösch-Befehl an denFlashbootloader 16. The master 23 then sends a delete command to the

Flashbootloader 16, Schritt 109. Daraufhin führt der Flashbootloader das Flashbootloader 16, step 109. The Flashbootloader executes the

Löschen der zu aktualisierenden Applikation 20.x oder Teile der Applikation 20.x aus, Schritt 1 1 1 . Parallel hierzu wird Programmsequenz 1 13 weiterhin Delete the application 20.x or parts of the application 20.x to be updated, step 1 1 1. In parallel, program sequence 1 13 will continue

ausgeführt, welche die Ausführung der weiterhin auszuführenden Applikation 20.1 , 20. n wie bereits in Verbindung mit Programmsequenz 106 beschrieben beinhaltet unter entsprechender Kommunikation zwischen dem Flashbootloader 16 und der entsprechenden Applikation 20. As described in connection with program sequence 106, the execution of the application 20.1, 20 which is still to be executed includes execution of corresponding communication between the flash boot loader 16 and the corresponding application 20.

Nach erfolgreicher Löschung der zu aktualisierenden Applikation 20.x gibt der Flashbootloader 16 eine positive Rückmeldung an den Master 23 zurück. After successful deletion of the application 20.x to be updated, the flash boot loader 16 returns a positive feedback to the master 23.

Weiterhin wird eine Programmsequenz 1 19 ausgeführt, die die gewünschte Applikation 20 weiterhin ausführt, gegebenenfalls unter Kommunikation zwischen dem Flashbootloader 16 und der Applikation 20, Schritt 121 bzw. unter Rückgriff auf die entsprechenden Verwaltungsdaten 33. Anschließend übermittelt der Master 23 die einzuspeichernden Daten an den Flashbootloader 16, Schritt 123. Furthermore, a program sequence 1 19 is executed which continues to carry out the desired application 20, optionally with communication between the flash boot loader 16 and the application 20, step 121 or by resorting to the corresponding administration data 33. The master 23 then transmits the data to be stored to the Flashbootloader 16, step 123.

Der Flashbootloader 16 schreibt die übermittelten Daten für die zu The Flashbootloader 16 writes the transmitted data for the

aktualisierende Applikation 20.x in den elektrisch löschbaren Speicher 14, Schritt 125. Daraufhin schließt sich die nächste Programmsequenz 127 an, in der der Transfer der Funktion an die Applikation 20 erfolgt und weiterhin die updating application 20.x into the electrically erasable memory 14, step 125. This is followed by the next program sequence 127, in which the transfer of the function to the application 20 takes place and furthermore the

Applikationen 20 ausgeführt werden. Hierzu kommuniziert der FlashbootloaderApplications 20 are executed. For this the Flashbootloader communicates

16 mit der Applikation 20, Schritt 129. Gegebenenfalls erfolgt eine positive Rückmeldung der Applikation 20 an den Flashbootloader 16. Nach Empfang der Rückmeldung gibt der Flashbootloader 16 eine entsprechende positive 16 with the application 20, step 129. Optionally, the application 20 receives a positive response to the flash boot loader 16. After receiving the feedback, the flash boot loader 16 gives a corresponding positive

Rückmeldung an den Master 23, Schritt 131. Daraufhin veranlasst der Master 23 eine Änderung des Betriebsmodus, beispielsweise in den Default-Modus, SchrittFeedback to the master 23, step 131. Thereupon, the master 23 causes a change of the operating mode, for example, in the default mode, step

133. Hierzu sendet der Master 23 einen entsprechenden Befehl an den 133. For this purpose, the master 23 sends a corresponding command to the

Flashbootloader 16, Schritt 133. Daraufhin sendet der Flashbootloader 16 einen entsprechenden Befehl in Schritt 135 an die Applikationen 20, der einen Start der Applikationen 20 bewirkt. Daraufhin meldet die Applikation 20 ein Antwortsignal an den Master 23 zurück, Schritt 137. Weiterhin führt nun die Applikation 20 selbst die entsprechende Applikations-Software aus, Schritt 139. 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. Flash boot loader 16, step 133. Thereupon, the flash boot loader 16 sends a corresponding command in step 135 to the applications 20, which causes a start of the applications 20. Thereafter, the application 20 returns a response signal to the master 23, step 137. Furthermore, the application 20 itself executes the corresponding application software, step 139. 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 die Ausführung unter Verwendung des Flashbootloaders 16 der Applikationen 20. n, 20.1 stattfindet, gegebenenfalls über den Treiber 30. Außerdem ist eine Hardware 32 includes, for example, the microcontroller 12 with electrically erasable memory 14. It runs a base software 26, via which the execution using the Flashbootloaders 16 of the applications 20. n, 20.1 takes place, optionally via the driver 30. In addition, a

Echtzeitumgebung 24 vorgesehen, auf der die Applikationen 20 in quasi Echtzeit betreiben werden können. Schematisch dargestellt sind weiterhin ein Real-time environment 24 is provided, on which the applications 20 can be operated in quasi real-time. Schematically represented are still a

Betriebssystem 28 sowie der Treiber 30, über den alternative Operating system 28 and the driver 30, via the alternative

Ansteuerungsmöglichkeiten als Back-up möglich wären. Die durchgehenden Pfeile 35 symbolisieren, welche der gezeigten Komponenten ausgeführt werden. So bewirkt der Flashbootloader 16, dass zum einen die Basissoftware 26 ausgeführt wird. Bei der Basissoftware 26 müssen nicht alle Anteile ausgeführt werden. Gegebenenfalls könnte über die Verwaltungsdaten 33 gegebenenfalls auch gesteuert werden, dass nur ein Teil oder Teile der Basissoftware 26 ausgeführt werden.  Control options as back-up would be possible. The continuous arrows 35 symbolize which of the components shown are executed. Thus, the flash boot loader 16 causes the basic software 26 to be executed. For the base software 26, not all shares need to be executed. If appropriate, it may also be possible via the management data 33 to control that only a part or parts of the basic software 26 are executed.

Weiterhin wird auch die Applikation 20.1 und die Applikation 20. n ausgeführt. Dies erfolgt unter Rückgriff auf die in Figur 1 angedeuteten Verwaltungsdaten 33, die den entsprechenden Ablauf der Ausführung der entsprechenden Furthermore, the application 20.1 and the application 20.n are also executed. This is done by resorting to the indicated in Figure 1 management data 33, the corresponding sequence of execution of the corresponding

Programmteile dem Flashbootloader 16 zur Verfügung stellen. Im Make program parts available to the Flashbootloader 16. in the

Ausführungsbeispiel gemäß Figur 3 soll die Applikation 20.x aktualisiert werden. Während der Aktualisierung jedoch sollen die Applikationen 20.1 und 20. n weiterhin ausgeführt werden. Die Aktualisierung ist in dem unteren Bild der FigurEmbodiment according to Figure 3, the application 20.x is to be updated. During the update, however, applications 20.1 and 20.n should continue to run. The update is in the lower image of the figure

3 gezeigt über die gestrichelten Pfeile 37. Wie bereits in Verbindung mit Figur 2 beschrieben erfolgt die Aktualisierung der Applikation 20.x und zumindest teilweise Durchführung der Kommunikation mit dem Master 23 durch den Flashbootloader 16. Der Flashbootloader 16 steuert weiterhin die Aktualisierung der Applikation 20.x. Der Flashbootloader 16 übernimmt weiterhin die As already described in connection with FIG. 2, the updating of the application 20.x and at least partial execution of the communication with the master 23 by the flash boot loader 16 takes place. The flash boot loader 16 furthermore controls the updating of the application 20. x. The Flashbootloader 16 continues to take over the

Ausführung der während der Aktualisierung zur Verfügung stehenden  Execution of the available during the update

Applikationen 20.1 , 20. n. 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. AufApplications 20.1, 20. n. 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 the electrically erasable memory 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 mit zugehörigen Verwaltungsdaten 33 auf die verfügbaren Partitionen 40-43 vorgenommen werden muss, um sicherzustellen, dass kein Code ausgeführt wird, der in einer der zu programmierende bzw. zu aktualisierenden Partitionen 40-43 liegt. Gerade die Austauschbarkeit einzelner Softwareanteile bzw. Applikationen 20, während andere Applikationen 20 ausgeführt werden, hängt von der Verteilung der Softwareanteile bzw. 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 executed. This has the consequence that a meaningful division of the applications 20 with associated management data 33 must be made to the available partitions 40-43 to ensure that no code is executed in one of the partitions 40-43 to be programmed or updated lies. Exchangeability of individual software components or applications 20, while other applications 20 are executed, depends on the distribution of the software components or applications.

Applikationen 20 auf die einzelnen Partitionen 40-43 ab. Softwareanteile bzw.Applications 20 on the individual partitions 40-43. Software shares or

Applikationen 20, die in gleichen Partitionen 40-43 liegen, können nicht ausgeführt werden, während in dieser Partition eine Aktualisierung ausgeführt wird. Mit Blick auf Figur 3 kann somit eine Aktualisierung der Applikation 20.x unter gleichzeitiger Ausführung der weiteren Applikationen 20 1 , 20. n erfolgen, da diese in unterschiedlichen Partitionen 40,41 angeordnet sind. Applications 20 residing in equal partitions 40-43 can not be executed while an update is performed in that partition. With reference to FIG. 3, an update of the application 20.x can thus be carried out with simultaneous execution of the further applications 20 1, 20. N, since these are arranged in different partitions 40, 41.

Beispielhaft könnten auf den Partitionen 40,41 auch zwei Flashbootloader 16, 16.1 , 16.2, vorzugsweise auf unterschiedlichen Partitionen, liegen. Alternativ zur Variante mit zwei Flashbootloadern 16.1 , 16.2 wäre jedoch das Vorsehen lediglich eines einzigen Flashbootloaders 16 gleichermaßen möglich. DerBy way of example, two flash bootloaders 16, 16.1, 16.2, preferably on different partitions, could also be located on the partitions 40, 41. As an alternative to the variant with two Flashbootloadern 16.1, 16.2, however, the provision of only a single Flashbootloaders 16 would be equally possible. Of the

Flashbootloader 16 könnte auch außerhalb des elektrisch löschbaren Speichers 14 angeordnet sein. Flash boot loader 16 could also be located outside of electrically erasable memory 14.

Der Flashbootloader 16 ist wie beschrieben in der Lage, die Anforderungen betreffend Diagnosekommunikation bzw. Kommunikation mit dem Master 23 und/oder den Anwendungen 20 zu übernehmen. Er ist wie beschrieben in der Lage, eine Löschoperation zu starten oder Daten zu schreiben. Er ist weiterhin in der Lage, Applikationen 20 zu stoppen, den zu ersetzenden Softwareanteil bzw. die Applikation 20 zu ersetzen (löschen, schreiben) und anschließend wieder zu starten. Weiterhin ist der Flashbootloader 16 in der Lage, weitere ApplikationenAs described, the flash boot loader 16 is capable of handling the requirements for diagnostic communication with the master 23 and / or the applications 20. As described, it is capable of starting a delete operation or writing data. He is also able to stop applications 20 to replace the software part to be replaced or the application 20 (delete, write) and then start again. Furthermore, the Flashbootloader 16 is capable of other applications

20.1 , 20. n auszuführen. Dies erfolgt wie beschrieben unter Rückgriff auf die jeweiligen Verwaltungsdaten 33, um die richtige Abfolge bzw. Programmteile der Applikationen 20 zu verwenden, was ansonsten unter Umständen durch das Betriebssystem 28 verwaltet würde. 20.1, 20. n execute. This is done as described with reference to the respective administrative data 33 to the correct sequence or program parts of the Applications 20 to use, which might otherwise be managed by the operating system 28.

Bevorzugte Verwendung findet das Verfahren mit der zugehörigen Vorrichtung bei der Aktualisierung von Software eines Steuergeräts insbesondere fürThe method with the associated device preferably finds application in the updating of software of a control device, in particular for

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 Motor vehicles, while ensuring that certain applications 20 continue to run during the update of the software or other 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 Anwendung (20; in particular for motor vehicles, wherein the control device (10) comprises at least one microcontroller (12) with at least one electrically erasable memory (14), wherein the microcontroller (12) has different application (20; 20.1 , 20. n) ausführen kann, wobei zumindest ein Programm (16), insbesondere ein Flashbootloader, zum zumindest teilweisen Löschen und Beschreiben eines elektrisch löschbaren Speichers (14) vorgesehen ist, dadurch gekennzeichnet, dass das Programm (16) zumindest Teile einer Anwendung (20; 20.1 ,20. n) ausführt, während das Programm (16) zumindest eine Applikation (20.x) aktualisiert. 20.1, 20. n), wherein at least one program (16), in particular a flashbootloader, is provided for the at least partial erasure and writing of an electrically erasable memory (14), characterized in that the program (16) comprises at least parts of an application (20, 20.1, 20, n) while the program (16) is updating at least one application (20.x). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest Verwaltungsdaten (33) für zumindest eine Applikation (20) vorgesehen sind, auf die das Programm (16) zur Ausführung zumindest einer Anwendung (20, 20.1 , 20. n) zugreift. Method according to one of the preceding claims, characterized in that at least management data (33) are provided for at least one application (20) to which the program (16) accesses at least one application (20, 20.1, 20 n). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Verwaltungsdaten (33) eine Lage zumindest Teile der Applikation (20) und/oder eine Abhängigkeit zumindest Teile der Applikation (20) in dem elektrisch löschbaren Speicher (14) und/oder die Abfolge zumindest Method according to one of the preceding claims, characterized in that the management data (33) a position at least parts of the application (20) and / or a dependency at least parts of the application (20) in the electrically erasable memory (14) and / or the sequence at least auszuführende Teile der Applikation (20) angeben. Specify parts of the application (20) to be executed. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass als Verwaltungsdaten (33) zumindest ein Funktionspointer verwendet wird, der auf die auszuführende Applikation (20) bzw. auszuführende Teile der Applikation (20) zeigt. Method according to one of the preceding claims, characterized in that as administration data (33) at least one function pointer is used which points to the application (20) to be executed or parts of the application (20) to be executed. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Programm (16) mit zumindest einem Master (23) bezüglich einer Aktualisierung zumindest einer Applikation (20.x) kommuniziert, und/oder dass das Programm (16) zumindest die zu aktualisierende Applikation (20.x) stoppt, und/oder dass das Programm (16) zumindest einen Lösch-Befehl empfängt, und/oder dass das Programm (16) daraufhin zumindest Teile der zu Method according to one of the preceding claims, characterized in that the program (16) communicates with at least one master (23) with respect to an update of at least one application (20.x), and / or that the program (16) at least the application to be updated (20.x) stops, and / or that the program (16) receives at least one delete command, and / or that the program (16) thereupon at least parts of the aktualisierenden Applikation (20.x) löscht, und/oder dass das Programm (16) von dem Master (23) aktualisierte Daten für die zu aktualisierende Applikation (20.x) empfängt, und/oder dass das Programm (16) die empfangenen Daten in den elektrisch beschreibbaren Speicher (14) schreibt, und/oder dass das Programm (16) zumindest eine gestoppte Applikation (20.x,) startet. updating application (20.x), and / or that the program (16) updates updated data from the master (23) for the application (20.x) to be updated. receives, and / or that the program (16) writes the received data in the electrically writable memory (14), and / or that the program (16) starts at least one stopped application (20.x,). 6. Verfahren nach einem der vorhergehenden Ansprüche, 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 zumindest eine weiter auszuführende Applikation (20.1 , 20. n) liegt. 6. The method according to any one of the preceding claims, characterized in that the electrically erasable memory (14) comprises a plurality of partitions (40-43), wherein at least the application to be updated (20. x) is stored on another partition (40) the partition (41) on which at least one further application to be executed (20.1, 20. n) is located. 7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die zu aktualisierende Applikation (20) mit zumindest einem Master (23) kommuniziert, über den die Aktualisierung der zu aktualisierenden Applikation (20) initiiert wird. 7. The method according to any one of the preceding claims, characterized in that the application to be updated (20) with at least one master (23) communicates, via which the update of the application to be updated (20) is initiated. 8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Programm (16) von zumindest einer Applikation (20) einen Befehl erhält, das Programm (16) zu starten. 8. The method according to any one of the preceding claims, characterized in that the program (16) of at least one application (20) receives a command to start the program (16). 9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für eine Basissoftware (26) und/oder einem Betriebssystem (28) und oder einem Treiber (30) zugehörige Verwaltungsdaten (33) insbesondere auf dem elektrisch löschbaren Speicher (14) hinterlegt werden. 9. The method according to any one of the preceding claims, characterized in that for a basic software (26) and / or an operating system (28) and / or a driver (30) associated management data (33) in particular on the electrically erasable memory (14) are deposited , 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.  perform. 12. Elektrisches Speichermedium mit einem Computerprogramm nach Anspruch 1 1 . 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/077936 2016-01-20 2016-11-17 Method for updating control device software, preferably for a motor vehicle Ceased WO2017125181A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE102016200707 2016-01-20
DE102016200707.6 2016-01-20
DE102016201769.1 2016-02-05
DE102016201769.1A DE102016201769A1 (en) 2016-01-20 2016-02-05 Method for updating software of a control unit, preferably for a motor vehicle

Publications (1)

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

Family

ID=59256157

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/077936 Ceased WO2017125181A1 (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) DE102016201769A1 (en)
WO (1) WO2017125181A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279916A (en) * 2017-12-28 2018-07-13 宁德时代新能源科技股份有限公司 Electronic control unit program updating method and device
CN112559002A (en) * 2019-09-26 2021-03-26 上海汽车集团股份有限公司 Vehicle application updating method and device and storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107977220A (en) * 2017-12-04 2018-05-01 清华大学 A kind of method, apparatus and system for writing with a brush dipped in Chinese ink application program
CN110457058A (en) * 2019-08-09 2019-11-15 北京万东医疗科技股份有限公司 Control node online upgrade method, device, host computer, system and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004160A2 (en) 2003-06-24 2005-01-13 Robert Bosch Gmbh Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004160A2 (en) 2003-06-24 2005-01-13 Robert Bosch Gmbh Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279916A (en) * 2017-12-28 2018-07-13 宁德时代新能源科技股份有限公司 Electronic control unit program updating method and device
CN112559002A (en) * 2019-09-26 2021-03-26 上海汽车集团股份有限公司 Vehicle application updating method and device and storage medium
CN112559002B (en) * 2019-09-26 2025-02-25 上海汽车集团股份有限公司 Vehicle application updating method, device and storage medium

Also Published As

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

Similar Documents

Publication Publication Date Title
DE10027006B4 (en) System for controlling the operation of a motor vehicle and a method for starting such a system
DE19964013B4 (en) Method and device for controlling operations in a vehicle
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
DE19836748C1 (en) Method for applying control data of an electronic motor vehicle control unit
EP3128383B1 (en) Field device
WO2017125181A1 (en) Method for updating control device software, preferably for a motor vehicle
EP1861754A1 (en) Method and device for configuring a control device and corresponding control device
EP0997347A2 (en) Procedure and device for programming 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
EP3353650B1 (en) System and method for distributing and/or updating software in interconnected control devices of a vehicle
WO2017125182A1 (en) Method for updating control device software, preferably for a motor vehicle
EP2367084A1 (en) Method for the configuration of a control device of an industrial automation device and components for an industrial automation device
WO2017178211A1 (en) Method for operating a control device for a vehicle, control device, operating system, motor vehicle
DE102010039021B4 (en) Method for reconfiguration of software parameters in a microcontroller as well as microcontroller and control unit
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
EP0664387B1 (en) Process to change the working mode of a control device in vehicles
EP2734919B1 (en) Control unit for a vehicle, programming device and programming system
DE112022005984T5 (en) UPDATE MANAGEMENT SYSTEM
EP1698952B1 (en) Method and apparatus for inidvidual configuration parameter backup
DE102007059355A1 (en) Method for operating a control unit and control unit
DE102012218665B4 (en) Application system for control units
EP2734922B1 (en) Control unit for a vehicle, programming device and programming system
DE102023208799B3 (en) Method for operating a communication interface for a vehicle development test station system for exchanging data with respect to a software product to be tested for a vehicle to be developed, communication interface and vehicle development test station system
EP1967920A1 (en) Softwareupdate method for FPGA-based automation systems
DE102023209901A1 (en) Method for performing an update of a control unit in a vehicle

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: 16797891

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: 16797891

Country of ref document: EP

Kind code of ref document: A1