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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates 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
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:
Ausführungsform der ErfindungEmbodiment of the invention
Ein Steuergerät
Wie bereits im Stand der Technik ausgeführt war es bislang üblich, bei einer Aktualisierung der Software einer Applikation
Bei dem Master
Das Ausführungsbeispiel gemäß
Auch die Basissoftware
Die Flash-Applikation
Beispielsweise im Rahmen einer Diagnose-Verbindung mit dem Steuergerät
Weiter kann es erforderlich sein, dem Betriebssystem
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
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)
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)
| 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)
| 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)
| 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)
| 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 |
-
2016
- 2016-01-20 DE DE102016200711.4A patent/DE102016200711A1/en active Pending
- 2016-11-17 WO PCT/EP2016/077996 patent/WO2017125182A1/en not_active Ceased
Patent Citations (1)
| 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)
| 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 |