DE102017118348A1 - Aktualisierung eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit mehreren Programmdateien - Google Patents

Aktualisierung eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit mehreren Programmdateien Download PDF

Info

Publication number
DE102017118348A1
DE102017118348A1 DE102017118348.5A DE102017118348A DE102017118348A1 DE 102017118348 A1 DE102017118348 A1 DE 102017118348A1 DE 102017118348 A DE102017118348 A DE 102017118348A DE 102017118348 A1 DE102017118348 A1 DE 102017118348A1
Authority
DE
Germany
Prior art keywords
computing device
program
file
legacy
program file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017118348.5A
Other languages
English (en)
Inventor
Manikandan Erachan
Mary Raymond
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.)
Connaught Electronics Ltd
Original Assignee
Connaught Electronics Ltd
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 Connaught Electronics Ltd filed Critical Connaught Electronics Ltd
Priority to DE102017118348.5A priority Critical patent/DE102017118348A1/de
Publication of DE102017118348A1 publication Critical patent/DE102017118348A1/de
Pending 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/658Incremental updates; Differential updates
    • 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 zum Aktualisieren eines in einer Recheneinrichtung (3) eines Kraftfahrzeugs (4) hinterlegten Anwendungsprogramms (15), welches mehrere Programmdateien (14a, 14b, 14c) aufweist, nach einer Inbetriebnahme des Kraftfahrzeugs (4), wobei die Recheneinrichtung (3) ein Dateisystem aufweist, mit einem a) Ermitteln (12a, 12b) einer Abweichung (13a, 13b) zwischen zumindest einer in der Recheneinrichtung (3) und einer fahrzeugexternen Verarbeitungseinrichtung (2) hinterlegten Alt-Programmdatei (14a, 14b) des Anwendungsprogramms (15) in binärer Form und zumindest einer auf die Recheneinrichtung (3) zu übertragenden Programmdatei (16a, 16b) für das Anwendungsprogramm (15) in binärer Form, welche die Alt-Programmdatei (14a, 14b) in der Recheneinrichtung (3) ersetzen soll, durch die fahrzeugexterne Verarbeitungseinrichtung (2), und zwar in Form einer binären Zeichenkette; einem b) Übermitteln (21) einer Aktualisierungsdatei (18), welche die Abweichung (13a, 13b) und eine zusätzlichen Information (20) über die zu aktualisierende Alt-Programmdatei (14a, 14b) repräsentiert, von der fahrzeugexternen Verarbeitungseinrichtung (2) zu der Recheneinrichtung (3); einem c) Identifizieren der zu aktualisierenden Alt-Programmdatei (14a, 14b) in Abhängigkeit der übermittelten zusätzlichen Information (20) durch die Recheneinrichtung (3); und einem d) Aktualisieren der identifizierten Alt-Programmdatei (14a, 14b) durch die Recheneinrichtung (3), mit einem Ersetzen (22) einer in der Alt-Programmdatei (14a, 14b) bestehenden binären Alt-Zeichenkette durch die als Abweichung (13a, 13b) ermittelte binäre Zeichenkette, um die Aktualisierung des in der Recheneinrichtung (3) des Kraftfahrzeugs (4) hinterlegten Anwendungsprogrammes (15) zu beschleunigen.

Description

  • Die Erfindung betrifft ein Verfahren zum Aktualisieren eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogrammes, welches mehrere Programmdateien aufweist, nach einer Inbetriebnahme des Kraftfahrzeugs, wobei die Recheneinrichtung ein Dateisystem aufweist. Die Erfindung betrifft auch eine entsprechende Recheneinrichtung für ein Kraftfahrzeug sowie ein Kraftfahrzeug mit einer solchen Recheneinrichtung und eine fahrzeugexterne Verarbeitungseinrichtung zum Aktualisieren eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms, sowie ein entsprechendes Aktualisierungssystem mit Verarbeitungseinrichtung und Recheneinrichtung beziehungsweise Kraftfahrzeug.
  • Bei geläufigen Aktualisierungsmethoden oder „Flash“-Methoden für Recheneinrichtungen, beispielsweise elektronische Steuergeräte (Electronic Control Units, ECUs) wird ein vollständiges Speicherabbild, welches neudeutsch auch als Image oder Disc Image bezeichnet wird, einer Binärdatei eines Anwendungsprogramms überspielt. Dies nimmt dabei verhältnismäßig viel Zeit in Anspruch und kann beispielsweise bei einer Image-Größe von sieben Megabyte im Kraftfahrzeugbereich bis zu 50 Minuten dauern. Da im Kraftfahrzeugbereich ein Trend zu regelmäßig erfolgenden Aktualisierungen von Anwendungsprogrammen, also Software, zu erkennen ist und auch die Größe der zu aktualisierenden Software beziehungsweise der zu aktualisierenden Anwendungsprogramme stetig steigt, und zugleich auch eine Aktualisierung der entsprechenden Recheneinrichtung oder des Steuergeräts über eine drahtlos-Verbindung wie beispielsweise eine Mobilfunkverbindung oder eine Verbindung eines drahtlosen lokalen Netzwerks (wireless local area network, WLAN) populärer wird, besteht ein großes Interesse daran, die für das Aktualisieren erforderliche Zeit zu reduzieren.
  • Ein Ansatz ist hier das sogenannte „Delta-flashing“, bei welchem nicht das Speicherabbild als Ganzes sondern lediglich die zu aktualisierenden Teile des Anwendungsprogramms welche sich im Vergleich zu einer Vorgängerversion des Anwendungsprogramms geändert haben, überschrieben oder „geflasht“ werden. Dabei wird das Anwendungsprogramm als Gesamteinheit in Form einer einzigen Binärdatei behandelt und die in der Recheneinrichtung hinterlegte Binärdatei mit einer neueren Version des Anwendungsprogramms in Form einer weiteren Binärdatei verglichen. Die ermittelte Abweichung wird als binäre Zeichenkette erfasst, an die Recheneinrichtung übermittelt und dort in das in Form der Binärdatei hinterlegte Anwendungsprogramm hinein geschrieben.
  • In diesem Zusammenhang offenbart die US 2014/059532 A1 ein Verfahren zum Aktualisieren eines Steuergeräts in einem Kraftfahrzeug, bei welchem lediglich die Speichersegmente überschrieben werden, welche tatsächlich umprogrammiert werden müssen.
  • Es ergibt sich somit die Aufgabe, die Aktualisierung eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogrammes zu beschleunigen.
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhaft Ausführungsformen ergeben sich aus den abhängigen Patentansprüchen, der Beschreibung und den Figuren.
  • Ein Aspekt der Erfindung betrifft ein Verfahren zum Aktualisieren eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogrammes nach einer Inbetriebnahme des Kraftfahrzeugs. Das Verfahren ist somit geeignet, das Anwendungsprogramm nach Abschluss einer Produktion, beispielsweise nach einer Auslieferung, zu aktualisieren, beispielsweise, wenn das Kraftfahrzeug in einer Pause eines bestimmungsgemäßen Gebrauches stillsteht. Das Anwendungsprogramm weist dabei mehrere zum Ausführen des Anwendungsprogramms erforderliche Programmdateien auf. Entsprechend weist die Recheneinrichtung ein Dateisystem auf, mit welchem beispielsweise die jeweiligen Programmdateien dem Anwendungsprogramm zuordenbar und/oder sich einander zuordenbar sind. Die Recheneinrichtung kann beispielsweise ein Steuergerät, eine sogenannte Electronic Control Unit, sein oder umfassen.
  • Das Verfahren umfasst dabei ein Ermitteln zumindest einer Abweichung zwischen zumindest einer in der Recheneinrichtung und einer fahrzeugexternen Verarbeitungseinrichtung, beispielsweise einem stationären Computer, hinterlegten Alt-Programmdatei des Anwendungsprogramms in binärer Form und zumindest einer auf die Recheneinrichtung zu übertragenden Programmdatei für das Anwendungsprogramm in binärer Form, welche die Alt-Programmdatei in der Recheneinrichtung ersetzen soll, durch die fahrzeugexterne elektronische Verarbeitungseinrichtung. Die zu übertragende Programmdatei kann dabei als Neu-Programmdatei bezeichnet werden. Die zu übertragende (Neu-)Programmdatei ist somit der Alt-Programmdatei zugeordnet und beispielsweise mit dieser funktionsgleich oder funktionsähnlich. Die zu übertragende Programmdatei und die Alt-Programmdatei werden also vorliegend in Form von Binärdateien miteinander verglichen, so dass die Abweichung eine binäre Abweichung ist. Die Abweichung wird somit in Form einer binären Zeichenkette ermittelt. Diese binäre Zeichenkette kann dabei insbesondere nur einen Ausschnitt oder eine Teilmenge der jeweiligen Programmdatei enthalten, nämlich genau den Ausschnitt oder die Teilmenge, welche aktualisiert werden soll. Die Abweichung wird somit für zumindest ein Paar von einer jeweiligen Alt-Programmdatei und zu übertragenden (Neu-)Programmdatei ermittelt. Insbesondere kann im Kontext dieser Erfindung der Begriff „Programmdatei“ nicht nur als ausführbare Programmdatei verstanden werden, sondern auch allgemein als Begriff für jegliche Dateien wie beispielsweise Datendateien oder Bilddateien, da die Erfindung für jegliche Dateitypen funktioniert.
  • Des Weiteren erfolgt hier ein Übermitteln einer Aktualisierungsdatei, welche die Abweichung und eine zusätzliche Information über die zu aktualisierende Alt-Programmdatei enthält oder repräsentiert, von der fahrzeugexternen Verarbeitungseinrichtung zu der Recheneinrichtung. Diese Aktualisierungsdatei kann somit die als Abweichung ermittelte binäre Zeichenkette enthalten. Die Aktualisierungsdatei kann also die Abweichung in binärer Form enthalten, also die binäre Zeichenkette als solche enthalten. Die Aktualisierungsdatei kann dabei auch komprimiert sein, die als Abweichung ermittelte binäre Zeichenkette also in komprimierter Form enthalten oder repräsentieren. Die zusätzliche Information kann beispielsweise in einem entsprechenden Dateikopf oder „Header“ enthalten sein, welcher eine Information über eine Identität der zu aktualisierenden Alt-Programmdatei und/oder über eine Datenlänge der als Abweichung ermittelten binären Zeichenkette und/oder über eine Position der als Abweichung ermittelten binären Zeichenkette in der Aktualisierungsdatei und/oder über eine Position einer durch die als Abweichung ermittelte binäre Zeichenkette zu ersetzende binäre Alt-Zeichenkette in der zu aktualisierenden Alt-Programmdatei enthält. Die zusätzliche Information kann somit sämtliche Informationen enthalten, welche erforderlich sind, damit die Recheneinrichtung weiß, welche Alt-Programmdatei mit welcher binären Zeichenkette in welchem Abschnitt modifiziert werden soll, und wo diese Zeichenkette zu finden ist.
  • Ein weiterer Verfahrensschritt ist ein Identifizieren der zu aktualisierenden Alt-Programmdatei in der Recheneinrichtung in Abhängigkeit der übermittelten zusätzlichen Information durch die Recheneinrichtung, sowie ein Aktualisieren der identifizierten Alt-Programmdatei durch die Recheneinrichtung. Das Aktualisieren umfasst dabei ein Ersetzen einer in der Alt-Programmdatei bestehenden binären Alt-Zeichenkette, also einer binären Zeichenkette der nicht aktualisierten Alt-Programmdatei durch die als Abweichung ermittelte binäre Zeichenkette. Durch das Ersetzen wird somit die Alt-Programmdatei in die zu übertragende (Neu-)Programmdatei beziehungsweise eine in der Recheneinrichtung verfügbare Instanz oder Kopie der (Neu-Programmdatei transformiert und somit aktualisiert.
  • Durch den vorgeschlagenen Ansatz wird somit jede Programmdatei des Anwendungsprogramms als eigenständige und somit individuell aktualisierbare Einheit betrachtet. Dadurch können wesentlich kleinere Einheiten, anstelle der üblichen ganzen Anwendungsprogramme lediglich einzelne Programmdateien, aktualisiert werden, so dass das Deltaflashing auch auf die die (Alt-)Programmdateien in binärer Form, also in nicht komprimierter binärer Form, angewendet werden kann, das heißt die Abweichung zwischen der Alt-Programmdatei und der zu übertragenden Programmdatei in jeweils unkomprimierter binärer Form ermittelt werden kann. Dadurch ergeben sich wesentlich geringere Abweichungen und entsprechend kleinere Aktualisierungsdateien. In Abhängigkeit der jeweiligen Situation kann hier die Größe der zu übermittelnden Abweichung, beispielsweise die Länge der binären Zeichenkette, um den Faktor zehn reduziert werden. Dessen unbenommen kann die Programmdatei selber in der Recheneinrichtung insbesondere nach wie vor auch in einem komprimierten Zustand aktualisiert, das heißt überschrieben oder „geflasht“ werden.
  • In einer vorteilhaften Ausführungsform ist vorgesehen, dass zumindest eine in der Recheneinrichtung hinterlegte Programmdatei des Anwendungsprogramms nicht aktualisiert wird. Das Anwendungsprogramm wird somit nur teilweise aktualisiert.
  • Das hat den Vorteil, dass das zu übermittelnde Datenvolumen besonders gering ist, da nur die für die Aktualisierung des Anwendungsprogrammes nötigen Teile des Codes des Anwendungsprogrammes übermittelt werden müssen.
  • In einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass vor dem Aktualisieren die zu aktualisierende Alt-Programmdatei in komprimierter Form von einer (insbesondere nicht flüchtigen) Speichereinheit, beispielsweise einem Flashspeicher, der Recheneinrichtung in eine (insbesondere flüchtige) weitere Speichereinheit, beispielsweise einem Direktzugriffsspeicher (Random Access Memory, RAM) der Speicherrecheneinrichtung geladen und in dekomprimierter binärer Form aktualisiert wird, sowie die aktualisierte Programmdatei, dann Neu-Programmdatei, komprimiert und in komprimierter Form in der einen (insbesondere nicht flüchtigen) Speichereinheit gespeichert wird.
  • Es ergibt sich der Vorteil, dass die Effektivität im Vergleich zu den bekannten Ansätzen, bei welchen die Anwendungsprogramme als gesamte Einheit betrachtet und überschrieben werden, gesteigert wird. Gerade bei dem allgemein üblichen komprimierten Speichern des Anwendungsprogramms beziehungsweise der zu dem Anwendungsprogramm gehörigen Programmdateien ist das beschriebene Verfahren somit vorteilhaft. Damit kann der bekannte durch das Komprimieren bedingte verringerte Speicherbedarf in der (nicht flüchtigen) Speichereinheit auch mit dem vorgeschlagenen verbesserten Verfahren beibehalten werden.
  • In einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Recheneinrichtung mehrere Rechenkerne aufweist, auf welchen im Betrieb der Recheneinrichtung beziehungsweise bei dem Ausführen des Anwendungsprogramms das Anwendungsprogramm verteilt ausgeführt wird.
  • Hier ergibt sich der Vorteil, dass Wiederholungen und Verschiebungen innerhalb des Images, welche sich bei der bekannten Aktualisierung des Anwendungsprogramms als eine Gesamteinheit aufgrund der gemeinsamen Verwendung bestimmter Teile des Anwendungsprogramms, beispielsweise einer Firmware, durch die unterschiedlichen Rechenkerne in der entsprechenden Binärdatei beziehungsweise in dem Anwendungsprogramm in binärer Form ergeben, vermieden werden können, sodass die ermittelte Abweichung kleiner ist als bei Verwendung bekannter Verfahren. Im Stand der Technik ist die Abweichung der beiden jeweiligen Images in Binärform nämlich größer, als dies eigentlich durch die inhaltliche Änderung gerechtfertigt ist. Durch das Aktualisieren der einzelnen Programmdateien können somit automatisch wiederholt genutzte Programmteile, nämlich die von den unterschiedlichen Rechenkernen genutzten Programmdateien, mit einer einzigen jeweiligen Aktualisierung, einem jeweils einzigen Überschreiben oder Ersetzen der entsprechenden einzelnen binären Zeichenkette aktualisiert werden. Da Mehrkern-Recheneinrichtungen auch im Kraftfahrzeugbereich zunehmend Anwendung finden, ist diese Ausführungsform besonders vorteilhaft.
  • In einer weiteren vorteilhaften Ausführungsform ist vorgesehen, dass die Abweichung für mehrere Alt-Programmdateien und zugeordnete jeweils zu übertragende (Neu-) Programmdateien, also für mehrere Paare von Alt-Programmdateien und zugeordneten und zu übertragenden Programmdateien ermittelt wird. Entsprechend repräsentiert oder enthält die übermittelte Aktualisierungsdatei mehrere Abweichungen, welche jeweils für ein Paar der Programmdateien eine binäre Zeichenkette enthält oder repräsentiert. Folglich werden sodann auch mehrere Alt-Programmdateien identifiziert und mehrere identifizierte Alt-Programmdateien mit einem Ersetzen der jeweiligen Alt-Zeichenkette durch die zugeordnete als Änderung für die jeweilige Alt-Programmdatei ermittelte binäre Zeichenkette aktualisiert.
  • Gerade durch das mehrfache Aktualisieren unterschiedlicher Programmdateien kommt die Flexibilität und Vielfältigkeit des beschriebenen Verfahrens zur Geltung, überdies wird so durch eine entsprechende Architektur des Anwendungsprogramms mit einer Vielzahl von Programmdateien allgemein im Sinne einer Modularität das Aktualisieren vereinfacht.
  • In einer weiteren vorteilhaften Ausführungsform kann vorgesehen sein, dass das Übermitteln ein drahtloses Übermitteln ist oder umfasst. Beispielsweise kann das Übermitteln über eine Mobilfunkverbindung und/oder eine Drahtlosnetzwerkverbindung (WLAN-Verbindung) erfolgen.
  • Hier ist das beschriebene Verfahren besonders vorteilhaft, da die Aktualisierungsdatei im Vergleich zu den herkömmlich bei einem Aktualisieren zu übermittelnden Daten sehr klein ist und somit das beschriebene Verfahren auch für eine Drahtlosverbindung, welche im Allgemeinen im Vergleich zu einer drahtgebundenen Verbindung eine eingeschränkte oder verminderte Datenrate beziehungsweise Bandbreite aufweisen, geeignet ist. Dabei eignet sich aufgrund der über die Programmdateien implementierte Modularität das Verfahren nach wie vor zum Aktualisieren auch großer Anwendungsprogramme, da jeweils nur ein Bruchteil des Anwendungsprogramms, nämlich die entsprechende Programmdatei beziehungsweise die Abweichung der zu übertragenden Programmdatei von der zu aktualisierenden Alt-Programmdatei übermittelt werden muss.
  • Ein weiterer Aspekt der Erfindung betrifft eine Recheneinrichtung für ein Kraftfahrzeug, mit einem in der Recheneinrichtung hinterlegten Anwendungsprogramm, welches nach einer Inbetriebnahme des Kraftfahrzeugs aktualisierbar ist. Dabei weist das Anwendungsprogramm mehrere Programmdateien auf und die Recheneinrichtung ein Dateisystem.
  • Die Recheneinrichtung ist hier ausgebildet, eine Aktualisierungsdatei zu empfangen, welche eine Abweichung zwischen zumindest einer in der Recheneinrichtung hinterlegten Alt-Programmdatei des Anwendungsprogramms in binärer Form und zumindest einer auf die Recheneinrichtung zu übertragende Programmdatei des Anwendungsprogramms in binärer Form, welche die Alt-Programmdatei in der Recheneinrichtung ersetzen soll, und eine zusätzliche Information über die zu aktualisierende Alt-Programmdatei repräsentiert. Des Weiteren ist die Recheneinrichtung dazu ausgebildet, die zu aktualisierende Alt-Programmdatei in Abhängigkeit der übermittelten zusätzlichen Information zu identifizieren und die identifizierte Alt-Programmdatei mit oder unter einem Ersetzen einer in der Alt-Programmdatei bestehenden binären Alt-Zeichenkette durch eine als die Abweichung ermittelte binäre Zeichenkette zu aktualisieren.
  • Vorteile und vorteilhafte Ausführungsformen der Recheneinrichtung entsprechen hier Vorteilen und vorteilhaften Ausführungsformen des beschriebenen Verfahrens.
  • Die Erfindung betrifft auch ein Kraftfahrzeug mit einer solchen Recheneinrichtung.
  • Ein weiterer Aspekt der Erfindung betrifft eine fahrzeugexterne Verarbeitungseinrichtung zum Aktualisieren eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms nach einer Inbetriebnahme des Kraftfahrzeugs. Dabei weist das Anwendungsprogramm mehrere Programmdateien auf und die Recheneinrichtung ein entsprechendes Dateisystem. Die fahrzeugexterne Verarbeitungseinrichtung ist dabei ausgebildet, eine Abweichung zwischen zumindest einer in der Recheneinrichtung und der fahrzeugexternen Verarbeitungseinrichtung hinterlegten Alt-Programmdatei des Anwendungsprogramms in binärer Form und zumindest einer auf die Recheneinrichtung zu übertragende Programmdatei des Anwendungsprogramms in binärer Form, welche die Alt-Programmdatei in der Recheneinrichtung ersetzen soll, zu ermitteln, und zwar in Form einer binären Zeichenkette. Des Weiteren ist die fahrzeugexterne Verarbeitungseinrichtung ausgebildet, eine Aktualisierungsdatei, welche die Abweichung und damit die binäre Zeichenkette und eine zusätzliche Information über die zu aktualisierende Alt-Programmdatei repräsentiert oder enthält, an die Recheneinrichtung zu senden.
  • Auch hier entsprechen Vorteile und vorteilhafte Ausführungsformen der fahrzeugexternen Verarbeitungseinrichtung Vorteilen und vorteilhaften Ausführungsformen des oben beschriebenen Verfahrens.
  • Ein weiterer Aspekt der Erfindung betrifft ein Aktualisierungssystem zum Aktualisieren eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit einer solchen Verarbeitungseinrichtung sowie zumindest einer oben beschriebenen Recheneinrichtung und/oder zumindest einem Kraftfahrzeug mit einer solchen Recheneinrichtung.
  • Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen, sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen verwendbar, ohne den Rahmen der Erfindung zu verlassen. Es sind somit auch Ausführungen von der Erfindung als umfasst und offenbart anzusehen, die in den Figuren nicht explizit gezeigt und erläutert sind, jedoch durch separierte Merkmalskombinationen aus den erläuterten Ausführungen hervorgehen und erzeugbar sind. Es sind auch Ausführungen und Merkmalskombinationen als offenbart anzusehen, die somit nicht alle Merkmale eines ursprünglich formulierten unabhängigen Anspruchs aufweisen. Es sind darüber hinaus Ausführungen und Merkmalskombinationen, insbesondere durch die oben dargelegten Ausführungen, als offenbart anzusehen, die über die in den Rückbezügen der Ansprüche dargelegten Merkmalskombinationen hinausgehen oder von diesen abweichen.
  • Ausführungsbeispiele der Erfindung werden nachfolgend anhand schematischer Zeichnungen näher erläutert. Dabei zeigen:
    • 1 eine beispielhafte Ausführungsform eines Aktualisierungssystems mit einer fahrzeugexternen Verarbeitungseinrichtung zum Aktualisieren eines in einer Recheneinrichtung des Kraftfahrzeugs hinterlegten Anwendungsprogramms sowie einer beispielhaften Ausführungsform eines Kraftfahrzeugs mit einer Recheneinrichtung mit einem in der Recheneinrichtung hinterlegten Anwendungsprogramm; und
    • 2 eine schematische Darstellung einer beispielhaften Ausführungsform eines Verfahrens zum Aktualisieren des in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit mehreren Programmdateien.
  • In den Fig. werden gleiche oder funktionsgleiche Elemente mit den gleichen Bezugszeichen versehen.
  • Das in 1 gezeigte Aktualisierungssystem 1 weist eine Verarbeitungseinrichtung 2 zum Aktualisieren eines in einer Recheneinrichtung 3 eines Kraftfahrzeugs 4 hinterlegten Anwendungsprogramms nach einer Inbetriebnahme des Kraftfahrzeugs 4 auf sowie das Kraftfahrzeug 4 mit der entsprechenden Recheneinrichtung 3.
  • Das Anwendungsprogramm weist dabei mehrere Programmdateien auf, und die Recheneinrichtung 3 ein Dateisystem. Die fahrzeugexterne elektronische Verarbeitungseinrichtung 2 ist hier ausgebildet, eine Abweichung zwischen zumindest einer in der Recheneinrichtung 3 und der fahrzeugexterne Verarbeitungseinrichtung 2 hinterlegten Alt-Programmdatei des Anwendungsprogramms in binärer Form und zumindest einer auf die Recheneinrichtung 3 zu übertragende Programmdatei des Anwendungsprogramms in binärer Form, welche die Alt-Programmdatei in der Recheneinrichtung 3 ersetzen soll, zu ermitteln, und zwar vorliegend in Form einer binärer Zeichenkette. Dabei hat die ermittelte Abweichung die Form einer binären Zeichenkette.
  • Die Verarbeitungseinrichtung 2 ist dabei ausgebildet, eine Aktualisierungsdatei, welche die Abweichung und eine zusätzliche Information über die zu aktualisierende Alt-Programmdatei repräsentiert, an die Recheneinrichtung 3 zu senden. Zu diesem Zweck weist die Verarbeitungseinrichtung 2 vorliegend eine Sendeeinheit 5 auf, mit welcher die Aktualisierungsdatei über eine Drahtlosverbindung 6 an eine Empfangseinheit 7 der Recheneinrichtung 3 übermittelt werden kann. Die Recheneinrichtung 3 weist vorliegend eine flüchtige Speichereinheit 8 in Form eines Arbeitsspeichers sowie eine nicht flüchtige Speichereinheit 9, welche vorliegend als Flashspeicher ausgeführt ist.
  • Zwischen den beiden Speichereinheiten 8, 9 können entsprechend Programmdateien hin- und her geladen werden, wie dies durch den Doppelpfeil 10 symbolisiert ist. Die Recheneinheit ist vorliegend auch an ein Datenbus-System 11, beispielsweise einen CAN-Bus, angeschlossen. In einer alternativen Ausführungsform kann die Empfangseinrichtung 7 auch nicht wie im gezeigten Beispiel direkt als Teil der Recheneinrichtung 3 mit dieser gekoppelt sein, sondern auch über das Datenbus-System 11.
  • Die Recheneinrichtung 3 ist dabei ausgebildet, die Aktualisierungsdatei zu empfangen sowie die zu aktualisierende Alt-Programmdatei, welche in der Recheneinrichtung 3, beispielsweise in der nicht flüchtigen Speichereinheit 9, hinterlegt ist in Abhängigkeit der übermittelten zusätzlichen Information in der Aktualisierungsdatei zu identifizieren und die identifizierte Alt-Programmdatei mit einem Ersetzen einer in der Alt-Programmdatei bestehenden binären Alt-Zeichenkette durch eine als die Abweichung ermittelte binäre Zeichenkette zu aktualisieren.
  • In 2 ist eine beispielhafte Ausführungsform eines Verfahrens zum Aktualisieren eines in der Recheneinrichtung 3 eines Kraftfahrzeugs 4 hinterlegten Anwendungsprogramms mit mehreren Programmdateien symbolisch dargestellt.
  • Durch die Verarbeitungseinrichtung 2 erfolgt hier ein Ermitteln 12a, 12b einer Abweichung 13a, 13b zwischen zumindest einer, vorliegend zwei, in der Recheneinrichtung 3 und der fahrzeugexternen Verarbeitungseinrichtung 2 hinterlegten Alt-Programmdatei 14a, 14b des Anwendungsprogramms 15 in binärer Form und einer jeweiligen auf die Recheneinrichtung 3 zu übertragenden Programmdatei 16a, 16b für das Anwendungsprogramm 15 in binärer Form, welche die jeweiligen Alt-Programmdateien 14a, 14b in der Recheneinrichtung 3 ersetzen sollen. Die Abweichungen 13a, 13b liegen dabei in Form einer jeweiligen binären Zeichenkette vor. Die Programmdateien 14a, 14b, 16a, 16b sind dabei unkomprimiert wenn die Abweichung 13a, 13b ermittelt wird, also wenn die jeweilige Abweichung 13a, 13b oder Unterschiedsdatei erstellt wird.
  • Es folgt ein Hinzufügen 17a, 17b der jeweiligen Änderungen beziehungsweise der jeweiligen binären Zeichenketten zu einer Aktualisierungsdatei 18. Im gezeigten Beispiel wird der Aktualisierungsdatei 18 für jede Änderung oder Abweichung 13a, 13b noch als zusätzliche Information eine jeweilige Kopfdatei 19a, 19b angefügt, welche vorliegend die Größe der Abweichung 13a, 13b beziehungsweise der binären Zeichenkette 13a, 13b anzeigt. Des Weiteren ist auch eine zusätzliche Information 20 über die aktualisierenden Alt-Programmdateien 14a, 14b Teil der Aktualisierungsdatei 18, welche einen Namen oder eine Identität der jeweils zu aktualisierenden Alt-Programmdateien 14a, 14b und die Position der jeweils zugehörigen Änderung oder Abweichung 13a, 13b in der Aktualisierungsdatei 18 anzeigt.
  • Es folgt ein Übermitteln 21 der Aktualisierungsdatei 18 von der fahrzeugexternen Verarbeitungseinrichtung 2 zu der Recheneinrichtung 3. In der Recheneinrichtung 3 erfolgt wiederum ein Identifizieren der zu aktualisierenden Alt-Programmdatei 14a, 14b in Abhängigkeit der übermittelten zusätzlichen Information 20. Es folgt sodann ein Aktualisieren der entsprechenden identifizierten Alt-Programmdatei 14a, 14b durch die Recheneinrichtung 3 mit einem Ersetzen 22 einer in der Alt-Programmdatei 14a, 14b bestehenden binären Alt-Zeichenkette durch die als Abweichung 13a, 13b ermittelte Zeichenkette. Dies ist aus Gründen der Übersichtlichkeit vorliegend nur für die erste Alt-Programmdatei 14a dargestellt.
  • Vor dem Aktualisieren der Alt-Programmdatei 14a erfolgt dabei vorliegend ein Laden 23 der Alt-Programmdatei 14a, 14b von der nicht flüchtigen Speichereinheit 9 in die flüchtige Speichereinheit 8 der Recheneinrichtung 3. Die Alt-Programmdatei 14a, 14b kann dabei insbesondere in komprimierter Form in der nicht flüchtigen Speichereinheit 9 hinterlegt und muss dann bei dem Laden 23 in die flüchtige Speichereinheit 8 dekomprimiert werden, so dass die Änderung oder Abweichung 13a in Form der binären Zeichenkette direkt in die Alt-Programmdatei 14a kopiert oder geschrieben („geflasht“) werden kann. Die Abweichung 13a wird also mit der unkomprimierten Alt-Programmdatei 14a zusammengeführt, um die neue Version der Programmdatei 14a, die aktualisierte Programmdatei 14a', welche identisch zu der entsprechenden Programmdatei 16a in der externen Verarbeitungseinrichtung 2 ist. Es folgt sodann ein Laden 24 der aktualisierten Programmdatei 14a' in die nicht flüchtige Speichereinheit 9. Dabei kann die aktualisierte Programmdatei 14a' insbesondere komprimiert werden, um Speicherplatz zu sparen. Vorliegend ist in der nicht flüchtigen Speichereinheit 9 auch noch eine weitere Programmdatei 14c des Anwendungsprogramms 15 hinterlegt, welche ebenfalls zum Ausführen des Anwendungsprogramms 15 erforderlich ist, jedoch in dem gezeigten Ausführungsbeispiel nicht aktualisiert wird. Somit kann mit einer besonders kleinen Aktualisierungsdatei 18 das Anwendungsprogramm 15 aktualisiert werden, ohne dass dabei sämtliche Dateien des Anwendungsprogramms 15 beziehungsweise das Anwendungsprogramm 15 als Ganzes aktualisiert werden müsste.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2014059532 A1 [0004]

Claims (10)

  1. Verfahren zum Aktualisieren eines in einer Recheneinrichtung (3) eines Kraftfahrzeugs (4) hinterlegten Anwendungsprogramms (15), welches mehrere Programmdateien (14a, 14b, 14c) aufweist, nach einer Inbetriebnahme des Kraftfahrzeugs (4), wobei die Recheneinrichtung (3) ein Dateisystem aufweist, mit den Verfahrensschritten: a) Ermitteln (12a, 12b) einer Abweichung (13a, 13b) zwischen zumindest einer in der Recheneinrichtung (3) und einer fahrzeugexternen Verarbeitungseinrichtung (2) hinterlegten Alt-Programmdatei (14a, 14b) des Anwendungsprogramms (15) in binärer Form und zumindest einer auf die Recheneinrichtung (3) zu übertragenden Programmdatei (16a, 16b) für das Anwendungsprogramm (15) in binärer Form, welche die Alt-Programmdatei (14a, 14b) in der Recheneinrichtung (3) ersetzen soll, durch die fahrzeugexterne Verarbeitungseinrichtung (2), und zwar in Form einer binären Zeichenkette; b) Übermitteln (21) einer Aktualisierungsdatei (18), welche die Abweichung (13a, 13b) und eine zusätzlichen Information (20) über die zu aktualisierende Alt-Programmdatei (14a, 14b) repräsentiert, von der fahrzeugexternen Verarbeitungseinrichtung (2) zu der Recheneinrichtung (3); c) Identifizieren der zu aktualisierenden Alt-Programmdatei (14a, 14b) in Abhängigkeit der übermittelten zusätzlichen Information (20) durch die Recheneinrichtung (3); d) Aktualisieren der identifizierten Alt-Programmdatei (14a, 14b) durch die Recheneinrichtung (3), mit einem Ersetzen (22) einer in der Alt-Programmdatei (14a, 14b) bestehenden binären Alt-Zeichenkette durch die als Abweichung (13a, 13b) ermittelte binäre Zeichenkette.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zumindest eine in der Recheneinrichtung (3) hinterlegte Programmdatei (14c) des Anwendungsprogrammes (15) nicht aktualisiert wird.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass vor dem Aktualisieren die zu aktualisierende Alt-Programmdatei (14a, 14b) in komprimierter Form von einer insbesondere nichtflüchtigen Speichereinheit (9) der Recheneinrichtung (3) in eine insbesondere flüchtige weitere Speichereinheit (8) der Recheneinrichtung (3) geladen und in dekomprimierter binärer Form aktualisiert wird, sowie die aktualisierte Programmdatei (14a') in komprimierter Form in der einen insbesondere nichtflüchtigen Speichereinheit (9) gespeichert wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Recheneinrichtung (3) mehrere Rechenkerne aufweist, auf welchen in Betrieb der Recheneinrichtung (3) das Anwendungsprogramm (15) verteilt ausgeführt wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Abweichung (13a, 13b) in Verfahrensschritt a) für mehrere Alt-Programmdateien (14a, 14b) und zugeordnete jeweilige zu übertragende Programmdateien (16a, 16b, 14c) ermittelt wird, die in Verfahrensschritt b) übermittelte Aktualisierungsdatei (18) entsprechend mehrere Abweichungen (13a, 13b) repräsentiert und in Verfahrensschritt c) mehrere Alt-Programmdateien (14a, 14b) identifiziert und in Verfahrensschritt d) mehrere identifizierte Alt-Programmdateien (14a, 14b) mit dem Ersetzen der jeweiligen Alt-Zeichenkette durch die zugeordnete als Abweichung (13a, 13b) für die jeweilige Alt-Programmdatei (14a, 14b) ermittelte binäre Zeichenkette aktualisiert werden.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Übermitteln (21) gemäß Verfahrensschritt b) ein drahtloses Übermitteln ist.
  7. Recheneinrichtung (3) für ein Kraftfahrzeug, mit einem in der Recheneinrichtung (3) hinterlegten Anwendungsprogramm (15), welches nach einer Inbetriebnahme des Kraftfahrzeugs (4) aktualisierbar ist, dadurch gekennzeichnet, dass das Anwendungsprogramm (15) mehrere Programmdateien (14a, 14b, 14c) aufweist und die Recheneinrichtung (3) ein Dateisystem aufweist, sowie die Recheneinrichtung (3) ausgebildet ist, - eine Aktualisierungsdatei (18), welche eine Abweichung (13a, 13b) zwischen zumindest einer in der Recheneinrichtung (3) hinterlegten Alt-Programmdatei (14a, 14b) des Anwendungsprogramms (15) und zumindest einer auf die Recheneinrichtung (3) zu übertragende Programmdatei (16a, 16b) des Anwendungsprogramms (15), welche die Alt-Programmdatei (14a, 14b) in der Recheneinrichtung (3) ersetzen soll, und eine zusätzliche Information (20) über die zu aktualisierende Alt-Programmdatei (14a, 14b) repräsentiert, zu empfangen, sowie - die zu aktualisierende Alt-Programmdatei (14a, 14b) in Abhängigkeit der übermittelten zusätzlichen Information (20) zu identifizieren und die identifizierte Alt-Programmdatei (14a, 14b) mit einem Ersetzen einer in der Alt-Programmdatei (14a, 14b) bestehenden binären Alt-Zeichenkette durch eine als die Abweichung (13a, 13b) ermittelte binäre Zeichenkette zu aktualisieren.
  8. Kraftfahrzeug (4) mit einer Recheneinrichtung (3) nach Anspruch 7.
  9. Fahrzeugexterne Verarbeitungseinrichtung (2) zum Aktualisieren eines in einer Recheneinrichtung (3) eines Kraftfahrzeugs (4) hinterlegten Anwendungsprogramms (15) nach einer Inbetriebnahme des Kraftfahrzeugs (4), dadurch gekennzeichnet, dass das Anwendungsprogramm (15) mehrere Programmdateien (14a, 14b, 14c) aufweist und die Recheneinrichtung (3) ein Dateisystem aufweist, sowie die fahrzeugexterne Verarbeitungseinrichtung (2) ausgebildet ist, - eine Abweichung (13a, 13b) zwischen zumindest einer in der Recheneinrichtung (3) und der fahrzeugexternen Verarbeitungseinrichtung (2) hinterlegten Alt-Programmdatei (14a, 14b) des Anwendungsprogramms (15) in binärer Form und zumindest einer auf die Recheneinrichtung (3) zu übertragende Programmdatei (16a, 16b) des Anwendungsprogramms (15) in binärer Form, welche die Alt-Programdatei (14a, 14b) in der Recheneinrichtung (3) ersetzen soll, zu ermitteln, und zwar in Form einer binären Zeichenkette, sowie - eine Aktualisierungsdatei (18), welche die Abweichung (13a, 13b) und eine zusätzliche Information (20) über die zu aktualisierende Alt-Programmdatei (14a, 14b) repräsentiert, an die Recheneinrichtung (3) zu senden.
  10. Aktualisierungssystem (1) mit einer Verarbeitungseinrichtung (2) nach Anspruch 9 und zumindest einer Recheneinrichtung (3) nach Anspruch 7 und/oder zumindest einem Kraftfahrzeug (4) nach Anspruch 8.
DE102017118348.5A 2017-08-11 2017-08-11 Aktualisierung eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit mehreren Programmdateien Pending DE102017118348A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017118348.5A DE102017118348A1 (de) 2017-08-11 2017-08-11 Aktualisierung eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit mehreren Programmdateien

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017118348.5A DE102017118348A1 (de) 2017-08-11 2017-08-11 Aktualisierung eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit mehreren Programmdateien

Publications (1)

Publication Number Publication Date
DE102017118348A1 true DE102017118348A1 (de) 2019-02-14

Family

ID=65084299

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017118348.5A Pending DE102017118348A1 (de) 2017-08-11 2017-08-11 Aktualisierung eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit mehreren Programmdateien

Country Status (1)

Country Link
DE (1) DE102017118348A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140059532A1 (en) 2012-08-23 2014-02-27 Metaswitch Networks Ltd Upgrading Nodes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140059532A1 (en) 2012-08-23 2014-02-27 Metaswitch Networks Ltd Upgrading Nodes

Similar Documents

Publication Publication Date Title
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
DE102005013285A1 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE102017217668A1 (de) Verfahren und zentrale Datenverarbeitungsvorrichtung zum Aktualisieren von Software in einer Vielzahl von Fahrzeugen
DE102008001080A1 (de) Verfahren zur automatischen Aktualisierung von Software
DE102017100749A1 (de) Verfahren und vorrichtung für zyklischen dateienaustauschbei abgeschaltetem fahrzeug
DE112019000179T5 (de) Fahrzeugsteuervorrichtung und programmaktualisierungssystem
DE102017220526A1 (de) Verfahren und Vorrichtung zur Aktualisierung von Software
DE102017118348A1 (de) Aktualisierung eines in einer Recheneinrichtung eines Kraftfahrzeugs hinterlegten Anwendungsprogramms mit mehreren Programmdateien
DE102019004612A1 (de) Verfahren zum Betreiben eines Fahrzeugs mit einem Steuergerät
WO2019091519A1 (de) Steuergerät für ein kraftfahrzeug und verfahren zum betreiben des steuergeräts
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102017100116A1 (de) Steuersystem für ein Kraftfahrzeug mit einem zentralen Steuergerät und mehreren weiteren Steuergeräten
WO2020099023A2 (de) Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium
DE102009002898A1 (de) Verfahren zur Aktualisierung eines Steuergeräts eines Fahrzeugs
DE102018003777A1 (de) Verfahren zur Aktualisierung einer Software zumindest eines Steuergeräts eines Fahrzeugs
WO2009103728A1 (de) Verfahren und vorrichtung zum speichern von informationsdaten
DE102019000493A1 (de) Verfahren zur Aktualisierung einer jeweiligen Software mehrerer Steuergeräte eines Fahrzeugs
DE102021002079B3 (de) Verfahren zum effizienten Ablegen von Daten
DE102009041173A1 (de) Verfahren zur Aktualisierung von Mauterfassungsgeräten
DE102020006031A1 (de) Verfahren zum Erzeugen einer Softwarekomponente für eine elektronische Recheneinrichtung eines Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie kraftfahrzeugexternes Aktualisierungssystem
WO2020025372A1 (de) Verfahren, steuervorrichtung, computerprogramm und computerprogrammprodukt zum aktualisieren einer software für eine steuervorrichtung
DE102015214389A1 (de) Verfahren und Vorrichtung zum Aktualisieren einer auf einer physischen Maschine unter einem Hypervisor betriebenen virtuellen Maschine
EP4099163A1 (de) Verfahren und system zum erkennen und beseitigen von schwachstellen in einzelnen dateisystemschichten eines container-images
DE102022110824A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102020216481A1 (de) Verfahren zum Betreiben eines Steuergeräts und Steuergerät