DE102018003777A1 - Method for updating a software of at least one control device of a vehicle - Google Patents

Method for updating a software of at least one control device of a vehicle Download PDF

Info

Publication number
DE102018003777A1
DE102018003777A1 DE102018003777.1A DE102018003777A DE102018003777A1 DE 102018003777 A1 DE102018003777 A1 DE 102018003777A1 DE 102018003777 A DE102018003777 A DE 102018003777A DE 102018003777 A1 DE102018003777 A1 DE 102018003777A1
Authority
DE
Germany
Prior art keywords
software
backend
compressed
hashed
signed
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
DE102018003777.1A
Other languages
German (de)
Inventor
Oliver Pöllny
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 DE102018003777.1A priority Critical patent/DE102018003777A1/en
Publication of DE102018003777A1 publication Critical patent/DE102018003777A1/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

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 Software zumindest eines Steuergeräts eines Fahrzeugs.Erfindungsgemäß wird, wenn das Steuergerät kein Dateisystem nutzt, 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.The invention relates to a method for updating a software of at least one control device of a vehicle. According to the invention, if the control device does not use a file system, a hash is formed via the current software of the control device 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.

Description

Die Erfindung betrifft ein Verfahren zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs.The invention relates to a method for updating a software at least one control device of a vehicle.

Aus dem Stand der Technik ist, wie in der DE 10 2009 018 761 A1 beschrieben, ein Verfahren zur Aktualisierung von Softwarekomponenten eines Kraftfahrzeugs bekannt. In dem Verfahren wird durch eine Zustandsermittlungs-Vorrichtung eine Fahrzeugkonfigurationsinformation ermittelt, die zumindest die Information umfasst, welche Hardwarekomponenten und/oder welche Softwarekomponenten im konkreten Kraftfahrzeug vorhanden sind. Es wird eine drahtlose Telekommunikationsverbindung zwischen einer fahrzeuginternen Service-Schnittstelle und einer fahrzeugexternen Service-Einrichtung bereitgestellt. Die von der Zustandsermittlungs-Vorrichtung ermittelten Fahrzeugkonfigurationsinformation sowie Identifikationsdaten des betreffenden Kraftfahrzeugs werden vom Kraftfahrzeug über die Telekommunikationsverbindung an die fahrzeugexterne Service-Einrichtung versendet. Anhand der Fahrzeugkonfigurationsinformation wird durch die fahrzeugexterne Service-Einrichtung geprüft, ob eine oder mehrere Softwarekomponenten gemäß einer bei der fahrzeugexternen Service-Einrichtung verfügbaren Kontrollvorschrift zu aktualisieren ist. Es wird durch die fahrzeugexterne Service-Einrichtung eine entsprechende Aktualisierungsvorschrift bereitgestellt und die zu aktualisierende Softwarekomponente wird anhand der Aktualisierungsvorschrift aktualisiert. Die Aktualisierung der zu aktualisierenden Softwarekomponente wird dem Fahrer von der fahrzeugexternen Service-Einrichtung vor ihrer Durchführung angeboten. Die Aktualisierung ist auf das Angebot hin ausschließlich durch den Fahrer des Kraftfahrzeugs freigebbar. Das Versenden der Fahrzeugkonfigurationsinformation sowie der Identifikationsdaten findet ohne Mitwirkung und/oder Benachrichtigung des Fahrers zeitgesteuert und/oder ereignisgesteuert wiederholt statt.From the prior art, as in the DE 10 2009 018 761 A1 described a method for updating software components of a motor vehicle. In the method, a vehicle configuration information is determined by a state determination device, which comprises at least the information which hardware components and / or which software components are present in the specific motor vehicle. A wireless telecommunication connection is provided between an in-vehicle service interface and an off-board service facility. The vehicle configuration information determined by the state determination device as well as identification data of the relevant motor vehicle are sent by the motor vehicle via the telecommunication connection to the vehicle-external service device. On the basis of the vehicle configuration information, the vehicle-external service facility checks whether one or more software components are to be updated according to a control rule available at the vehicle-external service facility. A corresponding update rule is provided by the vehicle-external service facility, and the software component to be updated is updated on the basis of the update rule. The update of the software component to be updated is offered to the driver by the off-board service facility prior to its execution. The update can be released on the offer exclusively by the driver of the motor vehicle. The sending of the vehicle configuration information and the identification data takes place without assistance and / or notification of the driver, time-controlled and / or event-controlled repeatedly.

Der Erfindung liegt die Aufgabe zu Grunde, ein gegenüber dem Stand der Technik verbessertes Verfahren zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs anzugeben.The invention is based on the object to provide a comparison with the prior art improved method for updating a software at least one control device of a vehicle.

Die Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs mit den Merkmalen des Anspruchs 1.The object is achieved by a method for updating a software at least one control device of a vehicle having the features of 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 Verfahren zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs wird erfindungsgemäß, wenn das Steuergerät kein Dateisystem nutzt, 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.In a method for updating software of at least one control device of a vehicle, if the control device does not use a file system, a hash is formed via the current software of the control device 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.

Vorteilhafterweise wird die komprimierte, gehashte und signierte Tabelle vom Backend an das Fahrzeug gesendet, auf Integrität geprüft und die Software wird aktualisiert.Advantageously, the compressed, hashed and signed table is sent from the backend to the vehicle, checked for integrity, and the software is updated.

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.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.

Vorteilhafterweise wird das komprimierte, gehashte und signierte Datenpaket vom Backend an das Fahrzeug gesendet, auf Integrität geprüft und die Software wird aktualisiert.Advantageously, the compressed, hashed and signed data packet is sent from the backend to the vehicle, checked for integrity, and the software is updated.

Vorteilhafterweise wird bei mehreren Steuergeräten, welche kein Dateisystem nutzen, für jedes Steuergerät der Hash über die aktuelle Software des Steuergeräts gebildet und an das Backend gesendet. Vom Backend wird der zum Hash passende Stand der aktuellen Software gesucht und die neue Software mit der aktuellen Software verglichen. Geänderte Softwareblöcke werden identifiziert und die Tabelle aus der jeweiligen Blocknummer und dem jeweiligen neuen Inhalt wird für die geänderten Softwareblöcke gebildet. Diese Tabelle wird komprimiert und die komprimierte Tabelle wird gehasht und signiert. Bis hierher ist der Verfahrensablauf somit für jedes Steuergerät identisch zum oben beschriebenen Verfahrensablauf für ein einzelnes Steuergerät, welches kein Dateisystem nutzt.Advantageously, in the case of a plurality of controllers which do not use a file system, the hash is formed for each controller via the current software of the controller and sent to the backend. The backend looks for the state of the current software for the hash and compares the new software with the current software. Modified software blocks are identified and the table of the respective block number and the respective new content is formed for the changed software blocks. This table is compressed and the compressed table is hashed and signed. Up to this point, the process flow is thus identical for each control device to the process flow described above for a single control device which does not use a file system.

Zusätzlich wird nun den komprimierten, gehashten und signierten Tabellen für die mehreren Steuergeräte eine Indextabelle vorangestellt, die die Informationen aus den Tabellen enthält.In addition, the compressed, hashed, and signed tables for the multiple controllers will now be preceded by an index table containing the information from the tables.

Vorteilhafterweise wird die Indextabelle gehasht und zusammen mit den komprimierten, gehashten und signierten Tabellen vom Backend an das Fahrzeug gesendet, wo sie auf Integrität geprüft werden und die Software des jeweiligen Steuergeräts aktualisiert wird.Advantageously, the index table is hashed and sent together with the compressed, hashed and signed tables from the backend to the vehicle, where they are checked for integrity and the software of the respective controller is updated.

Die erfindungsgemäße Lösung ermöglicht eine konsistente Aktualisierung des Fahrzeugs, genauer gesagt der Software eines Steuergeräts oder insbesondere mehrerer Steuergeräte des Fahrzeugs, innerhalb vorhandener Aktualisierungsmöglichkeiten und unter Berücksichtigung aller Abhängigkeiten. Die vorhandenen Aktualisierungsmöglichkeiten sind durch äußere Rahmenbedingungen, beispielsweise durch eine Batterielaufzeit des Fahrzeugs, eine minimale Stillstandzeit des Fahrzeugs und teure Datenverbindungen, begrenzt, können jedoch mittels des erfindungsgemäßen Verfahrens optimal genutzt werden. The solution according to the invention makes possible a consistent updating of the vehicle, more precisely the software of a control device or in particular of a plurality of control devices of the vehicle, within existing updating options and taking into account all dependencies. The existing update options are limited by external conditions, for example by a battery life of the vehicle, a minimum downtime of the vehicle and expensive data connections, but can be optimally used by the method according to the invention.

Insbesondere ermöglicht das Verfahren eine Aktualisierung „over the Air“, d. h. über eine funkbasierte Datenübertragungsverbindung, zum Beispiel über Mobilfunk oder WLAN. Dadurch werden insbesondere Werkstattaufenthalte zur Softwareaktualisierung vermieden.In particular, the method allows updating "over the air", d. H. via a radio-based data transmission connection, for example via mobile radio or WLAN. As a result, in particular workshop visits to the software update are avoided.

Mittels der erfindungsgemäßen Lösung ist es insbesondere möglich, voneinander abhängige Systeme, zum Beispiel Radare, ESP (Steuergerät für ein elektronisches Stabilitätsprogramm), Zentralsteuergerät und Zündung, so zu aktualisieren, dass das Fahrzeug für einen Fahrzeugnutzer nutzbar bleibt.By means of the solution according to the invention, it is in particular possible to update interdependent systems, for example radars, ESP (electronic stability program control unit), central control unit and ignition, in such a way that the vehicle remains usable for a vehicle user.

Ausführungsbeispiele der Erfindung werden im Folgenden anhand von Zeichnungen näher erläutert.Embodiments of the invention are explained in more detail below with reference to drawings.

Dabei zeigt:

  • 1 schematisch eine Ausführungsform eines Verfahrens zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs,
  • 2 schematisch eine Ausführungsform des Verfahrens für mehrere Steuergeräte, und
  • 3 schematisch eine weitere Ausführungsform des Verfahrens zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs.
Showing:
  • 1 1 schematically shows an embodiment of a method for updating a software of at least one control device of a vehicle,
  • 2 schematically an embodiment of the method for a plurality of control devices, and
  • 3 schematically another embodiment of the method for updating a software at least one control device of a vehicle.

Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.Corresponding parts are provided in all figures with the same reference numerals.

1 zeigt eine Ausführungsform eines Verfahrens zur Aktualisierung einer Software eines Steuergeräts eines Fahrzeugs, welches kein Dateisystem aufweist. 2 zeigt eine Ausführungsform des Verfahrens für mehrere Steuergeräte, die kein Dateisystem aufweisen, und 3 zeigt eine Ausführungsform des Verfahrens für ein oder mehrere Steuergeräte mit einem Dateisystem. 1 shows an embodiment of a method for updating a software of a control device of a vehicle, which has no file system. 2 shows an embodiment of the method for a plurality of controllers that have no file system, and 3 shows an embodiment of the method for one or more controllers with a file system.

Moderne Fahrzeugsysteme nutzen häufig mehrere Steuergeräte in einem System. Dabei bestehen softwareseitige Abhängigkeiten in diesen Systemen, d. h. zwischen den Steuergeräten. Diese gehen teilweise soweit, dass bestimmte Steuergeräte nicht mehr unabhängig voneinander in ihrer Software aktualisiert werden können.Modern vehicle systems often use multiple ECUs in a system. There are software dependencies in these systems, ie. H. between the control units. These go so far in part that certain ECUs can not be independently updated in their software.

Um dies zu kompensieren, ist bisher vorgesehen, dass die Aktualisierung in einer Werkstatt durchgeführt wird, wobei diese Steuergeräte nacheinander aktualisiert werden. Eine entsprechende Information zur Aktualisierung der Steuergeräte und zur Aktualisierungsreihenfolge wird ausschließlich in Schriftform gegeben.To compensate for this, it has heretofore been envisaged that the update will be carried out in a workshop, these controllers being updated successively. A corresponding information for updating the ECUs and the order of updating is given in writing only.

Eine Aktualisierung aller in einem jeweiligen System inkludierten und voneinander abhängigen Steuergeräte nacheinander durch Überschreiben der kompletten Software ist über einen Fernzugriff zu einem Backend, d. h. zu einer fahrzeugexternen Service-Einrichtung, beispielsweise einem fahrzeugexternen Server, insbesondere „over the Air“, d. h. über eine funkbasierte Datenübertragungsverbindung, zum Beispiel über Mobilfunk oder WLAN, aus Zeitgründen nicht sinnvoll, insbesondere aufgrund von Batterielaufzeiten, Datenmengen und einer erforderlichen Stilllegungszeit des Fahrzeugs.An update of all the control devices included in a respective system and dependent on each other by overwriting the complete software is via a remote access to a backend, d. H. to an off-board service facility, such as an off-board server, especially "over the air", d. H. over a radio-based data transmission connection, for example via mobile radio or WLAN, for time reasons not useful, especially due to battery life, data volumes and a necessary shutdown time of the vehicle.

Mittels der im Folgenden beschriebenen Lösung können solche Steuergerätsysteme, d. h. insbesondere mehrere voneinander abhängige Steuergeräte, sicher und zeiteffizient aktualisiert werden, insbesondere auch „over the Air“, d. h. über eine funkbasierte Datenübertragungsverbindung, zum Beispiel über Mobilfunk oder WLAN, zum Backend.By means of the solution described below, such control system systems, i. H. In particular, several interdependent ECUs are updated safely and time efficiently, especially "over the air", d. H. via a radio-based data transmission connection, for example via mobile radio or WLAN, to the backend.

Die beschriebene Lösung ist ein geteilter Ansatz, in Abhängigkeit davon, ob das jeweilige Steuergerät ein Dateisystem nutzt oder nicht.The solution described is a shared approach, depending on whether the respective controller uses a file system or not.

Nutzt das Steuergerät kein Dateisystem, wird, wie in 1 dargestellt, in einem ersten Schritt S1 ein Hash, insbesondere eine Prüfsumme, über die aktuelle Software gebildet und ins Backend gesendet.If the controller does not use a file system, it will, as in 1 represented, in a first step S1 a hash, in particular a checksum, formed on the current software and sent to the backend.

Das Backend kennt die gesamte Steuergerätsoftware und sucht in einem zweiten Schritt S2 einen zum Hash passenden Stand der aktuellen Software.The backend knows the entire controller software and searches in a second step S2 for a hash matching state of the current software.

Da eine Dateiblockzuordnung bei derartigen Steuergeräten stets gleich ist, wird in einem dritten Schritt S3 eine neue Software, wenn eine solche vorhanden ist, mit der aktuellen Software verglichen und nur geänderte Softwareblöcke werden identifiziert.Since a file block assignment is always the same in such controllers, in a third step S3 new software, if one exists, is compared with the current software and only changed software blocks are identified.

In einem vierten Schritt S4 wird eine Tabelle aus einer jeweiligen Blocknummer und einem jeweiligen neuen Inhalt für die geänderten Softwareblöcke gebildet.In a fourth step S4, a table is formed from a respective block number and a respective new content for the changed software blocks.

In einem fünften Schritt S5 werden diese Informationen komprimiert und dieses Teil wird gehasht und signiert, d. h. die Tabelle wird komprimiert und die komprimierte Tabelle wird gehasht und signiert.In a fifth step S5, this information is compressed and this part is hashed and signed, ie the table is compressed and the compressed table is hashed and signed.

Zweckmäßigerweise wird die komprimierte, gehashte und signierte Tabelle in einem sechsten Schritt S6 vom Backend an das Fahrzeug gesendet, insbesondere auf Integrität geprüft und die Software wird aktualisiert.Conveniently, in a sixth step S6, the compressed, hashed and signed table is sent from the backend to the vehicle, in particular checked for integrity, and the software is updated.

Bei mehreren zu aktualisierenden Steuergeräten, die kein Dateisystem nutzen, wird das Verfahren vom ersten Schritt S1 bis zum fünften Schritt S5 wie oben beschrieben für jedes dieser Steuergeräte durchgeführt, wie in 2 anhand einer Widerholungsschleife entsprechend einer Anzahl A der Steuergeräte gezeigt.In the case of a plurality of controllers to be updated which do not use a file system, the procedure from the first step S1 to the fifth step S5 is performed as described above for each of these controllers, as in FIG 2 shown by a repetition loop corresponding to a number A of the controllers.

In einem sechsten Schritt S6 wird diesen Informationen, d. h. den komprimierten, gehashten und signierten Tabellen, eine Tabelle, im Folgenden als Indextabelle bezeichnet, vorangestellt, die selbiges für die jeweiligen Steuergeräte enthält, d. h. diese Indextabelle enthält die Informationen aus den Tabellen (beispielsweise Steuergerät A beginnt bei Datenblock/Zeile 70, Steuergerät B bei 700, ...).In a sixth step S6, this information, i. H. the compressed, hashed and signed tables, a table, hereafter referred to as index table prefixed, which contains the same for the respective ECUs, d. H. this index table contains the information from the tables (eg, controller A starts at data block / line 70, controller B at 700, ...).

In einem siebten Schritt S7 wird diese Information, d. h. die Indextabelle, gehasht und signiert.In a seventh step S7, this information, i. H. the index table, hashed and signed.

Zweckmäßigerweise werden in einem achten Schritt S8 die gehashte und signierte Indextabelle und die komprimierten, gehashten und signierten Tabellen vom Backend an das Fahrzeug gesendet, insbesondere auf Integrität geprüft und die Software des jeweiligen Steuergeräts wird aktualisiert.Expediently, in an eighth step S8, the hashed and signed index table and the compressed, hashed and signed tables are sent from the backend to the vehicle, in particular checked for integrity and the software of the respective control unit is updated.

Für Steuergeräte mit Dateisystemen wird das Verfahren gemäß 3 durchgeführt. Eine virtuelle Form des Dateisystems in einem Image, insbesondere in einem Speicherabbild, ist im Backend gespeichert, insbesondere als ein Katalog, insbesondere für jede Softwarevariante.For controllers with file systems, the procedure under 3 carried out. A virtual form of the file system in an image, in particular in a memory image, is stored in the backend, in particular as a catalog, in particular for each software variant.

In einem ersten Schritt S1 wird mittels eines geeigneten Verfahrens, insbesondere mittels eines Abgleichverfahrens, zum Beispiel mittels „rsync“, eine Übersicht über Daten, die geändert sind, gebildet.In a first step S1, an overview of data that has been changed is formed by means of a suitable method, in particular by means of an adjustment method, for example by means of "rsync".

In einem zweiten Schritt S2 werden diese Daten, insbesondere inklusive eines Datenpfades, in einem Datenpaket zusammengefasst.In a second step S2, these data, in particular including a data path, are combined in a data packet.

In einem dritten Schritt S3 werden diese Informationen, d. h. dieses Datenpaket, komprimiert, gehasht und signiert.In a third step S3, this information, i. H. this data packet, compressed, hashed and signed.

Zweckmäßigerweise wird in einem vierten Schritt S4 das komprimierte, gehashte und signierte Datenpaket vom Backend an das Fahrzeug gesendet, insbesondere auf Integrität geprüft und die Software wird aktualisiert.Appropriately, in a fourth step S4, the compressed, hashed and signed data packet is sent from the backend to the vehicle, in particular checked for integrity and the software is updated.

Die in 1 bzw. in 2 dargestellte und oben beschriebene Vorgehensweise für Steuergeräte, welche kein Dateisystem nutzen, und die in 3 dargestellte und oben beschriebene Vorgehensweise für Steuergeräte, welche ein Dateisystem nutzen, können in einer Datentabelle auch kombiniert genutzt werden. Dies ist wichtig, da häufig in Steuergerätsystemen sowohl Steuergeräte mit Dateisystem als auch Steuergeräte ohne Dateisystem zum Einsatz kommen.In the 1 or in 2 illustrated and described above for controllers that do not use a file system, and the in 3 illustrated and described above for control devices that use a file system, can be used in a data table and combined. This is important because controller systems often use both file system controllers and non-file system controllers.

Da die vollständige Tabelle, insbesondere Indextabelle, an das Fahrzeug gesendet und dort vollständig auf Integrität geprüft wird, d. h. eine Signaturprüfung durchgeführt wird, ist im Falle eines Abbruchs des Aktualisierungsvorgangs auch ein „Zurückrollen“ möglich, d. h. ein Wiederherstellen der vorherigen Softwareversion, da hierfür notwendige Änderungen bereits in der Tabelle, insbesondere Indextabelle, hinterlegt sind.Since the complete table, in particular index table, is sent to the vehicle where it is completely checked for integrity, i. H. If a signature check is carried out, it is also possible to "roll back" in the event of an abort of the update process. H. Restoring the previous software version, since necessary changes are already stored in the table, especially the index table.

Die beschriebene Lösung ermöglicht eine konsistente Aktualisierung des Fahrzeugs, genauer gesagt der Software eines Steuergeräts oder insbesondere mehrerer Steuergeräte des Fahrzeugs, innerhalb vorhandener Aktualisierungsmöglichkeiten und unter Berücksichtigung aller Abhängigkeiten. Die vorhandenen Aktualisierungsmöglichkeiten sind durch äußere Rahmenbedingungen, beispielsweise durch eine Batterielaufzeit des Fahrzeugs, eine minimale Stillstandzeit des Fahrzeugs und teure Datenverbindungen, begrenzt, können jedoch mittels des beschriebenen Verfahrens optimal genutzt werden.The described solution enables a consistent updating of the vehicle, more precisely the software of a control device or in particular of a plurality of control devices of the vehicle, within existing updating options and taking into account all dependencies. The existing update options are limited by external conditions, for example by a battery life of the vehicle, a minimum downtime of the vehicle and expensive data connections, but can be optimally used by the method described.

Mittels der beschriebenen Lösung ist es insbesondere möglich, voneinander abhängige Systeme, zum Beispiel Radare, ESP, Zentralsteuergerät und Zündung, so zu aktualisieren, dass das Fahrzeug für einen Fahrzeugnutzer nutzbar bleibt.By means of the described solution, it is in particular possible to update interdependent systems, for example radars, ESP, central control unit and ignition, so that the vehicle remains usable for a vehicle user.

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 102009018761 A1 [0002]DE 102009018761 A1 [0002]

Claims (2)

Verfahren zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs, dadurch gekennzeichnet, dass, wenn das Steuergerät kein Dateisystem nutzt, - ein Hash über die aktuelle Software des Steuergeräts gebildet wird und an ein Backend gesendet wird, - vom Backend ein zum Hash passender Stand der aktuellen Software gesucht wird, - vom Backend eine neue Software mit der aktuellen Software verglichen wird, geänderte Softwareblöcke identifiziert werden und eine Tabelle aus einer jeweiligen Blocknummer und einem jeweiligen neuen Inhalt für die geänderten Softwareblöcke gebildet wird, - diese Tabelle komprimiert wird und die komprimierte Tabelle gehasht und signiert wird, - die komprimierte, gehashte und signierte Tabelle vom Backend an das Fahrzeug gesendet wird, auf Integrität geprüft wird und die Software aktualisiert wird, und/oder dass, wenn das Steuergerät ein Dateisystem nutzt, - eine virtuelle Form des Dateisystems in einem Image im Backend gespeichert ist, - mittels eines Abgleichverfahrens eine Übersicht über Daten, die geändert sind, gebildet wird, - diese Daten in einem Datenpaket zusammengefasst werden, welches komprimiert, gehasht und signiert wird, - das komprimierte, gehashte und signierte Datenpaket vom Backend an das Fahrzeug gesendet wird, auf Integrität geprüft wird und die Software aktualisiert wird. A method for updating a software at least one control device of a vehicle, characterized in that, if the controller does not use a file system, - a hash is formed on the current software of the controller and is sent to a backend, - from the backend to the hash matching state of current software is sought, - is compared by the backend a new software with the current software, modified 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 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, and / or, if the controller uses a file system, - a virtual file system format an image stored in the backend is - by means of a matching process, an overview of data that is changed, is formed, - this data is summarized in a data packet, which is compressed, hashed and signed, - the compressed, hashed and signed data packet is sent from the back to the vehicle , is checked for integrity and the software is updated. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei mehreren Steuergeräten, welche kein Dateisystem nutzen, für jedes Steuergerät - der Hash über die aktuelle Software des Steuergeräts gebildet wird und an das Backend gesendet wird, - vom Backend der zum Hash passende Stand der aktuellen Software gesucht wird, - vom Backend die neue Software mit der aktuellen Software verglichen wird, geänderte Softwareblöcke identifiziert werden und die Tabelle aus der jeweiligen Blocknummer und dem jeweiligen neuen Inhalt für die geänderten Softwareblöcke gebildet wird, - diese Tabelle komprimiert wird und die komprimierte Tabelle gehasht und signiert wird, wobei den komprimierten, gehashten und signierten Tabellen eine Indextabelle vorangestellt wird, die die Informationen aus den Tabellen enthält, wobei die Indextabelle gehasht und signiert wird, die gehashte und signierte Indextabelle und die komprimierten, gehashten und signierten Tabellen vom Backend an das Fahrzeug gesendet werden, auf Integrität geprüft werden und die Software des jeweiligen Steuergeräts aktualisiert wird.Method according to Claim 1 , characterized in that in the case of a plurality of control units which do not use a file system, the control unit has the current software for each control unit and the hash is sent to the backend, the backend searches for the state of the current software that is appropriate for the hash, the new software is compared with the current software from the backend, changed software blocks are identified and the table is formed from the respective block number and the respective new content for the changed software blocks, this table is compressed and the compressed table is hashed and signed, where prefixing the compressed, hashed, and signed tables with an index table containing the information from the tables, where the index table is hashed and signed, the hashed and signed index table, and the compressed, hashed, and signed tables sent from the backend to the vehicle Integrity g be checked and the software of the respective control unit is updated.
DE102018003777.1A 2018-05-09 2018-05-09 Method for updating a software of at least one control device of a vehicle Withdrawn DE102018003777A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102018003777.1A DE102018003777A1 (en) 2018-05-09 2018-05-09 Method for updating a software of at least one control device of a vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018003777.1A DE102018003777A1 (en) 2018-05-09 2018-05-09 Method for updating a software of at least one control device of a vehicle

Publications (1)

Publication Number Publication Date
DE102018003777A1 true DE102018003777A1 (en) 2018-10-25

Family

ID=63714749

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018003777.1A Withdrawn DE102018003777A1 (en) 2018-05-09 2018-05-09 Method for updating a software of at least one control device of a vehicle

Country Status (1)

Country Link
DE (1) DE102018003777A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019000493A1 (en) 2019-01-23 2019-06-06 Daimler Ag Method for updating a respective software of several control units of a vehicle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009018761A1 (en) 2009-04-27 2010-10-28 Bayerische Motoren Werke Aktiengesellschaft Process for updating software components

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009018761A1 (en) 2009-04-27 2010-10-28 Bayerische Motoren Werke Aktiengesellschaft Process for updating software components

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019000493A1 (en) 2019-01-23 2019-06-06 Daimler Ag Method for updating a respective software of several control units of a vehicle

Similar Documents

Publication Publication Date Title
DE10029645B4 (en) Method for addressing network components
DE102014204222A1 (en) METHOD AND DEVICE FOR REPROGRAMMING MULTIPLE VEHICLE SOFTWARE MODULES
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
DE102005034944B3 (en) Field bus system e.g. LIN bus system, configuration method for use in e.g. motor vehicle, involves checking whether bus subscriber still has standard address, and identifying subscriber and assigning clear subscriber address to subscriber
DE112017005979T5 (en) Parallel Process Device and Parallel Process Program
DE102017217668A1 (en) Method and central data processing device for updating software in a plurality of vehicles
DE112019003727T5 (en) ELECTRONIC VEHICLE CONTROL SYSTEM, PROGRAM UPDATE APPROVAL DETERMINATION PROCEDURE AND PROGRAM UPDATE APPROVAL PROGRAM
DE112019002411T5 (en) In-vehicle update device, update process method and update process program
DE102018103209A1 (en) METHOD AND DEVICE FOR HANDLING THE MATCHING OF MULTICYCLIC VEHICLE SOFTWARE UPDATES
DE112018001894T5 (en) Control device, transmission method and computer program
DE102018214999A1 (en) Device for securing diagnostic commands to a control unit and corresponding motor vehicle
WO2019162122A1 (en) System for transferring at least one update packet for at least one control unit of a motor vehicle, and method
DE102018003777A1 (en) Method for updating a software of at least one control device of a vehicle
DE102017220526A1 (en) Method and device for updating software
DE102015203929A1 (en) Updating of map data of a navigation device for vehicles
WO2005022382A2 (en) Method for the installation of a program component
DE102019004612A1 (en) Method for operating a vehicle with a control device
DE112019002469T5 (en) ELECTRONIC CONTROL UNIT AND SESSION SETUP PROGRAM
DE102022110251A1 (en) OTA MASTER, CENTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE102018209248A1 (en) A data update system, method for updating a record stored on a controller, and computer readable storage
DE102022113922A1 (en) OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE102016115792A1 (en) Method for transmitting a difference file
DE102021209058A1 (en) System and method for managing the update of a vehicle's electronic control unit
DE102019000493A1 (en) Method for updating a respective software of several control units of a vehicle
DE102020206262A1 (en) Data rewriting method and data rewriting system

Legal Events

Date Code Title Description
R230 Request for early publication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee