DE102019000493A1 - Method for updating a respective software of several control units of a vehicle - Google Patents

Method for updating a respective software of several control units of a vehicle Download PDF

Info

Publication number
DE102019000493A1
DE102019000493A1 DE102019000493.0A DE102019000493A DE102019000493A1 DE 102019000493 A1 DE102019000493 A1 DE 102019000493A1 DE 102019000493 A DE102019000493 A DE 102019000493A DE 102019000493 A1 DE102019000493 A1 DE 102019000493A1
Authority
DE
Germany
Prior art keywords
software
flashware
control unit
vehicle
loaded
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.)
Withdrawn
Application number
DE102019000493.0A
Other languages
German (de)
Inventor
Oliver Pöllny
Bianca Mix
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.)
Mercedes Benz Group AG
Original Assignee
Daimler AG
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 Daimler AG filed Critical Daimler AG
Priority to DE102019000493.0A priority Critical patent/DE102019000493A1/en
Publication of DE102019000493A1 publication Critical patent/DE102019000493A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

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

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 Erfindung betrifft ein Verfahren zur Aktualisierung einer jeweiligen Software mehrerer Steuergeräte eines Fahrzeugs.Erfindungsgemäß wird auf Basis einer neuen Kommunikationsliste für die Kommunikation der Steuergeräte für jedes betroffene Steuergerät des Fahrzeugs eine neue Software erstellt und aus dieser neuen Software eine Flashware erstellt und kabellos an das Fahrzeug übertragen. Die Flashware für das jeweilige Steuergerät wird in das jeweilige Steuergerät geladen und dadurch die Software des jeweiligen Steuergeräts aktualisiert, wobei zuerst bei Steuergeräten ohne Gatewayfunktion die jeweilige Flashware geladen wird und bei Steuergeräten mit Gatewayfunktion und bei einem Busmaster die jeweilige Flashware zuletzt geladen wird. Die Steuergeräte werden in einem Aktualisierungszustand gehalten, bis in alle betroffenen Steuergeräte die jeweilige Flashware geladen wurde, wobei die jeweilige alte Software oder zumindest ein Kommunikationsanteil der jeweiligen alten Software in einem flüchtigen Speicher des jeweiligen Steuergeräts gespeichert bleibt. Es wird ein Synchronisationsbefehl an alle betroffenen Steuergeräte gesendet, welcher diese zu einem Neustart veranlasst.The invention relates to a method for updating a respective software of several control devices of a vehicle. According to the invention, new software is created on the basis of a new communication list for the communication of the control units for each affected control unit of the vehicle and a flashware is created from this new software and sent wirelessly to the vehicle transfer. The flashware for the respective control unit is loaded into the respective control unit and thereby updated the software of the respective control unit, first with controllers without gateway function, the respective flashware is loaded and the respective flashware is loaded last with controllers with gateway function and a bus master. The control units are kept in an update state until the respective flashware has been loaded into all affected control units, with the respective old software or at least one communication component of the respective old software remaining stored in a volatile memory of the respective control unit. A synchronization command is sent to all affected ECUs, causing them to reboot.

Description

Die Erfindung betrifft ein Verfahren zur Aktualisierung einer jeweiligen Software mehrerer Steuergeräte eines Fahrzeugs.The invention relates to a method for updating a respective software of a plurality of control devices of a vehicle.

Aus der DE 10 2016 210 675 A1 ist eine Telematik-Steuereinheit mit einem differenziellen Aktualisierungspaket, die in einem Fahrzeug installierbar ist, bekannt. Die Telematik-Steuereinheit umfasst eine drahtlose Netzwerkschnittstelle, eine Schnittstelle für einen Fahrzeugbus, der mit einer Vielzahl von elektronischen Steuereinheiten verbunden ist, einen Speicher, einen Prozessor und das differenzielle Aktualisierungspaket, das über die drahtlose Netzwerkschnittstelle empfangen wird, um ein Update für eine spezifische elektronische Steuereinheit bereitzustellen. Das differenzielle Aktualisierungspaket umfasst ein Flash-Tool, differenzielle Aktualisierungsbefehle für die spezifische elektronische Steuereinheit und differenzielle Aktualisierungsdaten für den Flash-Speicher der spezifischen elektronischen Steuereinheit. Der Prozessor verwendet das Flash-Tool, um die differenziellen Aktualisierungsbefehle für einen Startlader der spezifischen elektronischen Steuereinheit bereitzustellen und den Flash-Speicher der spezifischen elektronischen Steuereinheit zu aktualisieren.From the DE 10 2016 210 675 A1 is a telematics control unit with a differential update package that is installable in a vehicle known. The telematics control unit includes a wireless network interface, an interface for a vehicle bus connected to a plurality of electronic control units, a memory, a processor, and the differential update packet received over the wireless network interface for updating for a specific electronic To provide control unit. The differential update package includes a flash tool, differential update commands for the specific electronic control unit, and differential update data for the flash memory of the specific electronic control unit. The processor uses the flash tool to provide the differential update commands for a boot loader of the specific electronic control unit and to update the flash memory of the specific electronic control unit.

In der DE 10 2018 003 777 A1 der Anmelderin, deren vollständiger Inhalt hiermit durch Referenz aufgenommen wird, wird ein Verfahren zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs beschrieben. Wenn das Steuergerät kein Dateisystem nutzt, wird ein Hash über die aktuelle Software des Steuergeräts gebildet und an ein Backend gesendet. Vom Backend wird ein zum Hash passender Stand der aktuellen Software gesucht und eine neue Software wird mit der aktuellen Software verglichen. Geänderte Softwareblöcke werden identifiziert und es wird eine Tabelle aus einer jeweiligen Blocknummer und einem jeweiligen neuen Inhalt für die geänderten Softwareblöcke gebildet. Diese Tabelle wird komprimiert und die komprimierte Tabelle wird gehasht und signiert. Die komprimierte, gehashte und signierte Tabelle wird vom Backend an das Fahrzeug gesendet, auf Integrität geprüft und die Software wird aktualisiert. Alternativ oder zusätzlich ist, wenn das Steuergerät ein Dateisystem nutzt, eine virtuelle Form des Dateisystems in einem Image im Backend gespeichert. Mittels eines Abgleichverfahrens wird eine Übersicht über Daten, die geändert sind, gebildet. Diese Daten werden in einem Datenpaket zusammengefasst, welches komprimiert, gehasht und signiert wird. Das komprimierte, gehashte und signierte Datenpaket wird vom Backend an das Fahrzeug gesendet, auf Integrität geprüft und die Software wird aktualisiert.In the DE 10 2018 003 777 A1 The applicant, the full contents of which is hereby incorporated by reference, a method for updating a software at least one control device of a vehicle is described. If the controller does not use a file system, a hash is formed over the current software of the controller and sent to a backend. The backend looks for a hash of the current software and a new software is compared with the current software. Changed software blocks are identified and a table is formed from a respective block number and a respective new content for the changed software blocks. This table is compressed and the compressed table is hashed and signed. The compressed, hashed, and signed table is sent from the backend to the vehicle, checked for integrity, and the software is updated. Alternatively or additionally, if the controller uses a file system, a virtual form of the file system is stored in an image in the backend. By means of an adjustment method, an overview of data that has been changed is formed. This data is summarized in a data package which is compressed, hashed and signed. The compressed, hashed, and signed data packet is sent from the backend to the vehicle, checked for integrity, and the software is updated.

Der Erfindung liegt die Aufgabe zugrunde, ein gegenüber dem Stand der Technik verbessertes Verfahren zur Aktualisierung einer jeweiligen Software mehrerer Steuergeräte eines Fahrzeugs anzugeben.The invention has for its object to provide a comparison with the prior art improved method for updating a respective software of multiple control units of a vehicle.

Die Aufgabe wird erfindungsgemäß durch die in Anspruch 1 angegebenen Merkmale gelöst.The object is achieved by the features specified in claim 1.

Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.Advantageous embodiments of the invention are the subject of the dependent claims.

In einem erfindungsgemäßen Verfahren zur Aktualisierung einer jeweiligen Software mehrerer Steuergeräte eines Fahrzeugs, insbesondere zum nachträglichen Ändern einer Kommunikationsmatrix, d. h. von Kommunikationsbeziehungen zwischen den Steuergeräten, wird auf Basis einer neuen Kommunikationsliste für die Kommunikation der Steuergeräte für jedes betroffene Steuergerät des Fahrzeugs eine neue Software erstellt. Die jeweilige neue Software wird dabei insbesondere erstellt, indem auf Basis der neuen Kommunikationsliste eine Liste aller Änderungen, Botschaften und betroffenen Steuergeräte erstellt wird und auf Basis dieser Liste für jedes betroffene Steuergerät ein entsprechender Datenabschnitt, insbesondere ein entsprechender Datenblock und/oder eine entsprechende Datei, der Software angepasst wird, d. h, insbesondere ein Kommunikationsanteil der Software. Eine solche Deltabildung wird beispielsweise in der DE 10 2018 003 777 A1 der Anmelderin beschrieben, deren vollständiger Inhalt hiermit durch Referenz aufgenommen wird, insbesondere in deren Figurenbeschreibung, insbesondere bezüglich deren 2 und 3. Vorteilhafterweise wird die jeweilige neue Software blockweise mit der jeweiligen alten Software abgeglichen, wobei geprüft wird, ob außer dem Kommunikationsanteil noch andere Bereiche geändert wurden und wobei das Verfahren abgebrochen wird, wenn dies der Fall ist.In a method according to the invention for updating a respective software of a plurality of control devices of a vehicle, in particular for subsequently changing a communication matrix, ie of communication relations between the control devices, new software is created for each affected control device of the vehicle based on a new communication list for the communication of the control devices. The respective new software is created in particular by creating a list of all changes, messages and affected ECUs based on the new communication list and based on this list for each ECU concerned a corresponding data section, in particular a corresponding data block and / or a corresponding file, the software is adapted, d. h, in particular a communication component of the software. Such delta formation is for example in the DE 10 2018 003 777 A1 the applicant whose complete content is hereby incorporated by reference, in particular in the description of their figures, in particular with respect to their 2 and 3 , Advantageously, the respective new software is compared in blocks with the respective old software, wherein it is checked whether other areas have been changed in addition to the communication portion and wherein the method is aborted, if this is the case.

Aus dieser neuen Software wird eine Flashware erstellt. Die Flashware beinhaltet vorteilhafterweise nur den geänderten Anteil der Software, d. h. vorteilhafterweise nur den Kommunikationsanteil und somit den entsprechenden Datenabschnitt. Diese Zusammenstellung nur des geänderten Anteils der Software ist in der DE 10 2018 003 777 A1 der Anmelderin beschrieben, insbesondere in deren Figurenbeschreibung, insbesondere bezüglich deren 2 und 3.From this new software a Flashware is created. The flashware advantageously contains only the changed portion of the software, ie advantageously only the communication portion and thus the corresponding data portion. This compilation of only the modified portion of the software is in the DE 10 2018 003 777 A1 the applicant described, in particular in their description of figures, in particular with respect to their 2 and 3 ,

Die jeweilige neue Software und/oder die jeweilige Flashware wird vorteilhafterweise signiert. Die jeweilige Flashware wird kabellos, d. h. „over the air“, insbesondere über eine funkbasierte Datenübertragungsverbindung, zum Beispiel über Mobilfunk oder WLAN, an das Fahrzeug übertragen, insbesondere indem ein Datenpaket aus allen Flashwares für die betroffenen Steuergeräte des Fahrzeugs gebildet wird und kabellos an das Fahrzeug übertragen wird. Die Flashware für das jeweilige Steuergerät wird in das jeweilige Steuergerät geladen und dadurch die Software des jeweiligen Steuergeräts aktualisiert, wobei zuerst bei Steuergeräten ohne Gatewayfunktion die jeweilige Flashware geladen wird und bei Steuergeräten mit Gatewayfunktion und bei einem Busmaster die jeweilige Flashware zuletzt geladen wird. Hierbei kann beispielsweise in mehrere Steuergeräte gleichzeitig die jeweilige Flashware geladen werden. Dieses Aktualisieren der Steuergeräte durch das Laden der Flashware erfolgt vorteilhafterweise im Deltaverfahren, d. h. wie in der DE 10 2018 003 777 A1 der Anmelderin, insbesondere in deren Figurenbeschreibung, insbesondere bezüglich deren 2 und 3, beschrieben. Die Steuergeräte werden in einem Aktualisierungszustand gehalten, bis in alle betroffenen Steuergeräte die jeweilige Flashware geladen wurde, wobei die jeweilige alte Software oder zumindest der Kommunikationsanteil der jeweiligen alten Software in einem flüchtigen Speicher des jeweiligen Steuergeräts gespeichert bleibt, sodass zumindest die alten Kommunikationsbeziehungen in diesem flüchtigen Speicher gespeichert bleiben. Es wird ein Synchronisationsbefehl an alle betroffenen Steuergeräte gesendet, welcher diese zu einem Neustart veranlasst. Dieser Synchronisationsbefehl erfolgt, wenn alle betroffenen Steuergeräte aktualisiert sind, d. h. wenn in alle betroffenen Steuergeräte die jeweilige Flashware geladen worden ist.The respective new software and / or the respective flashware is advantageously signed. The respective flashware is wirelessly, ie "over the air", in particular via a radio-based data transmission connection, for example via mobile or WLAN, transmitted to the vehicle, in particular by a data packet from all flashwares for the affected control units of the vehicle is formed and wirelessly to the vehicle is transmitted. The flashware for the respective control unit is loaded into the respective control unit and thereby updated the software of the respective control unit, first with controllers without gateway function, the respective flashware is loaded and the respective flashware is loaded last with controllers with gateway function and a bus master. In this case, for example, the respective flashware can be loaded simultaneously into a plurality of control devices. This updating of the controllers by loading the flashware is advantageously carried out in the delta method, ie as in the DE 10 2018 003 777 A1 the applicant, in particular in their description of figures, in particular with respect to their 2 and 3 , described. The control units are kept in an update state until the respective flashware has been loaded into all affected control units, the respective old software or at least the communication portion of the respective old software being stored in a volatile memory of the respective control unit, so that at least the old communication relationships in that volatile memory are stored Memory is saved. A synchronization command is sent to all affected ECUs, causing them to reboot. This synchronization command takes place when all control units concerned have been updated, ie when the relevant flashware has been loaded into all affected control units.

Um dieses Verfahren zu ermöglichen, besitzt jede Software für die Steuergeräte den Datenabschnitt, beispielsweise in Form definierter Datenblöcke oder, für Steuergeräte mit Datensystem, in Form einer Datei, in dem die Kommunikationsbeziehungen für dieses Steuergerät beschrieben, d. h. gespeichert, sind. Dieser Datenabschnitt, beispielsweise in Form des Dateinamens oder der Datenblöcke in einem Flashspeicher des jeweiligen Steuergeräts, ist vorteilhafterweise einzeln beschreibbar. Im Backend ist dokumentiert, um welchen Datenabschnitt, d. h. um welche Datenblöcke oder um welche Datei es sich handelt. Des Weiteren ist, um das Verfahren zu ermöglichen, der Synchronisationsbefehl für alle Steuergeräte vorgesehen.In order to enable this method, each software for the control units has the data section, for example in the form of defined data blocks or, for data system controllers, in the form of a file in which the communication relationships for this control device are described, d. H. saved are. This data section, for example in the form of the file name or the data blocks in a flash memory of the respective control device, is advantageously individually writable. The backend documents which data section, i. H. which data blocks or which file it is. Furthermore, in order to enable the method, the synchronization command is provided for all control devices.

Im Folgenden erfolgt noch eine Erklärung der Begriffe Software und Flashware. Jedes Steuergerät, in das neue Software geladen werden kann, besitzt einen Flashspeicher. Üblicherweise wird dieser Flashspeicher bei einem Software-Download zuerst gelöscht und dann mit der neuen Software wieder beschrieben. Den Vorgang, neue Software in ein Steuergerät zu laden, nennt man Flashen und die Software, die in das Steuergerät geladen wird, ist die sogenannte Flashware. Bei dem hier beschriebenen Verfahren wird die Software des jeweiligen Steuergeräts aktualisiert, indem vorteilhafterweise nicht die gesamte alte Software gelöscht und die gesamte neue Software geladen wird, sondern es wird nur der geänderte Anteil, d. h. der Kommunikationsanteil und somit der entsprechende Datenabschnitt, der Software als Flashware an das Fahrzeug übertragen und, nachdem der entsprechende Anteil der alten Software gelöscht wurde, in das Steuergerät geladen, um dadurch die neue Software im Steuergerät auszubilden. Dadurch werden eine Übertragungszeit und eine übertragene Datenmenge sowie eine erforderliche Zeit zur Aktualisierung des jeweiligen Steuergeräts reduziert.Below is an explanation of the terms software and Flashware. Each controller that can load new software has a flash memory. Usually this flash memory is first deleted during a software download and then rewritten with the new software. The process of loading new software into a controller is called flashing, and the software loaded into the controller is the so-called flashware. In the method described here, the software of the respective controller is updated by advantageously not deleted the entire old software and the entire new software is loaded, but it is only the changed proportion, ie. H. the communication portion, and thus the corresponding data portion, which transmits software as flashware to the vehicle and, after the corresponding portion of the old software has been deleted, loaded into the controller to thereby form the new software in the controller. As a result, a transmission time and a transferred amount of data as well as a required time for updating the respective control device are reduced.

Mittels des erfindungsgemäßen Verfahrens können auch Fahrzeuge im Feld, d. h. bereits an Kunden ausgelieferte Fahrzeuge, mit neuen Kommunikationslisten versehen werden. Auch aufwändigere und/oder komplexe Funktionen, welche Kommunikationsänderungen zwischen mehreren Steuergeräten erfordern, können auf diese Weise, insbesondere auch noch nachträglich, implementiert werden.By means of the method according to the invention also vehicles in the field, d. H. already delivered to customers vehicles, be provided with new communication lists. Even more complex and / or complex functions, which require communication changes between several control devices, can be implemented in this way, in particular even later.

Da die jeweilige alte Software oder zumindest die jeweiligen Kommunikationsbeziehungen im flüchtigen Speicher des jeweiligen Steuergeräts gespeichert bleiben und der Neustart aller betroffenen Steuergeräte erst dann durchgeführt wird, wenn bei allen betroffenen Steuergeräten die jeweilige Software aktualisiert wurde, ist zu jedem Zeitpunkt eine konsistente Kommunikation der Steuergeräte sichergestellt.Since the respective old software or at least the respective communication relationships remain stored in the volatile memory of the respective control unit and the restart of all affected control devices is performed only when the respective software has been updated in all affected control devices, a consistent communication of the control units is ensured at all times ,

Ausführungsbeispiele der Erfindung werden im Folgenden anhand einer Zeichnung näher erläutert.Embodiments of the invention will be explained in more detail below with reference to a drawing.

Dabei zeigt:

  • 1 schematisch ein Verfahren zur Aktualisierung einer jeweiligen Software mehrerer Steuergeräte eines Fahrzeugs.
Showing:
  • 1 schematically a method for updating a respective software of multiple control units of a vehicle.

1 zeigt eine schematische Darstellung eines Verfahrens zur Aktualisierung einer jeweiligen Software mehrerer Steuergeräte eines Fahrzeugs, insbesondere zum nachträglichen Ändern einer Kommunikationsmatrix, d. h. von Kommunikationsbeziehungen zwischen den Steuergeräten. 1 shows a schematic representation of a method for updating a respective software of multiple control units of a vehicle, in particular for subsequently changing a communication matrix, ie of communication relationships between the control units.

Jedes Steuergerät, in das neue Software geladen werden kann, besitzt einen Flashspeicher. Üblicherweise wird dieser Flashspeicher bei einem Software-Download zuerst gelöscht und dann mit der neuen Software wieder beschrieben. Den Vorgang, neue Software in ein Steuergerät zu laden, nennt man Flashen und die Software, die in das Steuergerät geladen wird, ist die sogenannte Flashware. Bei dem im Folgenden beschriebenen Verfahren wird die Software des jeweiligen Steuergeräts aktualisiert, indem vorteilhafterweise nicht die gesamte alte Software gelöscht und die gesamte neue Software geladen wird, sondern es wird nur ein geänderter Anteil der Software, d. h. ein Kommunikationsanteil, umfassend die Kommunikationsbeziehungen, und somit ein entsprechender Datenabschnitt der Software, als Flashware an das Fahrzeug übertragen und, nachdem der entsprechende Anteil der alten Software gelöscht wurde, in das Steuergerät geladen, um dadurch die neue Software im Steuergerät auszubilden. Dadurch werden eine Übertragungszeit und eine übertragene Datenmenge sowie eine erforderliche Zeit zur Aktualisierung des jeweiligen Steuergeräts reduziert.Each controller that can load new software has a flash memory. Usually this flash memory is first deleted during a software download and then rewritten with the new software. The process of loading new software into a controller is called flashing, and the software loaded into the controller is the so-called flashware. In the method described below, the software of the respective control device is updated by advantageously not all the old software deleted and the entire new software is loaded, but it is only a modified portion of the software, ie a communication component comprising the Communication relationships, and thus a corresponding portion of the software as Flashware transmitted to the vehicle and, after the corresponding portion of the old software has been deleted, loaded into the controller, thereby forming the new software in the control unit. As a result, a transmission time and a transferred amount of data as well as a required time for updating the respective control device are reduced.

Um dieses Verfahren zu ermöglichen, besitzt jede Software für die Steuergeräte diesen Datenabschnitt, beispielsweise in Form definierter Datenblöcke oder, für Steuergeräte mit Datensystem, in Form einer Datei, in dem die Kommunikationsbeziehungen für dieses Steuergerät beschrieben, d. h. gespeichert, sind. Dieser Datenabschnitt, beispielsweise in Form des Dateinamens oder der Datenblöcke im Flashspeicher des jeweiligen Steuergeräts, ist vorteilhafterweise einzeln beschreibbar. Dadurch muss während des Flashens vorteilhafterweise nicht der gesamte Flashpeicher gelöscht und die gesamte neue Software geladen werden, sondern beispielsweise nur dieser Datenabschnitt bzw. dieser Flashspeicherbereich für diesen Datenabschnitt gelöscht werden und nur der Datenabschnitt neu geladen werden. In einem Backend, d. h. in einer fahrzeugexternen Serviceeinrichtung, beispielsweise einer Servereinrichtung eines Herstellers des Fahrzeugs, ist dokumentiert, um welchen Datenabschnitt, d. h. um welche Datenblöcke oder um welche Datei, es sich handelt. Des Weiteren ist, um das Verfahren zu ermöglichen, ein Synchronisationsbefehl, d. h. ein entsprechendes Signal, für alle Steuergeräte vorgesehen.In order to facilitate this procedure, each piece of software for the controllers has this portion of the data, for example in the form of defined data blocks or, for data system controllers, in the form of a file describing the communication relationships for that controller; H. saved are. This data section, for example in the form of the file name or the data blocks in the flash memory of the respective control device, is advantageously individually writable. As a result, it is not necessary to delete the entire flash memory during the flash and to load the entire new software, for example, only this data section or flash memory area for this data section is deleted and only the data section is reloaded. In a backend, d. H. in a vehicle-external service device, for example a server device of a manufacturer of the vehicle, it is documented to which data section, i. H. which data blocks or which file it is. Furthermore, to enable the method, a synchronization command, i. H. a corresponding signal, intended for all control units.

In diesem Verfahren erhält das Backend in einem ersten Verfahrensschritt S1 eine neue Kommunikationsliste und/oder Signalliste, im Folgenden als Kommunikationsliste bezeichnet, für das Fahrzeug, d. h. für ein bereits bestehendes und insbesondere bereits an einen Kunden ausgeliefertes Fahrzeug.In this method, the backend receives in a first step S1 a new communication list and / or signal list, hereinafter referred to as communication list, for the vehicle, ie for an already existing and in particular already delivered to a customer vehicle.

In einem zweiten Verfahrensschritt S2 wird aus der im Backend vorhandenen Dokumentation, insbesondere aus einem Vergleich der alten und neuen Kommunikationsliste, zunächst eine Liste aller Änderungen sowie Botschaften und der betroffenen Steuergeräte gebildet, beispielweise ECU1 -> Nachricht 1 geändert, Nachricht 4711 neu, ECU2 -> Nachricht 4711 geändert, Nachricht 2 neu, Nachricht 4712 gelöscht.In a second process step S2 From the existing documentation in the backend, in particular from a comparison of the old and new communication list, first a list of all changes and messages and the affected ECUs is formed, for example ECU1 -> message 1 changed, message 4711 new, ECU2 -> message 4711 changed, Message 2 new, message 4712 deleted.

Auf Basis dieser Liste und somit auf Basis der neuen Kommunikationsliste für die Kommunikation der Steuergeräte, die das Backend erhalten hat, wird in einem dritten Verfahrensschritt S3 für jedes betroffene Steuergerät des Fahrzeugs eine neue Software erstellt, insbesondere indem auf Basis dieser Liste für jedes betroffene Steuergerät der entsprechende Datenabschnitt, d. h. der entsprechender Datenblock und/oder die entsprechende Datei der Software, angepasst wird. Die anzupassende Software für das jeweilige Steuergerät ist im Backend gespeichert. Sie wird beispielsweise vorher entpackt, falls sie gepackt gespeichert ist. Durch diese Anpassung der Software entsteht als neue Software die gleiche Software, die gemäß einer Datenbank, welche vorteilhafterweise auf dem Backend vorliegt, auf dem Fahrzeug, d. h. im jeweiligen Steuergerät des Fahrzeugs, installiert ist, aber mit anderen Kommunikationsbeziehungen. Es werden also nur die Kommunikationsbeziehungen geändert, während die anderen Anteile der Software des jeweiligen Steuergeräts unverändert bleiben. Eine solche Deltabildung, d. h. eine solche Anpassung der Software durch Änderung nur eines oder mehrerer Anteile der Software, wird beispielsweise in der DE 10 2018 003 777 A1 der Anmelderin beschrieben, deren vollständiger Inhalt hiermit durch Referenz aufgenommen wird, insbesondere in deren Figurenbeschreibung, insbesondere bezüglich deren 2 und 3.On the basis of this list and thus on the basis of the new communication list for the communication of the ECUs, which has received the backend, is in a third step S3 For each affected control device of the vehicle creates a new software, in particular by the corresponding data section, ie the corresponding data block and / or the corresponding file of the software is adjusted based on this list for each control unit. The software to be adapted for the respective control unit is stored in the backend. For example, it will be unpacked before it is packed. As a result of this adaptation of the software, the same software is created as new software, which is installed on the vehicle, ie in the respective control unit of the vehicle, according to a database which is advantageously present on the backend, but with other communication relationships. Thus, only the communication relationships are changed, while the other parts of the software of the respective control unit remain unchanged. Such a delta formation, ie such an adaptation of the software by changing only one or more portions of the software, is described, for example, in US Pat DE 10 2018 003 777 A1 the applicant whose complete content is hereby incorporated by reference, in particular in the description of their figures, in particular with respect to their 2 and 3 ,

In einem vierten Verfahrensschritt S4 wird die jeweilige neue Software, d. h. die gesamte neue Software, welche den Kommunikationsanteil, d. h. den Datenabschnitt mit den Kommunikationsbeziehungen, und auch die anderen Anteile der Software enthält, blockweise mit der jeweiligen alten Software, ebenfalls mit der kompletten alten Software, abgeglichen. Es wird zur Sicherheit geprüft, ob außer dem Kommunikationsanteil noch andere Bereiche, d. h. andere Anteile der Software, geändert wurden, da dies nicht sein darf. Daher wird, wenn dies der Fall ist, d. h. wenn außer dem Kommunikationsanteil noch andere Bereiche, d. h. andere Anteile der Software, geändert wurden, das Verfahren abgebrochen, um beispielsweise Fehlfunktionen des jeweiligen Steuergeräts zu vermeiden.In a fourth process step S4 is the respective new software, ie the entire new software, which contains the communication portion, ie the data section with the communication relationships, as well as the other parts of the software, block by block with the respective old software, also with the complete old software. It is checked for security, whether other parts, ie other parts of the software, have been changed in addition to the communication component, since this is not allowed. Therefore, if this is the case, ie, other than the communication portion other areas, ie other portions of the software have been changed, the process is aborted, for example, to avoid malfunction of the respective control unit.

Wenn festgestellt wurde, dass nur der Kommunikationsanteil der Software des jeweiligen betroffenen Steuergeräts geändert wurde, d. h. nur die Kommunikationsbeziehungen des jeweiligen betroffenen Steuergeräts, dann wird das Verfahren mit einem fünften Verfahrensschritt S5 fortgesetzt, in welchem die jeweilige neue Software oder zumindest der die Kommunikationsbeziehungen enthaltende geänderte Kommunikationsanteil der neuen Software, welcher die Flashware bildet, vorteilhafterweise signiert wird. Aus der neuen Software für das jeweilige betroffene Steuergerät wird somit die Flashware für das jeweilige Steuergerät erstellt, d. h. der Teil der neuen Software, welcher an das Fahrzeug übertragen werden soll, d. h. der geänderte Anteil, insbesondere der Kommunikationsanteil, der neuen Software, mit welchem im Steuergerät die Software aktualisiert werden soll. Dies, d. h. diese Deltabildung zwischen alter und neuer Software, ist beispielsweise in der DE 10 2018 003 777 A1 der Anmelderin beschrieben, insbesondere in deren Figurenbeschreibung, insbesondere bezüglich deren 2 und 3. Wie bereits erwähnt, kann vorgesehen sein, dass die neue Software und/oder die daraus erstellte Flashware signiert wird.If it has been determined that only the communication component of the software of the respective control device concerned has been changed, ie only the communication relationships of the relevant control device concerned, then the method is used with a fifth method step S5 in which the respective new software or at least the changed communication component containing the communication relationships of the new software which forms the flashware is advantageously signed. From the new software for the respective affected control device, the flashware for the respective control unit is thus created, ie the part of the new software, which is to be transmitted to the vehicle, ie the changed share, in particular the communication portion of the new software, with which Control unit the software is to be updated. This, ie this delta formation between old and new software, is for example in the DE 10 2018 003 777 A1 the applicant described, in particular in their Description of the figures, in particular regarding their 2 and 3 , As already mentioned, it can be provided that the new software and / or the Flashware created therefrom is signed.

In einem sechsten Verfahrensschritt S6 wird ein Datenpaket aus allen Flashwares für die betroffenen Steuergeräte des Fahrzeugs gebildet. Diese Datenpaketbildung ist in der DE 10 2018 003 777 A1 der Anmelderin beschrieben, insbesondere in deren Figurenbeschreibung, insbesondere bezüglich deren 2 und 3.In a sixth process step S6 a data packet is formed from all flashwares for the affected ECUs of the vehicle. This data packet formation is in the DE 10 2018 003 777 A1 the applicant described, in particular in their description of figures, in particular with respect to their 2 and 3 ,

Dieses Datenpaket mit den Flashwares für die betroffenen Steuergeräte des Fahrzeugs wird in einem siebten Verfahrensschritt S7 kabellos, d. h. „over the air“, insbesondere über eine funkbasierte Datenübertragungsverbindung, zum Beispiel über Mobilfunk oder WLAN, an das Fahrzeug übertragen.This data package with the flashwares for the affected ECUs of the vehicle is in a seventh process step S7 wirelessly, ie "over the air", in particular via a radio-based data transmission connection, for example via mobile radio or WLAN, transmitted to the vehicle.

Im Fahrzeug werden in einem achten Verfahrensschritt S8 der Reihe nach alle betroffenen Steuergeräte im Deltaverfahren, wie in der DE 10 2018 003 777 A1 der Anmelderin, insbesondere in deren Figurenbeschreibung, insbesondere bezüglich deren 2 und 3, beschrieben, geflasht, d. h. die Flashwares für das jeweilige Steuergerät werden, insbesondere auf die in der DE 10 2018 003 777 A1 der Anmelderin, insbesondere in deren Figurenbeschreibung, insbesondere bezüglich deren 2 und 3, beschriebene Weise, in das jeweilige betroffene Steuergerät geladen und dadurch die Software des jeweiligen betroffenen Steuergeräts aktualisiert.In the vehicle are in an eighth step S8 in turn, all the affected ECUs in the delta process, as in the DE 10 2018 003 777 A1 the applicant, in particular in their description of figures, in particular with respect to their 2 and 3 , described, flashed, ie the flashwares for the respective control unit, in particular to those in the DE 10 2018 003 777 A1 the applicant, in particular in their description of figures, in particular with respect to their 2 and 3 , described manner, loaded into the respective affected control unit, thereby updating the software of the respective control unit concerned.

Dabei gilt als Reihenfolge, dass Steuergeräte, welche keine Gatewayfunktion für einen Teilstrang haben, zuerst geflasht werden. Dabei können, insbesondere bei langsamen Bussystemen, auch mehrere Steuergeräte gleichzeitig geflasht werden. Die Steuergeräte werden nach dem Flashen, d. h. nach dem Laden der Flashware, jedoch zunächst noch nicht neu hochgefahren, d. h. noch nicht neu gestartet, sondern in einem Aktualisierungszustand gehalten, beispielsweise in einem Zustand „Flashen abgeschlossen“. Dadurch ist weiterhin im jeweiligen Steuergerät die alte Software, zumindest die alte, bisher noch aktuelle, Kommunikationsliste mit den alten Kommunikationsbeziehungen, aktiv, welche in einem flüchtigen Speicher (beispielsweise Arbeitsspeicher/RAM) des jeweiligen Steuergeräts gespeichert ist. Dadurch bleibt zu jedem Zeitpunkt eine konsistente Kommunikation sichergestellt, da die Steuergeräte zunächst noch ihre alten Kommunikationsbeziehungen behalten. Als letztes werden die jeweiligen Gatewaysteuergeräte und Busmaster aktualisiert, d. h. bei Steuergeräten mit Gatewayfunktion und bei einem Busmaster wird die jeweilige Flashware zuletzt geladen und somit deren Software aktualisiert.In this case, the order in which control units which do not have a gateway function for a sub-string are first flashed. In this case, in particular in the case of slow bus systems, several control devices can also be flashed simultaneously. The controllers will flash after flashing, i. H. after loading the flashware, but not yet rebooted, d. H. not yet restarted, but held in an update state, for example, in a state "flashing completed". As a result, the old software, at least the old, hitherto still current, communication list with the old communication relationships, which is stored in a volatile memory (for example main memory / RAM) of the respective control unit, is still active in the respective control unit. This ensures consistent communication at all times, as the ECUs initially retain their old communication relationships. Finally, the respective gateway controllers and bus masters are updated, i. H. For controllers with gateway function and for a bus master, the respective flashware is loaded last, thus updating their software.

Sind alle betroffenen Steuergeräte auf die beschriebene Weise geflasht, d. h. ist die jeweilige Flashware in alle betroffenen Steuergeräte geladen, so wird in einem neunten Verfahrensschritt S9 der Synchronisationsbefehl an alle betroffenen Steuergeräte gesendet, welcher diese zum Neustart veranlasst. Nach dem Neustart und dem Hochfahren der betroffenen Steuergeräte ist wieder eine konsistente Kommunikation möglich. Durch diesen gleichzeitigen Neustart aller betroffenen Steuergeräte, ausgelöst durch den Synchronisationsbefehl, beschränkt sich somit der Ausfall der Kommunikation auf den Neustart der betroffenen Steuergeräte.If all affected ECUs are flashed in the manner described, ie if the respective flashware is loaded in all affected ECUs, then in a ninth process step S9 sent the synchronization command to all affected ECUs, which causes them to reboot. After the restart and the startup of the affected ECUs, a consistent communication is possible again. As a result of this simultaneous restart of all affected control units, triggered by the synchronization command, the failure of the communication is limited to the restart of the affected control units.

BezugszeichenlisteLIST OF REFERENCE NUMBERS

S1S1
erster Verfahrensschrittfirst process step
S2S2
zweiter Verfahrensschrittsecond process step
S3S3
dritter Verfahrensschrittthird process step
S4S4
vierter Verfahrensschrittfourth process step
S5S5
fünfter Verfahrensschrittfifth process step
S6S6
sechster Verfahrensschrittsixth process step
S7S7
siebter Verfahrensschrittseventh process step
S8S8
achter Verfahrensschritteighth process step
S9S9
neunter Verfahrensschrittninth process step

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

  • DE 102016210675 A1 [0002]DE 102016210675 A1 [0002]
  • DE 102018003777 A1 [0003, 0007, 0008, 0009, 0021, 0023, 0024, 0026]DE 102018003777 A1 [0003, 0007, 0008, 0009, 0021, 0023, 0024, 0026]

Claims (6)

Verfahren zur Aktualisierung einer jeweiligen Software mehrerer Steuergeräte eines Fahrzeugs, dadurch gekennzeichnet, dass - auf Basis einer neuen Kommunikationsliste für die Kommunikation der Steuergeräte für jedes betroffene Steuergerät des Fahrzeugs eine neue Software erstellt wird und aus dieser neuen Software eine Flashware erstellt wird und kabellos an das Fahrzeug übertragen wird, - die Flashware für das jeweilige Steuergerät in das jeweilige Steuergerät geladen wird und dadurch die Software des jeweiligen Steuergeräts aktualisiert wird, wobei zuerst bei Steuergeräten ohne Gatewayfunktion die jeweilige Flashware geladen wird und bei Steuergeräten mit Gatewayfunktion und bei einem Busmaster die jeweilige Flashware zuletzt geladen wird, - die Steuergeräte in einem Aktualisierungszustand gehalten werden, bis in alle betroffenen Steuergeräte die jeweilige Flashware geladen wurde, wobei die jeweilige alte Software oder zumindest ein Kommunikationsanteil der jeweiligen alten Software in einem flüchtigen Speicher des jeweiligen Steuergeräts gespeichert bleibt, - ein Synchronisationsbefehl an alle betroffenen Steuergeräte gesendet wird, welcher diese zu einem Neustart veranlasst.A method for updating a respective software of a plurality of control devices of a vehicle, characterized in that - based on a new communication list for the communication of the control units for each affected control unit of the vehicle, a new software is created and from this new software Flashware is created and wirelessly to the Vehicle is transmitted - the flashware for the respective control unit is loaded into the respective control unit and thereby the software of the respective control unit is updated, first with the controllers without gateway function, the respective Flashware is loaded and control devices with gateway function and a bus master the respective Flashware is loaded last, - the control units are kept in an update state until in each affected control devices, the respective flashware has been loaded, the respective old software or at least a communication portion of the respective old software is stored in a volatile memory of the respective control unit, - a synchronization command is sent to all affected ECUs, which causes them to reboot. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die jeweilige neue Software und/oder die jeweilige Flashware vor dem Übertragen an das Fahrzeug signiert wird.Method according to Claim 1 , characterized in that the respective new software and / or the respective flashware is signed before being transmitted to the vehicle. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in mehrere Steuergeräte gleichzeitig die jeweilige Flashware geladen wird.Method according to one of the preceding claims, characterized in that the respective flashware is loaded into a plurality of control devices at the same time. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die jeweilige neue Software erstellt wird, indem auf Basis der neuen Kommunikationsliste eine Liste aller Änderungen, Botschaften und betroffenen Steuergeräte erstellt wird und auf Basis dieser Liste für jedes betroffene Steuergerät ein entsprechender Datenabschnitt der Software angepasst wird.Method according to one of the preceding claims, characterized in that the respective new software is created by a list of all changes, messages and affected control devices is created based on the new communication list and adjusted based on this list for each control unit concerned, a corresponding data section of the software becomes. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die jeweilige neue Software blockweise mit der jeweiligen alten Software abgeglichen wird, wobei geprüft wird, ob außer dem Kommunikationsanteil noch andere Anteile der Software geändert wurden und wobei das Verfahren abgebrochen wird, wenn dies der Fall ist.Method according to Claim 4 , characterized in that the respective new software is compared in blocks with the respective old software, wherein it is checked whether other parts of the software were changed in addition to the communication component and wherein the method is aborted, if this is the case. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Datenpaket aus allen Flashwares gebildet wird und kabellos an das Fahrzeug übertragen wird.Method according to one of the preceding claims, characterized in that a data packet is formed from all flashwares and is transmitted wirelessly to the vehicle.
DE102019000493.0A 2019-01-23 2019-01-23 Method for updating a respective software of several control units of a vehicle Withdrawn DE102019000493A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019000493.0A DE102019000493A1 (en) 2019-01-23 2019-01-23 Method for updating a respective software of several control units of a vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019000493.0A DE102019000493A1 (en) 2019-01-23 2019-01-23 Method for updating a respective software of several control units of a vehicle

Publications (1)

Publication Number Publication Date
DE102019000493A1 true DE102019000493A1 (en) 2019-06-06

Family

ID=66548440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019000493.0A Withdrawn DE102019000493A1 (en) 2019-01-23 2019-01-23 Method for updating a respective software of several control units of a vehicle

Country Status (1)

Country Link
DE (1) DE102019000493A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114545906A (en) * 2022-02-28 2022-05-27 奇瑞汽车股份有限公司 Vehicle-mounted Ethernet gateway and vehicle

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016210675A1 (en) 2015-06-15 2016-12-15 Lear Corporation Telematics control unit with a differential update package
DE102018003777A1 (en) 2018-05-09 2018-10-25 Daimler Ag Method for updating a software of at least one control device of a vehicle

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016210675A1 (en) 2015-06-15 2016-12-15 Lear Corporation Telematics control unit with a differential update package
DE102018003777A1 (en) 2018-05-09 2018-10-25 Daimler Ag Method for updating a software of at least one control device of a vehicle

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114545906A (en) * 2022-02-28 2022-05-27 奇瑞汽车股份有限公司 Vehicle-mounted Ethernet gateway and vehicle
CN114545906B (en) * 2022-02-28 2024-05-10 奇瑞汽车股份有限公司 Vehicle-mounted Ethernet gateway and vehicle

Similar Documents

Publication Publication Date Title
DE112018001894T5 (en) Control device, transmission method and computer program
DE102017217668A1 (en) Method and central data processing device for updating software in a plurality of vehicles
DE102011075776A1 (en) Method and system for updating a shared memory
EP1861754A1 (en) Method and device for configuring a control device and corresponding control device
DE102007010763A1 (en) Method for adaptive configuration recognition
DE19839680A1 (en) Altering control equipment memory contents involves securing first and/or second programs and/or data by copying before clearing, copying and/or reading in program/data
WO2019096840A1 (en) Method and system for updating vehicle software
EP1982243B1 (en) Method for storing a data block containing data for controlling a technical process, and control apparatus
WO2019162122A1 (en) System for transferring at least one update packet for at least one control unit of a motor vehicle, and method
DE102019000493A1 (en) Method for updating a respective software of several control units of a vehicle
DE102016201769A1 (en) Method for updating software of a control unit, preferably for a motor vehicle
DE112013003240B4 (en) Method for controlling a motor vehicle transmission
DE102017220526A1 (en) Method and device for updating software
DE112020001385T5 (en) Electronic control device and method for setting control data
WO2019242996A1 (en) Method for updating software on a target device
DE102018003777A1 (en) Method for updating a software of at least one control device of a vehicle
DE102020206262A1 (en) Data rewriting method and data rewriting system
DE102009047974B4 (en) Procedure for programming a control unit
DE102016211772A1 (en) Method and device for updating multiple controllers via a common fieldbus
DE102019214922A1 (en) Configuration procedure for a railway signal system and update system
DE102015015628B4 (en) Method for transferring data between a storage medium and a motor vehicle by means of a temporary storage medium as well as a temporary storage medium and an application program product
DE102018204188A1 (en) A method for updating a software application in a device that is in operation, and device and motor vehicle
DE602004013269T2 (en) Method and device for updating non-volatile memory contents on a cordless device by checking and comparing a specific identification element stored in said memory with a software identification
DE102017202282A1 (en) VEHICLE CONTROL DEVICE AND VEHICLE NETWORK WITH VEHICLE CONTROL DEVICE
DE112021000667T5 (en) CENTRAL DEVICE AND VEHICLE INFORMATION COMMUNICATION SYSTEM

Legal Events

Date Code Title Description
R230 Request for early publication
R081 Change of applicant/patentee

Owner name: DAIMLER AG, DE

Free format text: FORMER OWNER: DAIMLER AG, 70327 STUTTGART, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee