[go: up one dir, main page]

DE102016200711A1 - 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
DE102016200711A1
DE102016200711A1 DE102016200711.4A DE102016200711A DE102016200711A1 DE 102016200711 A1 DE102016200711 A1 DE 102016200711A1 DE 102016200711 A DE102016200711 A DE 102016200711A DE 102016200711 A1 DE102016200711 A1 DE 102016200711A1
Authority
DE
Germany
Prior art keywords
application
flash
updated
flash application
electrically erasable
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
DE102016200711.4A
Other languages
German (de)
Inventor
Thomas Wendel
Gunnar Piel
Michael Hauser
Uwe Heller
Markus Petri
Alexander Vensmer
Tom Schilli
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 DE102016200711.4A priority Critical patent/DE102016200711A1/en
Priority to PCT/EP2016/077996 priority patent/WO2017125182A1/en
Publication of DE102016200711A1 publication Critical patent/DE102016200711A1/en
Pending legal-status Critical Current

Links

Images

Classifications

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

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 Applikationen (20; 20.1, 20.n, 20.x), die in dem elektrisch löschbaren Speicher (14) abgelegt sind, ausführen kann, wobei zumindest eine Flash-Applikation (22) in dem elektrisch löschbaren Speicher (14) abgelegt ist, wobei die Flash-Applikation (22) zumindest eine zu aktualisierende Applikationen (20.x) aktualisiert und/oder ansteuert, während zumindest eine weitere Applikation (20.1) weiterhin ausgeführt wird.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 Applications (20, 20.1, 20.n, 20.x), which are stored in the electrically erasable memory (14) can perform, wherein at least one flash application (22) is stored in the electrically erasable memory (14), wherein the flash application (22) updates and / or controls at least one application (20.x) to be updated while at least one further application (20.1) continues to be executed.

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 nicht verfügbar, da die entsprechende Software 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 are not available because the corresponding software 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 einer speziellen Flash-Applikation gelöst, die die Kommunikation mit einem Master sicherstellt und weitere Applikationen steuert in der Weise, dass zumindest eine weitere Applikation, vorzugsweise für Basisfunktionen, die immer ausgeführt werden sollen, weiterhin stabil läuft. Es handelt sich um ein Verfahren, welches applikatives Flashen unterstützt (im weiteren Flash-Applikation genannt).This object is achieved according to the invention with the aid of a special flash application which ensures communication with a master and controls further applications in such a way that at least one further application, preferably for basic functions, which should always be executed, continues to run stably. It is a process that supports applicative flashing (called flash application in the following text).

Bevorzugt ist der elektrisch beschreibbare Speicher (Flash-Speicher) in Blöcke aufgeteilt. Ein Block ist die kleinste, löschbare Einheit. Mehrere Blöcke befinden sich in einer Partition und der gesamte Speicher besteht in der Regel aus mehreren Partitionen. Bei den beschriebenen Lösungen besteht das Problem, dass auf die Blöcke einer Partition nicht zugegriffen werden kann (Code ausführen, Daten lesen), während innerhalb dieser Partition eine Erase- bzw. Lösch-Operation oder eine Write bzw. Schreib-Operation ausgeführt wird. Das hat zur Folge, dass eine sinnvolle Aufteilung der Software- bzw. Applikations-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. The solutions described have 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 und einem Flashbootloader. Der Flashbootloader wird verwendet, um alle Teile der Software zu aktualisieren. Die Applikationssoftware enthält zusätzlich eine Flash-Applikation. Diese Flash-Applikation ist in der Lage, die Anforderungen bezüglich der Kommunikation beispielsweise mit einem Master, vorzugsweise über die Diagnosekommunikation, zu bearbeiten und beispielsweise eine Löschoperation zu starten oder Daten zu schreiben. Hierzu stoppt die Flash-Applikation die zu aktualisierende Applikation, ersetzt diese (löschen, schreiben) und startet sie, gegebenenfalls nach einer Initialisierung, anschließend wieder. Während dieses Vorgangs können andere Applikationsfunktionen weiter ausgeführt werden.As before, the basic software consists of an application software and a Flashbootloader. The Flashbootloader is used to update all parts of the software. The application software also includes a Flash application. This flash application is capable of processing the requirements with respect to the communication, for example with a master, preferably via the diagnostic communication and, for example, to start a deletion operation or to write data. For this purpose, the Flash application stops the application to be updated, replaces it (delete, write) and then starts it again, if necessary after an initialization. During this process, other application functions can continue to run.

Weitere zweckmäßige Weiterbildungen ergeben sich aus weiteren abhängigen Ansprüchen und der Beschreibung. 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 Flash-Applikation; 1 the schematic structure of the controller with flash application;

2 ein Sequenzdiagramm der Flash-Applikation, 2 a sequence diagram of the flash application,

3 Flashphasen mit Flash-Applikation sowie 3 Flash phases with flash application 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 abgelegt. Hierbei handelt es sich um Programme, die bestimmten Funktionen, die insbesondere mit einem Kraftfahrzeug verbunden sind, durchführen. Es handelt sich also um eine Vielzahl von Applikationen 20.1, 20.n, 20.x wie beispielsweise ein Programm für eine Zentralverriegelung, eine 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 19 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 sogenannter Flashbootloader 16 enthalten. Der Flashbootloader 16 dient dem Löschen und/oder neu Beschreiben von Software bestimmter Programme bzw. Applikationen 20 wie nachfolgend noch ausgeführt.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 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. With these components 19 For example, these are vehicle components that 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 so-called Flashbootloader 16 contain. The Flashbootloader 16 is used to delete and / or rewrite software of certain programs or applications 20 as explained below.

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 besonders wichtige Funktionalitäten auch während des Flashvorgangs weiterhin zur Verfügung stehen, ist eine Flash-Applikation 22 vorgesehen. Diese befindet sich ebenfalls wie die anderen Applikationen 20 im elektrisch löschbaren Speicher 14. Diese Flash-Applikation 22 ist nun in der Lage, gezielt bestimmte Applikationen 20.n, 20.x bzw. anzusteuern und/oder deren Software bzw. zugehörige Daten zu aktualisieren, während besonders wichtige Funktionalitäten, beispielhaft die Applikation 20.1, weiterhin ausgeführt werden. Die Applikation 20.1 wird also nicht durch die Flash-Applikation 22 gestoppt. Die Applikation 20.1 wird auch nicht neu überschrieben bzw. aktualisiert.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, especially those that are particularly important for vehicle functions, are still available during the flash process, is a Flash application 22 intended. This is also like the other applications 20 in electrically erasable memory 14 , This flash application 22 is now able to target specific applications 20.n . 20.x or to control and / or update their software or associated data, while particularly important functionalities, such as the application 20.1 , continue to be executed. The application 20.1 So it's not through the Flash application 22 stopped. The application 20.1 will not be overwritten or updated.

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 Programmierbefehl an die Flash-Applikation 22. Die Flash-Applikation 22 stoppt in einem Schritt 103 die zu aktualisierende Applikation 20.x. Außerdem wird/werden auch diejenige Applikation(en) 20.n gestoppt, die sich auf derselben Partition 40 des elektrisch löschbaren Speichers 14 befindet/befinden wie die zu aktualisierende Applikation 20.x. Nicht gestoppt wird jedoch die Applikation 20.1, da es sich hier um eine wichtige Applikation handelt, die weiterhin ausgeführt werden soll. Diese Applikation 20.1 befindet sich auch nicht auf derselben Partition 40 wie die zu aktualisierende Applikation 20.x. Der Stoppbefehl (Schritt 103) entspricht dem durchgängigen Pfeil 34 in 3. Nach einer entsprechenden Rückmeldung der zu aktualisierenden Applikation 20.x an die Flash-Applikation 22 meldet die Flash-Applikation 22 eine entsprechende Antwort an den Master 23 in Schritt 107. Daraufhin sendet der Master 23 einen Löschbefehl an die Flash-Applikation 22 in einem Schritt 109. Daraufhin werden entsprechende Blöcke in dem elektrisch löschbaren Speicher 14, die der zu aktualisierenden Applikation 20.x zugeordnet sind, gelöscht. Das Löschen erfolgt durch die Flash-Applikation 22. Nach erfolgreichem Abschluss des Löschens sendet die Flash-Applikation 22 eine entsprechende Antwort an den Master 23, Schritt 113. Der Master 23 überträgt darauf hin aktualisierte Daten bzw. Software an die Flash-Applikation 22, Schritt 114. Die Flash-Applikation 22 beschreibt bzw. veranlasst die Überschreibung der zu aktualisierenden Blöcke der zugehörigen Applikation 20.x mit den vom Master 23 übermittelten Daten, Schritt 116. Nach erfolgtem Überschreiben der Daten gibt die Flash-Applikation 22 eine positive Rückmeldung an den Master 23, Schritt 118. Löschen und Überschreiben gemäß den Schritten 111, 116 entspricht dem strich-punktiertem Pfeil 36 in 3. Daraufhin sendet der Master 23 einen Befehl an die Flash-Applikation 22, in einen Default-Modus zu wechseln, Schritt 120. der Default-Modus veranlasst die Flash-Applikation 22, einen Initialisierungsbefehl an die aktualisierte Applikation 20.x, Schritt 122 zu senden. Nach erfolgter Initialisierung gibt die aktualisierte Applikation 20.x eine entsprechende Rückmeldung an die Flash-Applikation 22, Schritt 124. Daraufhin sendet die Flash-Applikation 22 einen entsprechenden Startbefehl an die gestoppten Applikationen 20.x, 20.n, Schritt 128. Dieser Startbefehl entspricht dem gestrichelten Pfeil 38 in 3. Nach erfolgtem Start geben die gestarteten Applikationen 20.x, 20.n eine entsprechende Rückmeldung an die Flash-Applikation 22, Schritt 128. Die Flash-Applikation 22 gibt diese positive Rückmeldung weiter an den Master 23. Der Aktualisierungsvorgang für die Applikation 20.x ist damit abgeschlossen. Während der Aktualisierung jedoch wurde beispielsweise die Basis-Applikation 20.1 nicht gestoppt, sondern weiterhin ausgeführt. 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 programming command to the flash application 22 , The Flash application 22 stops in one step 103 the application to be updated 20.x , In addition, the application (s) will / will 20.n stopped, located on the same partition 40 the electrically erasable memory 14 are located as the application to be updated 20.x , However, the application is not stopped 20.1 because this is an important application that should continue to run. This application 20.1 is also not on the same partition 40 as the application to be updated 20.x , The stop command (step 103 ) corresponds to the continuous arrow 34 in 3 , After a corresponding confirmation of the application to be updated 20.x to the flash application 22 reports the flash application 22 a corresponding answer to the master 23 in step 107 , The master then sends 23 a delete command to the flash application 22 in one step 109 , Thereafter, corresponding blocks in the electrically erasable memory 14 , the application to be updated 20.x are assigned, deleted. The deletion is done by the flash application 22 , After successful completion of the deletion, the flash application sends 22 a corresponding answer to the master 23 , Step 113 , The master 23 then transfers updated data or software to the Flash application 22 , Step 114 , The Flash application 22 describes or causes the overwriting of the blocks to be updated of the associated application 20.x with the ones from the master 23 transmitted data, step 116 , After the data has been overwritten, the Flash application is available 22 a positive feedback to the master 23 , Step 118 , Delete and overwrite according to the steps 111 . 116 corresponds to the dash-dotted arrow 36 in 3 , The master then sends 23 a command to the flash application 22 to switch to a default mode, step 120 , the default mode initiates the flash application 22 , an initialization command to the updated application 20.x , Step 122 to send. After initialization gives the updated application 20.x a corresponding feedback to the flash application 22 , Step 124 , The Flash application then sends 22 a corresponding one Start command to the stopped applications 20.x . 20.n , Step 128 , This start command corresponds to the dashed arrow 38 in 3 , After a successful start, the applications started 20 .x, 20 .n a corresponding feedback to the Flash application 22 , Step 128 , The Flash application 22 passes this positive feedback to the master 23 , The update process for the application 20.x is finished. During the upgrade, however, for example, became the base application 20.1 not stopped, but continue running.

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 der Kontakt zwischen der Flash-Applikation 22 und den zu beeinflussenden Applikationen 20.n, 20.x stattfindet. Außerdem ist eine Echtzeitumgebung 24 vorgesehen, auf der die Applikationen 20 in quasi Echtzeit betreiben werden können. Schematisch dargestellt sind weiterhin ein Betriebssystem 28 sowie einen Treiber 30, über den alternative Ansteuerungsmöglichkeiten als Back-up möglich wären.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 contact between the flash application 22 and the applications to be influenced 20.n . 20.x takes place. 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 a driver 30 , via which alternative control options would be possible as back-up.

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öschoder Schreib-Operation ausgeführt wird. Dies hat zur Folge, dass eine sinnvolle Aufteilung der Applikationen 20 auf die verfügbaren Partitionen 4043 vorgenommen werden muss, um sicherzustellen, dass kein Code ausgeführt wird, der in einer der zu programmierenden bzw. zu aktualisierenden Partitionen 4043 liegt. Gemäß 4 befindet sich nun die Flash-Applikation 22 zusammen mit einer sogenannten Basisapplikation 20.1, die auch bei einer Aktualisierung einer zu aktualisierenden Applikation 20.x ausgeführt werden soll, auf der ersten Partition 41. Weitere Applikationen 20.n, wie auch eine zu aktualisierende Applikation 20.x liegen hingegen auf einer anderen Partition, beispielsweise der der nullten Partition 40. 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 distribution of applications 20 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. According to 4 is now the flash application 22 together with a so-called basic application 20.1 also when updating an application to be updated 20.x to be executed on the first partition 41 , Other applications 20.n , as well as an application to be updated 20.x on the other hand lie on another partition, for example the zeroth partition 40 ,

Auch die Basissoftware 26 könnte in der ersten Partition 41 abgelegt sein. Beispielhaft könnten auf den Partitionen 40, 41 auch zwei Flashbootloader 16, 16.1, 16.2, vorzugsweise auf unterschiedlichen Partitionen, liegen. Beim Betrieb dieser Flashbootloader 16 müssten jedoch sämtliche Applikationen 20 im elektrisch löschbaren Speicher 14 geschlossen werden, als auch die Basisapplikation 20.1 und die Basissoftware 26 und/oder das Betriebssystem 28. Bei einem Flash-Vorgang unter Rückgriff auf den Flashbootloader 16 würde eine Durchführung des entsprechenden Flash-Programms im RAM vorgenommen werden. Insbesondere eine Aktualisierung der Flash-Applikation 22 und/oder der Basisapplikation 20.1 ist weiterhin über den Flashbootloader 16 in bekannter Weise vorzunehmen. Hierzu würden jedoch alle Applikationen 20, also auch die Basisapplikation 20.1 bzw. alle Programme, die auf den Partitionen 4043 abgelegt sind, geschlossen. Gleiches gilt auch für die Basissoftware 26 bzw. das Betriebssystem 28. Alternativ zur beispielhaft gezeigten Variante gemäß 4 mit zwei Flashbootloader 16.1, 16.2 wäre jedoch das Vorsehen lediglich eines einzigen Flashbootloaders 16 gleichermaßen möglich.Also the basic software 26 could be in the first partition 41 be filed. Exemplary could be on the partitions 40 . 41 also two Flashbootloader 16 . 16.1 . 16.2 , preferably on different partitions. When operating this flashbootloader 16 However, all applications would have to 20 in electrically erasable memory 14 closed, as well as the basic application 20.1 and the basic software 26 and / or the operating system 28 , In a Flash operation using the Flashbootloader 16 an implementation of the corresponding flash program in RAM would be made. In particular, an update of the Flash application 22 and / or the base application 20.1 is still over the Flashbootloader 16 make in a known manner. However, all applications would do this 20 So also the basic application 20.1 or all programs on the partitions 40 - 43 are stored, closed. The same applies to the basic software 26 or the operating system 28 , Alternatively to the variant shown by way of example according to FIG 4 with two Flashbootloader 16.1 . 16.2 However, it would be the provision of only a single Flashbootloaders 16 equally possible.

Die Flash-Applikation 22 ist wie beschrieben in der Lage, die Anforderungen betreffend Diagnosekommunikation bzw. Kommunikation mit dem Master 23 und/oder den Applikationen 20 zu übernehmen. Sie ist wie beschrieben in der Lage, eine Löschoperation zu starten und/oder Daten zu schreiben. Sie ist weiterhin in der Lage, Applikationen 20 zu stoppen, den zu ersetzenden Softwareanteil bzw. die Applikation 20 zu ersetzen (löschen, schreiben) und anschließend wieder zu starten. Während dieses Vorgangs können andere, wichtige Applikationen 20.1 weiter ausgeführt werden.The Flash application 22 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 and / or writing data. She 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. During this process, other important applications 20.1 continue to run.

Beispielsweise im Rahmen einer Diagnose-Verbindung mit dem Steuergerät 10 kann initiiert werden, bestimmte Daten zu aktualisieren. Die Identifizierung der zu aktualisierenden Daten erfolgt beispielsweise über einen Identifier. Nach dem bereits beschriebenen Vorgehen erfolgt das Stoppen aller Applikationen 20.n, die auf derselben Partition 40 wie die zu aktualisierende Applikation 20.x liegen. Die Basis-Applikation 20.1 jedoch wird weiterhin ausgeführt. Anschließend werden die sogenannten Flash-Daten über die bereits beschriebene interaktive Vorgehensweise zwischen Master 23 und Flash-Applikation 22 heruntergeladen. Anschließend werden die aktualisierten Applikationen 20.x initialisiert. Anschließend werden alle gestoppten Applikationen 20.x, 20.n wieder gestartet. Die Kommunikation der Flash-Applikation 22 mit den weiteren Applikationen 20 erfolgt unter Verwendung des Betriebssystems 28 und/oder der Basissoftware 26 und/oder der Echtzeitumgebung 24. Damit ist es zweckmäßig, dass auch diese auf derselben Partition 41 liegen wie die Flash-Applikation 22.For example, in the context of a diagnostic connection with the control unit 10 can be initiated to update certain data. The identification of the data to be updated takes place, for example, via an identifier. Following the procedure described above, all applications are stopped 20.n that are on the same partition 40 as the application to be updated 20.x lie. The basic application 20.1 however, it will continue to run. Subsequently, the so-called flash data on the already described interactive approach between master 23 and Flash application 22 downloaded. Subsequently, the updated applications 20.x initialized. Subsequently, all stopped applications 20.x . 20.n started again. The communication of the Flash application 22 with the other applications 20 is done using the operating system 28 and / or the basic software 26 and / or the real-time environment 24 , Thus, it is appropriate that these too on the same partition 41 lie like the Flash application 22 ,

Weiter kann es erforderlich sein, dem Betriebssystem 28 weitere Betriebszustände hinzuzufügen, beispielsweise einen sogenannten Default-Modus und/oder einen Flash-Modus. In Abhängigkeit des Modus wird das Scheduling beeinflusst und die jeweilige Applikation 20 gestartet oder gestoppt. Außerdem werden alle Applikationen 20 aus der zu aktualisierenden Flash-Partition 40 während des Flash-Vorgangs nicht ausgeführt. Außerdem muss jede Applikation 20 zumindest einem einfachen Interface genügen, worüber es von der Flash-Applikation 22 angesteuert wird. Diese Befehle sind Initialisierung bzw. Aktivierung 36 und/oder Starten 38 und/oder Stoppen 34 (vergleiche die Schritte 103 – Stopp, Schritt 122 – Initialisierung, Schritt 126 – Start). Next it may be necessary to the operating system 28 add further operating states, for example, a so-called default mode and / or a flash mode. Depending on the mode, the scheduling is influenced and the respective application 20 started or stopped. In addition, all applications 20 from the flash partition to be updated 40 not executed during the flash process. In addition, every application needs 20 at least a simple interface, what about the Flash application 22 is controlled. These commands are initialization or activation 36 and / or starting 38 and / or stopping 34 (compare the steps 103 - Stop, step 122 - Initialization, step 126 - Begin).

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 (11)

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 Applikationen (20; 20.1, 20.n, 20.x), die in dem elektrisch löschbaren Speicher (14) abgelegt sind, ausführen kann, dadurch gekennzeichnet, dass zumindest eine Flash-Applikation (22) in dem elektrisch löschbaren Speicher (14) abgelegt ist, wobei die Flash-Applikation (22) zumindest eine zu aktualisierende Applikationen (20.x) aktualisiert und/oder ansteuert, während zumindest eine weitere Applikation (20.1) weiterhin ausgeführt wird.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 applications ( 20 ; 20.1 . 20.n . 20.x ) stored in the electrically erasable memory ( 14 ) are executed, characterized in that at least one flash application ( 22 ) in the electrically erasable memory ( 14 ), whereby the flash application ( 22 ) at least one application to be updated ( 20.x ) and / or controls, while at least one further application ( 20.1 ) continues to be executed. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der elektrisch löschbare Speicher (14) mehrere Partitionen (4043) umfasst, wobei zumindest die zu aktualisierende Applikation (20.x) auf einer anderen Partition (40) abgelegt ist als die Partition (41), auf der die Flash-Applikation (22) abgelegt ist und/oder die weiterhin auszuführende Applikation (20.1) abgelegt ist. Method according to Claim 1, characterized in that the electrically erasable memory ( 14 ) 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 the Flash application ( 22 ) and / or the application still to be executed ( 20.1 ) is stored. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22) mit zumindest einem Master (23) kommuniziert, über den die Aktualisierung der zu aktualisierenden Applikation (20.x) initiiert wird.Method according to one of the preceding claims, characterized in that the flash application ( 22 ) with at least one master ( 23 ), via which the update of the application to be updated ( 20.x ) is initiated. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22) zumindest eine Applikation (20), vorzugsweise die zu aktualisierende Applikation (20.x) und/oder die Applikation (20.n), die auf derselben Partition (40) liegt wie die zu aktualisierende Applikation (20.x), stoppt und/oder ersetzt, vorzugsweise zumindest teilweise löscht und beschreibt und/oder startet.Method according to one of the preceding claims, characterized in that the flash application ( 22 ) at least one application ( 20 ), preferably the application to be updated ( 20.x ) and / or the application ( 20.n ) on the same partition ( 40 ) is like the application to be updated ( 20.x ), stops and / or replaces, preferably at least partially clears and describes and / or starts. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest ein Programm vorgesehen ist, insbesondere ein Flashbootloader (16), zum Aktualisieren der Flash-Applikation (22) und/oder zum Aktualisieren zumindest einer Applikation (20.1), die auf derselben Partition (41) liegt wie die Flash-Applikation (22). Method according to one of the preceding claims, characterized in that at least one program is provided, in particular a Flashbootloader ( 16 ), to update the Flash application ( 22 ) and / or for updating at least one application ( 20.1 ) on the same partition ( 41 ) is like the Flash application ( 22 ). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22), insbesondere unter Verwendung einer Basissoftware (26) und/oder einer Echtzeitumgebung (24) zumindest eine Applikation (20; 20.1, 20.n, 20.x) stoppt, anschließend die zu aktualisierende Applikation (20.x) aktualisiert und/oder anschließend zumindest eine Applikation (20; 20.1, 20.n, 20.x) initialisiert und/oder anschließend zumindest eine Applikation (20; 20.1, 20.n, 20.x) startet.Method according to one of the preceding claims, characterized in that the flash application ( 22 ), in particular using a basic software ( 26 ) and / or a real-time environment ( 24 ) at least one application ( 20 ; 20.1 . 20.n . 20.x ), then the application to be updated ( 20.x ) and / or at least one application ( 20 ; 20.1 . 20.n . 20.x ) and / or at least one application ( 20 ; 20.1 . 20.n . 20.x ) starts. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22) zumindest eine Applikation (20.n) stoppt, die in derselben Partition (40) liegt wie die zu aktualisierende Applikation (20.x). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest die Basissoftware (26) in dem elektrisch löschbaren Speicher (14) gespeichert wird, insbesondere in derselben Partition (41), in der auch die Flash-Applikation (22) abgelegt ist.Method according to one of the preceding claims, characterized in that the flash application ( 22 ) at least one application ( 20.n ) stops in the same partition ( 40 ) is like the application to be updated ( 20.x ). Method according to one of the preceding claims, characterized in that at least the basic software ( 26 ) in the electrically erasable memory ( 14 ), especially in the same partition ( 41 ), in which the Flash application ( 22 ) is stored. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Flash-Applikation (22) mit zumindest einem Master (23) bezüglich einer Aktualisierung zumindest einer Applikation (20.x) kommuniziert, und/oder dass die Flash-Applikation (22) zumindest die zu aktualisierende Applikation (20.x) stoppt, und/oder dass die Flash-Applikation (22) zumindest einen Lösch-Befehl (109) empfängt, und/oder dass die Flash-Applikation (22) daraufhin zumindest Teile der zu aktualisierenden Applikation (20.x) löscht, und/oder dass die Flash-Applikation (22) von dem Master (23) aktualisierte Daten für die zu aktualisierende Applikation (20.x) empfängt, und/oder dass die Flash-Applikation (22) die empfangenen Daten in den elektrisch beschreibbaren Speicher (14) schreibt, und/oder dass die Flash-Applikation (22) die nun aktualisierte Applikation (20.x) initialisiert (122) und/oder dass die Flash-Applikation (22) zumindest eine gestoppte Applikation (20.x, 20.n) startet (126).Method according to one of the preceding claims, characterized in that the flash application ( 22 ) with at least one master ( 23 ) with regard to updating at least one application ( 20.x ) and / or that the Flash application ( 22 ) at least the application to be updated ( 20.x ) stops, and / or that the Flash application ( 22 ) at least one delete command ( 109 ), and / or that the Flash application ( 22 ) then at least parts of the application to be updated ( 20.x ) and / or that the Flash application ( 22 ) of the master ( 23 ) updated data for the application to be updated ( 20.x ), and / or that the Flash application ( 22 ) the received data into the electrically writable memory ( 14 ) writes, and / or that the Flash application ( 22 ) the now updated application ( 20.x ) initializes ( 122 ) and / or that the flash application ( 22 ) at least one stopped application ( 20.x . 20.n ) starts ( 126 ). 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. Steuergerät, welches dazu eingerichtet ist ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.Electrical storage medium with a computer program according to claim 11. Control device which is set up to carry out a method according to one of claims 1 to 9.
DE102016200711.4A 2016-01-20 2016-01-20 Method for updating software of a control unit, preferably for a motor vehicle Pending DE102016200711A1 (en)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=57354358

Family Applications (1)

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

Country Status (2)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496398B2 (en) 2017-07-25 2019-12-03 Aurora Labs Ltd. Hot updates to ECU software using tool chain
WO2020187554A1 (en) * 2019-03-18 2020-09-24 Inventio Ag Security device for building-related passenger conveyor system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018128183A1 (en) * 2018-11-12 2020-05-14 Bayerische Motoren Werke Aktiengesellschaft Control device for a vehicle component, kit comprising a control device and a tester device, vehicle, method for updating a control device and computer-readable 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 (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496398B2 (en) 2017-07-25 2019-12-03 Aurora Labs Ltd. Hot updates to ECU software using tool chain
US10642679B2 (en) 2017-07-25 2020-05-05 Aurora Labs Ltd. Hot updates to controller software using tool chain
US11029946B2 (en) 2017-07-25 2021-06-08 Aurora Labs Ltd. Hot updates to controller software using tool chain
US11194570B2 (en) 2017-07-25 2021-12-07 Aurora Labs Ltd. Hot updates to controller software using tool chain
US11455165B2 (en) 2017-07-25 2022-09-27 Aurora Labs Ltd. Hot updates to controller software using tool chain
US11650808B2 (en) 2017-07-25 2023-05-16 Aurora Labs Ltd. Hot updates to controller software using tool chain
WO2020187554A1 (en) * 2019-03-18 2020-09-24 Inventio Ag Security device for building-related passenger conveyor system
AU2020242588B2 (en) * 2019-03-18 2023-07-06 Inventio Ag Safety device for building-related passenger conveyor system
AU2020242588C1 (en) * 2019-03-18 2025-01-30 Inventio Ag Safety device for building-related passenger conveyor system
US12434942B2 (en) 2019-03-18 2025-10-07 Inventio Ag Security device for building-related passenger conveyor system

Also Published As

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

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
EP3948468B1 (en) Controller for a vehicle, method for testing a program element of a vehicle function, and motor vehicle comprising a controller
EP3128383B1 (en) Field device
DE19964013A1 (en) Method and device for controlling operations in a vehicle
DE102005013285B4 (en) Method of configuring a controller and controller
EP0997347B1 (en) Procedure and system for mode switching of a vehicle control apparatus
DE102016212204A1 (en) AUTO UPDATE UNIT FOR ARCHITECTURE FOR COMMONLY USED STORE
WO2017125181A1 (en) Method for updating control device software, preferably for a motor vehicle
DE102016200711A1 (en) Method for updating software of a control unit, 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
EP3353650B1 (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
DE10234063B4 (en) Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, and device for carrying out the method
DE102018128183A1 (en) Control device for a vehicle component, kit comprising a control device and a tester device, vehicle, method for updating a control device and computer-readable storage medium
EP3732608B1 (en) Method for the computer-aided parameterisation of a technical system
EP1187011A2 (en) Method for programming a control device
DE10039766B4 (en) Method for controlling operating parameters of a vehicle
DE102007059355A1 (en) Method for operating a control unit and control unit
DE102022128804A1 (en) Method and system for updating operating software of subcomponents of a motor vehicle
DE112022005984T5 (en) UPDATE MANAGEMENT SYSTEM
DE10007610A1 (en) Programming method of vehicle controller, involves transmitting programs to specific controller through bus after functionally disconnecting other controllers from bus by turning-off ignition switch
DE102005009639A1 (en) Method and device for saving individual settings data
EP3285162A1 (en) Method for projecting a project and arrangement for carrying out said method
EP1967920A1 (en) Softwareupdate method for FPGA-based automation systems
DE102012218665B4 (en) Application system for control units

Legal Events

Date Code Title Description
R012 Request for examination validly filed