DE102015214382A1 - Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem - Google Patents

Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem Download PDF

Info

Publication number
DE102015214382A1
DE102015214382A1 DE102015214382.1A DE102015214382A DE102015214382A1 DE 102015214382 A1 DE102015214382 A1 DE 102015214382A1 DE 102015214382 A DE102015214382 A DE 102015214382A DE 102015214382 A1 DE102015214382 A1 DE 102015214382A1
Authority
DE
Germany
Prior art keywords
hypervisor
boot manager
guest system
guest
update request
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
DE102015214382.1A
Other languages
English (en)
Inventor
Gunnar Piel
Ingo Ehlert
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102015214382.1A priority Critical patent/DE102015214382A1/de
Publication of DE102015214382A1 publication Critical patent/DE102015214382A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren (10) zum Aktualisieren eines Steuergerätes mit einem Bootmanager (14), einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem, gekennzeichnet durch folgende Merkmale: – der Hypervisor betreibt (26) das Gastsystem unter einer individuellen Diagnoseadresse, – das Gastsystem empfängt (28) unter der Diagnoseadresse mittels einer Kommunikationsinfrastruktur eine Aktualisierungsaufforderung (32), – das Gastsystem leitet einen Neustart des Steuergerätes ein, – nach dem Neustart wird der Bootmanager (14) ausgeführt, – der Bootmanager (14) aktualisiert (36) auf die Aktualisierungsaufforderung (34) wahlweise das Gastsystem oder den Hypervisor und – der Bootmanager (14) leitet einen Neustart ein.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem. Die vorliegende Erfindung betrifft darüber hinaus eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium.
  • Stand der Technik
  • Bekannte Fahrzeugsteuergeräte verfügen in der Regel über Fähigkeiten zur On-Board-Diagnose. Typischerweise bezieht sich die gelieferte Diagnose dabei auf das Steuergerät selbst, seine Funktionalität und Softwareaktualisierung. Auf diese Fähigkeiten gattungsmäßiger Steuergeräte kann etwa mittels verschiedenster Fahrzeugkommunikationsnetzwerke wie CAN, Flexray oder Ethernet und jeweilige Diagnoseprotokolle wie OBD zugegriffen werden. Um eine Diagnosekommunikationsverbindung zwischen dem Steuergerät und einem externen Diagnosewerkzeug herzustellen, besitzt ein derartiges Steuergerät eine Diagnoseadresse. Bei einem einzigen Softwaresystem innerhalb des Steuergerätes sind die beschriebenen Fähigkeiten als Stand der Technik zu erachten.
  • In einem virtualisierten Steuergerät jedoch gibt es mehrere Softwaresysteme, sogenannte Gastsysteme, und die zusätzliche Softwarekomponente eines Hypervisors. Als Folge davon werden Diagnosefähigkeiten hinsichtlich Statusinformationen für jedes Gastsystem, die Hardware und den Hypervisor benötigt. Schließlich müssen die Gastsysteme und der Hypervisor aktualisiert werden.
  • WO 2005004160 A2 betrifft ein Verfahren zur Durchführung eines Software-Updates eines Steuergerätes durch eine Flash-Programmierung eines mehrere Segmente aufweisende Flash-Speichers des Steuergerätes über eine serielle Schnittstelle, wobei an die Flash-Programmierung zu stellende Anforderung festgelegt, ein Ablauf der Flash-Programmierung durch ein Zustände und Übergänge der Software definierenden Zustandsautomaten spezifiziert und Verfügbarkeits-, Sicherheits- und Zuverlässigkeitsanforderungen eines jeden Zustands und eines jeden Übergangs des Zustandsautomaten überprüft werden.
  • Offenbarung der Erfindung
  • Die Erfindung stellt ein Verfahren zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem, eine entsprechende Vorrichtung, ein entsprechendes Computerprogramm sowie ein entsprechendes Speichermedium gemäß den unabhängigen Ansprüchen bereit.
  • Die vorgeschlagene Lösung fußt auf der Erkenntnis, dass ein virtualisiertes System mehr aktualisierbare Komponenten aufweist als ein einzelnes Softwaresystem. Hier sind es mehrere Gastsysteme und der Hypervisor selbst, welche voneinander unabhängiger Aktualisierungen bedürfen.
  • Ein Vorzug dieser Lösung liegt in der Beibehaltung bestehender, auf Diagnosekommunikation und -adresse sowie Bootmanager basierender Abläufe. So behält jedes Gastsystem seine eigene Diagnoseadresse und ist in der Lage, Diagnosekommunikation zu verarbeiten. Die Kommunikationsinfrastruktur lässt sich entweder zwischen mehreren Gastsystemen teilen oder ausschließlich einem Gastsystem vorbehalten.
  • Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich. So kann vorgesehen sein, dass während des Ausführens des Bootmanagers das Steuergerät dem Bootmanager untersteht und der Hypervisor inaktiv ist. Der Bootmanager wird somit in die Lage versetzt, Aktualisierungen sämtlicher Gastsysteme sowie des Hypervisors zu verarbeiten. Soll ein Update durchgeführt werden, kann der Bootmanager hierzu beispielsweise einen Bootloader starten. Falls kein Update angefordert wurde, wird er den Hypervisor und der dann die Gäste starten.
  • Gemäß einem weiteren Aspekt kann vorgesehen sein, dass das Gastsystem auf einer erhöhten Berechtigungsstufe betrieben wird und die Aktualisierungsaufforderung stellvertretend für den Hypervisor empfängt, welcher schließlich durch den Bootmanager aktualisiert wird. Für Zwecke der Aktualisierung wird der Hypervisor somit gleichsam einem Gastsystem zugeordnet. Auf diese Weise kann er gemeinsam mit diesem bestimmten Gastsystem aktualisiert werden.
  • Kurze Beschreibung der Zeichnungen
  • Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Es zeigt:
  • 1 das Blockdiagramm eines Steuergerätes gemäß einer Ausführungsform der Erfindung sowie exemplarischer Kommunikationspartner dieses Steuergeräts.
  • 2 ein Aktivitätsdiagramm des Steuergeräts.
  • Ausführungsformen der Erfindung
  • 1 illustriert ein beispielhaftes Szenario 42 im Rahmen der Aktualisierung eines Steuergerätes (electronic control unit, ECU) 12 gemäß einer Ausführungsform. Während ein herkömmliches Steuergerät 44 auf seiner Hardwareplattform 46 lediglich eine Software 48 mit einer einzigen Diagnoseadresse 50 ausführt, betreibt im Falle des virtualisierten Steuergerätes 12 ein Hypervisor (virtual machine monitor, VMM) 16 auf einer gemeinsamen Hardware 52 ein erstes Gastsystem 18 unter einer ersten Diagnoseadresse 22 und ein zweites Gastsystem 20 unter einer zweiten Diagnoseadresse 24. Sowohl das erste Gastsystem 18 als auch das zweite Gastsystem 20 ist somit in der Lage, Diagnosekommunikation zu betreiben. Die erste Diagnoseadresse 22 oder die zweite Diagnoseadresse 24 verkörpert sowohl das unter ihr betriebene Gastsystem 18, 20 als auch den Hypervisor 16. Dieses Gastsystem 18, 20 wird auf einer erhöhten Berechtigungsstufe betrieben.
  • 2 veranschaulicht anhand einer an Version 1 der vereinheitlichten Modellierungssprache (unified modeling language, UML) angelehnten Darstellung die Aktivität des Steuergerätes 12 im Rahmen der Durchführung eines Verfahrens 14 gemäß einer Ausführungsform. Den Ausgangspunkt der erörterten Aktivität bildet die Aktualisierungsaufforderung 32 durch ein externes Gerät wie einen Diagnosetester 54.
  • Das mit der Aktualisierungsaufforderung 32 adressierte Gastsystem 18, 20 schaltet nun das Steuergerät 12 aus (56), als seien ein Sicherheitsproblem entdeckt (58) oder beide Gastsysteme 18, 20 heruntergefahren (60) worden.
  • Nach dem Einschalten 62 des Steuergerätes 12 wird zunächst dessen Bootmanager 14 ausgeführt. In der entsprechenden Betriebsart ist der Hypervisor 16 inaktiv, und dem Bootmanager 14 untersteht im Wesentlichen das gesamte Steuergerät 12. Der Bootmanager 14 ist somit im vorliegenden Falle einer anhängigen (64) Aktualisierungsaufforderung 32 in der Lage, in dieser steuergerätübergreifenden Bootmanager-Betriebsart 66 unter der Diagnoseadresse 22, 24 jedes der beiden Gastsysteme 18, 20 zu kommunizieren.
  • Der Bootmanager empfängt sodann weitere Anweisungen und Kode, um die Aktualisierung 36 im Wege einer Diagnosekommunikation an die Diagnoseadresse 22, 24 des betreffenden Gastsystems 18, 20 durchzuführen. Abhängig von der Aktualisierungsaufforderung 34 betrifft die Aktualisierung 36 dabei wahlweise die – den Bootmanager 14, den Hypervisor 16 und das diesem zugeordnete Gastsystem 18, 20 umfassende – Master-Partition oder die – lediglich den Bootmanager 14 und das nicht dem Hypervisor 16 zugeordnete Gastsystem 18, 20 umfassende – Slave-Partition.
  • Sobald die Aktualisierung abgeschlossen (68) ist, prüft der Bootmanager 14 die Programmabhängigkeiten 70, speichert das Ergebnis 72 und schaltet das Steuergerät 12 aus (56). Nach dem anschließenden Neustart des Steuergerätes 12 setzt sich die gewöhnliche Bootsequenz fort.
  • Im Falle inkompatibler oder beschädigter Softwarekomponenten 40 von Hypervisor 16, Gastsystemen 18, 20 oder Bootmanager 14 wird letzterer unmittelbar nach dem Neustart ausgeführt. Das Verfahren 10 wird nun ansonsten unverändert mit dem Empfang der Aktualisierungsaufforderung 34 fortgesetzt. Sind hingegen alle Softwarekomponenten kompatibel und betriebsbereit (74), erfolgt eine Vorinitialisierung 76 des Hypervisors 16. Ist die Initialisierung erledigt (78), schließen sich anfängliche Sicherheitsprüfungen (38) an. Falls eine Prüfung scheitert (80), schaltet der Bootmanager 14 das Steuergerät 12 wieder aus (56).
  • Sobald sämtliche Prüfungen erfolgreich (82) durchlaufen sind, geht das Steuergerät 12 mit dem Initialisieren 84 des Hypervisors 16 in den Normalbetrieb über.
  • 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
    • WO 2005004160 A2 [0004]

Claims (10)

  1. Verfahren (10) zum Aktualisieren eines Steuergerätes (12) mit einem Bootmanager (14), einem Hypervisor (16) und mindestens einem unter dem Hypervisor (16) betriebenen Gastsystem (18, 20), gekennzeichnet durch folgende Merkmale: – der Hypervisor (16) betreibt (26) das Gastsystem (18, 20) unter einer individuellen Diagnoseadresse (22, 24), – das Gastsystem (18, 20) empfängt (28) unter der Diagnoseadresse (22, 24) mittels einer Kommunikationsinfrastruktur (30) eine Aktualisierungsaufforderung (32), – das Gastsystem (18, 20) leitet einen Neustart des Steuergerätes (12) ein, – nach dem Neustart wird der Bootmanager (14) ausgeführt, – der Bootmanager (14) aktualisiert (36) auf die Aktualisierungsaufforderung (34) wahlweise das Gastsystem (18, 20) oder den Hypervisor (16) und – der Bootmanager (14) leitet einen Neustart ein.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch folgende Merkmale: – das Gastsystem (18, 20) empfängt die Aktualisierungsaufforderung (34) stellvertretend für den Hypervisor (16), – das Gastsystem (18, 20) wird auf einer erhöhten Berechtigungsstufe betrieben (26) und – der Hypervisor (16) wird aktualisiert.
  3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch weitere Sicherheitsmaßnahmen (38) während des Neustarts.
  4. Verfahren nach einem der Ansprüche 1 bis 3, gekennzeichnet durch folgende Merkmale: – während des Ausführens des Bootmanagers (14) untersteht das Steuergerät (12) dem Bootmanager (14) und – während des Ausführens des Bootmanagers (14) ist der Hypervisor (16) inaktiv.
  5. Verfahren nach Anspruch 4, gekennzeichnet durch folgende Merkmale: – vor dem Aktualisieren (36) empfängt der Bootmanager (14) unter der Diagnoseadresse (22, 24) einer Masterpartition des Gesamtsystems (18, 20) mittels der Kommunikationsinfrastruktur (30) weitere Anweisungen und – abhängig von den weiteren Anweisungen wird entweder das Gastsystem (18, 20) oder der Hypervisor (16) aktualisiert (36).
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Bootmanager (14) vor dem Aktualisieren (36) unter der Diagnoseadresse (22, 24) einer Masterpartition des Gesamtsystems (18, 20) mittels der Kommunikationsinfrastruktur (30) ferner einen Kode empfängt.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die Aktualisierungsaufforderung (34) ferner empfangen wird, falls ein Kompatibilitätsproblem (40) zwischen dem Gastsystem (18, 20) und dem Hypervisor (16) besteht.
  8. Computerprogramm, welches eingerichtet ist, das Verfahren (10) nach einem der Ansprüche 1 bis 7 auszuführen.
  9. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
  10. Vorrichtung (12), die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
DE102015214382.1A 2015-07-29 2015-07-29 Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem Pending DE102015214382A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102015214382.1A DE102015214382A1 (de) 2015-07-29 2015-07-29 Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015214382.1A DE102015214382A1 (de) 2015-07-29 2015-07-29 Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem

Publications (1)

Publication Number Publication Date
DE102015214382A1 true DE102015214382A1 (de) 2017-02-02

Family

ID=57795498

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015214382.1A Pending DE102015214382A1 (de) 2015-07-29 2015-07-29 Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem

Country Status (1)

Country Link
DE (1) DE102015214382A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004160A2 (de) 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004160A2 (de) 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat

Similar Documents

Publication Publication Date Title
DE102015216265A1 (de) Verfahren und Teilsystem zum Installieren eines Softwareupdates in einem Fahrzeug
DE102012009482A1 (de) Funktional erweiterbares Fahrzeugsteuergerät und Verfahren zum Ergänzen der Funktionalität eines Fahrzeugsteuergeräts
EP2866111B1 (de) Testen eines Steuergerätes mittels einer Testumgebung
DE102018110020A1 (de) Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät
EP2307933A1 (de) Verfahren zum programmiern von daten in mindestens zwei steuergeräte eines kraftfahrzeugs
EP3311550B1 (de) Verfahren zur kommunikation zwischen softwarekomponenten in einem kraftfahrzeug
DE102010039021B4 (de) Verfahren zur Rekonfiguration von Softwareparametern in einem Mikrocontroller sowie Mikrocontroller und Steuergerät
DE102016201769A1 (de) Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug
DE102018206762A1 (de) Feature-Development-Framework und Feature-Integration-Framework zum Implementieren physikalischer Funktionsfeatures in einem Zielgerät
DE102015214382A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines Steuergerätes mit einem Bootmanager, einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem
WO2005022382A2 (de) Verfahren zur installation einer programmkomponente
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
DE102015214389A1 (de) Verfahren und Vorrichtung zum Aktualisieren einer auf einer physischen Maschine unter einem Hypervisor betriebenen virtuellen Maschine
DE102012217328A1 (de) Verfahren zum Simulieren eines Steuergeräts
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102014002593A1 (de) Dynamisches speicherprogrammierbares Steuergerät
DE102009047974B4 (de) Verfahren zur Programmierung eines Steuergeräts
DE102015204863A1 (de) Verfahren und Vorrichtung zum Warten eines Fahrzeuges
DE102009002898A1 (de) Verfahren zur Aktualisierung eines Steuergeräts eines Fahrzeugs
DE102016215068A1 (de) Verfahren und Vorrichtung zum Warten eines Fahrzeuges
DE102015214376A1 (de) Verfahren und Vorrichtung zur On-Board-Diagnose bei einem Steuergerät mit einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem
DE102019214160A1 (de) Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion
DE102017204212A1 (de) Verfahren und Vorrichtung zum Verwalten von Applikationen für Fahrzeuge
DE102015224829A1 (de) Verfahren zum Flashen von Firmware auf eine Vorrichtung
DE102016013669A1 (de) Verfahren zum Betrieb eines Datenkommunikationssystems

Legal Events

Date Code Title Description
R012 Request for examination validly filed