DE102014209592A1 - Verfahren zum Erzeugen einer Hypervisor-Einheit und Hypervisor-Einheit - Google Patents
Verfahren zum Erzeugen einer Hypervisor-Einheit und Hypervisor-Einheit Download PDFInfo
- Publication number
- DE102014209592A1 DE102014209592A1 DE102014209592.1A DE102014209592A DE102014209592A1 DE 102014209592 A1 DE102014209592 A1 DE 102014209592A1 DE 102014209592 A DE102014209592 A DE 102014209592A DE 102014209592 A1 DE102014209592 A1 DE 102014209592A1
- Authority
- DE
- Germany
- Prior art keywords
- resource
- unit
- during
- hypervisor
- applications
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
Es wird ein Verfahren zum Erzeugen einer Hypervisor-Einheit (20) für ein Steuergerät (6) beschrieben. Die Hypervisor-Einheit (20) ist dazu ausgebildet, auf dem Steuergerät (6) während einer Laufzeit zwei Anwendungen auszuführen. Die Hypervisor-Einheit (20) wird während einer Übersetzungszeit in Abhängigkeit von einer ersten Eigenschaft der ersten Anwendung, in Abhängigkeit von einer zweiten Eigenschaft der zweiten Anwendung und in Abhängigkeit von einer dritten Eigenschaft des Steuergeräts (6) erzeugt.
Description
- Stand der Technik
- Die Erfindung betrifft ein Verfahren zum Erzeugen einer Hypervisor-Einheit nach dem Oberbegriff des Anspruchs 1 sowie eine Hypervisor-Einheit nach dem Oberbegriff eines nebengeordneten Anspruchs.
- Hypervisor-Einheiten sind aus dem Stand der Technik bekannt. Bei diesen wird eine Konfiguration während der Laufzeit der Hypervisor-Einheit vorgenommen. Das bedeutet, dass die bekannten Hypervisor-Einheiten während der Laufzeit dynamisch Objekte bzw. Instanzen für virtuelle Betriebsumgebungen erzeugen.
- Des Weiteren sind im Allgemeinen eingebettete Systeme umfassend Mikrocontroller bekannt.
- Offenbarung der Erfindung
- Das der Erfindung zugrunde liegende Problem wird durch ein Verfahren nach dem Anspruch 1 sowie eine Hypervisor-Einheit nach einem nebengeordneten Anspruch gelöst. Vorteilhafte Weiterbildungen sind in den Unteransprüchen angegeben. Für die Erfindung wichtige Merkmale finden sich ferner in der nachfolgenden Beschreibung und in den Zeichnungen, wobei die Merkmale sowohl in Alleinstellung als auch in unterschiedlichen Kombinationen für die Erfindung wichtig sein können, ohne dass hierauf nochmals explizit hingewiesen wird.
- Dadurch, dass bei dem Verfahren während der Übersetzungszeit in Abhängigkeit von Eigenschaften von Anwendungen und in Abhängigkeit von zumindest einer Eigenschaft des Steuergeräts die Hypervisor-Einheit erzeugt wird, kann vorteilhaft nur der Programm-Code zur Erzeugung der Hypervisor-Einheit verwendet werden, der auch tatsächlich während der Laufzeit benötigt wird. Dies bringt im Bereich der eingebetten Systeme, insbesondere bei Verwendung eines Mikrocontrollers, den besonderen Vorteil, dass die begrenzten Hardware-Resourcen bestmöglich ausgenutzt werden können. Insbesondere können Kosten gespart werden, da keine unnötig groß dimensionierten Prozessorkerne, Arbeitsspeicher, oder andere Hardware-Resourcen eingeplant werden müssen. Darüber hinaus kann vorteilhaft die Ausführungszeit reduziert werden, da bereits vor der Laufzeit der Hypervisor-Einheit die Eigenschaften der Anwendungen sowie die Eigenschaft des Steuergeräts bekannt sind und berücksichtigt werden.
- Vorteilhaft wird die Konfiguration der Hypervisor-Einheit während der Laufzeit vermieden, womit Rechenzeit nicht der Hypervisor-Einheit sondern den Anwendungen zur Verfügung steht. Durch diesen eingesparten Virtualisierungsschritt während der Laufzeit lassen sich mit diesem Verfahren und mit der vorgestellten Hypervisor-Einheit die im Kraftfahrzeugbereich vorherrschenden Echtzeitanforderungen erfüllen. So kann garantiert werden, dass beispielsweise eine Motorsteuerung und eine Antiblockiersystem-Steuerung auf demselben Steuergerät sicher und zuverlässig ausgeführt werden.
- Ein weiterer wesentlicher Vorteil besteht in der Möglichkeit der Reduktion von Steuergeräten im Kraftfahrzeug, wodurch insbesondere ein Verkabelungsaufwand stark reduziert werden kann. Außerdem wird durch das Vorsehen der Hypervisor-Einheit die Wiederverwendung von bereits bestehender Software ermöglicht. So kann bei der Migration von mehreren Steuergeräten auf ein einziges Steuergerät die Software der mehreren Steuergeräte wiederverwendet werden.
- In einer vorteilhaften Ausführungsform des Verfahrens wird ein virtuelles Betriebsmittel während der Übersetzungszeit für ein erstes Betriebsmittel des Steuergeräts bereitgestellt. Durch das virtuelle Betriebsmittel können damit vorteilhaft tatsächliche bzw. echte Betriebsmittel des Steuergeräts, auf die von zwei Anwendungen zugegriffen wird, vorteilhaft virtualisiert werden.
- In einer vorteilhaften Ausführungsform wird die Hypervisor-Einheit während der Übersetzungszeit derart erzeugt, dass während der Laufzeit nur die erste Anwendung direkt auf ein zweites Betriebsmittel zugreifen kann, wobei während der Laufzeit das zweite Betriebsmittel für die zweite Anwendung gesperrt ist. Dies geschieht in Abhängigkeit von der ersten, zweiten und dritten Eigenschaft. Damit kann vorteilhaft erreicht werden, dass eine exklusive Nutzung des zweiten Betriebsmittels durch die erste Anwendung gesichert ist und damit vorteilhaft nur Betriebsmittel während der Übersetzungszeit virtualisiert werden müssen, die während der Laufzeit von beiden Anwendungen verwendet werden.
- Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Hierbei bilden alle beschriebenen sowie dargestellten Merkmale allein für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung. Für funktionsäquivalente Größen und Merkmale werden in allen Figuren auch bei unterschiedlichen Ausführungsformen die gleichen Bezugszeichen verwendet.
- Nachfolgend werden beispielhaft Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnung erläutert. In der Zeichnung zeigen:
-
1 in schematischer Form drei Steuergeräte; -
2 in schematischer Form eines der Steuergeräte; und -
3 ein Verfahren zum Erzeugen einer Hypervisor-Einheit. -
1 zeigt drei Steuergeräte2 ,4 und6 . Die Steuergeräte2 und4 sind Steuergeräte aus dem Stand der Technik und das Steuergerät6 ein erfindungsgemäßes Steuergerät. Die Steuergeräte2 und4 umfassen jeweils einen einzigen Prozessor8a und8b . Steuergerätunabhängige Anwendungssoftware10a und10b wird über ein Betriebssystem12a ,12b und steuergerätspezifische Basissoftware14a und14b auf dem jeweiligen Prozessor8a ,8b ausgeführt. Die Steuergeräte2 und4 sind separat ausgeführt und stellen Funktionen wie beispielsweise eine Motorsteuerung, eine Getriebesteuerung oder eine Antiblockiersystem-Funktion bereit. - Das erfindungsgemäße Steuergerät
6 umfasst beispielsweise zwei Prozessorkerne16a und16b . Eine Hypervisor-Einheit20 ist zwischen der Recheneinheit umfassend die Prozessorkerne16a und16b und der Anwendungssoftware10 , dem Betriebssystem12 und der Basissoftware14 angeordnet. Damit können vorteilhaft bereits vorhandene Softwarekomponenten wie die Anwendungssoftware10 , das Betriebssystem12 sowie die Basissoftware14 in dem Steuergerät6 ohne Weiteres durch die Hypervisor-Einheit20 weiterverwendet bzw. wiederverwendet werden. Darüber hinaus wird anstatt zweier Steuergeräte2 und4 nur ein Steuergerät6 benötigt. -
2 zeigt das Steuergerät6 in schematischer Form. Eine Mikrocontroller-Einheit22 des Steuergeräts6 umfasst die Prozessorkerne16a und16b sowie eine Kommunikationsschnittstelle24 . Bei der Kommunikationsschnittstelle24 handelt es sich beispielsweise um eine Ethernet-Schnittstelle, eine Flexray-Schnittstelle oder eine CAN-Schnittstelle (CAN: Controller Area Network). - Die Hypervisor-Einheit
20 weist ein virtuelles Betriebsmittel26 auf, das die Kommunikationsschnittstelle24 einer ersten Anwendung30 und einer zweiten Anwendung32 bereitstellt. Die erste Anwendung30 umfasst die Anwendungssoftware10a , das Betriebssystem12a und die Basissoftware14a . Die zweite Anwendung32 umfasst die Anwendungssoftware10b , das Betriebssystem12b und die Basissoftware14b . Die erste Anwendung30 wird in einer ersten virtuellen Betriebsumgebung34 ausgeführt. Die zweite Anwendungsform30 wird in einer zweiten virtuellen Betriebsumgebung36 ausgeführt. Hypervisor-Einheit20 sorgt gemäß dem Balken38 für eine zeitliche und räumliche Trennung hinsichtlich der Ausführung der beiden Anwendungen30 und32 auf der Mikrocontroller-Einheit22 des Steuergeräts6 . - Das virtuelle Betriebsmittel
26 ist derart ausgestaltet, dass der Zugriff durch die Anwendungen30 ,32 auf das hinter dem virtuellen Betriebsmittel26 stehende Betriebsmittel24 gemäß einem Prioritätsscheduling-Verfahren durchgeführt wird. Aus Sicht der Anwendungen30 ,32 haben diese jeweils uneingeschränkten Zugriff auf ein exklusiv genutztes Betriebsmittel. Tatsächlich ist das Betriebsmittel26 jedoch nur virtuell und regelt den Zugriff der Anwendungen30 und32 auf das reale Betriebsmittel24 . Hierbei bekommt jede Anwendung30 ,32 eine Periodendauer zugewiesen. In Abhängigkeit von der Periodendauer greifen die Anwendungen30 ,32 auf das reale, tatsächlich vorhandene Betriebsmittel24 mittels des virtuellen Betriebsmittels26 zu. Je kürzer die Periodendauer der Anwendung30 ,32 ist, desto höher ist deren Priorität. Eine häufig auszuführende Anwendung30 ,32 hat eine kurze Periodendauer und damit eine höhere Priorität. Somit kann eine Anwendung30 ,32 mit kurzer Periodendauer und/oder hoher Priorität eine Anwendung30 ,32 mit hoher Periodendauer und/oder geringer Priorität stets unterbrechen. Darüber hinaus sind jeder Anwendung30 ,32 zum Zugriff auf das reale, tatsächlich vorhandene Betriebsmittel24 mittels des virtuellen Betriebsmittels26 minimale Zeitscheiben in periodischen Zeitabständen zugewiesen, die eine minimale Zugriffszeit pro Zeitabstand der jeweiligen Anwendung30 ,32 auf das Betriebsmittel24 sicherstellen. Durch die minimalen Zeitscheiben kann sichergestellt werden, dass die jeweilige Anwendung30 ,32 einen gesicherten Zugriff auf das Betriebsmittel24 hat und nicht von einer anderen Anwendung30 ,32 ausgebremst wird. - Die Kommunikationsschnittstelle
24 wird auch als erstes Betriebsmittel des Steuergeräts bezeichnet. Zum Versenden von Daten und zum Zugriff auf die Kommunikationsschnittstelle24 stellt das virtuelle Betriebsmittel26 ein Arbitrierungsverfahren bereit, mittels dessen das virtuelle Betriebsmittel26 den Zugriff der Anwendungen30 und32 auf die Kommunikationsschnittstelle24 koordiniert. Zum Empfangen von Daten von der Kommunikationsschnittstelle24 koordiniert das virtuelle Betriebsmittel26 der Hypervisor-Einheit20 den Empfang der Daten von der Kommunikationsschnittstelle24 und das Versenden der Daten an die jeweilige Anwendung30 ,32 . - Der erste Prozessorkern
16a der Mikrocontroller-Einheit22 wird lediglich von der Anwendung30 verwendet. Die Anwendung30 greift direkt auf den Prozessorkern16a zu. Die Hypervisor-Einheit20 sorgt dafür, dass während der Laufzeit für die zweite Anwendung32 der Zugriff auf den ersten Prozessorkern16a gesperrt ist. Entsprechend sorgt die Hypervisor-Einheit20 dafür, dass während der Laufzeit der Zugriff auf den zweiten Prozessorkern16b durch die erste Anwendung30 gesperrt ist. - Damit stellt die Hypervisor-Einheit
20 für ein von den zwei Anwendungen30 und32 gemeinsam genutztes ersten Betriebsmittel24 , ein virtuelles Betriebsmittel26 zur Verfügung. Des Weiteren sperrt die Hypervisor-Einheit20 für ein nur von der ersten Anwendung30 genutztes zweites Betriebsmittel16a dieses zweite Betriebsmittel16a für die zweite Anwendung32 . - Das koordinierte Zugriffsverfahren bzw. Arbitrierungsverfahren des virtuellen Betriebsmittels
26 für die Anwendungen30 und32 ist beispielsweise ein Prioritätsscheduling, ein Round-Robin-Verfahren oder ein anderes Arbitrierungsverfahren. Anwendungen30 und32 können beispielsweise Anwendungen sein, die zuvor für jeweils einzelne Steuergeräte vorgesehen waren. Die Anwendungen30 und32 können beispielsweise wie in der2 gezeigt ohne Änderungen übernommen werden, falls der entsprechende Prozessorkern16a und16b im Wesentlichen der gleiche ist, wie er zuvor auf dem jeweiligen Steuergerät vorhanden war. - Da benötigte Soll-Eigenschaften der Anwendungen
30 und32 , die auch als erste und zweite Eigenschaft bezeichnet werden, und die Ist-Eigenschaft des Steuergeräts6 , die auch als dritte Eigenschaft bezeichnet wird, bereits vor der Übersetzungszeit der Hypervisor-Einheit20 bekannt sind, wird eine Hypervisor- Einheit20 erzeugt, bei der nur Betriebsmittel wie die Kommunikationsschnittstelle24 gemäß dem virtuellen Betriebsmittel26 virtualisiert werden, die von zwei Anwendungen30 ,32 während der Laufzeit verwendet werden. - Basierend auf der
2 wird ein weiteres Ausführungsbeispiel erläutert. So umfasst die Mikrokontroller-Einheit22 beispielsweise einen Prozessorkern24 und zwei Kommunikationsschnittstellen16a und16b . Entsprechend würde das virtuelle Betriebsmittel26 den Zugriff der Anwendungen30 ,32 auf den einen Prozessorkern24 koordinieren, wohingegen auf die Kommunikationsschnittstellen16a und16b von den Anwendungen30 ,32 aus direkt zugegriffen werden kann. - Entsprechend sind weitere Ausführungsbeispiele denkbar, bei denen Betriebsmittel unterschiedlich ausgebildet sein können. Insbesondere können die jeweiligen Betriebsmittel während der Übersetzungszeit der Hypervisor-Einheit
20 in zwei Kategorien eingeteilt werden, wobei die erste Kategorie ein Betriebsmittel identifiziert, das von mehreren Anwendungen30 ,32 während der Laufzeit genutzt wird, und wobei die zweite Kategorie einen Direkt-Zugriff auf das jeweilige Betriebsmittel durch eine jeweilige Anwendung30 ,32 vorsieht. Für die erste Kategorie von Betriebsmitteln wird die Hypervisor-Einheit20 dann während der Übersetzungszeit so erzeugt, dass für ein jeweiliges Betriebsmittel der ersten Kategorie ein entsprechendes virtuelle Betriebsmittel26 durch die Hypervisor- Einheit20 bereitgestellt wird und das hinter dem virtuellen Betriebsmittel26 stehende tatsächliche Betriebsmittel während der Laufzeit von mehreren Anwendungen30 ,32 genutzt werden kann. - Selbstverständlich kann es sich bei den Betriebsmitteln
16a ,16b und24 jeweils auch um einen Timer-Baustein, einen Analog-Digital-Wandler, beispielsweise mit zugeordnetem Sensor, einen Digital-Analog-Wandler, beispielsweise zur Erzeugung eines analogen Spannungs-/Stromsignals oder ein anderes Peripheriegerät handeln. Selbstverständlich kann es sich bei den Betriebsmitteln16a ,16b und24 auch um Betriebsmittel außerhalb der Mikrocontroller-Einheit22 handeln, auf die die Mikrocontroller-Einheit22 zugreifen kann. -
3 zeigt in schematischer Form ein Verfahren zum Erzeugen der Hypervisor- Einheit20 . Mittels geeigneter Editorwerkzeuge40 wird eine Systembeschreibung42 geschaffen bzw. editiert. Die Systembeschreibung42 umfasst insbesondere die Eigenschaften der Anwendungen30 und32 sowie die Eigenschaften des Steuergeräts6 bzw. der Mikrocontroller-Einheit22 . Die Systembeschreibung42 wird mittels eines Konsistenzprüfers44 während der Übersetzungszeit daraufhin überprüft, ob ein Widerspruch zwischen der ersten Eigenschaft, der zweiten Eigenschaft und der dritten Eigenschaft existiert. Dieser Widerspruch wird gemäß einem Bericht46 protokolliert. Anhand des Berichts kann die Systembeschreibung42 entsprechend angepasst werden. Die Systembeschreibung42 ist beispielsweise als Text oder XML-Datei (XML: extended mark-up language) hinterlegt.3 beschreibt den Prozess des Erzeugens der Hypervisor-Einheit20 während der Übersetzungszeit. - Im Optimierungsschritt
48 können beispielsweise Speicherbereiche zusammengelegt werden. In einem Code-Generierungsschritt50 wird ein Programm-Code51 in Abhängigkeit von Code-Templates52 generiert. Die Code-Templates52 umfassen hierbei einzelne vorgefertigte Code-Abschnitte, die in Abhängigkeit von den Anwendungen30 und32 bzw. der ersten und zweiten Eigenschaft und in Abhängigkeit von der dritten Eigenschaft generiert werden. Mittels weiterer Werkzeuge54 wird der Programmcode51 kompiliert, gelinkt und damit die Hypervisor-Einheit20 erzeugt. - Die Systembeschreibung
42 umfasst bezüglich der Anwendungen30 und32 jeweilige Soll-Anforderungen in Form der ersten und zweiten Eigenschaft. Darin umfasst die Systembeschreibung42 eine Ist-Konfiguration gemäß der dritten Eigenschaft des Steuergeräts6 bzw. der Mikrocontroller-Einheit22 .
Claims (10)
- Verfahren zum Erzeugen einer Hypervisor-Einheit (
20 ) für ein Steuergerät (6 ), insbesondere eines Kraftfahrzeugs, zu einer Übersetzungszeit, wobei die Hypervisor-Einheit (20 ) dazu ausgebildet ist, auf dem Steuergerät (6 ) während einer Laufzeit zwei Anwendungen (30 ,32 ) auszuführen, dadurch gekennzeichnet, dass die Hypervisor-Einheit (20 ) während der Übersetzungszeit in Abhängigkeit von einer ersten Eigenschaft der ersten Anwendung (30 ), in Abhängigkeit von einer zweiten Eigenschaft der zweiten Anwendung (32 ) und in Abhängigkeit von einer dritten Eigenschaft des Steuergeräts (6 ) erzeugt wird. - Verfahren nach Anspruch 1, wobei während der Übersetzungszeit in Abhängigkeit von der ersten, zweiten und dritten Eigenschaft ein erstes Betriebsmittel (
24 ) des Steuergeräts (6 ) ermittelt wird, das während der Laufzeit von der ersten und der zweiten Anwendung (30 ,32 ) verwendbar ist, wobei während der Übersetzungszeit für das erstes Betriebsmittel (24 ) ein virtuelles Betriebsmittel (26 ) erzeugt wird, das während der Laufzeit ein koordiniertes Arbitierungsverfahren, insbesondere ein Prioritätsscheduling- Verfahren, zum Zugriff auf das erste Betriebsmittel (24 ) bereitstellt. - Verfahren nach Anspruch 1 oder 2, wobei während der Übersetzungszeit in Abhängigkeit von der ersten, zweiten und dritten Eigenschaft ein zweites Betriebsmittel (
16a ) ermittelt wird, das während der Laufzeit nur von der ersten Anwendung (30 ) benutzbar ist, wobei während der Übersetzungszeit die Hypervisor-Einheit (20 ) derart erzeugt wird, dass während der Laufzeit nur die erste der Anwendungen (30 ) direkt auf das zweite Betriebsmittel (16a ) zugreifen kann und während der Laufzeit für die zweite Anwendung (32 ) der Zugriff auf das zweite Betriebsmittel (16a ) gesperrt ist. - Verfahren nach einem der vorstehenden Ansprüche, wobei während der Übersetzungszeit () ein Widerspruch zwischen der ersten Eigenschaft der zweiten Eigenschaft und der dritten Eigenschaft ermittelt wird, und wobei der Widerspruch protokolliert wird.
- Verfahren nach einem der vorstehenden Ansprüche, wobei die erste und/oder zweite Eigenschaft ein Soll-Prozessor-Typ und/oder eine Soll-Anzahl von Prozessoren und/oder eine Soll-Speicheradresse und/oder ein Soll-Speicherbereich und/oder eine Soll-Interrupt-Konfiguration und/oder eine Soll-Kommunikationsschnittstelle und/oder ein Soll-Peripheriegerät umfasst, wobei die dritte Eigenschaft ein Ist-Prozessor-Typ und/oder eine Ist-Anzahl von Prozessoren und/oder eine Ist-Speicheradresse und/oder ein Ist-Speicherbereich und/oder eine Ist-Interrupt-Konfiguration und/oder eine Ist-Kommunikationsschnittstelle und/oder ein Ist-Peripheriegerät umfasst.
- Hypervisor-Einheit (
20 ) für ein Steuergerät (6 ), insbesondere für ein Kraftfahrzeug, wobei die Hypervisor-Einheit (20 ) dazu ausgebildet ist, auf dem Steuergerät (6 ) während einer Laufzeit zwei Anwendungen (30 ,32 ) auszuführen, dadurch gekennzeichnet, dass die Hypervisor-Einheit (20 ) für ein von den zwei Anwendungen (30 ,32 ) gemeinsam genutztes erstes Betriebsmittel (24 ) ein virtuelles Betriebsmittel (26 ) zur Verfügung stellt, und dass die Hypervisor-Einheit (20 ) für ein nur von der ersten Anwendungen (30 ) genutztes zweites Betriebsmittel (16a ) dieses zweite Betriebsmittel (16a ) für die zweite Anwendung (32 ) sperrt. - Hypervisor-Einheit (
20 ) nach Anspruch 6, wobei die erste Anwendung (30 ) direkt auf das zweite Betriebsmittel (16a ) zugreift. - Hypervisor-Einheit (
20 ) nach Anspruch 6 oder 7, wobei die erste und zweite Anwendung (30 ,32 ) mittels des virtuellen Betriebsmittels (26 ) der Hypervisor-Einheit (20 ) gemäß einem koordinierten Arbitierungsverfahren, insbesondere einem Prioritätsscheduling-Verfahren, auf das erste Betriebsmittel (24 ) zugreifen. - Hypervisor-Einheit (
20 ) nach Anspruch 6, wobei das zweite Betriebsmittel (16a ) ein erster Prozessorkern ist und wobei das erste Betriebsmittel (24 ) eine Kommunikationsschnittstelle, insbesondere eine CAN-, Flexray- oder Ethernet-Schnittstelle, ist, oder wobei das zweite Betriebsmittel (16a ) eine erste Kommunikationsschnittstelle, insbesondere eine CAN-, Flexray- oder Ethernet-Schnittstelle, ist und wobei das erste Betriebsmittel (24 ) ein erster Prozessorkern ist. - Steuergerät (
6 ) für ein Kraftfahrzeug, wobei das Steuergerät (6 ) eine digitale Recheneinheit, insbesondere einen Mikrocontroller (22 ) aufweist, auf der die Hypervisor-Einheit (20 ) nach den Ansprüchen 6 bis 9 ausführbar ist.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014209592.1A DE102014209592A1 (de) | 2014-05-20 | 2014-05-20 | Verfahren zum Erzeugen einer Hypervisor-Einheit und Hypervisor-Einheit |
CN201580025641.5A CN106462440B (zh) | 2014-05-20 | 2015-05-20 | 用于产生用于嵌入式系统的管理程序单元的方法 |
PCT/EP2015/061141 WO2015177226A1 (de) | 2014-05-20 | 2015-05-20 | Verfahren zum erzeugen einer hypervisor-einheit für eingebettete systeme |
US15/309,638 US10430231B2 (en) | 2014-05-20 | 2015-05-20 | Method for creating a hypervisor unit for embedded systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014209592.1A DE102014209592A1 (de) | 2014-05-20 | 2014-05-20 | Verfahren zum Erzeugen einer Hypervisor-Einheit und Hypervisor-Einheit |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102014209592A1 true DE102014209592A1 (de) | 2015-11-26 |
Family
ID=53267347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014209592.1A Pending DE102014209592A1 (de) | 2014-05-20 | 2014-05-20 | Verfahren zum Erzeugen einer Hypervisor-Einheit und Hypervisor-Einheit |
Country Status (4)
Country | Link |
---|---|
US (1) | US10430231B2 (de) |
CN (1) | CN106462440B (de) |
DE (1) | DE102014209592A1 (de) |
WO (1) | WO2015177226A1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017100118A1 (de) | 2017-01-04 | 2018-07-05 | Connaught Electronics Ltd. | Skalierbares Steuersystem für ein Kraftfahrzeug |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7757231B2 (en) | 2004-12-10 | 2010-07-13 | Intel Corporation | System and method to deprivilege components of a virtual machine monitor |
US8146107B2 (en) * | 2007-07-10 | 2012-03-27 | Mitel Networks Corporation | Virtual machine environment for interfacing a real time operating system environment with a native host operating system |
EP2255291B1 (de) * | 2008-02-18 | 2014-04-16 | Hewlett-Packard Development Company, L.P. | Systeme und verfahren zum kommunizierenden koppeln einer hostdatenverarbeitungseinrichtung und einer peripherieeinrichtung |
US8601129B2 (en) * | 2010-06-30 | 2013-12-03 | International Business Machines Corporation | Hypervisor selection for hosting a virtual machine image |
-
2014
- 2014-05-20 DE DE102014209592.1A patent/DE102014209592A1/de active Pending
-
2015
- 2015-05-20 CN CN201580025641.5A patent/CN106462440B/zh active Active
- 2015-05-20 US US15/309,638 patent/US10430231B2/en active Active
- 2015-05-20 WO PCT/EP2015/061141 patent/WO2015177226A1/de active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017100118A1 (de) | 2017-01-04 | 2018-07-05 | Connaught Electronics Ltd. | Skalierbares Steuersystem für ein Kraftfahrzeug |
WO2018127394A1 (en) | 2017-01-04 | 2018-07-12 | Connaught Electronics Ltd. | Scalable control system for a motor vehicle |
Also Published As
Publication number | Publication date |
---|---|
US10430231B2 (en) | 2019-10-01 |
CN106462440B (zh) | 2020-02-18 |
WO2015177226A1 (de) | 2015-11-26 |
US20170161097A1 (en) | 2017-06-08 |
CN106462440A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102014201682A1 (de) | Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem | |
DE112017007656T5 (de) | Verschobene aktualisierung von datenbank-hashcode in einer blockchain | |
DE102018110018A1 (de) | Verfahren zum Bereitstellen eines integrierten Prozesses für die Steuergerätentwicklung und Simulationsvorrichtung für die Steuergerätentwicklung | |
DE102012011584A1 (de) | Ressourcen-Managementsystem fürAutomatisierungsanlagen | |
EP3080668B1 (de) | Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts | |
DE102012016539A1 (de) | Konfigurationstechnik für ein Steuergerät mit miteinander kommunizierenden Anwendungen | |
EP3417373B1 (de) | Verfahren und vorrichtung zum betreiben eines steuergeräts | |
DE102018110020A1 (de) | Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät | |
EP3015992B1 (de) | Verfahren zur verwaltung priorisierter eingangsdaten | |
DE102020123506A1 (de) | Verfahren zur Erzeugung von Quellcode mit servicebasierter Kommunikation | |
DE102011107646A1 (de) | Verfahren und System zur dynamischen Verteilung von Programmfunktionen in verteilten Steuerungssystemen | |
DE102015100566A1 (de) | Verfahren und leichter Mechanismus für gemischte kritische Anwendungen | |
DE102010009994A1 (de) | Verfahren zur Optimierung eines Steuerungsprogramms für Aktuatoren | |
DE102014209592A1 (de) | Verfahren zum Erzeugen einer Hypervisor-Einheit und Hypervisor-Einheit | |
EP3705993B1 (de) | System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk | |
DE102018123563B4 (de) | Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor | |
DE102016219449A1 (de) | Parallelisierungsverfahren, Parallelisierungswerkzeug und fahrzeugverbaute Einrichtung | |
DE102017120013A1 (de) | Verfahren zur Konfiguration eines zum Testen eines elektronischen Steuergeräts eingerichteten Testgeräts sowie Konfigurationssystem | |
DE102014016884A1 (de) | Datenflußsteuerung und Loadbalancing in Fahrzeugsteuergeräten mit Mehrkernprozessoren | |
DE102019214160A1 (de) | Verfahren und Vorrichtung zum Automatisieren einer Fahrfunktion | |
EP2164022A1 (de) | Verfahren zur Einräumung einer Zugriffsberechtigung auf ein rechnerbasiertes Objekt in einem Automatisierungssystem, Computerprogramm und Automatisierungssystem | |
EP4199553A1 (de) | Verfahren und testeinheit zur testausführung virtueller tests | |
WO2017153411A1 (de) | Verfahren zum betreiben eines steuergeräts für ein kraftfahrzeug | |
DE102021120596A1 (de) | Verfahren zur Übergabe von mindestens einem Parameterwert eines ersten Simulationsmodells an ein zweites Simulationsmodell während einer Simulation | |
DE102022109055A1 (de) | Verfahren zur Dokumentation von auf einem Rechnerkern eines Prozessors ausgeführten Rechenschritten eines Echtzeitsystems, Prozessor und Echtzeitsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |