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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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 Szenario42 im Rahmen der Aktualisierung eines Steuergerätes (electronic control unit, ECU)12 gemäß einer Ausführungsform. Während ein herkömmliches Steuergerät44 auf seiner Hardwareplattform46 lediglich eine Software48 mit einer einzigen Diagnoseadresse50 ausführt, betreibt im Falle des virtualisierten Steuergerätes12 ein Hypervisor (virtual machine monitor, VMM)16 auf einer gemeinsamen Hardware52 ein erstes Gastsystem18 unter einer ersten Diagnoseadresse22 und ein zweites Gastsystem20 unter einer zweiten Diagnoseadresse24 . Sowohl das erste Gastsystem18 als auch das zweite Gastsystem20 ist somit in der Lage, Diagnosekommunikation zu betreiben. Die erste Diagnoseadresse22 oder die zweite Diagnoseadresse24 verkörpert sowohl das unter ihr betriebene Gastsystem18 ,20 als auch den Hypervisor16 . Dieses Gastsystem18 ,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ätes12 im Rahmen der Durchführung eines Verfahrens14 gemäß einer Ausführungsform. Den Ausgangspunkt der erörterten Aktivität bildet die Aktualisierungsaufforderung32 durch ein externes Gerät wie einen Diagnosetester54 . - Das mit der Aktualisierungsaufforderung
32 adressierte Gastsystem18 ,20 schaltet nun das Steuergerät12 aus (56 ), als seien ein Sicherheitsproblem entdeckt (58 ) oder beide Gastsysteme18 ,20 heruntergefahren (60 ) worden. - Nach dem Einschalten
62 des Steuergerätes12 wird zunächst dessen Bootmanager14 ausgeführt. In der entsprechenden Betriebsart ist der Hypervisor16 inaktiv, und dem Bootmanager14 untersteht im Wesentlichen das gesamte Steuergerät12 . Der Bootmanager14 ist somit im vorliegenden Falle einer anhängigen (64 ) Aktualisierungsaufforderung32 in der Lage, in dieser steuergerätübergreifenden Bootmanager-Betriebsart66 unter der Diagnoseadresse22 ,24 jedes der beiden Gastsysteme18 ,20 zu kommunizieren. - Der Bootmanager empfängt sodann weitere Anweisungen und Kode, um die Aktualisierung
36 im Wege einer Diagnosekommunikation an die Diagnoseadresse22 ,24 des betreffenden Gastsystems18 ,20 durchzuführen. Abhängig von der Aktualisierungsaufforderung34 betrifft die Aktualisierung36 dabei wahlweise die – den Bootmanager14 , den Hypervisor16 und das diesem zugeordnete Gastsystem18 ,20 umfassende – Master-Partition oder die – lediglich den Bootmanager14 und das nicht dem Hypervisor16 zugeordnete Gastsystem18 ,20 umfassende – Slave-Partition. - Sobald die Aktualisierung abgeschlossen (
68 ) ist, prüft der Bootmanager14 die Programmabhängigkeiten70 , speichert das Ergebnis72 und schaltet das Steuergerät12 aus (56 ). Nach dem anschließenden Neustart des Steuergerätes12 setzt sich die gewöhnliche Bootsequenz fort. - Im Falle inkompatibler oder beschädigter Softwarekomponenten
40 von Hypervisor16 , Gastsystemen18 ,20 oder Bootmanager14 wird letzterer unmittelbar nach dem Neustart ausgeführt. Das Verfahren10 wird nun ansonsten unverändert mit dem Empfang der Aktualisierungsaufforderung34 fortgesetzt. Sind hingegen alle Softwarekomponenten kompatibel und betriebsbereit (74 ), erfolgt eine Vorinitialisierung76 des Hypervisors16 . Ist die Initialisierung erledigt (78 ), schließen sich anfängliche Sicherheitsprüfungen (38 ) an. Falls eine Prüfung scheitert (80 ), schaltet der Bootmanager14 das Steuergerät12 wieder aus (56 ). - Sobald sämtliche Prüfungen erfolgreich (
82 ) durchlaufen sind, geht das Steuergerät12 mit dem Initialisieren84 des Hypervisors16 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)
- 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. - 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. - Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch weitere Sicherheitsmaßnahmen (
38 ) während des Neustarts. - 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. - 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 ). - 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. - 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. - Computerprogramm, welches eingerichtet ist, das Verfahren (
10 ) nach einem der Ansprüche 1 bis 7 auszuführen. - Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 8 gespeichert ist.
- Vorrichtung (
12 ), die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen.
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)
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 |
-
2015
- 2015-07-29 DE DE102015214382.1A patent/DE102015214382A1/de active Pending
Patent Citations (1)
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 |