DE102016201769A1 - Method for updating software of a control unit, preferably for a motor vehicle - Google Patents
Method for updating software of a control unit, preferably for a motor vehicle Download PDFInfo
- Publication number
- DE102016201769A1 DE102016201769A1 DE102016201769.1A DE102016201769A DE102016201769A1 DE 102016201769 A1 DE102016201769 A1 DE 102016201769A1 DE 102016201769 A DE102016201769 A DE 102016201769A DE 102016201769 A1 DE102016201769 A1 DE 102016201769A1
- Authority
- DE
- Germany
- Prior art keywords
- application
- program
- updated
- electrically erasable
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Die vorliegende Erfindung betrifft ein Verfahren zum Aktualisieren von Software eines Steuergerätes (10), insbesondere für Kraftfahrzeuge, wobei das Steuergerät (10) zumindest einen Mikrocontroller (12) mit zumindest einem elektrisch löschbaren Speicher (14) umfasst, wobei der Mikrocontroller (12) unterschiedliche Anwendung (20; 20.1, 20.n) ausführen kann, wobei zumindest ein Programm (16), insbesondere ein Flashbootloader, zum zumindest teilweisen Löschen und Beschreiben eines elektrisch löschbaren Speichers (14) vorgesehen ist, wobei das Programm (16) zumindest Teile einer Anwendung (20; 20.1, 20.n) ausführt, während das Programm (16) zumindest eine Applikation (20.x) aktualisiert.The present invention relates to a method for updating software of a control unit (10), in particular for motor vehicles, wherein the control unit (10) comprises at least one microcontroller (12) with at least one electrically erasable memory (14), the microcontroller (12) having different At least one program (16), in particular a flash bootloader, is provided for at least partially erasing and writing to an electrically erasable memory (14), wherein the program (16) comprises at least parts of one Application (20; 20.1, 20.n) while the program (16) is updating at least one application (20.x).
Description
Stand der TechnikState of the art
Die vorliegende Erfindung betrifft ein Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug, nach der Gattung des unabhängigen Anspruchs.The present invention relates to a method for updating software of a control device, preferably for a motor vehicle, according to the preamble of the independent claim.
Ein gattungsgemäßes Verfahren ist beispielsweise aus der
Elektronische Steuergeräte (ECUs) im Automobil verfügen häufig über eine Möglichkeit, die Software des Steuergerätes oder Teile dieser Software zu aktualisieren. Bei modernen Mikrocontrollern (μC) geschieht dies in der Regel durch das Löschen und neu Beschreiben eines elektrisch löschbaren Speichers (Flash-Memory). Dieses sogenannte Flashen wird in der Regel durch eine spezielle Software ausgeführt, welche als Flashloader oder Flashbootloader (FBL) bezeichnet wird. Viele Automobilhersteller definieren einen Updateprozess, der genau beschreibt, in welcher Reihenfolge verschiedene Diagnosefunktionen auszuführen sind, um ein Software-Update durchzuführen. Für die Diagnosekommunikation wird ein bestimmtes Diagnoseprotokoll verwendet. Zur Reprogrammierung der Software findet ein Wechsel in den sogenannten Programmier-Modus statt. Dieser Modus-Wechsel beinhaltet, dass die Applikationssoftware beendet wird und auf dem Mikrocontroller nur noch der Flashbootloader ausgeführt wird. Dieser wiederum wird mit Hilfe der Diagnosekommunikation dazu verwendet, um beispielsweise ein Löschen des Speichers durchzuführen und neue Software zu übertragen und zu flashen. Während der Flashbootloader ausgeführt wird, sind komplexe Steuergerätefunktionen bzw. Applikationen nicht verfügbar, da die entsprechende Software bzw. Applikation nicht ausgeführt wird.Automated electronic control units (ECUs) in automobiles often have the ability to update the software of the ECU or parts of this software. In modern microcontrollers (.mu.C), this is usually done by erasing and rewriting an electrically erasable memory (flash memory). This so-called flashing is usually done by a special software called flashloader or flashbootloader (FBL). Many car manufacturers define an update process that accurately describes in which order different diagnostic functions are to be performed to perform a software update. Diagnostic communication uses a specific diagnostic protocol. For reprogramming the software, a change to the so-called programming mode takes place. This mode change entails that the application software is terminated and only the flash bootloader is executed on the microcontroller. This, in turn, is used by means of diagnostic communication to, for example, perform a clearing of the memory and to transmit and flash new software. While the Flashbootloader is running, complex ECU functions or applications are not available because the corresponding software or application is not running.
Während des Flashvorgangs können, selbst wenn nur Teile der Software aktualisiert werden, keine weiteren Applikationsfunktionen ausgeführt werden, da der Flashbootloader hierzu nicht in der Lage ist. Bedingt durch die Verteilung von Softwarefunktionen auf verschiedene Steuergeräte und die Anforderung, Software-Teile nicht nur in der Werkstatt, sondern auch über Funkverbindungen über Entfernungen hinweg aktualisieren zu können, besteht der Wunsch, Software-Teile ersetzen zu können, ohne während der Zeit der Aktualisierung auf andere Applikationen zu verzichten.During the flash process, even if only parts of the software are updated, no additional application functions can be executed because the flashbootloader is unable to do so. Due to the distribution of software functions to different ECUs and the requirement to update software parts not only in the workshop but also over radio links over distances, there is a desire to be able to replace software parts without during the time of the update to dispense with other applications.
Offenbarung der ErfindungDisclosure of the invention
Das erfindungsgemäße Verfahren gemäß den Merkmalen des unabhängigen Anspruchs hat demgegenüber den Vorteil, dass beispielsweise während einem Update einer Klimaanlagenfunktion zumindest eine wichtige Fahrzeugfunktion wie beispielsweise die Funktion der Zentralverriegelung oder Klemmensteuerung aufrechterhalten werden kann. Außerdem müssen hierbei Speicher nicht redundant vorgehalten werden. The inventive method according to the features of the independent claim has the advantage that, for example, during an update of an air conditioning function at least one important vehicle function such as the function of central locking or terminal control can be maintained. In addition, memory does not have to be stored redundantly.
Diese Aufgabe wird erfindungsgemäß mit Hilfe eines speziellen Programms, eines sogenannten Flashbootloaders gelöst, welcher in der Lage ist, Softwareanteile einer Applikation auszuführen bzw. eine entsprechende Applikation auszuführen, während er andere Applikationen aktualisiert. Es handelt sich also um einen Flashbootloader mit der Fähigkeit, Applikationssoftware auszuführen.This object is achieved according to the invention with the aid of a special program, a so-called flash bootloader, which is able to execute software components of an application or to execute a corresponding application while updating other applications. So it's a flashbootloader with the ability to run application software.
Bevorzugt ist der elektrisch beschreibbare Speicher (Flash-Speicher) in Blöcke aufgeteilt. Ein Block ist die kleinste, löschbare Einheit. Mehrere Blöcke befinden sich in einer Partition und der gesamte Speicher besteht in der Regel aus mehreren Partitionen. Bei der beschriebenen Lösungen besteht das Problem, dass auf die Blöcke einer Partition nicht zugegriffen werden kann (Code ausführen, Daten lesen), während innerhalb dieser Partition eine Erase- bzw. Lösch-Operation oder eine Write bzw. Schreib-Operation ausgeführt wird. Das hat zur Folge, dass eine sinnvolle Aufteilung der Software- bzw. Applikations-Funktionen auf die verfügbaren Flash-Partitionen vorgenommen werden muss, um sicherzustellen, dass kein Code ausgeführt wird, der in einer der zu programmierenden Partitionen liegt.Preferably, the electrically writable memory (flash memory) is divided into blocks. A block is the smallest, erasable unit. Multiple blocks are in one partition, and all memory is typically multiple partitions. In the solutions described, there is the problem that the blocks of a partition can not be accessed (execute code, read data), while within this partition an erase operation or a write operation is executed. This has the consequence that a sensible division of the software or application functions must be made to the available flash partitions to ensure that no code is executed, which is located in one of the partitions to be programmed.
Die grundsätzliche Software besteht wie bisher aus einer Applikations-Software bzw. Applikation und einem Flashbootloader. Der Flashbootloader wird verwendet, um alle Teile der Software auf einmal zu aktualisieren. Zusätzlich ist der Flashbootloader in der Lage, Teile der Applikationssoftware auszutauschen und währenddessen andere Teile der Applikation(en) auszuführen. Hierzu muss der Flashbootloader die Abhängigkeiten und die genaue Lage im Speicher der auszuführenden Applikationen kennen. Möglich wird dies beispielsweise durch Verwaltungsdaten im Speicher, in denen beispielsweise Funktionspointer hinterlegt sind, die auf die auszuführenden Applikationen zeigen. Bei der Erstellung dieser Verwaltungsdaten (beispielsweise während des sogenannten Build-Vorgangs) müssen alle Abhängigkeiten bekannt sein, damit alle notwendigen Funktionen Teil der Verwaltungsdaten sind.As before, the basic software consists of an application software or application and a Flashbootloader. The Flashbootloader is used to update all parts of the software at once. In addition, the Flashbootloader is able to exchange parts of the application software while running other parts of the application (s). For this, the Flashbootloader needs to know the dependencies and the exact location in the memory of the applications to be executed. This is made possible, for example, by administrative data in the memory, in which, for example, function pointers are deposited that point to the applications to be executed. When creating this administrative data (for example, during the so-called build process) all must Dependencies so that all necessary functions are part of the administrative data.
Weitere zweckmäßige Weiterbildungen ergeben sich aus weiteren abhängigen Ansprüchen und der Beschreibung.Further expedient developments emerge from further dependent claims and the description.
Kurze Beschreibung der ZeichnungenBrief description of the drawings
Nachfolgend wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf die begleitende Zeichnung im Detail beschrieben. Dabei zeigen:Hereinafter, an embodiment of the invention will be described in detail with reference to the accompanying drawings. Showing:
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
Gegebenenfalls erfolgt eine Rückmeldung der Applikation
Nach erfolgreicher Löschung der zu aktualisierenden Applikation
Bei dem Master
Das Ausführungsbeispiel gemäß
Weiterhin wird auch die Applikation
Beispielhaft könnten auf den Partitionen
Der Flashbootloader
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 (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2016/077936 WO2017125181A1 (en) | 2016-01-20 | 2016-11-17 | Method for updating control device software, preferably for a motor vehicle |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016200707 | 2016-01-20 | ||
DE102016200707.6 | 2016-01-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016201769A1 true DE102016201769A1 (en) | 2017-07-20 |
Family
ID=59256157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016201769.1A Pending DE102016201769A1 (en) | 2016-01-20 | 2016-02-05 | Method for updating software of a control unit, preferably for a motor vehicle |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102016201769A1 (en) |
WO (1) | WO2017125181A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977220A (en) * | 2017-12-04 | 2018-05-01 | 清华大学 | A kind of method, apparatus and system for writing with a brush dipped in Chinese ink application program |
CN110457058A (en) * | 2019-08-09 | 2019-11-15 | 北京万东医疗科技股份有限公司 | Control node online upgrading method, apparatus, host computer, system and electronic equipment |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108279916B (en) * | 2017-12-28 | 2021-12-07 | 宁德时代新能源科技股份有限公司 | Electronic control unit program updating method and device |
CN112559002A (en) * | 2019-09-26 | 2021-03-26 | 上海汽车集团股份有限公司 | Vehicle application updating method and device and storage medium |
Citations (1)
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-02-05 DE DE102016201769.1A patent/DE102016201769A1/en active Pending
- 2016-11-17 WO PCT/EP2016/077936 patent/WO2017125181A1/en active Application Filing
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977220A (en) * | 2017-12-04 | 2018-05-01 | 清华大学 | A kind of method, apparatus and system for writing with a brush dipped in Chinese ink application program |
CN110457058A (en) * | 2019-08-09 | 2019-11-15 | 北京万东医疗科技股份有限公司 | Control node online upgrading method, apparatus, host computer, system and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
WO2017125181A1 (en) | 2017-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102019109672A1 (en) | CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE | |
EP1861754A1 (en) | Method and device for configuring a control device and corresponding control device | |
DE19964013A1 (en) | Method and device for controlling operations in a vehicle | |
WO2000010060A2 (en) | Method for applying the control data of an electronic vehicle control apparatus | |
DE102016201769A1 (en) | Method for updating software of a control unit, preferably for a motor vehicle | |
EP3128383A1 (en) | Field device | |
EP0997347A2 (en) | Procedure and device for programming a vehicle control apparatus | |
EP1748360B1 (en) | System and method for executing a parallelised software update | |
DE102016200711A1 (en) | Method for updating software of a control unit, preferably for a motor vehicle | |
EP1698952B1 (en) | Method and apparatus for inidvidual configuration parameter backup | |
DE112019000179T5 (en) | VEHICLE CONTROL DEVICE AND PROGRAM UPDATE SYSTEM | |
EP2326959A1 (en) | Method for activating functions of a tachograph | |
EP3353650A1 (en) | System and method for distributing and/or updating software in interconnected control devices of a vehicle | |
WO2017178211A1 (en) | Method for operating a control device for a vehicle, control device, operating system, motor vehicle | |
DE112020001385T5 (en) | Electronic control device and method for setting control data | |
WO2020099023A2 (en) | Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium | |
EP2962162B1 (en) | Method for setting up and/or implementing a programming process of a control device of a transport means | |
DE102022110251A1 (en) | OTA MASTER, CENTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE | |
EP3285162A1 (en) | Method for projecting a project and arrangement for carrying out said method | |
DE102007059355A1 (en) | Method for operating a control unit and control unit | |
DE102009047974B4 (en) | Procedure for programming a control unit | |
DE102012218665B4 (en) | Application system for control units | |
WO2017182210A1 (en) | Method for programming control devices of a motor vehicle | |
EP1967920A1 (en) | Softwareupdate method for FPGA-based automation systems | |
DE102022110824A1 (en) | OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |