WO2023152284A1 - 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
WO2023152284A1
WO2023152284A1 PCT/EP2023/053295 EP2023053295W WO2023152284A1 WO 2023152284 A1 WO2023152284 A1 WO 2023152284A1 EP 2023053295 W EP2023053295 W EP 2023053295W WO 2023152284 A1 WO2023152284 A1 WO 2023152284A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution environment
function
memory
access requests
memory addresses
Prior art date
Application number
PCT/EP2023/053295
Other languages
English (en)
French (fr)
Inventor
Andreas Achtzehn
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
Publication of WO2023152284A1 publication Critical patent/WO2023152284A1/de

Links

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

Definitions

  • the present invention relates to a method for providing an access point for measuring and calibrating one or more functions of a computing unit, as well as a computing unit and a computer program for carrying it out.
  • control units of machines e.g. of vehicles
  • parameters of functions that are provided by the respective control unit are typically adapted during a test or calibration phase.
  • program variables of a computer program that implements a function are adjusted or changed until a desired behavior is achieved.
  • This procedure is referred to as "measurement and calibration”.
  • microcontrollers that are used as or in control devices, computer programs and thus their variables are usually stored at fixed memory addresses, so that measurement and calibration is possible through read and write access to the known memory addresses of program variables.
  • the XCP protocol Universal Measurement and Calibration Protocol
  • the invention relates to functions that are provided in a virtualized form or environment, i.e. it relates to functions that are implemented by executing corresponding computer programs in at least one virtualized execution environment (e.g. virtual machine), the at least one virtualized execution environment being managed by a management layer (e.g. Hypervisor) is provided in the processing unit.
  • the management layer is set up to dynamically allocate a respective memory area to the at least one execution environment.
  • the invention makes use of the measure, by a control module provided in the management layer, to receive one or more access requests that include identifiers that specify parameters (function parameters) of the one or more functions via an interface of the processing unit and memory addresses that correspond to the identifiers, to determine.
  • the memory addresses are determined taking into account the dynamic memory allocation.
  • the specific memory addresses are accessed according to the one or more access requests. Access is thus made possible, although the dynamically allocated memory areas or corresponding memory address spaces are not known per se outside of the processing unit or the management layer and without each function having to implement its own functionality for measurement and calibration, i.e. its own access point.
  • the measurement and calibration of several functions can advantageously be carried out using the same access point, which is formed by the control module.
  • the term "function" is intended to refer generally to a functionality implemented by the computing unit. For example, this is the regulation or control an external device (e.g. motor) by the computing unit and using sensor data (e.g. speed or electrical current). The external device is controlled and sensor data is received via suitable interfaces of the computing unit.
  • an external device e.g. motor
  • sensor data e.g. speed or electrical current
  • parameter generally refers to a parameter of a function, a variable of a function, data used by the function, measurement values received by the function, or the like.
  • Function parameters are typically stored in a memory portion of the function. If the function implements a controller, for example, constants (amplification factors) of the controller and the measured value (actual value) of a variable to be controlled can represent function parameters. By reading out the measured value (e.g. speed in the example above) and any other variables (e.g. current intensity for controlling the motor or manipulated variables) via the access point, it is possible to check during measurement and calibration whether the controller is working as desired, and by changing the Parameters (amplification factors) of the controller in a write access, the behavior of the controller can be adjusted.
  • the measured value e.g. speed in the example above
  • any other variables e.g. current intensity for controlling the motor or manipulated variables
  • Accessing the memory addresses corresponding to the one or more access requests is to be understood in a general sense. In particular, it can include reading memory contents of the memory addresses and/or writing data to be written to the memory addresses. Furthermore, according to the one or more access requests, the access can also include a transmission or sending of read data via the interface. An access request may also include a request to read a function parameter at specific multiple times. In this case, accessing according to the one or more access requests can also include reading the memory addresses at these specific multiple points in time and transmitting or sending respectively read data via the interface.
  • control module and the "proxy module” or
  • Intermediary module are in particular through the execution of one or more corresponding computer programs implemented, individual elements (steps or partial steps) can also be implemented at least partially by specific hardware units. Such hardware units can be provided, for example, to support virtualization (management layer, execution environments), for address translation or the like.
  • the control module could also be referred to as a measurement and calibration module or a measurement and calibration controller.
  • the proxy module could also be referred to as a measurement and calibration proxy.
  • the fact that the memory addresses are determined taking into account the dynamic memory allocation means that for each access request the dynamically allocated memory area or the mapping between actual memory addresses and execution environment-specific (virtual) memory addresses of the execution environment in which the function is implemented to which the respective access request relates (i.e. to whose functional parameters the respective access request relates).
  • the memory addresses relate to an actual address space of a memory, in particular working memory, of the processing unit.
  • Each execution environment (when it is started by the management layer) is assigned a memory area that corresponds to a subarea of the actual address space.
  • Each execution environment uses (execution environment-specific) virtual or logical addresses (memory addresses), which are converted into corresponding actual addresses during memory accesses, in particular by the management layer.
  • Execution environments generally cannot access memory areas of other execution environments.
  • the identifiers make it possible to determine the actual memory addresses of the specified function parameters.
  • the identifiers include, in particular, information on storage locations of the respective function parameters and/or symbol names and/or the like. For this purpose, additional information that is available in the management layer, ie in particular the dynamic memory area allocation to the execution environments, is considers.
  • the identifiers preferably include information about the function to which the parameters (function parameters) relate and/or the execution environment in which this function is implemented. This information may also be taken into account when determining the actual memory addresses (especially when using a proxy module). This makes it possible to specify the function parameters precisely and consequently to determine the corresponding memory addresses.
  • the method preferably includes detecting, by a proxy module provided in an execution environment, execution environment-specific addresses of functions executed in the respective execution environment and/or their function parameters, and, by the control module, determining the memory addresses that correspond to the identifiers, taking into account the dynamic memory allocation and the execution environment specific addresses.
  • Execution environment specific addresses denote the location of the function and/or function parameters relative to the memory area allocated to the execution environment, i.e. in a virtual address space of the execution environment. This configuration is expedient if an address range in the virtual address space of the execution environment is dynamically assigned to a function by an execution environment, since in this case the execution environment-specific address of the function and thus its parameters can vary between different executions of the function and/or the execution environment (e.g. between different starts of the computing unit).
  • the method preferably includes receiving, by the control module, one or more access requests relating to a specific function implemented in an execution environment in which the proxy module is provided, at a time when a specific computer program, through its execution the specific function is implemented is not yet executed, the control module transmitting a function start request for the specific function to the proxy module in response to receiving the one or more access requests, causing the proxy module to start the specific computer program in response to the Function start request and accessing, by the control module, the memory addresses corresponding to the one or more access requests as soon as the specific computer program is executed.
  • This refinement enables the measurement and calibration of functions that are not yet being carried out at a point in time when the measurement and calibration are to take place.
  • the method preferably includes receiving, by the control module, one or more access requests relating to the function parameters of a function that is implemented in an execution environment that has not yet been provided or not yet started, waiting until the execution environment is provided or started, and then accessing the memory addresses according to the access requests. This makes it possible to process access requests that are relevant to or relate to the (desired) implementation of functions during a start phase.
  • a computing unit according to the invention e.g. a control unit of a vehicle, is set up, in particular in terms of programming, to carry out a method according to the invention.
  • a machine-readable storage medium is provided with a computer program stored thereon as described above.
  • Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories such as hard drives, flash memories, EEPROMs, DVDs, etc.
  • FIG. 1 shows functions implemented in execution environments and access points for measurement and calibration provided by a management layer according to a preferred embodiment.
  • FIG. 2 shows a flow chart according to a preferred embodiment.
  • FIG. 1 shows functions 2 implemented in execution environments 6 by executing corresponding computer programs and access points 4 provided by an administration layer 8 for measuring and calibrating the functions according to a preferred embodiment.
  • the functions 2 are provided in a computing unit 10, for example a control unit of a machine, in particular a vehicle, in so-called virtualized form and are implemented as computer programs which are executed in the execution environments 6.
  • the execution environments 6 themselves are also computer programs which (from the point of view of the functions) each represent a specific (virtual) environment (eg hardware and/or operating system and/or software environment).
  • the computing unit has hardware, in particular one or more processors and memories, in which the execution environments 6 and the management layer 8 described are implemented.
  • the execution environments 6 are provided (ie started and further managed while they are executed) by the management layer 8 .
  • the management layer 8 implements the execution environments, ie the virtual environments, within the framework of the actual environment (host system), ie within the framework of the computing unit 10 and a host operating system possibly executed therein. So to speak, the individual execution environments are each presented with their own complete guest processing unit with all hardware elements (processor, drives, main memory, etc.) (which can be different for different execution environments). These guest processing units are generally different from the processing unit 10 (host processing unit). This can be done in particular by hardware emulation, hardware virtualization or paravirtualization.
  • the execution environments 8 are, for example, so-called virtual machines or containers.
  • the management layer 8 is, for example, a so-called hypervisor (type 1 or type 2).
  • the execution environments 6 and the functions 2 typically do not have direct access to the hardware resources of the processing unit 10 but can only access them via the management layer 8 . This applies in particular to accessing the memory (volatile memory 12, non-volatile memory 14).
  • Each of the execution environments 6 is assigned a memory area or memory area in the volatile memory 12 and/or non-volatile memory 14 by the management layer 8 . This assignment takes place dynamically, for example when the respective execution environment starts.
  • Virtual addresses of the execution environment i.e. in a (virtual) address space from the point of view of the execution environment, are mapped by the management layer to actual addresses in memory, i.e. to an actual address space which corresponds to the allocated memory area.
  • the actual address space can be a physical address space or a logical address space. The latter can be the case, for example, if the management layer is based on a host operating system, such as in the case of a type 2 hypervisor.
  • Access to interfaces of the processing unit 10 for data communication with external devices also takes place from the execution environments via the management layer 8.
  • the external devices can be devices to be controlled in particular (such as motors, actuators or the like) and/or sensors.
  • At least one access point 4 is provided, via which an external measurement and calibration unit 20 (measurement technology, e.g. a computer) can access (read and/or writing) to the function parameters is enabled.
  • an external measurement and calibration unit 20 measures measurement technology, e.g. a computer
  • at least one interface is provided for data communication on the processing unit.
  • the interface is, for example, a CAN interface (CAN: Controller Area Network), an Ethernet interface, a USB interface, an SPI interface (SPI: Serial Peripheral Interface) or any other serial interface.
  • the communication can take place by means of a corresponding interface protocol.
  • a control module 22, ie a computer program module, is provided in the management layer or in addition to the management layer, which is set up to communicate via the at least one access point or the corresponding at least one interface, ie to receive and send data.
  • the control module 22 is set up to receive access requests, for example from the external measurement and calibration unit 20. Access requests are read and/or write requests relating to specific functional parameters.
  • the access requests include identifiers, by means of which the respective function parameter is clearly defined or can be determined. Identifiers include, in particular, names or symbols or the like that specify function parameters in relation to individual functions.
  • the identifiers can include information by means of which the function whose function parameters are to be accessed can be determined and/or by means of which the execution environment in which the function whose function parameters are to be accessed is executed can be determined.
  • the control module 22 is also set up to use the identifiers to determine memory addresses at which the corresponding functional parameters are stored and to access the specific memory addresses in accordance with the access request.
  • the specific memory addresses are actual memory addresses within the memory areas allocated to the execution environments.
  • the functions and thus the function parameters are located at positions within the respective execution environment that are known from the outset. This corresponds to the situation of a microcontroller in which the software is stored at known memory addresses. Such an execution environment would, so to speak, virtualize a microcontroller. In relation to the (virtual) address space of an execution environment, it is then already known at which (execution environment-specific) addresses the function parameters are located.
  • the previously known execution environment-specific addresses are converted by the control module into corresponding actual memory addresses, taking into account the dynamic memory allocation to the execution environment. That dynamic memory allocation is taken into account means that the mapping between the virtual address space and the actual address space is used; execution environment specific addresses are mapped to corresponding actual memory addresses.
  • the previously known execution environment-specific addresses can be stored by the control module and/or can be included in the identifiers; in particular, the case is conceivable that the identifiers are essentially the previously known execution environment-specific addresses.
  • functions or the computer programs that implement the respective functions are dynamically started and executed in an execution environment at runtime (this corresponds, for example, to the situation in which a guest operating system is executed in the execution environment).
  • the execution-specific addresses of a function and its function parameters are then typically not previously known, but can be different for different executions.
  • the address information at which tion-specific addresses where the function and/or function parameters are located, are then initially only known to the execution environment.
  • a proxy module 24 ie a program module
  • the information can be transmitted to the control module, which stores it, and/or the address information can be transmitted to the control module in response to a corresponding query.
  • the proxy module transmits corresponding information to the control module, which can delete the address information relating to this function or mark it as no longer valid .
  • the query can specify for which function parameters the address information is to be transmitted. If the address information relates to the execution environment-specific address of the function, the control module can be known, ie stored by it or transmitted to it together with the access request (e.g. included in the identifiers), at which environment-specific addresses based on the The function parameters are located in the environment-specific address section occupied by the function (e.g. based on an environment-specific start address of the function).
  • control module 22 In order to determine the actual memory address at which a function parameter is stored, the control module 22 also takes into account the address information from the proxy module 24 in addition to the dynamic memory area allocation to the execution environment.
  • the proxy module 24 can be set up to start the execution of functions or to cause them to be started in the respective execution environment. This takes place in particular in response to a corresponding function start request from the control module 22.
  • the control module can therefore use a proxy module to start or execute a specific cause function. This option is helpful, for example, if a function is to be measured and calibrated that is only rarely or not at all executed in the normal case, for example during normal operating states of a machine that includes the computing unit 10 as a control unit.
  • FIG. 2 shows a flow chart according to a preferred embodiment.
  • a prerequisite for the steps shown or steps not shown are that a management layer (e.g. hypervisor) is executed in the processing unit, which provides at least one execution environment (e.g. virtual machine or container) in which the functions are implemented.
  • the management layer, the execution environments and the functions are each implemented by executing appropriate computer programs, possibly using specific hardware units.
  • step 100 i.e. in particular provided that a proxy module is provided
  • execution environment-specific addresses of functions executed in the respective execution environment and/or of their function parameters are detected by the proxy module.
  • step 110 which is also preferred, the specific addresses recorded are transmitted to the control module. As explained above, this can take place as soon as a function is started and/or in response to a corresponding query by the control module (in the second case this step obviously only takes place after step 120).
  • step 120 one or more access requests are received by the control module via an interface of the processing unit.
  • These include identifiers denoting parameters (function parameters) of the one or more functions.
  • step 130 memory addresses corresponding to the identifiers are determined by the control module, taking dynamic memory allocation into account. If a proxy module and corresponding execution environment-specific addresses are used (steps 100, 110), the execution environment specific addresses into account. In this case, see step 110, the execution environment-specific addresses can be read from a memory assigned to the control module and/or queried by the proxy module by means of a corresponding query.
  • step 140 the memory addresses are accessed according to the one or more access requests.
  • step 145 which can also be regarded as part of the access (step 145)
  • read memory contents are sent or transmitted via the interface to the external device (e.g. the external measurement and calibration unit 20) that sent the access request.

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

Beschreibung
Titel
Verfahren zur Bereitstellung eines Zugangspunkts zur Messung und Kalibrierung einer oder mehrerer Funktionen einer Recheneinheit
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, be- rü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.
Kurze Beschreibung der Zeichnungen
Figur 1 zeigt in Ausführungsumgebungen implementierte Funktionen und durch eine Verwaltungsschicht bereitgestellte Zugangspunkte zur Messung und Kalibrierung gemäß einer bevorzugten Ausführungsform.
Figur 2 zeigt ein Ablaufdiagramm gemäß einer bevorzugten Ausführungsform.
Ausführungsform(en) der Erfindung
Figur 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 Paravirtualisie- rung 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üh- rungsspezifischen 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.
Figur 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ührungsumgebungs- spezifischen 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

Ansprüche
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. 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. 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. 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.
PCT/EP2023/053295 2022-02-11 2023-02-10 Verfahren zur bereitstellung eines zugangspunkts zur messung und kalibrierung einer oder mehrerer funktionen einer recheneinheit WO2023152284A1 (de)

Applications Claiming Priority (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
DE102022201452.9 2022-02-11

Publications (1)

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

Family

ID=85239084

Family Applications (1)

Application Number Title Priority Date Filing Date
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

Country Status (2)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160246649A1 (en) * 2015-02-24 2016-08-25 Red Hat Israel, Ltd. Dynamic Guest Virtual Machine Identifier Allocation
WO2021057489A1 (zh) * 2019-09-29 2021-04-01 华为技术有限公司 虚拟机内存管理的方法及设备
US20210303356A1 (en) * 2020-03-25 2021-09-30 Red Hat, Inc. Flexible reverse ballooning for nested virtual machines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160246649A1 (en) * 2015-02-24 2016-08-25 Red Hat Israel, Ltd. Dynamic Guest Virtual Machine Identifier Allocation
WO2021057489A1 (zh) * 2019-09-29 2021-04-01 华为技术有限公司 虚拟机内存管理的方法及设备
US20210303356A1 (en) * 2020-03-25 2021-09-30 Red Hat, Inc. Flexible reverse ballooning for nested virtual machines

Also Published As

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

Similar Documents

Publication Publication Date Title
DE112006001642T5 (de) Adressfensterunterstützung für Direktspeicherzugriffsumsetzung
EP2698678B1 (de) Konfigurationstechnik für ein Steuergerät mit miteinander kommunizierenden Anwendungen
DE19964013A1 (de) Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug
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
EP3776222B1 (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
DE102007029285A1 (de) Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems sowie Verfahren zum Betreiben einer Testvorrichtung
DE112006000634T5 (de) Verfahren und Vorrichtung zur unabhängigen und gleichzeitigen Datenübertragung auf Host-Controller
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
DE102019132476A1 (de) Modul mit einer Serialisierereinheit und verbesserter Kompatibilität zu Deserialisierereinheiten unterschiedlicher Baureihen
DE112008001473T5 (de) Zwischenspeicherung eines Mikrocodierungsemulationsspeichers
EP1797500A2 (de) Verfahren zur beschreibung von speicherinhalten und zur beschreibung des transfers von speicherinhalten
WO2023152284A1 (de) Verfahren zur bereitstellung eines zugangspunkts zur messung und kalibrierung einer oder mehrerer funktionen einer recheneinheit
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
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
DE102021133560A1 (de) Verfahren zum Erweitern von Anwendungsmöglichkeiten eines Sensors, Sensor und Anwendung des Sensors
DE102018001565A1 (de) Sicherheitselement und Verfahren zur Zugriffskontrolle auf ein Sicherheitselement
EP2581297B1 (de) Fahrradcomputer

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23705218

Country of ref document: EP

Kind code of ref document: A1