[go: up one dir, main page]

DE102016200711A1 - Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug - Google Patents

Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug 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
English (en)
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/de
Priority to PCT/EP2016/077996 priority patent/WO2017125182A1/de
Publication of DE102016200711A1 publication Critical patent/DE102016200711A1/de
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.

Description

  • Stand der Technik
  • 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.
  • 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.
  • 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.
  • 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.
  • Offenbarung der Erfindung
  • 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.
  • 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).
  • 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.
  • 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.
  • Weitere zweckmäßige Weiterbildungen ergeben sich aus weiteren abhängigen Ansprüchen und der Beschreibung.
  • Kurze Beschreibung der Zeichnungen
  • Nachfolgend wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf die begleitende Zeichnung im Detail beschrieben. Dabei zeigen:
  • 1 den schematischen Aufbau des Steuergeräts mit Flash-Applikation;
  • 2 ein Sequenzdiagramm der Flash-Applikation,
  • 3 Flashphasen mit Flash-Applikation sowie
  • 4 eine beispielhafte Partitionierung des elektrisch löschbaren Speichers.
  • Ausführungsform der Erfindung
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • 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.
  • Zitierte Patentliteratur
    • WO 2005/004160 A2 [0002]

Claims (11)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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).
  6. 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.
  7. 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.
  8. 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).
  9. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm dazu eingerichtet ist ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.
  10. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm dazu eingerichtet ist ein Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.
  11. 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.
DE102016200711.4A 2016-01-20 2016-01-20 Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug Pending DE102016200711A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102016200711.4A DE102016200711A1 (de) 2016-01-20 2016-01-20 Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug
PCT/EP2016/077996 WO2017125182A1 (de) 2016-01-20 2016-11-17 Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016200711.4A DE102016200711A1 (de) 2016-01-20 2016-01-20 Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug

Publications (1)

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

Family

ID=57354358

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016200711.4A Pending DE102016200711A1 (de) 2016-01-20 2016-01-20 Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug

Country Status (2)

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

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 (de) * 2019-03-18 2020-09-24 Inventio Ag Sicherheitsgerät für gebäudegebundene personenbeförderungsanlage

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018128183A1 (de) * 2018-11-12 2020-05-14 Bayerische Motoren Werke Aktiengesellschaft Steuergerät für eine Fahrzeugkomponente, Kit umfassend ein Steuergerät und eine Testereinrichtung, Fahrzeug, Verfahren zum Aktualisieren eines Steuergeräts und computerlesbares Speichermedium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004160A2 (de) 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat

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 (fr) * 2011-02-09 2015-12-04 Continental Automotive France Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004160A2 (de) 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat

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 (de) * 2019-03-18 2020-09-24 Inventio Ag Sicherheitsgerät für gebäudegebundene personenbeförderungsanlage
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 (de) 2017-07-27

Similar Documents

Publication Publication Date Title
DE10027006B4 (de) System zur Steuerung / Regelung der Betriebsabläufe bei einem Kraftfahrzeug und ein Verfahren zum Starten eines solchen Systems
EP3948468B1 (de) Steuergerät für ein fahrzeug und verfahren zum testen eines programmelements einer fahrzeugfunktion sowie kraftfahrzeug mit einem steuergerät
EP3128383B1 (de) Feldgerät
DE19964013A1 (de) Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug
DE102005013285B4 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
EP0997347B1 (de) Verfahren und System zur Umschaltung eines Steuergerätes, insbesondere eines Kraftfahrzeuges
DE102016212204A1 (de) Auto-aktualisierungseinheit für architektur für gemeinsam genutzten speicher
WO2017125181A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
DE102016200711A1 (de) Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug
EP2367084A1 (de) Verfahren für die Konfigurierung einer Steuerungseinrichtung einer industriellen Automatisierungsanordnung und Komponente für eine industrielle Automatisierungsanordnung
EP3353650B1 (de) System und verfahren zur verteilung und/oder aktualisierung von software in vernetzten steuereinrichtungen eines fahrzeugs
WO2017178211A1 (de) Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug
DE10234063B4 (de) Verfahren zum variantenspezifischen Programmieren eines Programm- und Datenspeichers eines Steuergeräts, insbesondere eines Steuergeräts eines Kraftfahrzeugs, sowie Vorrichtung zur Durchführung des Verfahrens
DE102018128183A1 (de) Steuergerät für eine Fahrzeugkomponente, Kit umfassend ein Steuergerät und eine Testereinrichtung, Fahrzeug, Verfahren zum Aktualisieren eines Steuergeräts und computerlesbares Speichermedium
EP3732608B1 (de) Verfahren zur rechnergestützten parametrierung eines technischen systems
EP1187011A2 (de) Verfahren zur Programmierung eines Steuergerätes
DE10039766B4 (de) Verfahren zum Steuern von Betriebsparametern eines Fahrzeugs
DE102007059355A1 (de) Verfahren zum Betreiben eines Steuergerätes und Steuergerät
DE102022128804A1 (de) Verfahren und System zum Aktualisieren einer Betriebssoftware von Teilkomponenten eines Kraftfahrzeugs
DE112022005984T5 (de) Aktualisierungsmanagementsystem
DE10007610A1 (de) Verfahren zur Programmierung eines Steuergerätes
DE102005009639A1 (de) Verfahren und Vorrichtung zum Sichern individueller Einstellungsdaten
EP3285162A1 (de) Verfahren zum projektieren eines projektes sowie anordnung zur durchführung des verfahrens
EP1967920A1 (de) Verfahren zur Durchführung von Softwareupdates in FPGA-basierte Automatisierungsgeräte
DE102012218665B4 (de) Applikationssystem für Steuergeräte

Legal Events

Date Code Title Description
R012 Request for examination validly filed