DE102022201452A1 - Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit - Google Patents

Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit Download PDF

Info

Publication number
DE102022201452A1
DE102022201452A1 DE102022201452.9A DE102022201452A DE102022201452A1 DE 102022201452 A1 DE102022201452 A1 DE 102022201452A1 DE 102022201452 A DE102022201452 A DE 102022201452A DE 102022201452 A1 DE102022201452 A1 DE 102022201452A1
Authority
DE
Germany
Prior art keywords
execution environment
function
memory
access requests
memory addresses
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
DE102022201452.9A
Other languages
English (en)
Inventor
Andreas Achtzehn
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 DE102022201452.9A priority Critical patent/DE102022201452A1/de
Priority to PCT/EP2023/053295 priority patent/WO2023152284A1/de
Publication of DE102022201452A1 publication Critical patent/DE102022201452A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Bereitstellung eines Zugangspunkts (4) zur Messung und Kalibrierung einer oder mehrerer Funktionen (2) einer Recheneinheit (10), die durch Ausführung entsprechender Computerprogramme in wenigstens einer virtualisierten Ausführungsumgebung (6) implementiert werden, wobei die wenigstens eine virtualisierte Ausführungsumgebung (6) durch eine Verwaltungsschicht (8) in der Recheneinheit bereitgestellt wird, wobei die Verwaltungsschicht (8) dazu eingerichtet ist, der wenigstens einen Ausführungsumgebung (6) dynamisch einen jeweiligen Speicherbereich zuzuweisen; umfassend, durch ein in der Verwaltungsschicht (8) vorgesehenes Kontrollmodul (22), ein Empfangen (120) einer oder mehrerer Zugriffsanfragen über eine Schnittstelle der Recheneinheit, die Identifikatoren einschließen, die Parameter der einen oder mehreren Funktionen (2) spezifizieren, ein Bestimmen (130) von Speicheradressen, die den Identifikatoren entsprechen, unter Berücksichtigung der dynamischen Speicherzuweisung, und ein Zugreifen (140) auf die Speicheradressen entsprechend der einen oder der mehreren Zugriffsanfragen.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
  • Hintergrund der Erfindung
  • Bei Steuergeräten von Maschinen, z.B. von Fahrzeugen, erfolgt während einer Test- bzw. Kalibrierungsphase typischerweise eine Anpassung von Parametern von Funktionen, die durch das jeweilige Steuergerät bereitgestellt werden. Hierbei werden etwa Programmvariablen eines Computerprogramms, das eine Funktion implementiert, angepasst bzw. geändert, bis ein gewünschtes Verhalten erreicht ist. Dieses Vorgehen wird als „Messung und Kalibrierung“ bezeichnet. Bei Mikrocontrollern, die als bzw. in Steuergeräten eingesetzt werden, sind Computerprogramme und somit deren Variablen üblicherweise an festen Speicheradressen abgelegt, so dass die Messung und Kalibrierung durch einen Lese- und Schreibzugriff auf die an sich bekannten Speicheradressen von Programmvariablen möglich ist. Auf dem Gebiet von Mikrocontrollern kann dafür beispielsweise das XCP-Protokoll (Universal Measurement and Calibration Protocol) verwendet werden.
  • Offenbarung der Erfindung
  • Erfindungsgemäß werden ein Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die Erfindung betrifft Funktionen, die in einer virtualisierten Form bzw. Umgebung bereitgestellt werden, d.h. sie betrifft Funktionen, die durch Ausführung entsprechender Computerprogramme in wenigstens einer virtualisierten Ausführungsumgebung (z.B. virtuelle Maschine) implementiert werden, wobei die wenigstens eine virtualisierte Ausführungsumgebung durch eine Verwaltungsschicht (z.B. Hypervisor) in der Recheneinheit bereitgestellt wird. Die Verwaltungsschicht ist dazu eingerichtet, der wenigstens einen Ausführungsumgebung dynamisch einen jeweiligen Speicherbereich zuzuweisen.
  • Die Erfindung bedient sich der Maßnahme, durch ein in der Verwaltungsschicht vorgesehenes Kontrollmodul eine oder mehrere Zugriffsanfragen, die Identifikatoren einschließen, die Parameter (Funktionsparameter) der einen oder mehreren Funktionen spezifizieren, über eine Schnittstelle der Recheneinheit zu empfangen und Speicheradressen, die den Identifikatoren entsprechen, zu bestimmen. Die Bestimmung der Speicheradressen erfolgt unter Berücksichtigung der dynamischen Speicherzuweisung. Es wird entsprechend der einen oder den mehreren Zugriffsanfragen auf die bestimmten Speicheradressen zugegriffen. Der Zugriff wird also ermöglicht, obwohl die dynamisch zugewiesenen Speicherbereiche bzw. entsprechenden Speicheradressräume außerhalb der Recheneinheit bzw. der Verwaltungsschicht an sich nicht bekannt sind und ohne dass jede Funktion eine eigene Funktionalität zur Messung und Kalibrierung, d.h. einen eigenen Zugangspunkt, implementieren müsste. Entsprechend kann vorteilhafterweise die Messung und Kalibrierung mehrerer Funktionen mittels desselben Zugangspunkts, der durch das Kontrollmodul gebildet wird, erfolgen.
  • Der Begriff „Funktion“ soll allgemein eine durch die Recheneinheit implementierte Funktionalität bezeichnen. Beispielsweise ist dies die Regelung bzw. Steuerung eines externen Geräts (z.B. Motor) durch die Recheneinheit und Verwendung von Sensordaten (z.B. Drehzahl oder elektrische Stromstärke). Die Ansteuerung des externen Geräts und der Empfang von Sensordaten erfolgt über geeignete Schnittstellen der Recheneinheit.
  • Der Begriff „Parameter“ bzw. „Funktionsparameter“ bezeichnet allgemein einen Parameter einer Funktion, eine Variable einer Funktion, von der Funktion verwendete Daten, von der Funktion empfangene Messwerte oder Ähnliches. Funktionsparameter sind typischerweise in einem Speicherabschnitt der Funktion gespeichert. Implementiert die Funktion etwa einen Regler, können Konstanten (Verstärkungsfaktoren) des Reglers und der Messwert (Ist-Wert) einer zu regelnden Größe Funktionsparameter darstellen. Indem über den Zugangspunkt der Messwert (z.B. Drehzahl im obigen Beispiel) und eventuell weitere Größen (z.B. Stromstärke zur Ansteuerung des Motors oder Stellgrößen) ausgelesen werden, kann bei der Messung und Kalibrierung geprüft werden, ob der Regler wie gewünscht funktioniert, und durch Ändern der Parameter (Verstärkungsfaktoren) des Reglers in einem Schreibzugriff kann das Verhalten des Reglers angepasst werden.
  • Das Zugreifen auf die Speicheradressen entsprechend der einen oder den mehreren Zugriffsanfragen ist in einem allgemeinen Sinn zu verstehen. Insbesondere kann es Lesen von Speicherinhalten der Speicheradressen und/oder Schreiben von zu schreibenden Daten an die Speicheradressen umfassen. Weitergehend kann das Zugreifen entsprechend der einen oder den mehreren Zugriffsanfragen auch ein Übermitteln oder Senden gelesener Daten über die Schnittstelle umfassen. Eine Zugriffsanfrage kann auch die Anforderung einschließen, einen Funktionsparameter zu bestimmten mehreren Zeitpunkten zu lesen. In diesem Fall kann das Zugreifen entsprechend der einen oder den mehreren Zugriffsanfragen auch ein Lesen der Speicheradressen zu diesen bestimmten mehreren Zeitpunkten und Übermitteln oder Senden jeweilig gelesener Daten über die Schnittstelle umfassen.
  • Das „Kontrollmodul“ sowie das weiter unten eingeführte „Proxymodul“ bzw. „Vermittlermodul“ werden insbesondere durch Ausführung eines oder mehrerer entsprechender Computerprogramme implementiert, wobei einzelne Elemente (Schritte bzw. Teilschritte) auch zumindest teilweise durch spezifische Hardwareeinheiten implementiert sein können. Solche Hardwareeinheiten können z.B. zur Unterstützung der Virtualisierung (Verwaltungsschicht, Ausführungsumgebungen), zur Adressübersetzung oder Ähnlichem vorgesehen sein. Das Kontrollmodul könnte auch als Mess- und Kalibiermodul oder Mess- und Kalibiercontroller bezeichnet werden. Das Proxymodul könnte auch als Mess- und Kalibierproxy bezeichnet werden.
  • Dass die Speicheradressen unter Berücksichtigung der dynamischen Speicherzuweisung bestimmt werden, heißt, dass für jede Zugriffsanfrage der dynamisch zugewiesene Speicherbereich bzw. die Abbildung zwischen tatsächlichen Speicheradressen und ausführungsumgebungsspezifischen (virtuellen) Speicheradressen derjenigen Ausführungsumgebung berücksichtigt wird, in der die Funktion implementiert ist, auf die sich die jeweilige Zugriffsanfrage bezieht (d.h. auf deren Funktionsparameter sich die jeweilige Zugriffsanfrage bezieht).
  • Die Speicheradressen beziehen sich auf einen tatsächlichen Adressraum eines Speichers, insbesondere Arbeitsspeichers, der Recheneinheit. Jeder Ausführungsumgebung wird (bei deren Start durch die Verwaltungsschicht) ein Speicherbereich des Speichers zugewiesen, der einem Teilbereich des tatsächlichen Adressraums entspricht. Jede Ausführungsumgebung verwendet (ausführungsumgebungsspezifische) virtuelle bzw. logische Adressen (Speicheradressen), die bei Speicherzugriffen, insbesondere durch die Verwaltungsschicht, in entsprechende tatsächliche Adressen umgesetzt werden. Ausführungsumgebungen können im Allgemeinen nicht auf Speicherbereiche anderer Ausführungsumgebungen zugreifen.
  • Die Identifikatoren ermöglichen es, die tatsächlichen Speicheradressen der spezifizierten Funktionsparameter zu bestimmen. Die Identifikatoren schließen insbesondere Angaben zu Speicherstellen der jeweiligen Funktionsparameter und/oder Symbolnamen und/oder Ähnliches ein. Dazu werden zusätzlich Informationen, die in der Verwaltungsschicht vorhanden sind, d.h. insbesondere die dynamische Speicherbereichs-Zuweisung an die Ausführungsumgebungen, berücksichtigt. Die Identifikatoren schließen vorzugsweise Angaben zu der Funktion, auf die sich die Parameter (Funktionsparameter) beziehen, und/oder zur Ausführungsumgebung, in der diese Funktion implementiert ist, ein. Diese Angaben werden gegebenenfalls bei der Bestimmung der tatsächlichen Speicheradressen ebenfalls berücksichtig (insbesondere bei Verwendung eines Proxymoduls). Dadurch wird ermöglicht, die Funktionsparameter genau zu spezifizieren und demzufolge die entsprechenden Speicheradressen zu bestimmen.
  • Bevorzugt umfasst das Verfahren ein Erfassen, durch ein in einer Ausführungsumgebung vorgesehenes Proxymodul, ausführungsumgebungsspezifischer Adressen von in der jeweiligen Ausführungsumgebung ausgeführten Funktionen und/oder von deren Funktionsparametern, und, durch das Kontrollmodul, ein Bestimmen der Speicheradressen, die den Identifikatoren entsprechen, unter Berücksichtigung der dynamischen Speicherzuweisung und der ausführungsumgebungsspezifischen Adressen. Ausführungsumgebungsspezifische Adressen bezeichnen die Position der Funktion und/oder der Funktionsparameter relativ zu dem der Ausführungsumgebung zugewiesenen Speicherbereich, d.h. in einem virtuellen Adressraum der Ausführungsumgebung. Diese Ausgestaltung ist zweckmäßig, wenn einer Funktion durch eine Ausführungsumgebung dynamisch ein Adressbereich im virtuellen Adressraum der Ausführungsumgebung zugewiesen wird, da in diesem Fall die ausführungsumgebungsspezifische Adresse der Funktion und damit ihrer Parameter zwischen verschiedenen Ausführungen der Funktion und/oder der Ausführungsumgebung variieren kann (z.B. zwischen verschiedenen Starts der Recheneinheit).
  • Bevorzugt umfasst das Verfahren ein Empfangen, durch das Kontrollmodul, der einen oder mehreren Zugriffsanfragen, die eine bestimmte Funktion betreffen, die in einer Ausführungsumgebung implementiert ist, in der das Proxymodul vorgesehen ist, zu einem Zeitpunkt, an dem ein bestimmtes Computerprogramm, durch dessen Ausführung die bestimmte Funktion implementiert wird, noch nicht ausgeführt wird, ein Übermitteln, durch das Kontrollmodul, einer Funktionsstartanfrage für die bestimmte Funktion an das Proxymodul in Reaktion auf das Empfangen der einen oder mehreren Zugriffsanfragen, ein Veranlassen, durch das Proxymodul, des Starts des bestimmten Computerprogramms in Reaktion auf die Funktionsstartanfrage und ein Zugreifen, durch das Kontrollmodul, auf die Speicheradressen entsprechend der einen oder den mehreren Zugriffsanfragen, sobald das bestimmte Computerprogramm ausgeführt wird. Diese Ausgestaltung ermöglicht die Messung und Kalibrierung von Funktionen, die zu einem Zeitpunkt, an dem die Messung und Kalibrierung erfolgen soll, noch nicht ausgeführt werden.
  • Bevorzugt umfasst das Verfahren ein Empfangen, durch das Kontrollmodul, der einen oder mehreren Zugriffsanfragen, die Funktionsparameter einer Funktion betreffen, die in einer noch nicht bereitgestellten bzw. noch nicht gestarteten Ausführungsumgebung implementiert wird, ein Warten, bis die Ausführungsumgebung bereitgestellt bzw. gestartet ist, und anschließend ein Zugreifen auf die Speicheradressen entsprechend der Zugriffsanfragen. Hierdurch wird ermöglicht, Zugriffsanfragen, die für die (wunschgemäße) Implementierung von Funktionen während einer Startphase relevant sind bzw. diese betreffen, zu bearbeiten.
  • Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Fahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
  • Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN-Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
  • Figurenliste
    • 1 zeigt in Ausführungsumgebungen implementierte Funktionen und durch eine Verwaltungsschicht bereitgestellte Zugangspunkte zur Messung und Kalibrierung gemäß einer bevorzugten Ausführungsform.
    • 2 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform.
  • Ausführungsform(en) der Erfindung
  • 1 zeigt in Ausführungsumgebungen 6 durch Ausführung entsprechender Computerprogramme implementierte Funktionen 2 und durch eine Verwaltungsschicht 8 bereitgestellte Zugangspunkte 4 zur Messung und Kalibrierung der Funktionen gemäß einer bevorzugten Ausführungsform.
  • Die Funktionen 2 werden in einer Recheneinheit 10, z.B. einem Steuergerät einer Maschine, insbesondere eines Fahrzeugs, in sogenannter virtualisierter Form bereitgestellt und sind als Computerprogramme implementiert, die in den Ausführungsumgebungen 6 ausgeführt werden. Die Ausführungsumgebungen 6 selbst sind ebenfalls Computerprogramme, die (aus Sicht der Funktionen) jeweils eine bestimmte (virtuelle) Umgebung (z.B. Hardware- und/oder Betriebssystem- und/oder Softwareumgebung) darstellen. Die Recheneinheit weist Hardware auf, insbesondere einen oder mehrere Prozessoren und Speicher, in denen die beschriebene Ausführungsumgebungen 6 und die Verwaltungsschicht 8 implementiert sind.
  • Die Ausführungsumgebungen 6 werden durch die Verwaltungsschicht 8 bereitgestellt (d.h. gestartet und im weiteren Verlauf verwaltet, während sie ausgeführt werden). Die Verwaltungsschicht 8 implementiert insbesondere die Ausführungsumgebungen, d.h. die virtuellen Umgebungen, im Rahmen der tatsächlichen Umgebung (Host-System), d.h. im Rahmen der Recheneinheit 10 und eines eventuell darin ausgeführten Host-Betriebssystems. Sozusagen wird den einzelnen Ausführungsumgebungen dabei jeweils eine eigene komplette Gast-Recheneinheit mit allen Hardware-Elementen (Prozessor, Laufwerke, Arbeitsspeicher usw.) vorgespielt (die für verschiedene Ausführungsumgebungen verschieden sein können). Diese Gast-Recheneinheiten sind im Allgemeinen verschieden von der Recheneinheit 10 (Host-Recheneinheit). Dies kann insbesondere durch Hardware-Emulation, Hardware-Virtualisierung oder Paravirtualisierung erfolgen. Die Ausführungsumgebungen 8 sind z.B. sogenannte virtuelle Maschinen oder Container. Die Verwaltungsschicht 8 ist z.B. ein sogenannter Hypervisor (Typ-1 oder Typ-2).
  • Die Ausführungsumgebungen 6 und die Funktionen 2 haben auf die Hardwareressourcen der Recheneinheit 10 typischerweise keinen direkten Zugriff, sondern können nur über die Verwaltungsschicht 8 auf diese zugreifen. Dies gilt insbesondere für den Zugriff auf den Speicher (flüchtiger Speicher 12, nichtflüchtiger Speicher 14). Jeder der Ausführungsumgebungen 6 wird dabei durch die Verwaltungsschicht 8 ein Speicherbereich bzw. Speicherbereich im flüchtigen Speicher 12 und/oder nichtflüchtigen Speicher 14 zugewiesen. Diese Zuweisung erfolgt dynamisch, etwa mit Start der jeweiligen Ausführungsumgebung. Virtuelle Adressen der Ausführungsumgebung, d.h. in einem (virtuellen) Adressraum aus Sicht der Ausführungsumgebung, werden durch die Verwaltungsschicht auf tatsächliche Adressen im Speicher, d.h. auf einen tatsächlichen Adressraum, der dem zugewiesenen Speicherbereich entspricht, abgebildet. Der tatsächliche Adressraum kann ein physikalischer Adressraum oder ein logischer Adressraum sein. Letzteres kann beispielsweise der Fall sein, wenn die Verwaltungsschicht auf einem Host-Betriebssystem aufsetzt, etwa im Falle eines Typ-2-Hypervisors.
  • Ebenso erfolgt der Zugriff auf Schnittstellen der Recheneinheit 10 zur Datenkommunikation mit externen Geräten aus den Ausführungsumgebungen heraus über die Verwaltungsschicht 8. Im Falle eines Steuergeräts können die externen Geräte insbesondere zu steuernde Geräte (etwa Motoren, Aktuatoren oder Ähnliches) und/oder Sensoren sein.
  • Um im Rahmen der Messung und Kalibrierung Parameter bzw. Variablen der Funktionen auszulesen und/oder zu schreiben, ist wenigstens ein Zugangspunkt 4 bereitgestellt, über den einer externen Mess- und Kalibrierungseinheit 20 (Messtechnik, z.B. ein Computer) der Zugriff (Lesen und/oder Schreiben) auf die Funktionsparameter ermöglicht wird. Dazu ist wenigstens eine Schnittstelle (z.B. entsprechend dem wenigstens einen Zugangspunkt) zur Datenkommunikation an der Recheneinheit vorgesehen. Die Schnittstelle ist beispielsweise eine CAN-Schnittstelle (CAN: Controller Area Network), eine Ethernet-Schnittstelle, eine USB-Schnittstelle, eine SPI-Schnittstelle (SPI: Serial Peripheral Interface) oder eine beliebige andere serielle Schnittstelle. Die Kommunikation kann mittels eines entsprechenden Schnittstellen-Protokolls erfolgen.
  • In der Verwaltungsschicht oder zusätzlich zu der Verwaltungsschicht ist ein Kontrollmodul 22, d.h. ein Computerprogramm-Modul, vorgesehen, das eingerichtet ist, über den wenigstens einen Zugangspunkt bzw. die entsprechende wenigstens eine Schnittstelle zu kommunizieren, d.h. Daten zu empfangen und zu senden. Das Kontrollmodul 22 ist eingerichtet, Zugriffsanfragen zu empfangen, z.B. von der externen Mess- und Kalibrierungseinheit 20. Zugriffsanfragen sind Lese- und/oder Schreibanfragen, die bestimmte Funktionsparameter betreffen. Um die Funktionsparameter zu spezifizieren, umfassen die Zugriffsanfragen Identifikatoren, anhand derer der jeweilige Funktionsparameter eindeutig festgelegt bzw. bestimmbar ist. Identifikatoren umfassen insbesondere Namen oder Symbole oder Ähnliches, die bezogen auf einzelne Funktionen Funktionsparameter spezifizieren. Weiterhin können die Identifikatoren Informationen umfassen, anhand derer die Funktion, auf deren Funktionsparameter zugegriffen werden soll, bestimmbar ist und/oder anhand derer die Ausführungsumgebung bestimmbar ist, in der die Funktion, auf deren Funktionsparameter zugegriffen werden soll, ausgeführt wird.
  • Das Kontrollmodul 22 ist weiter eingerichtet, anhand der Identifikatoren Speicheradressen zu bestimmen, an denen die entsprechenden Funktionsparameter gespeichert sind, und auf die bestimmten Speicheradressen entsprechend der Zugriffsanforderung zuzugreifen. Die bestimmten Speicheradressen sind hier tatsächliche Speicheradressen innerhalb der Speicherbereiche, die den Ausführungsumgebungen zugewiesen sind.
  • Im einfachsten Fall befinden sich die Funktionen und damit die Funktionsparameter an von vornherein bekannten Positionen innerhalb der jeweiligen Ausführungsumgebung. Dies entspricht der Situation eines Mikrocontrollers, in dem die Software an bekannten Speicheradressen abgelegt ist, eine solche Ausführungsumgebung würde sozusagen einen Mikrocontroller virtualisieren. Es ist dann bezogen auf den (virtuellen) Adressraum einer Ausführungsumgebung vorbekannt, an welchen (ausführungsumgebungsspezifischen) Adressen sich die Funktionsparameter befinden. Die vorbekannten ausführungsumgebungsspezifischen Adressen werden vom Kontrollmodul in entsprechende tatsächliche Speicheradressen umgesetzt, wobei die dynamische Speicherbereichszuweisung an die Ausführungsumgebung berücksichtigt wird. Dass die dynamische Speicherbereichszuweisung berücksichtigt wird, heißt, dass die Abbildung zwischen dem virtuellen Adressraum und dem tatsächlichen Adressraum verwendet wird; ausführungsumgebungsspezifische Adressen werden auf entsprechende tatsächlichen Speicheradressen abgebildet. Die vorbekannten ausführungsumgebungsspezifischen Adressen können vom Kontrollmodul gespeichert werden und/oder in den Identifikatoren umfasst sein; insbesondere ist der Fall denkbar, dass die Identifikatoren im Wesentlichen die vorbekannten ausführungsumgebungsspezifischen Adressen sind.
  • Im weitergehenden Fall werden Funktionen bzw. die Computerprogramme, die die jeweiligen Funktionen implementieren, zur Laufzeit in einer Ausführungsumgebung dynamisch gestartet und ausgeführt (dies entspricht z.B. der Situation, in der in der Ausführungsumgebung ein Gast-Betriebssystem ausgeführt wird). Dann sind typischerweise die ausführungsspezifischen Adressen einer Funktion und ihrer Funktionsparameter nicht vorbekannt, sondern können bei verschiedenen Ausführungen verschieden sein. Die Adress-Information, an welchen ausführungsspezifischen Adressen sich die Funktion und/oder Funktionsparameter befinden ist, dann zunächst nur der Ausführungsumgebung bekannt. Um diese Adress-Information auch im Kontrollmodul verfügbar zu machen, ist bevorzugt in wenigsten einer entsprechenden Ausführungsumgebung ein Proxymodul 24 (d.h. ein Programmmodul) vorgesehen, das diese Adress-Information erfasst und dem Kontrollmodul verfügbar macht. Hierbei können, sobald eine Funktion ausgeführt wird, die Informationen an das Kontrollmodul übermittelt werden, das diese speichert, und/oder die Adress-Informationen können in Reaktion auf eine entsprechende Abfrage vom Kontrollmodul an dieses übermittelt werden. Im ersten Fall kann zusätzlich vorgesehen sein, dass, wenn die Ausführung einer Funktion beendet wird, vom Proxymodul eine entsprechende Information an das Kontrollmodul übermittelt wird, das die Adress-Information, die sich auf diese Funktion bezieht, löschen oder als nicht mehr gültig kennzeichnen kann. Im zweiten Fall kann, falls sich die Adress-Information nicht auf die ausführungsumgebungsspezifische Adresse der Funktion bezieht, die Abfrage spezifizieren, für welche Funktionsparameter die Adress-Information übermittelt werden soll. Wenn sich die Adress-Information auf die ausführungsumgebungsspezifische Adresse der Funktion bezieht, kann dem Kontrollmodul bekannt sein, d.h. durch dieses gespeichert sein oder diesem zusammen mit der Zugriffsanfrage übermittelt sein (z.B. in den Identifikatoren umfasst sein), an welchen umgebungsspezifischen Adressen bezogen auf den von der Funktion belegten umgebungsspezifischen Adressabschnitt (etwa bezogen auf eine umgebungsspezifische Anfangsadresse der Funktion) sich die Funktionsparameter befinden.
  • Um die tatsächliche Speicheradresse, an dem ein Funktionsparameter gespeichert ist, zu bestimmen, berücksichtigt das Kontrollmodul 22 neben der dynamischen Speicherbereichszuweisung an die Ausführungsumgebung auch die Adress-Information vom Proxymodul 24.
  • Weitergehend kann das Proxymodul 24 eingerichtet sein, in der jeweiligen Ausführungsumgebung die Ausführung von Funktionen zu starten bzw. deren Start zu veranlassen. Dies erfolgt insbesondere in Reaktion auf eine entsprechende Funktionsstartanfrage vom Kontrollmodul 22. Das Kontrollmodul kann also unter Verwendung eines Proxymoduls den Start bzw. die Ausführung einer bestimmten Funktion veranlassen. Diese Möglichkeit ist beispielsweise hilfreich, wenn eine Messung und Kalibrierung einer Funktion erfolgen soll, die im Normalfall, etwa während normaler Betriebszustände einer Maschine, die die Recheneinheit 10 als Steuergerät umfasst, nur selten oder gar nicht ausgeführt wird.
  • 2 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform.
  • Vorausgesetzt für die dargestellten Schritte ist bzw. nicht dargestellte Schritte sind, dass in der Recheneinheit eine Verwaltungsschicht (z.B. Hypervisor) ausgeführt wird, die wenigstens eine Ausführungsumgebung (z.B. virtuelle Maschine oder Container) bereitstellt, in der die Funktionen implementiert ist. Die Verwaltungsschicht, die Ausführungsumgebungen und die Funktionen werden jeweils durch Ausführen entsprechender Computerprogramme implementiert, unter eventueller Nutzung spezifischer Hardwareeinheiten.
  • Im bevorzugten Schritt 100, d.h. insbesondere vorausgesetzt, dass ein Proxymodul vorgesehen ist, werden durch das Proxymodul ausführungsumgebungsspezifische Adressen von in der jeweiligen Ausführungsumgebung ausgeführten Funktionen und/oder von deren Funktionsparametern erfasst. Im ebenso bevorzugten Schritt 110 werden die erfassten spezifischen Adressen an das Kontrollmodul übermittelt. Wie oben erläutert kann dies erfolgen, sobald eine Funktion gestartet wird und/oder in Reaktion auf eine entsprechende Abfrage durch das Kontrollmodul (im zweiten Fall erfolgt dieser Schritt offensichtlich erst nach Schritt 120).
  • In Schritt 120 werden durch das Kontrollmodul über eine Schnittstelle der Recheneinheit eine oder mehrere Zugriffsanfragen empfangen. Diese schließen Identifikatoren ein, die Parameter (Funktionsparameter) der einen oder mehreren Funktionen bezeichnen.
  • In Schritt 130 werden durch das Kontrollmodul Speicheradressen, die den Identifikatoren entsprechen, unter Berücksichtigung der dynamischen Speicherzuweisung, bestimmt. Wenn ein Proxymodul und entsprechend ausführungsumgebungsspezifische Adressen verwendet werden (Schritte 100, 110), werden bei der Bestimmung der Speicheradressen zusätzlich die ausführungsumgebungsspezifischen Adressen berücksichtigt. In diesem Fall, siehe Schritt 110, können die ausführungsumgebungsspezifischen Adressen aus einem dem Kontrollmodul zugeordneten Speicher gelesen und/oder mittels einer entsprechenden Abfrage vom Proxymodul abgefragt werden.
  • In Schritt 140 wird auf die Speicheradressen entsprechend der einen oder den mehreren Zugriffsanfragen zugegriffen. Optional, im Fall einer Lesezugriffsanfrage, erfolgt in Schritt 145, der auch als Teil des Zugriffs (Schritt 145) angesehen werden kann, ein Senden bzw. Übermitteln gelesener Speicherinhalte über die Schnittstelle an das externe Gerät (z.B. die externe Mess- und Kalibrierungseinheit 20), das die Zugriffanfrage gesendet hat.

Claims (10)

  1. Verfahren zur Bereitstellung eines Zugangspunkts (4) zur Messung und Kalibrierung einer oder mehrerer Funktionen (2) einer Recheneinheit (10), die durch Ausführung entsprechender Computerprogramme in wenigstens einer virtualisierten Ausführungsumgebung (6) implementiert werden, wobei die wenigstens eine virtualisierte Ausführungsumgebung (6) durch eine Verwaltungsschicht (8) in der Recheneinheit bereitgestellt wird, wobei die Verwaltungsschicht (8) dazu eingerichtet ist, der wenigstens einen Ausführungsumgebung (6) dynamisch einen jeweiligen Speicherbereich zuzuweisen; umfassend, durch ein in der Verwaltungsschicht (8) vorgesehenes Kontrollmodul (22): Empfangen (120) einer oder mehrerer Zugriffsanfragen über eine Schnittstelle der Recheneinheit, die Identifikatoren einschließen, die Parameter der einen oder mehreren Funktionen (2) spezifizieren, Bestimmen (130) von Speicheradressen, die den Identifikatoren entsprechen, unter Berücksichtigung der dynamischen Speicherzuweisung, und Zugreifen (140) auf die Speicheradressen entsprechend der einen oder den mehreren Zugriffsanfragen.
  2. Verfahren nach Anspruch 1, umfassend, Erfassen (100), durch wenigstens ein in der wenigstens einen Ausführungsumgebung (6) vorgesehenes Proxymodul (24), ausführungsumgebungsspezifischer Adressen von in der jeweiligen Ausführungsumgebung ausgeführten Funktionen (2) und/oder von deren Funktionsparametern; und, Bestimmen (130), durch das Kontrollmodul (22), der Speicheradressen, die den Identifikatoren entsprechen, unter Berücksichtigung der dynamischen Speicherzuweisung und der ausführungsumgebungsspezifischen Adressen.
  3. Verfahren nach Anspruch 2, umfassend, Empfangen, durch das Kontrollmodul (22), der einen oder mehreren Zugriffsanfragen, die eine bestimmte Funktion (2) betreffen, die in einer Ausführungsumgebung implementiert ist, in der ein Proxymodul (24) vorgesehen ist, zu einem Zeitpunkt, an dem ein bestimmtes Computerprogramm, durch dessen Ausführung die bestimmte Funktion implementiert wird, noch nicht ausgeführt wird; Übermitteln, durch das Kontrollmodul (22), einer Funktionsstartanfrage für die bestimmte Funktion an das Proxymodul (24) in Reaktion auf das Empfangen (120) der Zugriffsanfragen; Veranlassen, durch das Proxymodul (24), des Starts des bestimmten Computerprogramms in Reaktion auf die Funktionsstartanfrage; und Zugreifen (140), durch das Kontrollmodul (22), auf die Speicheradressen entsprechend der einen oder den mehreren Zugriffsanfragen, sobald das bestimmte Computerprogramm ausgeführt wird.
  4. Verfahren nach einem der vorstehenden Ansprüche, umfassend, durch das Kontrollmodul, Empfangen (120) der einen oder der mehreren Zugriffsanfragen, die Funktionsparameter einer Funktion (2) betreffen, die in einer noch nicht bereitgestellten bzw. noch nicht gestarteten Ausführungsumgebung implementiert wird, Warten, bis die Ausführungsumgebung (6) bereitgestellt bzw. gestartet ist, und anschließend Zugreifen (140) auf die Speicheradressen entsprechend der einen oder den mehreren Zugriffsanfragen.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei die eine oder die mehreren Zugriffsanfragen eine Leseanfrage einschließen, wobei das Zugreifen (140) auf die Speicheradressen umfasst: Lesen eines Speicherinhalts der Speicheradressen, die den Identifikatoren entsprechen, und Übermitteln bzw. Senden (145) des gelesenen Speicherinhalts über die Schnittstelle.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei die eine oder die mehreren Zugriffsanfragen eine Schreibanfrage und zu schreibende Daten einschließen, wobei das Zugreifen (140) auf die Speicheradressen umfasst: Schreiben der zu schreibenden Daten an die Speicheradressen, die den Identifikatoren entsprechen.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei die Identifikatoren Angaben zu der Funktion (2), auf die sich die Parameter beziehen, und/oder zur Ausführungsumgebung, in der diese Funktion implementiert ist, einschließen.
  8. Recheneinheit (10), die dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach einem der vorstehenden Ansprüche durchzuführen.
  9. Computerprogramm, das eine Recheneinheit (10) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen, wenn es auf der Recheneinheit ausgeführt wird.
  10. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 9.
DE102022201452.9A 2022-02-11 2022-02-11 Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit Pending DE102022201452A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022201452.9A DE102022201452A1 (de) 2022-02-11 2022-02-11 Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit
PCT/EP2023/053295 WO2023152284A1 (de) 2022-02-11 2023-02-10 Verfahren zur bereitstellung eines zugangspunkts zur messung und kalibrierung einer oder mehrerer funktionen einer recheneinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022201452.9A DE102022201452A1 (de) 2022-02-11 2022-02-11 Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit

Publications (1)

Publication Number Publication Date
DE102022201452A1 true DE102022201452A1 (de) 2023-08-17

Family

ID=85239084

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022201452.9A Pending DE102022201452A1 (de) 2022-02-11 2022-02-11 Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit

Country Status (2)

Country Link
DE (1) DE102022201452A1 (de)
WO (1) WO2023152284A1 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626221B2 (en) * 2015-02-24 2017-04-18 Red Hat Israel, Ltd. Dynamic guest virtual machine identifier allocation
CN112579251B (zh) * 2019-09-29 2024-04-23 华为技术有限公司 虚拟机内存管理的方法及设备
US11593170B2 (en) * 2020-03-25 2023-02-28 Red Hat, Inc. Flexible reverse ballooning for nested virtual machines

Also Published As

Publication number Publication date
WO2023152284A1 (de) 2023-08-17

Similar Documents

Publication Publication Date Title
DE112006001642T5 (de) Adressfensterunterstützung für Direktspeicherzugriffsumsetzung
DE202010017667U1 (de) Datenspeichervorrichtung mit Flash-Speicherchips
DE112005002405T5 (de) Fehlerverarbeitung für Direktspeicherzugriffs-Adreßübersetzung
DE112005002298T5 (de) Leistungssteigerung einer Adreßübersetzung unter Verwendung von Übersetzungstabellen, die große Adreßräume umfassen
WO2013083410A2 (de) Vorrichtung zur bedienung von mindestens einem feldgerät der automatisierungstechnik
DE102007029285A1 (de) Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems sowie Verfahren zum Betreiben einer Testvorrichtung
WO2013110736A1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem - kern zur exklusiven bereitstellung an virutelle maschinen
WO2019192835A1 (de) Verfahren zum bereitstellen von anwendungsdaten zumindest einer auf einem steuergerät eines fahrzeugs ausführbaren anwendung, verfahren zum kalibrieren eines steuergeräts, steuergerät und auswerteeinrichtung
DE112012004247T5 (de) Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung
EP2698678A2 (de) Konfigurationstechnik für ein Steuergerät mit miteinander kommunizierenden Anwendungen
DE102021130897A1 (de) Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem
DE102011007714B4 (de) Verfahren für die Verwendung mit einem Batterieüberwachungssystem, Batterieüberwachungssystem und Verwendung des Verfahrens
DE102015204990B4 (de) Kalibrationsspeichersteuerverfahren und Vorrichtung einer elektronischen Steuereinheit
DE112008001473T5 (de) Zwischenspeicherung eines Mikrocodierungsemulationsspeichers
DE102022201452A1 (de) Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit
EP1797500A2 (de) Verfahren zur beschreibung von speicherinhalten und zur beschreibung des transfers von speicherinhalten
DE112013007676T5 (de) Informationsvorrichtung
EP3401743B1 (de) Verfahren zur aufstellung einer menüstruktur auf einem messumformer und messumformer
DE102004013493B4 (de) Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
DE112008001119T5 (de) Regeln für gemeinsam genutzte Einrichtungen einer an ein Netzwerk angeschlossenen Speichervorrichtung
DE102022206097A1 (de) Speicherverwaltungsarchitektur
DE112012006540T5 (de) Verfahren und Vorrichtung für einheitlichen Zugriff auf bordeigene Geräte
DE112009001842T5 (de) Steuervorrichtung, Steuerverfahren und Computerprogramm
DE102014106436A1 (de) Bereitstellung kundenspezifischer Kraftstoffwirtschaftlichkeitsnennwerte auf der Grundlage eines Kundenfahrzyklus
EP0296149B1 (de) Verfahren zur Datenänderung im Parameterspeicher eines Kraftfahrzeug-Reglers