DE102016201769A1 - Method for updating software of a control unit, preferably for a motor vehicle - Google Patents

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

Info

Publication number
DE102016201769A1
DE102016201769A1 DE102016201769.1A DE102016201769A DE102016201769A1 DE 102016201769 A1 DE102016201769 A1 DE 102016201769A1 DE 102016201769 A DE102016201769 A DE 102016201769A DE 102016201769 A1 DE102016201769 A1 DE 102016201769A1
Authority
DE
Germany
Prior art keywords
application
program
updated
electrically erasable
software
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.)
Pending
Application number
DE102016201769.1A
Other languages
German (de)
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
Priority to PCT/EP2016/077936 priority Critical patent/WO2017125181A1/en
Publication of DE102016201769A1 publication Critical patent/DE102016201769A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

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

Die vorliegende Erfindung betrifft ein Verfahren zum Aktualisieren von Software eines Steuergerätes (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; 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, wobei 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.The present invention relates to a method for updating software of a control unit (10), in particular for motor vehicles, wherein the control unit (10) comprises at least one microcontroller (12) with at least one electrically erasable memory (14), the microcontroller (12) having different At least one program (16), in particular a flash bootloader, is provided for at least partially erasing and writing to an electrically erasable memory (14), wherein the program (16) comprises at least parts of one Application (20; 20.1, 20.n) while the program (16) is updating at least one application (20.x).

Description

Stand der TechnikState 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 Zuverlässigkeitsanforderungen eines jeden Zustands und eines jeden Übergangs des Zustandsautomaten überprüft.A generic method is for example from the WO 2005/004160 A2 known. To carry out a software update of a control unit by a flash programming of a multi-segment flash memory of the control unit via a serial interface to be asked to the flash programming request is set, a sequence of flash programming by states and transitions of the Specifies software-defining state machines and verifies availability, security, and reliability requirements of each state and transition of the state machine.

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 (μC) 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 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 Applikationssoftware beendet wird und auf dem Mikrocontroller nur noch der Flashbootloader ausgeführt wird. Dieser wiederum wird mit Hilfe der Diagnosekommunikation dazu verwendet, um beispielsweise ein Löschen des Speichers durchzuführen und neue Software zu übertragen und zu flashen. Während der Flashbootloader ausgeführt wird, sind komplexe Steuergerätefunktionen bzw. Applikationen nicht verfügbar, da die entsprechende Software bzw. Applikation nicht ausgeführt wird.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 (.mu.C), 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. Diagnostic communication uses a specific diagnostic protocol. For reprogramming the software, a change to the so-called programming mode takes place. This mode change entails that the application software is terminated and only the flash bootloader is executed on the microcontroller. This, in turn, is used by means of diagnostic communication to, for example, perform a clearing of the memory and to transmit and flash new software. While the Flashbootloader is running, complex ECU functions or applications are not available because the corresponding software or application is not running.

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, Software-Teile ersetzen zu können, ohne während der Zeit der Aktualisierung auf andere Applikationen zu verzichten.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 update software parts not only in the workshop but also over radio links over distances, there is a desire to be able to replace software parts without during the time of the update to dispense with other applications.

Offenbarung der ErfindungDisclosure 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, Softwareanteile einer Applikation auszuführen bzw. eine entsprechende Applikation auszuführen, während er andere Applikationen aktualisiert. Es handelt sich also um einen Flashbootloader mit der Fähigkeit, Applikationssoftware auszuführen.This object is achieved according to the invention with the aid of a special program, a so-called flash bootloader, which is able to execute software components of an application or to execute a corresponding application while updating other applications. So it's a flashbootloader with the ability to run 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. Multiple blocks are in one partition, and all memory is typically multiple partitions. In the solutions described, there is the problem that the blocks of a partition can not be accessed (execute code, read data), while within this partition an erase operation or a write operation is executed. This has the consequence that a sensible division of the software or application functions must be made to the available flash partitions to ensure that no code is executed, which is located 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 notwendigen Funktionen Teil der Verwaltungsdaten sind.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 must Dependencies so that all 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 ZeichnungenBrief 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:

1 den schematischen Aufbau des Steuergeräts mit Partitionierung inklusive Verwaltungsdaten, 1 the schematic structure of the control unit with partitioning including administration data,

2 ein Sequenzdiagramm des Flashbootloaders mit Unterstützung für Applikationen, 2 a sequence diagram of the Flashbootloader with support for applications,

3 eine schematische Darstellung zweier Flashphasen mit Flashbootloader sowie 3 a schematic representation of two Flash phases with Flashbootloader as well

4 eine beispielhafte Partitionierung des elektrisch löschbaren Speichers. 4 an exemplary partitioning of the electrically erasable memory.

Ausführungsform der ErfindungEmbodiment of the invention

Ein Steuergerät 10 umfasst zumindest einen Mikrocontroller 12. In dem Mikrocontroller 12 ist zumindest ein elektrisch löschbarer Speicher 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 Klemmensteuerung, eine Türsteuerung, eine Heizungssteuerung, eine 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 den Applikationen 20 angesteuert werden wie beispielsweise die 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 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.A control unit 10 includes at least one microcontroller 12 , In the microcontroller 12 is at least one electrically erasable memory 14 intended. In the electrically erasable memory 14 are applications 20 . 20.1 . 20.n stored. These are programs that perform certain functions that are particularly associated with a motor vehicle. It is therefore 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, an immobilizer or the like. The corresponding applications 20 run in the control unit 10 , The control unit 10 is for example via a bus system 17 with other components 19 connected. These components are, for example, vehicle components which depend on the applications 20 such as the central locking, appropriate terminals (ignition on / off, etc.), actuators for door control, air conditioning, etc. In the microcontroller 12 is also a program 16 for at least partially erasing and describing the electrically erasable memory 14 provided, hereinafter as Flashbootloader 16 designated. The Flashbootloader 16 The purpose of deleting and / or rewriting software is to use certain programs as described below. In addition, in the electrically erasable memory 14 also a basic software 26 , an operating system 28 as well as a driver 30 (CDD Complex Device Driver).

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 wichtige 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. 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.As stated in the prior art, it has hitherto been customary to update the software of an application 20.x all applications 20 to stop, then update and then restart. To ensure that certain functionalities that are particularly important for vehicle functions are still available during the flash process, there is a specially designed Flashbootloader 16 intended. This is also like the other applications 20 in electrically erasable memory 14 , The Flashbootloader 16 is now able to target specific applications 20.x or to update the associated software, associated data, etc., while preferably particularly important application 20.1 . 20.n , continue to be executed. These are now administrative data 33 in electrically erasable memory 14 arranged. This administrative data 33 put the Flashbootloader 16 in the location, the dependencies and the exact location in the store 14 of the applications to be executed 20 to recognize. For this purpose, for example, in the administrative data 33 Function pointer deposited on the executable applications 20 or software of the applications 20 demonstrate. For example, in the form of tables, these dependencies are known after creating the complete program and in the administrative data 33 displayed. These are preferably for each application 20 associated administrative data 33 on the electrically erasable memory 14 stored. This administrative data 33 are also for the basic software 26 and / or the operating system 28 and / or the driver 30 generated and in the electrically erasable memory 14 stored.

2 zeigt exemplarisch den Ablauf der Aktualisierung einer zu 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 beschriebene Funktionen wie beispielsweise das Löschen des Speichers (Schritt 111), 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. 2 shows an example of the process of updating an application to be updated 20.x , A master 23 for the flash process sends in one step 101 a corresponding command to change the session 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 flashbootloader 16 , if necessary as part of a reboot, step 103 , The Flashbootloader 16 receives the corresponding restart command of the application 20 , The Flashbootloader 16 reports in one step 105 his operational readiness to the master 23 back. Then a program sequence 106 executed. Part of this program sequence 106 is the communication of the flashbootloader 16 to another application 20.1 . 20.n to continue this, step 107 , This is done using the associated administrative data 33 in which the corresponding program sequences are stored as described. Carrying out the function of the application 20 through the flashbootloader 16 is carried out cyclically. In addition, certain functions described further below, such as the Clearing the memory (step 111 ), describe the memory (step 125 ) and further executed. During this time, the functions of the application must 20 through the flashbootloader 16 continue to run.

Gegebenenfalls erfolgt eine Rückmeldung der Applikation 20 an den Flashbootloader 16. Daraufhin sendet der Master 23 einen Lösch-Befehl an den Flashbootloader 16, Schritt 109. Daraufhin führt der Flashbootloader das Löschen der zu aktualisierenden Applikation 20.x oder Teile der Applikation 20.x aus, Schritt 111. Parallel hierzu wird Programmsequenz 113 weiterhin 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.If necessary, the application is acknowledged 20 to the flashbootloader 16 , The master then sends 23 a delete command to the flashbootloader 16 , Step 109 , The Flashbootloader then deletes the application to be updated 20.x or parts of the application 20.x out, step 111 , Parallel to this is program sequence 113 continue to execute, which the execution of the still running application 20.1 . 20.n as already in connection with program sequence 106 described includes with appropriate communication between the Flashbootloader 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. Weiterhin wird eine Programmsequenz 119 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. Der Flashbootloader 16 schreibt die übermittelten Daten für die zu 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 Applikationen 20 ausgeführt werden. Hierzu kommuniziert der Flashbootloader 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 Rückmeldung an den Master 23, Schritt 131. Daraufhin veranlasst der Master 23 eine Änderung des Betriebsmodus, beispielsweise in den Default-Modus, Schritt 133. Hierzu sendet der Master 23 einen entsprechenden Befehl an den 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.After successful deletion of the application to be updated 20.x gives the flashbootloader 16 a positive feedback to the master 23 back. Furthermore, a program sequence 119 running the desired application 20 continues, if necessary, under communication between the Flashbootloader 16 and the application 20 , Step 121 or using the appropriate administrative data 33 , Subsequently, the master transmits 23 the data to be saved to the Flashbootloader 16 , Step 123 , The Flashbootloader 16 writes the transmitted data for the application to be updated 20.x in the electrically erasable memory 14 , Step 125 , This will close the next program sequence 127 in which the transfer of the function to the application 20 takes place and continue the applications 20 be executed. For this the Flashbootloader communicates 16 with the application 20 , Step 129 , If necessary, the application receives a positive response 20 to the flashbootloader 16 , Upon receipt of the feedback, the flashbootloader returns 16 a corresponding positive feedback to the master 23 , Step 131 , The master then initiates 23 a change of the operating mode, for example in the default mode, step 133 , For this, the master sends 23 a corresponding command to the flashbootloader 16 , Step 133 , Then the flashbootloader sends 16 a corresponding command in step 135 to the applications 20 , the start of the applications 20 causes. The application then reports 20 a response signal to the master 23 back, step 137 , Furthermore, the application now leads 20 even the appropriate application software, step 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.At the master 23 For example, it may be a diagnostic tester used in the workshop. Alternatively, however, it could also be other control devices, for example, wirelessly with the control unit 10 Make contact.

Das Ausführungsbeispiel gemäß 3 verdeutlicht die bereits in Verbindung mit 2 erläuterten Schritte. Darüber hinaus zeigt 3 schematisch die verschiedenen Hardware- bzw. Software-Schichten. Eine entsprechende 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 Echtzeitumgebung 24 vorgesehen, auf der die Applikationen 20 in quasi Echtzeit betreiben werden können. Schematisch dargestellt sind weiterhin ein Betriebssystem 28 sowie der Treiber 30, über den 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. The embodiment according to 3 clarifies the already in connection with 2 explained steps. In addition, shows 3 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 about which the execution using the flashbootloaders 16 the applications 20.n . 20.1 takes place, if necessary via the driver 30 , It also has a real-time environment 24 provided on which the applications 20 can be operated in quasi real time. Schematically represented are still an operating system 28 as well as the driver 30 , via which alternative control options would be possible as back-up. The continuous arrows 35 symbolize which of the components shown are executed. How does the Flashbootloader 16 that on the one hand the basic software 26 is performed. In the basic software 26 not all shares must be executed. If necessary, could about the administrative data 33 If necessary, also be controlled that only a part or parts of the basic software 26 be executed.

Weiterhin wird auch die Applikation 20.1 und die Applikation 20.n ausgeführt. Dies erfolgt unter Rückgriff auf die in 1 angedeuteten Verwaltungsdaten 33, die den entsprechenden Ablauf der Ausführung der entsprechenden Programmteile dem Flashbootloader 16 zur Verfügung stellen. Im Ausführungsbeispiel gemäß 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 3 gezeigt über die gestrichelten Pfeile 37. Wie bereits in Verbindung mit 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 Ausführung der während der Aktualisierung zur Verfügung stehenden Applikationen 20.1, 20.n.Furthermore, the application will be 20.1 and the application 20.n executed. This is done using the in 1 indicated administrative data 33 that the appropriate flow of execution of the appropriate program parts the flashbootloader 16 provide. In the embodiment according to 3 should the application 20.x to be updated. During the update, however, the applications should 20.1 and 20.n continue to be executed. The update is in the picture below 3 shown by the dashed arrows 37 , As already in connection with 2 the update of the application is described 20.x and at least partially performing communication with the master 23 through the flashbootloader 16 , The Flashbootloader 16 continues to control the update of the application 20.x , The Flashbootloader 16 continues to execute the applications available during the update 20.1 . 20.n ,

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 4043 kann nicht zugegriffen werden (Code ausführen, Daten lesen), wenn währenddessen innerhalb dieser Partition 4043 eine Lösch- oder 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 4043 vorgenommen werden muss, um sicherzustellen, dass kein Code ausgeführt wird, der in einer der zu programmierende bzw. zu aktualisierenden Partitionen 4043 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. Applikationen 20 auf die einzelnen Partitionen 4043 ab. Softwareanteile bzw. Applikationen 20, die in gleichen Partitionen 4043 liegen, können nicht ausgeführt werden, während in dieser Partition eine Aktualisierung ausgeführt wird. Mit Blick auf 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. 4 shows by way of example the structure and the occupation of the electrically erasable memory 14 , In this example are four partitions 40 . 41 . 42 . 43 provided, several blocks 45 are in a partition. A block 45 is the smallest erasable unit of the electrically erasable memory 14 , On blocks 45 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 sensible division of the applications 20 with associated administration data 33 on the available partitions 40 - 43 must be made to ensure that no code is executed in any of the partitions to be programmed or updated 40 - 43 lies. Especially the interchangeability of individual software components or applications 20 while other applications 20 be executed depends on the distribution of the software components or applications 20 on the individual partitions 40 - 43 from. Software components or applications 20 that are in equal partitions 40 - 43 can not run while an update is running in this partition. With a view to 3 can thus update the application 20.x while simultaneously executing the other applications 20.1 . 20.n done as these in different partitions 40 . 41 are arranged.

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. Der Flashbootloader 16 könnte auch außerhalb des elektrisch löschbaren Speichers 14 angeordnet sein.Exemplary could be on the partitions 40 . 41 also two Flashbootloader 16 . 16.1 . 16.2 , preferably on different partitions. Alternative to the variant with two Flashbootloaders 16.1 . 16.2 However, it would be the provision of only a single Flashbootloaders 16 equally possible. The Flashbootloader 16 could also be outside the electrically erasable memory 14 be arranged.

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 Applikationen 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.The Flashbootloader 16 as described is able to meet the requirements regarding diagnostic communication or communication with the master 23 and / or the applications 20 to take over. As described, it is capable of starting a delete operation or writing data. He is still able to applications 20 to stop, the software to be replaced or the application 20 to replace (delete, write) and then start again. Furthermore, the Flashbootloader 16 capable of more applications 20.1 . 20.n perform. This is done as described under recourse to the respective administrative data 33 to the correct sequence or program parts of the applications 20 to use what otherwise might be due to the operating system 28 managed.

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 Diagnosetester beispielsweise in der Werkstatt oder aber auch drahtlos durch eine fernsteuernde Funktion aus der Ferne als Master 23 initiiert werden.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 while the software or other applications are being upgraded. This update could either via a diagnostic tester, for example in the workshop or even wirelessly by a remote control function remotely as the master 23 be initiated.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • WO 2005/004160 A2 [0002] WO 2005/004160 A2 [0002]

Claims (13)

Verfahren zum Aktualisieren von Software eines Steuergerätes (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; 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.Method for updating software of a control unit ( 10 ), in particular for motor vehicles, wherein the control device ( 10 ) at least one microcontroller ( 12 ) with at least one electrically erasable memory ( 14 ), wherein the microcontroller ( 12 ) different application ( 20 ; 20.1 . 20.n ), whereby at least one program ( 16 ), in particular a flash bootloader, for the at least partial erasure and writing of an electrically erasable memory ( 14 ), characterized in that the program ( 16 ) at least parts of an application ( 20 ; 20.1 . 20.n ) while the program ( 16 ) at least one application ( 20.x ) updated. 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 administrative data ( 33 ) for at least one application ( 20 ) to which the program ( 16 ) for executing at least one application ( 20 . 20.1 . 20.n ) accesses. 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 auszuführende Teile der Applikation (20) angeben.Method according to one of the preceding claims, characterized in that the administrative data ( 33 ) a layer 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 of at least parts of the application ( 20 ) specify. 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 administrative data ( 33 ) at least one function pointer is used, which is based on the application to be executed ( 20 ) or parts of the application ( 20 ) shows. 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 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.Method according to one of the preceding claims, characterized in that the program ( 16 ) with at least one master ( 23 ) with regard to updating at least one application ( 20.x ) communicates, 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 ) then at least parts of the application to be updated ( 20.x ) and / or that the program ( 16 ) of the master ( 23 ) updated data for the application to be updated ( 20.x ) and / or that the program ( 16 ) the received data into the electrically writable memory ( 14 ) writes, and / or that the program ( 16 ) at least one stopped application ( 20.x ) starts. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der elektrisch löschbare Speicher (14) mehrere Partitionen (4043) 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.Method according to one of the preceding claims, characterized in that the electrically erasable memory ( 14 ) several partitions ( 40 - 43 ), wherein at least the application to be updated ( 20.x ) on another partition ( 40 ) is stored as the partition ( 41 ), on which at least one further application ( 20.1 . 20.n ) lies. 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.Method according to one of the preceding claims, characterized in that the application to be updated ( 20 ) with at least one master ( 23 ), via which the update of the application to be updated ( 20 ) is initiated. 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.Method according to one of the preceding claims, characterized in that the program ( 16 ) of at least one application ( 20 ) receives a command, the program ( 16 ) to start. 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.Method according to 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 administrative data ( 33 ) in particular on the electrically erasable memory ( 14 ) are deposited. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm dazu eingerichtet ist ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen. Computer program, characterized in that the computer program is adapted to perform a method according to one of claims 1 to 9. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm dazu eingerichtet ist ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen. Computer program, characterized in that the computer program is adapted to perform a method according to one of claims 1 to 9. Elektrisches Speichermedium mit einem Computerprogramm nach Anspruch 11.Electric storage medium with a computer program according to claim 11. Steuergerät, welches dazu eingerichtet ist ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.Control device which is adapted to perform a method according to one of claims 1 to 9.
DE102016201769.1A 2016-01-20 2016-02-05 Method for updating software of a control unit, preferably for a motor vehicle Pending DE102016201769A1 (en)

Priority Applications (1)

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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102016200707 2016-01-20
DE102016200707.6 2016-01-20

Publications (1)

Publication Number Publication Date
DE102016201769A1 true DE102016201769A1 (en) 2017-07-20

Family

ID=59256157

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016201769.1A Pending DE102016201769A1 (en) 2016-01-20 2016-02-05 Method for updating software of a control unit, 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
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 upgrading method, apparatus, host computer, system and electronic equipment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279916B (en) * 2017-12-28 2021-12-07 宁德时代新能源科技股份有限公司 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

Citations (1)

* 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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332838B2 (en) * 2007-11-14 2012-12-11 Continental Automotive Systems, Inc. Systems and methods for updating device software
FR2971349B1 (en) * 2011-02-09 2015-12-04 Continental Automotive France METHOD FOR REPROGRAMMING A CALCULATOR, DATA STORAGE MEDIUM AND AUTOMOTIVE VEHICLE CALCULATOR

Patent Citations (1)

* 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

Cited By (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 upgrading method, apparatus, host computer, system and electronic equipment

Also Published As

Publication number Publication date
WO2017125181A1 (en) 2017-07-27

Similar Documents

Publication Publication Date Title
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
EP1861754A1 (en) Method and device for configuring a control device and corresponding control device
DE19964013A1 (en) Method and device for controlling operations in a vehicle
WO2000010060A2 (en) Method for applying the control data of an electronic vehicle control apparatus
DE102016201769A1 (en) Method for updating software of a control unit, preferably for a motor vehicle
EP3128383A1 (en) Field device
EP0997347A2 (en) Procedure and device for programming a vehicle control apparatus
EP1748360B1 (en) System and method for executing a parallelised software update
DE102016200711A1 (en) Method for updating software of a control unit, preferably for a motor vehicle
EP1698952B1 (en) Method and apparatus for inidvidual configuration parameter backup
DE112019000179T5 (en) VEHICLE CONTROL DEVICE AND PROGRAM UPDATE SYSTEM
EP2326959A1 (en) Method for activating functions of a tachograph
EP3353650A1 (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
DE112020001385T5 (en) Electronic control device and method for setting control data
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
EP2962162B1 (en) Method for setting up and/or implementing a programming process of a control device of a transport means
DE102022110251A1 (en) OTA MASTER, CENTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
EP3285162A1 (en) Method for projecting a project and arrangement for carrying out said method
DE102007059355A1 (en) Method for operating a control unit and control unit
DE102009047974B4 (en) Procedure for programming a control unit
DE102012218665B4 (en) Application system for control units
WO2017182210A1 (en) Method for programming control devices of a motor vehicle
EP1967920A1 (en) Softwareupdate method for FPGA-based automation systems
DE102022110824A1 (en) OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE

Legal Events

Date Code Title Description
R012 Request for examination validly filed