DE102014223148A1 - Elektronische Steuervorrichtung - Google Patents

Elektronische Steuervorrichtung Download PDF

Info

Publication number
DE102014223148A1
DE102014223148A1 DE102014223148.5A DE102014223148A DE102014223148A1 DE 102014223148 A1 DE102014223148 A1 DE 102014223148A1 DE 102014223148 A DE102014223148 A DE 102014223148A DE 102014223148 A1 DE102014223148 A1 DE 102014223148A1
Authority
DE
Germany
Prior art keywords
address
program
central processing
processing unit
memory
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
DE102014223148.5A
Other languages
English (en)
Inventor
c/o DENSO CORPORATION Matsui Koichi
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of DE102014223148A1 publication Critical patent/DE102014223148A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Abstract

Eine elektronische Steuervorrichtung weist CPUs (10, 20), Ausführeinheiten (11, 21) und Programmspeicher (13, 23) auf. Jeder Programmspeicher (13, 23) speichert ein gemeinsames Programm (PG), das aus einem gemeinsamen Programmspeicher (30) kopiert wird. Wenn die CPU (10, 20) auf ein internes Programm (API) zugreift, das im gemeinsamen Programm enthalten ist, wird eine logische Adresse zum Zugreifen auf das interne Programm auf der Grundlage einer Programmoffsetadresse und einer Programmbasisadresse bestimmt. Die Programmbasisadresse zeigt eine logische Adresse entsprechend einer Startadresse des gemeinsamen Programms im Programmspeicher (13, 23). Die Programmoffsetadresse zeigt eine Offsetadresse des internen Programms bezüglich einer Basisadresse des gemeinsamen Programms. Die Ausführeinheit (11, 21) wird gesteuert, um auf die bestimmte logische Adresse zuzugreifen.

Description

  • Die vorliegende Erfindung betrifft eine elektronische Steuervorrichtung mit mehreren zentralen Recheneinheiten (CPUs).
  • Für gewöhnlich, wie beispielsweise in der JP 2007-034910 A beschrieben, weist eine elektronische Steuervorrichtung, die in einem Fahrzeug vorgesehen ist, mehrere CPUs auf, um eine Rechenlast zu bewältigen, die mit einer Leistungsverbesserung der elektronischen Steuervorrichtung zunimmt.
  • Wenn jede CPU, die in der elektronischen Steuervorrichtung vorgesehen ist, einen entsprechenden internen Speicher aufweist, greift jede CPU auf ein Programm zu, das in dem entsprechenden internen Speicher gespeichert ist, um das Programm auszuführen. Gemäß dieser Konfiguration ist die CPU in der Lage, das Programm mit einer höheren Geschwindigkeit auszuführen, verglichen mit einem Fall, in dem die CPU auf ein Programm zugreift, das in einem nicht-flüchtigen Speicher gespeichert ist, der außerhalb der CPU vorgesehen ist. Der interne Speicher ist für gewöhnlich durch einen flüchtigen Speicher bereitgestellt. Folglich muss die CPU, bevor sie das Programm ausführt, das im externen nicht-flüchtigen Speicher gespeicherte Programm aus dem externen nicht-flüchtigen Speicher in den internen Speicher kopieren.
  • Dem internen Speicher sind logische Adressen zugewiesen, und die dem internen Speicher in einer CPU zugewiesenen logischen Adressen unterscheiden sich von den dem internen Speicher in einer anderen CPU zugewiesenen logischen Adressen. D. h., in verschiedenen CPUs sind die dem internen Speicher zugewiesenen logischen Adressen verschieden. Folglich ist dann, wenn die CPU ein im internen Speicher gespeichertes Programm ausführt, beispielsweise dann, wenn die CPU ein Unterprogramm aufruft, eine Zugriffsadresse des in einem internen Speicher von einer CPU gespeicherten Programms von einer Zugriffsadresse des in einem internen Speicher einer anderen CPU gespeicherten gleichen Programms verschieden. D. h., wenn das Programm aus dem externen Speicher in den internen Speicher kopiert wird, muss die Zugriffsadresse des Unterprogramms in jeder CPU neu definiert werden.
  • Folglich müssen auch dann, wenn mehrere CPUs das gleiche Programm ausführen, mehrere Programme, die die gleichen Befehle und die gleiche Funktion, jedoch verschiedene Zugriffsadressen aufweisen, im nicht-flüchtigen Speicher entsprechend den jeweiligen CPUs gespeichert werden.
  • Es ist angesichts der obigen Schwierigkeiten Aufgabe der vorliegenden Erfindung, eine elektronische Steuervorrichtung bereitzustellen, die eine Zunahme in einer Speicherkapazität eines Speichers unterdrücken kann, wenn die elektronische Steuervorrichtung mehrere CPUs aufweist.
  • Gemäß einem Aspekt der vorliegenden Erfindung weist eine elektronische Steuervorrichtung eine erste zentrale Recheneinheit, eine zweite zentrale Recheneinheit und einen gemeinsamen Programmspeicher auf.
  • Der gemeinsame Programmspeicher ist außerhalb der ersten zentralen Recheneinheit und der zweiten zentralen Recheneinheit angeordnet. Der gemeinsame Programmspeicher speichert ein gemeinsames Programm, das von sowohl der ersten zentralen Recheneinheit als auch der zweiten zentralen Recheneinheit ausgeführt wird.
  • Die erste zentrale Recheneinheit weist einen ersten Programmspeicher, eine erste Ausführeinheit, einen ersten Programmadressenbestimmungsabschnitt und einen ersten Programmzugriffsabschnitt auf.
  • Dem ersten Programmspeicher ist eine logische Adresse zugewiesen, die sich von einer logischen Adresse des gemeinsamen Programmspeichers unterscheidet. Der erste Programmspeicher speichert das gemeinsame Programm, das aus dem gemeinsamen Programmspeicher kopiert ist.
  • Die erste Ausführeinheit führt einen Prozess aus, indem sie auf das gemeinsame Programm zugreift, das im ersten Programmspeicher gespeichert ist.
  • Der erste Programmadressenbestimmungsabschnitt bestimmt eine logische Adresse zum Zugreifen auf ein internes Programm, das im gemeinsamen Programm enthalten ist, auf der Grundlage einer Programmoffsetadresse und einer ersten Programmbasisadresse, wenn die erste Ausführeinheit auf das interne Programm zugreifen muss, im Ansprechen auf einen Befehl, der aus dem gemeinsamen Programm gelesen wird, das im ersten Programmspeicher gespeichert ist. Das interne Programm ist im gemeinsamen Programm enthalten und im ersten Programmspeicher gespeichert. Die erste Programmbasisadresse zeigt eine logische Adresse im ersten Programmspeicher an und entspricht einer Basisadresse des gemeinsamen Programms. Die Programmoffsetadresse zeigt eine Offsetadresse des internen Programms bezüglich der Basisadresse des gemeinsamen Programms an. Die Basisadresse des gemeinsamen Programms wird im Voraus bestimmt.
  • Der erste Programmzugriffsabschnitt steuert die erste Ausführeinheit, um auf die logische Adresse zuzugreifen, die durch den ersten Programmadressenbestimmungsabschnitt bestimmt wird.
  • Die zweite zentrale Recheneinheit weist einen zweiten Programmspeicher, eine zweite Ausführeinheit, einen zweiten Programmadressenbestimmungsabschnitt und einen zweiten Programmzugriffsabschnitt auf.
  • Dem zweiten Programmspeicher ist eine logische Adresse zugewiesen, die sich von der logischen Adresse des gemeinsamen Programmspeichers oder der logischen Adresse des ersten Programmspeichers unterscheidet. Der zweite Programmspeicher speichert das gemeinsame Programm, das aus dem gemeinsamen Programmspeicher kopiert ist.
  • Die zweite Ausführeinheit führt einen Prozess aus, indem sie auf das gemeinsame Programm zugreift, das im zweiten Programmspeicher gespeicherte ist.
  • Der zweite Programmadressenbestimmungsabschnitt bestimmt eine logische Adresse zum Zugreifen auf das interne Programm, das im gemeinsamen Programm enthalten ist, auf der Grundlage der Programmoffsetadresse und einer zweiten Programmbasisadresse, wenn die zweite Ausführeinheit auf das interne Programm zugreifen muss, im Ansprechen auf einen Befehl, der aus dem gemeinsamen Programm gelesen wird, das im zweiten Programmspeicher gespeichert ist. Das interne Programm ist im gemeinsamen Programm enthalten und im zweiten Programmspeicher gespeichert. Die zweite Programmbasisadresse zeigt eine logische Adresse im zweiten Programmspeicher an und entspricht einer Basisadresse des gemeinsamen Programms.
  • Der zweite Programmzugriffsabschnitt steuert die zweite Ausführeinheit, um auf die logische Adresse zuzugreifen, die durch den zweiten Programmadressenbestimmungsabschnitt bestimmt wird.
  • In der obigen elektronischen Steuervorrichtung speichern der erste und der zweite Programmspeicher das gemeinsame Programm, das aus dem gemeinsamen Programmspeicher kopiert ist. D. h., eine Struktur des im gemeinsamen Programmspeicher gespeicherten gemeinsamen Programms ist gleich einer Struktur des im ersten Programmspeicher gespeicherten gemeinsamen Programms und einer Struktur des im zweiten Programmspeicher gespeicherten gemeinsamen Programms.
  • Folglich ist ein Inhalt des gemeinsamen Programms, das einer Adresse entspricht, die erfasst wird, indem die Basisadresse des gemeinsamen Programms durch die Programmoffsetadresse in dem gemeinsamen Speicher verschoben wird, gleich einem Inhalt des gemeinsamen Programms, das einer Adresse entspricht, die erfasst wird, indem die erste Programmbasisadresse des gemeinsamen Programms durch die Programmoffsetadresse in dem ersten Programmspeicher verschoben wird. In gleicher Weise ist der Inhalt des gemeinsamen Programms, das einer Adresse entspricht, die erfasst wird, in dem die Basisadresse des gemeinsamen Programms durch die Programmoffsetadresse in dem gemeinsamen Speicher verschoben wird, gleich einem Inhalt des gemeinsamen Programms, das einer Adresse entspricht, die erfasst wird, indem die zweite Programmbasisadresse des gemeinsamen Programms durch die Programmoffsetadresse in dem zweiten Programmspeicher verschoben wird.
  • Die erste CPU greift auf der Grundlage der Programmoffsetadresse und der ersten Programmbasisadresse auf das im ersten Programmspeicher gespeicherte interne Programm zu. Die zweite CPU greift auf der Grundlage der Programmoffsetadresse und der zweiten Programmbasisadresse auf das im zweiten Programmspeicher gespeicherte interne Programm zu. D. h., in der obigen elektronischen Steuervorrichtung sind die erste CPU und die zweite CPU in der Lage, das gemeinsame Programm auszuführen, nachdem sie das eine gemeinsame Programm, das im gemeinsamen Programmspeicher gespeichert ist, in den ersten Programmspeicher bzw. in den zweiten Programmspeicher kopiert haben. Folglich ist es nicht erforderlich, mehrere gemeinsame Programme mit verschiedenen Zugriffsadressen entsprechend der ersten und der zweiten CPU im gemeinsamen Speicher zu speichern. Dementsprechend kann eine Zunahme einer erforderlichen Speicherkapazität des gemeinsamen Speichers unterdrückt werden.
  • Die obige und weitere Eigenschaften und Vorteile der vorliegenden Erfindung sind aus der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen näher ersichtlich. In den Zeichnungen zeigt:
  • 1 ein Blockdiagramm zur Veranschaulichung einer Konfiguration einer elektronischen Steuereinheit (ECU) gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 ein Ablaufdiagramm zur Veranschaulichung eines Adresseneinstellprozesses;
  • 3 ein Ablaufdiagramm zur Veranschaulichung eines Programmzugriffsprozesses;
  • 4 ein Ablaufdiagramm zur Veranschaulichung eines Konstante-Daten-Zugriffsprozesses;
  • 5 ein Ablaufdiagramm zur Veranschaulichung eines Variable-Daten-Zugriffsprozesses;
  • 6 eine Abbildung zur Veranschaulichung von Daten, die in einer CPU, in einem Flash-ROM und in einem RAM gespeichert werden; und
  • 7 eine Abbildung zur Veranschaulichung von Daten, die in einer CPU, in einem Flash-ROM und in einem RAM gespeichert werden.
  • Nachstehend sind Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • Eine elektronische Steuereinheit 1, die in einem Fahrzeug vorgesehen ist, steuert einen Verbrennungsmotor (nicht gezeigt) des Fahrzeugs. Nachstehend ist die elektronische Steuereinheit 1 auch als ECU 1 bezeichnet.
  • Die ECU 1 weist, wie in 1 gezeigt, einen Mikrocomputer 2 auf. Der Mikrocomputer 2 führt einen Verbrennungsmotorsteuerprozess zur Steuerung des Verbrennungsmotors des Fahrzeugs aus und gibt Steuersignale zur Steuerung verschiedener elektrischer Lasten, wie beispielsweise eines Einspritzventils, die im Fahrzeug vorgesehen sind, aus.
  • Der Mikrocomputer 2 weist mehrere zentrale Recheneinheiten (CPU) 10, 20, ein Flash-ROM 30, ein RAM 40 und einen Bus 50, der die CPUs 10, 20, das Flash-ROM 30 und das RAM 40 verbindet, auf. Jede CPU 10, 20 führt verschiedene Prozesse auf der Grundlage von im Flash-ROM 30 gespeicherten Programmen aus. Das Flash-ROM 30 ist durch einen nicht-flüchtigen Speicher bereitgestellt und speichert Programme, die von den CPUs 10, 20 auszuführen sind. Das RAM 40 ist durch einen flüchtigen Speicher bereitgestellt und speichert Rechendaten und Rechenergebnisse der CPUs 10, 20 temporär.
  • Die CPU 10 weist eine Recheneinheit 11, ein internes Register 12, einen internen Programmspeicher 13 zur Speicherung von Programmen und einen internen Datenspeicher 14 zur Speicherung von Daten auf. Die CPU 20 weist eine Recheneinheit 21, ein internes Register 22, einen internen Programmspeicher 23 zu Speicherung von Programmen und einen internen Datenspeicher 24 zur Speicherung von Daten auf.
  • Jede Recheneinheit 11, 21 liest Befehle aus den Programmen, die in dem entsprechenden internen Programmspeicher 13, 24 und Flash-ROM 30 gespeichert werden, und führt die ausgelesenen Befehle aus.
  • Jedes interne Register 12, 22 speichert temporär Daten, die in einer Rechenoperation von jeder Recheneinheit 11, 21 verwendet werden, und zeigt einen Rechenbetriebszustand jeder Recheneinheit 11, 21 an.
  • Jeder interne Programmspeicher 13, 23 ist durch einen flüchtigen Speicher bereitgestellt und speichert die Programme, die von der CPU 10, 20 auszuführen sind. Jeder interne Datenspeicher 14, 24 ist durch einen flüchtigen Speicher bereitgestellt und speichert Daten, die von der entsprechenden CPU 10, 20 zum Ausführen des Programms verwendet werden.
  • Das Flash-ROM 30 speichert ein Fahrzeugsteuerprogramm und ein Betriebssystemprogramm PG. Das Fahrzeugsteuerprogramm wird zur Steuerung einer im Fahrzeug vorgesehenen Vorrichtung, wie beispielsweise eines Verbrennungsmotors, verwendet. Das Betriebssystemprogramm PG steuert ein Betriebssystem, das eine Basis zum Ausführen des Fahrzeugsteuerprogramms bildet. Nachstehend ist das Betriebssystem auch als OS bezeichnet.
  • Das Flash-ROM 30 speichert ferner eine Konstante-Daten-Gruppe (nicht gezeigt) mit mehreren konstanten Daten, die von den CPUs 10, 20 zum Ausführen des Fahrzeugsteuerprogramms verwendet werden.
  • Das Flash-ROM 30 speichert eine OS-Konstante-Daten-Gruppe (KON DT GP) C1 und eine OS-Konstante-Daten-Gruppe (KON DT GP) C2. Die OS-Konstante-Daten-Gruppe C1 weist mehrere OS-Konstante-Daten auf, die von der CPU 10 zum Ausführen des OS-Programms PG verwendet werden. Die OS-Konstante-Daten-Gruppe C2 weist mehrere OS-Konstante-Daten auf, die von der CPU 20 zum Ausführen des OS-Programms PG verwendet werden.
  • Das RAM 40 speichert eine Variable-Daten-Gruppe (nicht gezeigt) mit mehreren variablen Daten, die von den CPUs 10, 20 zum Ausführen des Fahrzeugsteuerprogramms verwendet werden. Das RAM 40 speichert eine OS-Variable-Daten-Gruppe (VB DT GP) V1 und eine OS-Variable-Daten-Gruppe (VB DT GP) V2. Die OS-Variable-Daten-Gruppe V1 weist mehrere OS-Variable-Daten auf, die von der CPU 10 zum Ausführen des OS-Programms PG verwendet werden. Die OS-Variable-Daten-Gruppe V2 weist mehrere OS-Variable-Daten auf, die von der CPU 20 zum Ausführen des OS-Programms PG verwendet werden.
  • In der vorliegenden Ausführungsform werden dem Flash-ROM 30 logische Adressen beginnend von 0x00000000 zugewiesen. Dem RAM 40 werden, wie in 6 gezeigt, logische Adressen beginnend von 0x01000000 zugewiesen. Dem internen Programmspeicher 13 werden, wie in 6 gezeigt, logische Adressen beginnend von 0x10000000 zugewiesen. Dem internen Datenspeicher 14 werden, wie in 6 gezeigt, logische Adressen beginnend von 0x15000000 zugewiesen. Dem internen Programmspeicher 23 werden, wie in 7 gezeigt, logische Adressen beginnend von 0x20000000 zugewiesen. Dem internen Datenspeicher 24 werden, wie in 7 gezeigt, logische Adressen beginnend von 0x25000000 zugewiesen.
  • In der ECU 1 mit der vorstehend beschriebenen Konfiguration führt jede CPU 10, 20 einen Adresseneinstellprozess, einen Programmzugriffsprozess, einen Konstante-Daten-Zugriffsprozess und einen Variable-Daten-Zugriffsprozess aus.
  • Nachstehend ist der Adresseneinstellprozess beschrieben. Jede CPU 10, 20 führt den Adresseneinstellprozess nur einmal aus, unmittelbar nachdem die ECU 1 aktiviert wurde.
  • Wenn der Adresseneinstellprozess startet, erfasst jede CPU 10, 20 in Schritt S10, wie in 2 gezeigt, CPU-Kenninformation aus einem entsprechenden CPU-Kennungsregister IDR. Das CPU-Kennungsregister IDR ist, wie in den 6 und 7 gezeigt, in einem internen Register 12, 22 der CPU 10, 20 enthalten. Die CPU-Kenninformation wird zur Erkennung der CPUs 10, 20 verwendet. Die CPU-Kenninformation der CPU 10 kann auf 0 gesetzt sein, und die CPU-Kenninformation der CPU 20 kann beispielsweise auf 1 gesetzt sein.
  • In Schritt S20 erfasst jede CPU 10, 20 eine Basisadresse entsprechend jeder CPU 10, 20, die auf der Grundlage der in Schritt S10 erfassten CPU-Kenninformation spezifiziert ist. Jede CPU 10, 20 erfasst die Basisadresse, indem sie auf eine Adressenbestimmungstabelle (AD TB) AT Bezug nimmt, die in dem Flash-ROM 30 enthalten ist, das in 1 gezeigt ist. Die Adresseneinstelltabelle AT jeder CPU 10, 20 weist die Basisadresse zur Speicherung des OS-Programms PG im internen Programmspeicher 13, 23, die Basisadresse zur Speicherung der OS-Konstante-Daten-Gruppe C1, C2 im internen Datenspeicher 14, 24 und die Basisadresse zur Speicherung der OS-Variable-Daten-Gruppe V1, V2 im internen Datenspeicher 14, 24 auf. Nachstehend ist die Basisadresse zur Speicherung des OS-Programms PG im internen Programmspeicher 13, 23 auch als eine Programmbasisadresse bezeichnet, die Basisadresse zur Speicherung der OS-Konstante-Daten-Gruppe C1, C2 im internen Datenspeicher 14, 24 auch als eine Konstante-Daten-Basisadresse bezeichnet und die Basisadresse zur Speicherung der OS-Variable-Daten-Gruppe V1, V2 im internen Datenspeicher 14, 24 auch als Variable-Daten-Basisadresse bezeichnet.
  • In Schritt S30 speichert jede CPU 10, 20 die in Schritt S20 erfasste Programmbasisadresse in einem bestimmten Register SPR0, das in den 6 und 7 gezeigt ist. Das bestimmte Register SPR0 ist ein im Voraus vorbereitetes Register zum Zwecke der Speicherung der Programmbasisadresse.
  • In Schritt S40 speichert jede CPU 10, 20 die in Schritt S20 erfasste Konstante-Daten-Basisadresse in einem bestimmten Register SPR1, das in den 6 und 7 gezeigt ist. Das bestimmte Register SPR1 ist ein im Voraus vorbereitetes Register zum Zwecke der Speicherung der Konstante-Daten-Basisadresse.
  • In Schritt S50 speichert jede CPU 10, 20 die in Schritt S20 erfasste Variable-Daten-Basisadresse in einem bestimmten Register SPR2, das in den 6 und 7 gezeigt ist. Das bestimmte Register SPR2 ist ein im Voraus vorbereitetes Register zum Zwecke der Speicherung der Variable-Daten-Basisadresse.
  • In Schritt S60 sendet jede CPU 10, 20 das im Flash-ROM 30 gespeicherte OS-Programm PG an den entsprechenden internen Programmspeicher 13, 23. Das an den internen Programmspeicher 13, 23 gesendete OS-Programm PG wird im internen Programmspeicher 13, 23 mit der Programmbasisadresse gespeichert, die im bestimmten Register SPR0 gespeichert ist, und zwar als eine Startadresse.
  • In Schritt S70 sendet jede CPU 10, 20 die im Flash-ROM 30 gespeicherte entsprechende OS-Konstante-Daten-Gruppe C1, C2 an den entsprechenden internen Datenspeicher 14, 24 und beendet jede CPU 10, 20 den Adresseneinstellprozess. Die an den entsprechenden internen Datenspeicher 14, 24 gesendete OS-Konstante-Daten-Gruppe C1, C2 wird in dem entsprechenden internen Datenspeicher 14, 24 mit der Datenbasisadresse gespeichert, die im bestimmten Register gespeichert ist, und zwar als eine Startadresse.
  • Nachstehend ist der Programmzugriffsprozess beschrieben. Der Programmzugriffsprozess wird entsprechend jeder Anwendungsprogrammierschnittstelle, die im OS-Programm PG enthalten ist, bereitgestellt. Die Anwendungsprogrammierschnittstelle ist ein Teil des OS-Programms PG und wird auch als ein internes Programm bezeichnet. Die CPU 10, 20 führt einen Programmzugriffsprozess aus, wenn sie aus dem OS-Programm PG zur Anwendungsprogrammierschnittstelle springt oder das OS-Programm PG die Anwendungsprogrammierschnittstelle als Unterprogramm aufruft.
  • Wenn die CPU 10, 20 den Programmzugriffsprozess startet, erfasst die CPU 10, 20 in Schritt S110, wie in 3 gezeigt, eine Offsetadresse der entsprechenden Anwendungsprogrammierschnittstelle. Wenn die Anwendungsprogrammierschnittstelle im Flash-ROM 30 gespeichert wird, wird der Anwendungsprogrammierschnittstelle eine logische Adresse innerhalb des Flash-ROM 30 zugewiesen. Die Offsetadresse der Anwendungsprogrammierschnittstelle zeigt einen Adresswert, der bezüglich der Startadresse des OS-Programms PG zum Zugreifen auf die Anwendungsprogrammierschnittstelle verschoben ist. Ein unterer Teil der logischen Adresse, die der entsprechenden Anwendungsprogrammierschnittstelle innerhalb des Flash-ROM 30 zugewiesen wird, kann als die Offsetadresse der Anwendungsprogrammierschnittstelle verwendet werden.
  • Nachstehend ist die logische Adresse, die der entsprechenden Anwendungsprogrammierschnittstelle innerhalb des Flash-ROM 30 zugewiesen wird, auch als eine Flash-ROM-Adresse bezeichnet, und ist der untere Teil der Flash-ROM-Adresse der Anwendungsprogrammierschnittstelle auch als eine untere Bitadresse der Anwendungsprogrammierschnittstelle im Flash-ROM 30 bezeichnet. Wenn die Flash-ROM-Adresse der entsprechenden Anwendungsprogrammierschnittstelle beispielsweise 0x00103000 ist, ist die untere Bitadresse der Anwendungsprogrammierschnittstelle 0x00003000.
  • Die Flash-ROM-Adresse der entsprechenden Anwendungsprogrammierschnittstelle wird im Voraus in dem Programm zum Ausführen des Programmzugriffsprozesses bestimmt. Folglich erfasst die CPU 10, 20 in Schritt S110 die Offsetadresse der entsprechenden Anwendungsprogrammierschnittstelle, indem sie die untere Bitadresse der im Voraus bestimmten Flash-ROM-Adresse der Anwendungsprogrammierschnittstelle extrahiert.
  • In Schritt S120 erfasst die CPU 10, 20 die im bestimmten Register SPR0 gespeicherte Programmbasisadresse.
  • In Schritt S130 berechnet die CPU 10, 20 eine absolute Adresse der entsprechenden Anwendungsprogrammierschnittstelle, indem sie die in Schritt S110 erfasste Offsetadresse zu der in Schritt S120 erfassten Programmbasisadresse addiert. Wenn die in Schritt S110 erfasste Offsetadresse beispielsweise 0x00003000 ist und die in Schritt S120 erfasste Programmbasisadresse beispielsweise 0x10000000 ist, wird die absolute Adresse als 0x10003000 berechnet.
  • In Schritt S140 greift die CPU 10, 20 auf die in Schritt S130 berechnet absolute Adresse zu und beendet die CPU 10, 20 den Programmzugriffsprozess. Gemäß der obigen Konfiguration ist die CPU 10, 20 in der Lage, auf die entsprechende Anwendungsprogrammierschnittstelle zuzugreifen und die entsprechende Anwendungsprogrammierschnittstelle auszuführen.
  • Nachstehend ist der Konstante-Daten-Zugriffsprozess beschrieben. Der Konstante-Daten-Zugriffsprozess wird entsprechend jeden OS-Konstante-Daten bereitgestellt. Die CPU 10, 20 führt den Konstante-Daten-Zugriffsprozess jedes Mal aus, wenn das OS-Programm PG die entsprechenden OS-Konstante-Daten ausliest.
  • Wenn der Konstante-Daten-Zugriffsprozess startet, erfasst die CPU 10, 20 in Schritt S210, wie in 4 gezeigt, die Offsetadresse der entsprechenden OS-Konstante-Daten. Wenn die OS-Konstante-Daten im Flash-ROM 30 gespeichert werden, wird den OS-Konstante-Daten eine logische Adresse innerhalb des Flash-ROM 30 zugewiesen. Die Offsetadresse der entsprechenden OS-Konstante-Daten ist ein Adresswert, der bezüglich der Startadresse der OS-Konstante-Daten-Gruppe C1, C2 zum Zugreifen auf die entsprechenden OS-Konstante-Daten verschoben ist. Ein unterer Teil der logischen Adresse, die den entsprechenden OS-Konstante-Daten innerhalb des Flash-ROM 30 zugewiesen wird, kann als die Offsetadresse der entsprechenden OS-Konstante-Daten verwendet werden.
  • Nachstehend ist die logische Adresse, die den OS-Konstante-Daten innerhalb des Flash-ROM 30 zugewiesen wird, auch als eine Flash-ROM-Adresse der entsprechenden OS-Konstante-Daten bezeichnet, und ist der untere Teil der Flash-ROM-Adresse der entsprechenden OS-Konstante-Daten auch als eine untere Bitadresse bezeichnet. Die Flash-ROM-Adresse der entsprechenden OS-Konstante-Daten wird im Voraus im Programm des Konstante-Daten-Zugriffsprozesses bestimmt.
  • Folglich erfasst die CPU 10, 20 in Schritt S210 die Offsetadresse der entsprechenden OS-Konstante-Daten, indem sie die untere Bitadresse der im Voraus bestimmten Flash-ROM-Adresse der entsprechenden OS-Konstante-Daten extrahiert.
  • In Schritt S220 erfasst die CPU 10, 20 die im bestimmten Register SPR1 gespeicherte Konstante-Daten-Basisadresse.
  • In Schritt S230 berechnet die CPU 10, 20 eine absolute Adresse der entsprechenden OS-Konstante-Daten, indem sie die in Schritt S210 erfasste Offsetadresse zu der in Schritt S220 erfassten Konstante-Daten-Basisadresse addiert.
  • In Schritt S240 greift die CPU 10, 20 auf die in Schritt S230 berechnete absolute Adresse zu und beendet die CPU 10, 20 den Programmzugriffsprozess. Gemäß der obigen Konfiguration ist die CPU 10, 20 in der Lage, die entsprechenden OS-Konstante-Daten auszulesen.
  • Nachstehend ist ein Variable-Daten-Zugriffsprozess beschrieben. Der Variable-Daten-Zugriffsprozess wird entsprechend jeden OS-Variable-Daten bereitgestellt. Die CPU 10, 20 führt den Variable-Daten-Zugriffsprozess jedes Mal, wenn das OS-Programm PG die entsprechenden OS-Variable-Daten ausliest, oder jedes Mal, wenn das OS-Programm PG die entsprechenden OS-Variable-Daten einschreibt, aus.
  • Wenn der Variable-Daten-Zugriffsprozess startet, erfasst die CPU 10, 20 in Schritt S310, wie in 5 gezeigt, die Offsetadresse der entsprechenden OS-Variable-Daten. Wenn die OS-Variable-Daten im RAM 40 gespeichert werden, wird den OS-Variable-Daten eine logische Adresse innerhalb des RAM 40 zugewiesen. Die Offsetadresse ist ein Adresswert, der bezüglich der Startadresse der OS-Variable-Daten-Gruppe V1, V2 zum Zugreifen auf die entsprechenden OS-Variable-Daten verschoben ist. Ein unterer Teil der logischen Adresse, die den entsprechenden OS-Variable-Daten innerhalb des RAM 40 zugewiesen wird, kann als die Offsetadresse der entsprechenden OS-Variable-Daten verwendet werden.
  • Nachstehend ist die logische Adresse, die den OS-Variable-Daten innerhalb des RAM 40 zugewiesen wird, auch als eine RAM-Adresse bezeichnet, und ist der untere Teil der RAM-Adresse auch als eine untere Bitadresse der entsprechenden OS-Variable-Daten bezeichnet. Die RAM-Adresse der entsprechenden OS-Variable-Daten wird im Voraus im Programm des Variable-Daten-Zugriffsprozesses bestimmt.
  • Folglich erfasst die CPU 10, 20 in Schritt S310 die Offsetadresse der entsprechenden variablen Daten, indem sie die untere Bitadresse der im Voraus bestimmten RAM-Adresse der OS-Variable-Daten extrahiert.
  • In Schritt S320 erfasst die CPU 10, 20 die im bestimmten Register SPR2 gespeicherte Variable-Daten-Basisadresse.
  • In Schritt S330 berechnet die CPU 10, 20 eine absolute Adresse der entsprechenden OS-Variable-Daten, indem sie die in Schritt S310 erfasste Offsetadresse zu der in Schritt S320 erfassten Variable-Daten-Basisadresse addiert.
  • In Schritt S340 greift die CPU 10, 20 auf die in Schritt S330 erfasste absolute Adresse zu und beendet die CPU 10, 20 den Variable-Daten-Zugriffsprozess. Gemäß der obigen Konfiguration ist die CPU 10, 20 in der Lage, die entsprechenden OS-Variable-Daten auszulesen oder einzuschreiben.
  • Nachstehend ist ein Beispiel für einen Betrieb der ECU 1 mit der vorstehend aufgezeigten Konfiguration beschrieben.
  • Das OS-Programm PG, die OS-Konstante-Daten-Gruppe C1 und die OS-Konstante-Daten-Gruppe C2 werden, die in 6 gezeigt, im Flash-ROM 30 gespeichert. Einem Bereich des Flash-ROM 30, der das OS-Programm PG speichert, werden logische Adressen beginnend von 0x00100000 zugewiesen. Einem Bereich des Flash-ROM 30, der die OS-Konstante-Daten-Gruppe C1 speichert, werden logische Adressen beginnend von 0x00500000 zugewiesen. Einem Bereich des Flash-ROM 30, der die OS-Konstante-Daten-Gruppe C2 speichert, werden logische Adressen beginnend von 0x00700000 zugewiesen.
  • Die OS-Variable-Daten-Gruppe V1 und die OS-Variable-Daten-Gruppe V2 werden im RAM 40 gespeichert. Einem Bereich des RAM 40, der die OS-Variable-Daten-Gruppe V1 speichert, werden logische Adressen beginnend von 0x01000000 zugewiesen. Einem Bereich des RAM 40, der die OS-Variable-Daten-Gruppe V2 speichert, werden logische Adressen beginnend von 0x01500000 zugewiesen.
  • Das OS-Programm PG wird im internen Programmspeicher 13 der CPU 10 gespeichert. Einem Beriech des internen Programmspeichers 13, der das OS-Programm PG speichert, werden logische Adressen beginnend von 0x10000000 zugewiesen.
  • Die OS-Konstante-Daten-Gruppe C1 und die OS-Variable-Daten-Gruppe V1 werden im internen Datenspeicher 14 gespeichert. Einem Bereich des internen Datenspeichers 14, der die OS-Konstante-Daten-Gruppe C1 speichert, werden logische Adressen beginnend von 0x15000000 zugewiesen. Einem Bereich des internen Datenspeichers 14, der die OS-Variable-Daten-Gruppe V1 speichert, werden logische Adressen beginnend von 0x15400000 zugewiesen.
  • Das OS-Programm PG wird, wie vorstehend beschrieben, im internen Programmspeicher 13 mit der Programmbasisadresse als die Startadresse gespeichert. Folglich wird dann, wenn die logische Adresse der Anwendungsprogrammierschnittstelle ActiveTask(), die durch das OS-Programm PG als ein Unterprogramm aufgerufen wird, die Flash-ROM-Adresse von 0x00103000 aufweist, die logische Adresse der Anwendungsprogrammierschnittstelle ActiveTask() im internen Programmspeicher 13 zu 0x10003000.
  • Wenn die logische Adresse der OS-Konstante-Daten QueueMax in der OS-Konstante-Daten-Gruppe C1 die Flash-ROM-Adresse von 0x00502000 aufweist, wird die logische Adresse der OS-Konstante-Daten QueueMax im internen Datenspeicher 14 zu 0x15002000.
  • Wenn die logische Adresse der OS-Variable-Daten CurrentTaskID in der OS-Variable-Daten-Gruppe V1 die RAM-Adresse von 0x01004000 aufweist, wird die logische Adresse der OS-Variable-Daten CurrentTaskID im internen Datenspeicher 14 zu 0x15404000.
  • Ferner wird, in der CPU 10, die Adresse 0x10000000 als die Programmbasisadresse im bestimmten Register SPR0 gespeichert, die Adresse 0x15000000 als die Konstante-Daten-Basisadresse im bestimmten Register SPR1 gespeichert und die Adresse 0x15400000 als die Variable-Daten-Basisadresse im bestimmten Register SPR2 gespeichert.
  • In der CPU 10 wird dann, wenn das OS-Programm PG die Anwendungsprogrammierschnittstelle ActiveTask() als ein Unterprogramm aufruft, der Programmzugriffsprozess entsprechend der Anwendungsprogrammierschnittstelle ActiveTask() aufgeführt.
  • Im Programmzugriffsprozess entsprechend der Anwendungsprogrammierschnittstelle ActiveTask() wird die Flash-ROM-Adresse der Anwendungsprogrammierschnittstelle ActiveTask() im Voraus bestimmt. Die Flash-ROM-Adresse der Anwendungsprogrammierschnittstelle ActiveTask() wird auf 0x00103000 gesetzt. Folglich extrahiert die Recheneinheit 11 der CPU 10 die untere Bitadresse aus der Flash-ROM-Adresse 0x00103000 der Anwendungsprogrammierschnittstelle ActiveTask() und bestimmt die Recheneinheit 11 die extrahierte untere Bitadresse 0x00003000 als die Offsetadresse der Anwendungsprogrammierschnittstelle ActiveTask() (Schritt S110).
  • Die Recheneinheit 11 erfasst die Adresse 0x10000000 aus dem bestimmten Register SPR0 als die Programmbasisadresse (Schritt S120). Die Recheneinheit 11 addiert die Offsetadresse zur Programmbasisadresse und erfasst die Adresse 0x10003000 als die absolute Adresse (Schritt S130). Die absolute Adresse ist gleich der logischen Adresse (0x10003000) zum Zugreifen auf die Anwendungsprogrammierschnittstelle ActiveTask() im internen Programmspeicher 13. Gemäß der obigen Konfiguration ist die CPU 10 in der Lage, auf die Anwendungsprogrammierschnittstelle ActiveTask() zuzugreifen, die im internen Programmspeicher 13 gespeichert wird.
  • In der CPU 10 wird dann, wenn das OS-Programm PG die OS-Konstante-Daten QueueMax ausliest, der Konstante-Daten-Zugriffsprozess entsprechend den OS-Konstante-Daten QueueMax ausgeführt.
  • Im Konstante-Daten-Zugriffsprozess entsprechend den OS-Konstante-Daten QueueMax wird die Flash-ROM-Adresse der OS-Konstante-Daten QueueMax im Voraus bestimmt. Die Flash-ROM-Adresse der OS-Konstante-Daten QueueMax wird auf 0x00502000 gesetzt. Folglich extrahiert die Recheneinheit 11 der CPU 10 die untere Bitadresse 0x00002000 aus der Flash-ROM-Adresse 0x00002000 als die Offsetadresse der OS-Konstante-Daten QueueMax (Schritt S210).
  • Die Recheneinheit 11 erfasst die Adresse 0x15000000 aus dem bestimmten Register SPR1 als die Konstante-Daten-Basisadresse (Schritt S220). Die Recheneinheit 11 addiert die Offsetadresse zur Konstante-Daten-Basisadresse und erfasst die Adresse 0x15002000 als die absolute Adresse (Schritt S230). Die absolute Adresse ist gleich der logischen Adresse (0x15002000) zum Zugreifen auf die OS-Konstante-Daten QueueMax im internen Datenspeicher 14. Gemäß der obigen Konfiguration ist die CPU 10 in der Lage, auf die OS-Konstante-Daten QueueMax zuzugreifen, die im internen Datenspeicher 14 gespeichert werden.
  • In der CPU 10 wird dann, wenn das OS-Programm PG die OS-Variable-Daten CurrentTaskID ausliest oder die OS-Variable-Daten CurrentTaskID einschreibt, der Variable-Daten-Zugriffsprozess entsprechend den OS-Variable-Daten CurrentTaskID ausgeführt.
  • Im Variable-Daten-Zugriffsprozess entsprechend den OS-Variable-Daten CurrentTaskID wird die RAM-Adresse der OS-Variable-Daten CurrentTaskID im Voraus bestimmt.
  • Die RAM-Adresse der OS-Variable-Daten CurrentTaskID wird auf 0x01004000 gesetzt. Folglich extrahiert die Recheneinheit 11 der CPU 10 die untere Bitadresse 0x00004000 aus der RAM-Adresse 0x01004000 der OS-Variable-Daten CurrentTaskID und bestimmt die Recheneinheit 11 die extrahierte untere Bitadresse 0x00004000 als die Offsetadresse (Schritt S310) der OS-Variable-Daten CurrentTaskID.
  • Die Recheneinheit 11 erfasst die Adresse 0x15400000 aus dem bestimmten Register SPR2 als die Variable-Daten-Basisadresse (Schritt S320). Die Recheneinheit 11 addiert die Offsetadresse zur Variable-Daten-Basisadresse und erfasst die Adresse 0x15404000 als die absolute Adresse (Schritt S330). Die absolute Adresse ist gleich der logischen Adresse (0x15404000) zum Zugreifen auf die OS-Variable-Daten CurrentTaskID im internen Datenspeicher 14.
  • Gemäß obiger Konfiguration ist die CPU 10 in der Lage, auf die OS-Variable-Daten CurrentTaskID zuzugreifen, die im internen Datenspeicher 14 gespeichert werden.
  • Das OS-Programm PG wird, wie in 7 gezeigt, im internen Programmspeicher 23 der CPU 20 gespeichert. Einem Bereich des internen Programmspeichers 23, der das OS-Programm PG speichert, werden logische Adressen beginnend von 0x20000000 zugewiesen.
  • Die OS-Konstante-Daten-Gruppe C2 und die OS-Variable-Daten-Gruppe V2 werden im internen Datenspeicher 24 gespeichert. Einem Bereich des internen Datenspeichers 24, der die OS-Konstante-Daten-Gruppe C2 speichert, werden logische Adressen beginnend von 0x25000000 zugewiesen. Einem Bereich des internen Datenspeichers 24, der die OS-Variable-Daten-Gruppe V2 speichert, werden logische Adressen beginnend von 0x25400000 zugewiesen.
  • Das OS-Programm PG wird, wie vorstehend beschrieben, im internen Programmspeicher 23 mit der Programmbasisadresse als die Startadresse gespeichert. Folglich wird dann, wenn die logische Adresse der Anwendungsprogrammierschnittstelle ActiveTask(), die durch das OS-Programm PG als ein Unterprogramm aufgerufen wird, die Flash-ROM-Adresse von 0x00103000 aufweist, die logische Adresse der Anwendungsprogrammierschnittstelle ActiveTask() im internen Programmspeicher 23 zu 0x20003000.
  • Wenn die logische Adresse der OS-Konstante-Daten QueueMax, die in der OS-Konstante-Daten-Gruppe C2 enthalten sind, die Flash-ROM-Adresse von 0x00702000 aufweist, wird die logische Adresse der OS-Konstante-Daten QueueMax im internen Datenspeicher 24 zu 0x25002000.
  • Wenn die logische Adresse der OS-Variable-Daten CurrentTaskID, die in der OS-Variable-Daten-Gruppe V2 enthalten sind, die RAM-Adresse von 0x01504000 aufweist, wird die logische Adresse der OS-Variable-Daten CurrentTaskID im internen Datenspeicher 24 zu 0x25404000.
  • Ferner wird, in der CPU 20, die Adresse 0x20000000 als die Programmbasisadresse im bestimmten Register SPR0 gespeichert, die Adresse 0x25000000 als die Konstante-Daten-Basisadresse im bestimmten Register SPR1 gespeichert und die Adresse 0x25400000 als die Variable-Daten-Basisadresse im bestimmten Register SPR2 gespeichert. In der CPU 20 wird dann, wenn das OS-Programm PG die Anwendungsprogrammierschnittstelle ActiveTask() als ein Unterprogramm aufruft, der Programmzugriffsprozess entsprechend der Anwendungsprogrammierschnittstelle ActiveTask() ausgeführt.
  • Im Programmzugriffsprozess entsprechend der Anwendungsprogrammierschnittstelle ActiveTask() wird die Flash-ROM-Adresse der Anwendungsprogrammierschnittstelle ActiveTask() im Voraus bestimmt. Die Flash-ROM-Adresse der Anwendungsprogrammierschnittstelle ActiveTask() wird auf 0x00103000 gesetzt. Folglich extrahiert die Recheneinheit 21 der CPU 20 die untere Bitadresse aus der Flash-ROM-Adresse 0x00103000 der Anwendungsprogrammierschnittstelle ActiveTask() und bestimmt die Recheneinheit 21 die extrahierte untere Bitadresse 0x00003000 als die Offsetadresse der Anwendungsprogrammierschnittstelle ActiveTask() (Schritt S110).
  • Die Recheneinheit 21 erfasst die Adresse 0x20000000 aus dem bestimmten Register SPR0 als die Programmbasisadresse (Schritt S120). Die Recheneinheit 21 addiert die Offsetadresse zur Programmbasisadresse und erfasst die Adresse 0x20003000 als die absolute Adresse (Schritt S130). Die absolute Adresse ist gleich der logischen Adresse (0x20003000) zum Zugreifen auf die Anwendungsprogrammierschnittstelle ActiveTask() im internen Programmspeicher 23. Gemäß obiger Konfiguration ist die CPU 20 in der Lage, auf die Anwendungsprogrammierschnittstelle ActiveTask() zuzugreifen, die im internen Programmspeicher 23 gespeichert wird.
  • In gleicher Weise ist die CPU 20 in der Lage, auf die OS-Konstante-Daten QueueMax und die OS-Variable-Daten CurrentTaskID zuzugreifen, die im internen Datenspeicher 24 gespeichert werden.
  • Die ECU 1 weist die CPU 10, die CPU 20 und das Flash-ROM 30 auf. Das Flash-ROM 30 ist außerhalb der CPU 10 und der CPU 20 vorgesehen und speichert das von der CPU 10, 20 auszuführende OS-Programm PG.
  • Die CPU 10 weist die Recheneinheit 11 und den internen Programmspeicher 13 auf. Die CPU 20 weist die Recheneinheit 21 und den internen Programmspeicher 23 auf.
  • Dem internen Programmspeicher 13 wird die logische Adresse zugewiesen, die sich von der logischen Adresse des Flash-ROM 30 unterscheidet. Der interne Programmspeicher 13 speichert das OS-Programm PG, das aus dem Flash-ROM 30 kopiert wird.
  • Die Recheneinheit 11 führt einen Prozess aus, indem sie auf das im internen Programmspeicher 13 gespeicherte OS-Programm PG zugreift. Wenn die CPU 10 auf die Anwendungsprogrammierschnittstelle zugreifen muss, die im OS-Programm PG enthalten ist, das im internen Programmspeicher 13 gespeichert wird, und zwar auf der Grundlage eines Befehls, der aus dem OS-Programm PG gelesen wird, das im internen Programmspeicher 13 gespeichert wird, bestimmt die CPU 10, in Schritt S130, die logische Adresse zum Zugreifen auf die Anwendungsprogrammierschnittstelle auf der Grundlage der Offsetadresse und der Programmbasisadresse.
  • Hierin zeigt die Programmbasisadresse die logische Adresse entsprechend der Startadresse des OS-Programms PG im internen Programmspeicher 13 an, und, in der vorliegenden Ausführungsform, wird die Programmbasisadresse auf 0x10000000 gesetzt. Die Offsetadresse ist eine Adresse, die zum Zugreifen auf die Anwendungsprogrammierschnittstelle im OS-Programm PG mit der im Voraus bestimmten Startadresse des OS-Programms PG im Flash-ROM 30 als eine Referenz verwendet wird. In der vorliegenden Ausführungsform wird die im Voraus bestimmte Startadresse des OS-Programms PG im Flash-ROM 30 auf 0x00100000 gesetzt. Die Offsetadresse der Anwendungsprogrammierschnittstelle im OS-Programm PG wird auch als Programmoffsetadresse bezeichnet. In Schritt S140 steuert die CPU 10 die Recheneinheit 11, um auf die in Schritt S130 bestimmte logische Adresse zuzugreifen.
  • Dem internen Programmspeicher 23 wird die logische Adresse zugewiesen, die sich von den logischen Adressen des Flash-ROM 30 und des internen Programmspeichers 13 unterscheidet. Der interne Programmspeicher 23 speichert das OS-Programm PG, das aus dem Flash-ROM 30 gespeichert wird.
  • Die Recheneinheit 21 führt einen Prozess aus, indem sie auf das im internen Programmspeicher 23 gespeicherte OS-Programm PG zugreift. Wenn die CPU 20 auf die Anwendungsprogrammierschnittstelle zugreifen muss, die im OS-Programm PG enthalten ist, das im internen Programmspeicher 23 gespeichert wird, und zwar auf der Grundlage eines Befehls, der aus dem OS-Programm PG gelesen wird, das im internen Programmspeicher 23 gespeichert wird, bestimmt die CPU 20, in Schritt S130, die logische Adresse zum Zugreifen auf die Anwendungsprogrammierschnittstelle auf der Grundlage der Offsetadresse und der Programmbasisadresse.
  • Hierin zeigt die Programmbasisadresse die logische Adresse entsprechend der Startadresse des OS-Programms PG im internen Programmspeicher 23 an, und, in der vorliegenden Ausführungsform, wird die Programmbasisadresse auf 0x20000000 gesetzt. Die Offsetadresse ist eine Adresse, die zum Zugreifen auf die Anwendungsprogrammierschnittstelle im OS-Programm PG mit der im Voraus bestimmten Startadresse des OS-Programms PG im Flash-ROM 30 als eine Referenz verwendet wird. In der vorliegenden Ausführungsform wird die im Voraus bestimmte Startadresse des OS-Programms PG im Flash-ROM 30 auf 0x00100000 gesetzt. Die Offsetadresse der Anwendungsprogrammierschnittstelle im OS-Programm PG wird auch als Programmoffsetadresse bezeichnet. In Schritt S140 steuert die CPU 20 die Recheneinheit 21, um auf die in Schritt S130 bestimmte logische Adresse zuzugreifen.
  • In der ECU 1 mit der vorstehend beschriebenen Konfiguration speichert der interne Programmspeicher 13, 23 das OS-Programm PG, das aus dem Flash-ROM 30 kopiert wird. D. h., eine Struktur und Befehle des im Flash-ROM 30 gespeicherten OS-Programms PG sind gleich einer Struktur und Befehlen des im internen Programmspeicher 13, 23 gespeicherten OS-Programms PG.
  • Folglich ist ein OS-Programminhalt entsprechend einer Adresse, die erfasst wird, indem die Startadresse des OS-Programms PG im Flash-ROM 30 durch die Programmoffsetadresse im Flash-ROM 30 verschoben wird, gleich einem OS-Programminhalt entsprechend einer Adresse, die erfasst wird, indem die Programmbasisadresse durch die Programmoffsetadresse im internen Programmspeicher 13, 23 verschoben wird.
  • Jede CPU 10, 20 greift auf die Anwendungsprogrammierschnittstelle im entsprechenden internen Programmspeicher 13, 23 auf der Grundlage der Programmoffsetadresse und der Programmbasisadresse zu. D. h., in der ECU 1 sind die CPUs 10, 20 in der Lage, das OS-Programm PG auszuführen, nachdem sie das eine OS-Programm, das im Flash-ROM 30 gespeichert wird, aus dem Flash-ROM 30 in die jeweiligen internen Programmspeicher 13, 23 kopiert haben. Folglich ist es nicht erforderlich, mehrere OS-Programme mit verschiedenen Zugriffsadressen entsprechend den verschiedenen CPUs 10, 20 im Flash-ROM 30 zu speichern. Dementsprechend kann eine Zunahme in der benötigten Speicherkapazität des Flash-ROM 30 unterdrückt werden.
  • In der ECU 1 wird die CPU-Kenninformation, die zur Erkennung der CPU verwendet wird, entsprechend jeder CPU 10, 20 bestimmt. Die ECU 1 weist ferner die Adresseneinstelltabelle AT auf, in der die Programmbasisadresse des OS-Programms PG in der CPU 10 mit der CPU 10 korreliert ist und die Programmbasisadresse des OS-Programms PG in der CPU 20 mit der CPU 20 korreliert ist. Jede CPU 10, 20 bestimmt die Programmbasisadresse, indem sie auf die CPU-Kenninformation der entsprechend CPU 10, 20 und die Adresseneinstelltabelle AT Bezug nimmt (Schritte S10, S20, S30).
  • Gemäß dieser Konfiguration kann die Programmbasisadresse des OS-Programms PG in der CPU 10, 20 geändert werden, indem die korrelierte Programmbasisadresse, die in der Adresseneinstelltabelle AT enthalten ist, geändert wird. Folglich können die Programmbasisadressen in den jeweiligen CPUs 10, 20 durch die Adresseneinstelltabelle AT in einheitlicher Weise verwaltet werden.
  • Das Flash-ROM 30 speichert die OS-Konstante-Daten-Gruppe C1 und die OS-Konstante-Daten-Gruppe C2. Die OS-Konstante-Daten-Gruppe C1 weist mehrere OS-Konstante-Daten auf, die von der CPU 10 zum Ausführen des OS-Programms PG verwendet werden. Die OS-Konstante-Daten-Gruppe C2 weist mehrere OS-Konstante-Daten auf, die von der CPU 20 zum Ausführen des OS-Programms PG verwendet werden.
  • Dem internen Datenspeicher 14 wird die logische Adresse zugewiesen, die sich von den logischen Adressen des Flash-ROM 30 und der internen Programmspeicher 13, 23 unterscheidet. Der interne Datenspeicher 14 speichert die OS-Konstante-Daten-Gruppe C1, die aus dem Flash-ROM 30 kopiert wird.
  • Wenn die CPU 10 auf die OS-Konstante-Daten zugreifen muss, die in der OS-Konstante-Daten-Gruppe C1 enthalten sind, die im internen Datenspeicher 14 gespeichert werden, und zwar auf der Grundlage eines Befehls, der aus dem OS-Programm PG gelesen wird, das im internen Programmspeicher 13 gespeichert wird, bestimmt die CPU 10, in Schritt S230, die logische Adresse zum Zugreifen auf die OS-Konstante-Daten, die in der OS-Konstante-Daten-Gruppe C1 enthalten sind, auf der Grundlage der Offsetadresse und der Konstante-Daten-Basisadresse.
  • Hierin zeigt die Konstante-Daten-Basisadresse eine logische Adresse entsprechend der Startadresse der OS-Konstante-Daten-Gruppe C1 im internen Datenspeicher 14. Die Offsetadresse ist eine Adresse zum Zugreifen auf die OS-Konstante-Daten in der OS-Konstante-Daten-Gruppe C1 mit der im Voraus bestimmten Startadresse der OS-Konstante-Daten-Gruppe C1 im Flash-ROM 30 als eine Referenz. In der vorliegenden Ausführungsform wird die im Voraus bestimmte Startadresse der OS-Konstante-Daten-Gruppe C1 im Flash-ROM 30 auf 0x00500000 gesetzt. Die Offsetadresse der OS-Konstante-Daten, die in der OS-Konstante-Daten-Gruppe C1 enthalten sind, wird auch als eine erste konstante Offsetadresse bezeichnet. In Schritt S240 steuert die CPU 10 die Recheneinheit 11, um auf die in Schritt S230 bestimmte logische Adresse zuzugreifen.
  • Dem internen Datenspeicher 24 wird die logische Adresse zugewiesen, die sich von den logischen Adressen des Flash-ROM 30, der internen Programmspeicher 13, 23 und des internen Datenspeichers 14 unterscheidet. Der interne Datenspeicher 24 speichert die aus dem Flash-ROM 30 kopierte OS-Konstante-Daten-Gruppe C2.
  • Wenn die CPU 20 auf die OS-Konstante-Daten zugreifen muss, die in der OS-Konstante-Daten-Gruppe C2 enthalten sind, die im internen Datenspeicher 24 gespeichert wird, und zwar auf der Grundlage eines Befehls, der aus dem OS-Programm PG gelesen wird, das im internen Programmspeicher 23 gespeichert wird, bestimmt die CPU 20, in Schritt S230, die logische Adresse zum Zugreifen auf die OS-Konstante-Daten, die in der OS-Konstante-Daten-Gruppe C2 enthalten sind, auf der Grundlage der Offsetadresse und der Konstante-Daten-Basisadresse.
  • Hierin zeigt die Konstante-Daten-Basisadresse eine logische Adresse entsprechend der Startadresse der OS-Konstante-Daten-Gruppe C2 im internen Datenspeicher 24. Die Offsetadresse ist eine Adresse zum Zugreifen auf die OS-Konstante-Daten in der OS-Konstante-Daten-Gruppe C2 mit der im Voraus bestimmten Startadresse der OS-Konstante-Daten-Gruppe C2 im Flash-ROM 30 als eine Referenz. In der vorliegenden Ausführungsform wird die im Voraus bestimmte Startadresse der OS-Konstante-Daten-Gruppe C2 im Flash-ROM 30 auf 0x00700000 gesetzt. Die Offsetadresse der OS-Konstante-Daten, die in der OS-Konstante-Daten-Gruppe C2 enthalten sind, wird auch als eine zweite konstante Offsetadresse bezeichnet. In Schritt S240 steuert die CPU 20 die Recheneinheit 21, um auf die in Schritt S230 bestimmte logische Adresse zuzugreifen.
  • Mit der vorstehend beschriebenen Konfiguration ist die CPU 10, 20 in der Lage, auf den internen Datenspeicher 14, 24 zuzugreifen, um die in der OS-Konstante-Daten-Gruppe C1, C2 enthaltenen OS-Konstante-Daten auszulesen. Folglich ist, in der ECU 1, die CPU 10, 20 in der Lage, mit einer höheren Geschwindigkeit auf die OS-Konstante-Daten-Gruppe C1, C2 zuzugreifen, verglichen mit einem Fall, in dem die CPU 10, 20 zum Auslesen der in der OS-Konstante-Daten-Gruppe C1, C2 enthaltenen OS-Konstante-Daten auf das Flash-ROM 30 zugreift.
  • In der Adresseneinstelltabelle AT wird die Konstante-Daten-Basisadresse der OS-Konstante-Daten-Gruppe C1 in der CPU 10 mit der CPU 10 korreliert und die Konstante-Daten-Basisadresse der OS-Konstante-Daten-Gruppe C2 in der CPU 20 mit der CPU 20 korreliert. Jede CPU 10, 20 bestimmt die Konstante-Daten-Basisadresse, indem sie auf die CPU-Kenninformation der entsprechenden CPU 10, 20 und die Adresseneinstelltabelle AT Bezug nimmt (Schritte S10, S20, S40).
  • Gemäß dieser Konfiguration kann die Konstante-Daten-Basisadresse der OS-Konstante-Daten-Gruppe C1 in der CPU 10, 20 geändert werden, indem die korrelierte Konstante-Daten-Basisadresse, die in der Adresseneinstelltabelle AT enthalten ist, geändert wird. Folglich können die Konstante-Daten-Basisadressen in den jeweiligen CPUs 10, 20 durch die Adresseneinstelltabelle AT in einheitlicher Weise verwaltet werden.
  • Die ECU 1 weist ferner das RAM 40 auf, das die OS-Variable-Daten-Gruppe V1 und die OS-Variable-Daten-Gruppe V2 speichert. Die OS-Variable-Daten-Gruppe V1 weist mehrere OS-Variable-Daten auf, die von der CPU 10 zum Ausführen des OS-Programms PG verwendet werden. Die OS-Variable-Daten-Gruppe V2 weist mehrere OS-Variable-Daten auf, die von der CPU 20 zum Ausführen des OS-Programms PG verwendet werden.
  • Der interne Datenspeicher 14 speichert die OS-Variable-Daten-Gruppe V1, die aus dem RAM 40 kopiert wird.
  • Wenn die CPU 10 auf die OS-Variable-Daten zugreifen muss, die in der OS-Variable-Daten-Gruppe V1 enthalten sind, die im internen Datenspeicher 14 gespeichert wird, und zwar auf der Grundlage eines Befehls, der aus dem OS-Programm PG gelesen wird, das im internen Programmspeicher 13 gespeichert wird, bestimmt die CPU 10, in Schritt S330, die logische Adresse zum Zugreifen auf die OS-Variable-Daten, die in der OS-Variable-Daten-Gruppe V1 enthalten sind, auf der Grundlage der Offsetadresse und der Variable-Daten-Basisadresse.
  • Hierin zeigt die Variable-Daten-Basisadresse die logische Adresse entsprechend der Startadresse der OS-Variable-Daten-Gruppe V1 im internen Datenspeicher 14. Die Offsetadresse ist eine Adresse zum Zugreifen auf die OS-Variable-Daten in der OS-Variable-Daten-Gruppe V1 mit der im Voraus bestimmten Startadresse der OS-Variable-Daten-Gruppe V1 im RAM 40 als eine Referenz. In der vorliegenden Ausführungsform wird die im Voraus bestimmte Startadresse der OS-Variable-Daten-Gruppe V1 im RAM 40 auf 0x01000000 gesetzt. Die Offsetadresse der OS-Variable-Daten, die in der OS-Variable-Daten-Gruppe V1 enthalten sind, wird auch als eine erste variable Offsetadresse bezeichnet. In Schritt S340 steuert die CPU 10 die Recheneinheit 11, um auf die in Schritt S330 bestimmte logische Adresse zuzugreifen.
  • Der interne Datenspeicher 24 speichert die aus dem RAM 40 kopierte OS-Variable-Daten-Gruppe V2.
  • Wenn die CPU 20 auf die OS-Variable-Daten zugreifen muss, die in der OS-Variable-Daten-Gruppe V2 enthalten sind, die im internen Datenspeicher 24 gespeichert wird, und zwar auf der Grundlage eines Befehls, der aus dem OS-Programm PG gelesen wird, das im internen Programmspeicher 23 gespeichert wird, bestimmt die CPU 20, in Schritt S330, die logische Adresse zum Zugreifen auf die OS-Variable-Daten, die in der OS-Variable-Daten-Gruppe V2 enthalten sind, auf der Grundlage der Offsetadresse und der Variable-Daten-Basisadresse.
  • Hierin zeigt die Variable-Daten-Basisadresse die logische Adresse entsprechend der Startadresse der OS-Variable-Daten-Gruppe V2 im internen Datenspeicher 24. Die Offsetadresse ist eine Adresse zum Zugreifen auf die OS-Variable-Daten in der OS-Variable-Daten-Gruppe V2 mit der im Voraus bestimmten Startadresse der OS-Variable-Daten-Gruppe V2 im RAM 40 als eine Referenz. In der vorliegenden Ausführungsform wird die im Voraus bestimmte Startadresse der OS-Variable-Daten-Gruppe V2 im RAM 40 auf 0x01500000 gesetzt. Die Offsetadresse der OS-Variable-Daten, die in der OS-Variable-Daten-Gruppe V2 enthalten sind, wird auch als eine zweite variable Offsetadresse bezeichnet. In Schritt S340 steuert die CPU 20 die Recheneinheit 21, um auf die in Schritt S330 bestimmte logische Adresse zuzugreifen.
  • Gemäß der vorstehend beschriebenen Konfiguration ist die CPU 10, 20 in der Lage, auf den internen Datenspeicher 14, 24 zuzugreifen, um die in der OS-Variable-Daten-Gruppe V1, V2 enthaltenen OS-Variable-Daten auszulesen. Folglich ist die CPU 10, 20 in der ECU 1 in der Lage, mit einer höheren Geschwindigkeit auf die OS-Variable-Daten-Gruppe V1, V2 zuzugreifen, verglichen mit einem Fall, in dem die CPU 10, 20 zum Auslesen der in der OS-Variable-Daten-Gruppe V1, V2 enthaltenen OS-Variable-Daten auf das RAM 40 zugreift.
  • In der Adresseneinstelltabelle AT wird die Variable-Daten-Basisadresse der OS-Variable-Daten-Gruppe V1 in der CPU 10 mit der CPU 10 korreliert und die Variable-Daten-Basisadresse der OS-Variable-Daten-Gruppe V2 in der CPU 20 mit der CPU 20 korreliert. Jede CPU 10, 20 bestimmt die Variable-Daten-Basisadresse, indem sie auf die CPU-Kenninformation der entsprechenden CPU 10, 20 und die Adresseneinstelltabelle AT Bezug nimmt (Schritte S10, S20, S50).
  • Gemäß dieser Konfiguration kann die Variable-Daten-Basisadresse der OS-Variable-Daten-Gruppe V1 in der CPU 10, 20 geändert werden, indem die korrelierte Variable-Daten-Basisadresse, die in der Adresseneinstelltabelle AT enthalten ist, geändert wird. Folglich können die Variable-Daten-Basisadressen in den jeweiligen CPUs 10, 20 durch die Adresseneinstelltabelle AT in einheitlicher Weise verwaltet werden.
  • Die Startadresse des OS-Programms PG im Flash-ROM 30 ist 0x00100000, und die untere Bitadresse ist 0x0000. Folglich kann die untere Bitadresse der logischen Adresse der Anwendungsprogrammierschnittstelle, die im Flash-ROM 30 gespeichert wird, als die Programmoffsetadresse der Anwendungsprogrammierschnittstelle verwendet werden.
  • Die Startadressen der OS-Konstante-Daten-Gruppen C1, C2 im Flash-ROM 30 sind 0x00500000 bzw. 0x00700000, und die untere Bitadresse ist 0x0000. Folglich kann die untere Bitadresse der logischen Adresse der OS-Konstante-Daten, die im Flash-ROM 30 gespeichert werden, als die Konstante-Daten-Offsetadresse der OS-Konstante-Daten verwendet werden.
  • Die Startadressen der OS-Variable-Daten-Gruppen V1, V2 im RAM 40 sind 0x01000000 bzw. 0x01500000, und die untere Bitadresse ist 0x0000. Folglich kann die untere Bitadresse der logischen Adresse der OS-Variable-Daten, die im Flash-ROM 30 gespeichert werden, als die Variable-Daten-Offsetadresse der OS-Variable-Daten verwendet werden.
  • In der obigen Ausführungsform dient die ECU 1 als die elektronische Steuervorrichtung, dient die CPU 10 als eine erste CPU 10, dient die CPU 20 als eine zweite CPU 20, dient das Flash-ROM 30 als ein gemeinsamer Programmspeicher und dient das OS-Programm PG als ein gemeinsames Programm.
  • Der interne Programmspeicher 13 dient als ein erster Programmspeicher, und die Recheneinheit 11 dient als eine erste Ausführeinheit. Der von der CPU 10 in Schritt S130 ausgeführte Prozess entspricht einem ersten Programmadressenbestimmungsabschnitt, und der von der CPU 10 in Schritt S140 ausgeführte Prozess entspricht einem ersten Programmzugriffsabschnitt.
  • Der interne Programmspeicher 23 dient als ein zweiter Programmspeicher, und die Recheneinheit 21 dient als eine zweite Ausführeinheit. Der von der CPU 20 in Schritt S130 ausgeführte Prozess entspricht einem zweiten Programmadressenbestimmungsabschnitt, und der von der CPU 20 in Schritt S140 ausgeführte Prozess entspricht einem zweiten Programmzugriffsabschnitt.
  • Die Adresseneinstelltabelle AT entspricht einem Programmkorrespondenzverhältnisspeicherabschnitt. Die von der CPU 10 in den Schritten S10, S20, S30 ausgeführten Prozesse entsprechen einem ersten Programmeinstellabschnitt, und die von der CPU 20 in den Schritten S10, S20, S30 ausgeführten Prozesse entsprechen einem zweiten Programmeinstellabschnitt.
  • Die OS-Konstante-Daten-Gruppe C1 entspricht einer ersten Konstante-Daten-Gruppe, und die OS-Konstante-Daten-Gruppe C2 entspricht einer zweiten Konstante-Daten-Gruppe. Das Flash-ROM 30 dient als ein gemeinsamer Konstante-Daten-Speicher. Der interne Datenspeicher 14 dient als ein erster Konstante-Daten-Speicher, der von der CPU 10 in Schritt S230 ausgeführte Prozess dient als ein erster Konstante-Daten-Adressenbestimmungsabschnitt, und der von der CPU 10 in Schritt S240 ausgeführte Prozess dient als ein erster Konstante-Daten-Zugriffsabschnitt.
  • Der interne Datenspeicher 24 dient als ein erster Variable-Daten-Speicher, der von der CPU 20 in Schritt S230 ausgeführte Prozess dient als ein zweiter Konstante-Daten-Adressenbestimmungsabschnitt, und der von der CPU 20 in Schritt S240 ausgeführte Prozess dient als ein zweiter Konstante-Daten-Zugriffsabschnitt.
  • Die Adresseneinstelltabelle AT entspricht einem Konstante-Daten-Korrespondenzverhältnis-Speicherabschnitt. Die von der CPU 10 in den Schritten S10, S20, S40 ausgeführten Prozesse entsprechen einem ersten Konstante-Daten-Einstellabschnitt, und die von der CPU 20 in den Schritten S10, S20, S40 ausgeführten Prozesse entsprechen einem zweiten Konstante-Daten-Einstellabschnitt.
  • Die OS-Variable-Daten-Gruppe V1 entspricht einer ersten Variable-Daten-Gruppe, und die OS-Variable-Daten-Gruppe V2 entspricht einer zweiten Variable-Daten-Gruppe. Das RAM 40 dient als ein gemeinsamer Variable-Daten-Speicher. Der interne Datenspeicher 14 dient als ein erster Variable-Daten-Speicher, der von der CPU 10 in Schritt S330 ausgeführte Prozess dient als ein erster Variable-Daten-Adressbestimmungsabschnitt, und der von der CPU 10 in Schritt S340 ausgeführte Prozess dient als ein erster Variable-Daten-Zugriffsabschnitt.
  • Der interne Datenspeicher 24 dient als ein zweiter Variable-Daten-Speicher, der von der CPU 20 in Schritt S330 ausgeführte Prozess dient als ein zweiter Variable-Daten-Adressbestimmungsabschnitt, und der von der CPU 20 in Schritt S340 ausgeführte Prozess dient als ein zweiter Variable-Daten-Zugriffsabschnitt.
  • Die Adresseneinstelltabelle AT entspricht einem Variable-Daten-Korrespondenzverhältnis-Speicherabschnitt. Die von der CPU 10 in den Schritten S10, S20, S50 ausgeführten Prozesse entsprechen einem ersten Variable-Daten-Einstellabschnitt, und die von der CPU 20 in den Schritten S10, S20, S50 ausgeführten Prozesse entsprechen einem zweiten Variable-Daten-Einstellabschnitt.
  • In den obigen Ausführungsformen weist der Mikrocomputer 2 zwei CPUs 10, 20 auf. Gemäß einem weiteren Beispiel kann der Mikrocomputer 2 drei oder mehr als drei CPUs aufweisen und die in den jeweiligen internen Speichern der drei oder mehr als drei CPUs gespeicherten OS-Programme PG ausführen.
  • In den obigen Ausführungsformen führt jede CPU 10, 20 das OS-Programm PG als das gemeinsame Programm aus. Hierin ist das gemeinsame Programm ein Programm, das von sowohl der CPU 10 als auch der CPU 20 gemeinsam ausgeführt wird. Gemäß einem weiteren Beispiel kann jede CPU 10, 20 ein anderes Programm, wie beispielsweise ein Fahrzeugsteuerprogramm, als das gemeinsame Programm ausführen.
  • In den obigen Ausführungsformen wird der Adresseneinstellprozess durch eine Software-Struktur, d. h. durch ein Programm, bereitgestellt. Gemäß einem weiteren Beispiel kann der Adresseneinstellprozess durch eine Hardware-Schaltung, wie beispielsweise eine logische Schaltung, bereitgestellt werden.
  • In den obigen Ausführungsformen wird die Programmbasisadresse als die Startadresse des OS-Programms PG im internen Programmspeicher 13, 23 bestimmt. Die Programmbasisadresse ist jedoch nicht auf die Startadresse des OS-Programms PG im internen Programmspeicher 13, 23 beschränkt. Gemäß einem weiteren Beispiel kann die Programmbasisadresse als eine Endadresse des OS-Programms PG im internen Programmspeicher 13, 23 bestimmt werden.
  • Obgleich vorstehend einzig die ausgewählten beispielhaften Ausführungsformen aufgezeigt sind, um die vorliegende Erfindung zu veranschaulichen, wird Fachleuten aus der obigen Offenbarung ersichtlich sein, dass die vorliegende Erfindung auf verschiedene Weise modifiziert werden kann, ohne ihren Schutzumfang zu verlassen, so wie er in den beigefügten Ansprüchen dargelegt ist. Ferner ist die obige Beschreibung der beispielhaften Ausführungsformen der vorliegenden Erfindung lediglich zur Veranschaulichung bereitgestellt, jedoch nicht zur Beschränkung der vorliegenden Erfindung, so wie sie durch die beigefügten Ansprüche und deren Äquivalente definiert wird.
  • Vorstehend ist eine elektronische Steuervorrichtung beschrieben.
  • Eine elektronische Steuervorrichtung weist CPUs 10, 20, Ausführeinheiten 11, 21 und Programmspeicher 13, 23 auf. Jeder Programmspeicher 13, 23 speichert ein gemeinsames Programm PG, das aus einem gemeinsamen Programmspeicher 30 kopiert wird. Wenn die CPU 10, 20 auf ein internes Programm API zugreift, das im gemeinsamen Programm enthalten ist, wird eine logische Adresse zum Zugreifen auf das interne Programm auf der Grundlage einer Programmoffsetadresse und einer Programmbasisadresse bestimmt. Die Programmbasisadresse zeigt eine logische Adresse entsprechend einer Startadresse des gemeinsamen Programms im Programmspeicher 13, 23. Die Programmoffsetadresse zeigt eine Offsetadresse des internen Programms bezüglich einer Basisadresse des gemeinsamen Programms. Die Ausführeinheit 11, 21 wird gesteuert, um auf die bestimmte logische Adresse zuzugreifen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2007-034910 A [0002]

Claims (9)

  1. Elektronische Steuervorrichtung mit: – einer ersten zentralen Recheneinheit (10); – einer zweiten zentralen Recheneinheit (20); und – einem gemeinsamen Programmspeicher (30), der außerhalb der ersten zentralen Recheneinheit und der zweiten zentralen Recheneinheit angeordnet ist, wobei der gemeinsame Programmspeicher ein gemeinsames Programm speichert, das von sowohl der ersten zentralen Recheneinheit als auch der zweiten zentralen Recheneinheit ausgeführt wird, wobei – die erste zentrale Recheneinheit aufweist: – einen ersten Programmspeicher (13), dem eine logische Adresse zugewiesen ist, die sich von einer logischen Adresse des gemeinsamen Programmspeichers unterscheidet, wobei der erste Programmspeicher (13) das gemeinsame Programm speichert, das aus dem gemeinsamen Programmspeicher kopiert ist; – eine erste Ausführeinheit (11), die einen Prozess ausführt, indem sie auf das gemeinsame Programm zugreift, das im ersten Programmspeicher gespeichert ist; – einen ersten Programmadressenbestimmungsabschnitt (S130), der eine logische Adresse zum Zugreifen auf ein internes Programm, das im gemeinsamen Programm enthalten ist, auf der Grundlage einer Programmoffsetadresse und einer ersten Programmbasisadresse bestimmt, wenn die erste Ausführeinheit (11) auf das interne Programm zugreifen muss, im Ansprechen auf einen Befehl, der aus dem gemeinsamen Programm gelesen wird, das im ersten Programmspeicher gespeichert ist, wobei das interne Programm im gemeinsamen Programm enthalten und im ersten Programmspeicher gespeichert ist, die erste Programmbasisadresse eine logische Adresse im ersten Programmspeicher anzeigt und einer Basisadresse des gemeinsamen Programms entspricht, die Programmoffsetadresse eine Offsetadresse des internen Programms bezüglich der Basisadresse des gemeinsamen Programms zeigt, und die Basisadresse des gemeinsamen Programms im Voraus bestimmt wird; und – einen ersten Programmzugriffsabschnitt (S140), der die erste Ausführeinheit (11) steuert, um auf die logische Adresse zuzugreifen, die durch den ersten Programmadressenbestimmungsabschnitt bestimmt wird, und – die zweite zentrale Recheneinheit aufweist: – einen zweiten Programmspeicher (23), dem eine logische Adresse zugewiesen ist, die sich von der logischen Adresse des gemeinsamen Programmspeichers oder der logischen Adresse des ersten Programmspeichers unterscheidet, wobei der zweite Programmspeicher (23) das gemeinsame Programm speichert, das aus dem gemeinsamen Programmspeicher kopiert ist; – eine zweite Ausführeinheit (21), die einen Prozess ausführt, indem sie auf das gemeinsame Programm zugreift, das im zweiten Programmspeicher gespeicherte ist; – einen zweiten Programmadressenbestimmungsabschnitt (S130), der eine logische Adresse zum Zugreifen auf das interne Programm, das im gemeinsamen Programm enthalten ist, auf der Grundlage der Programmoffsetadresse und einer zweiten Programmbasisadresse bestimmt, wenn die zweite Ausführeinheit (21) auf das interne Programm zugreifen muss, im Ansprechen auf einen Befehl, der aus dem gemeinsamen Programm gelesen wird, das im zweiten Programmspeicher gespeichert ist, wobei das interne Programm im gemeinsamen Programm enthalten und im zweiten Programmspeicher gespeichert ist, und die zweite Programmbasisadresse eine logische Adresse im zweiten Programmspeicher anzeigt und einer Basisadresse des gemeinsamen Programms entspricht; und – einen zweiten Programmzugriffsabschnitt (S140), der die zweite Ausführeinheit (21) steuert, um auf die logische Adresse zuzugreifen, die durch den zweiten Programmadressenbestimmungsabschnitt bestimmt wird.
  2. Elektronische Steuervorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Basisadresse des gemeinsamen Programms eine logische Startadresse des gemeinsamen Programms im gemeinsamen Programmspeicher anzeigt.
  3. Elektronische Steuervorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass – der ersten zentralen Recheneinheit Kenninformation zugewiesen ist, die eine Kennung der ersten zentralen Recheneinheit anzeigt, und der zweiten zentralen Recheneinheit Kenninformation zugewiesen ist, die eine Kennung der zweiten zentralen Recheneinheit anzeigt; – die erste zentrale Recheneinheit einen Programmkorrespondenzverhältnisspeicherabschnitt (AT) aufweist, der ein Korrespondenzverhältnis zwischen der ersten zentralen Recheneinheit und der ersten Programmbasisadresse speichert, und die zweite zentrale Recheneinheit einen Programmkorrespondenzverhältnisspeicherabschnitt (AT) aufweist, der ein Korrespondenzverhältnis zwischen der zweiten zentralen Recheneinheit und der zweiten Programmbasisadresse speichert; – die erste zentrale Recheneinheit ferner einen ersten Programmeinstellabschnitt (S10, S20, S30) aufweist, der die erste Programmbasisadresse in der ersten zentralen Recheneinheit auf der Grundlage der Kenninformation der ersten zentralen Recheneinheit und des im Programmkorrespondenzverhältnisspeicherabschnitt der ersten zentralen Recheneinheit gespeicherten Korrespondenzverhältnisses bestimmt; und – die zweite zentrale Recheneinheit ferner einen zweiten Programmeinstellabschnitt (S10, S20, S30) aufweist, der die zweite Programmbasisadresse in der zweiten zentralen Recheneinheit auf der Grundlage der Kenninformation der zweiten zentralen Recheneinheit und des im Programmkorrespondenzverhältnisspeicherabschnitt der zweiten zentralen Recheneinheit gespeicherten Korrespondenzverhältnisses bestimmt.
  4. Elektronische Steuervorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass sie ferner aufweist: – einen gemeinsamen Konstante-Daten-Speicher (30), der eine erste Konstante-Daten-Gruppe (C1) und eine zweite Konstante-Daten-Gruppe (C2) speichert, wobei die erste Konstante-Daten-Gruppe mehrere erste konstante Daten aufweist, die von der ersten zentralen Recheneinheit zum Ausführen des gemeinsamen Programms verwendet werden, und die zweite Konstante-Daten-Gruppe mehrere zweite konstante Daten aufweist, die von der zweiten zentralen Recheneinheit zum Ausführen des gemeinsamen Programms verwendet werden, wobei – die erste zentrale Recheneinheit ferner aufweist: – einen ersten Konstante-Daten-Speicher (14), dem eine logische Adresse zugewiesen ist, die sich von der logischen Adresse des gemeinsamen Programmspeichers, der logischen Adresse des ersten Programmspeichers oder der logischen Adresse des zweiten Programmspeichers unterscheidet, wobei der erste Konstante-Daten-Speicher die erste Konstante-Daten-Gruppe speichert, die aus dem gemeinsamen Konstante-Daten-Speicher kopiert ist; – einen ersten Konstante-Daten-Adressenbestimmungsabschnitt (S230), der eine logische Adresse zum Zugreifen auf erste konstante Daten, die in der ersten Konstante-Daten-Gruppe enthalten sind, auf der Grundlage einer ersten Konstante-Daten-Offsetadresse und einer ersten Konstante-Daten-Basisadresse bestimmt, wenn die erste Ausführeinheit (11) auf die einen ersten konstanten Daten zugreifen muss, im Ansprechen auf einen Befehl, der aus dem gemeinsamen Programm gelesen wird, das im ersten Programmspeicher gespeichert ist, wobei die einen ersten konstanten Daten in der ersten Konstante-Daten-Gruppe enthalten und im ersten Konstante-Daten-Speicher gespeichert sind, die erste Konstante-Daten-Basisadresse eine logische Adresse im ersten Konstante-Daten-Speicher anzeigt und einer Basisadresse der ersten Konstante-Daten-Gruppe entspricht, die erste Konstante-Daten-Offsetadresse eine Offsetadresse der einen ersten konstanten Daten bezüglich der Basisadresse der ersten Konstante-Daten-Gruppe anzeigt, und die Basisadresse der ersten Konstante-Daten-Gruppe im Voraus bestimmt wird; und – einen ersten Konstante-Daten-Zugriffsabschnitt (S240), der die erste Ausführeinheit (11) steuert, um auf die logische Adresse zuzugreifen, die durch den ersten Konstante-Daten-Adressenbestimmungsabschnitt bestimmt wird, und – die zweite zentrale Recheneinheit ferner aufweist: – einen zweiten Konstante-Daten-Speicher (24), dem eine logische Adresse zugewiesen ist, die sich von der logischen Adresse des gemeinsamen Programmspeichers, der logischen Adresse des ersten Programmspeichers, der logischen Adresse des zweiten Programmspeichers oder der logischen Adresse des ersten Konstante-Daten-Speichers unterscheidet, wobei der zweite Konstante-Daten-Speicher die zweite Konstante-Daten-Gruppe speichert, die aus dem gemeinsamen Konstante-Daten-Speicher kopiert ist; – einen zweiten Konstante-Daten-Adressenbestimmungsabschnitt (S230), der eine logische Adresse zum Zugreifen auf zweite konstante Daten, die in der zweiten Konstante-Daten-Gruppe enthalten sind, auf der Grundlage einer zweiten Konstante-Daten-Offsetadresse und einer zweiten Konstante-Daten-Basisadresse bestimmt, wenn die zweite Ausführeinheit (21) auf die einen zweiten konstanten Daten zugreifen muss, im Ansprechen auf einen Befehl, der aus dem gemeinsamen Programm gelesen wird, das im zweiten Programmspeicher gespeichert ist, wobei die einen zweiten konstanten Daten in der zweiten Konstante-Daten-Gruppe enthalten und im zweiten Konstante-Daten-Speicher gespeichert sind, die zweite Konstante-Daten-Basisadresse eine logische Adresse im zweiten Konstante-Daten-Speicher anzeigt und einer Basisadresse der zweiten Konstante-Daten-Gruppe entspricht, die zweite Konstante-Daten-Offsetadresse eine Offsetadresse der einen ersten konstanten Daten bezüglich der Basisadresse der zweiten Konstante-Daten-Gruppe anzeigt, und die Basisadresse der zweiten Konstante-Daten-Gruppe im Voraus bestimmt wird; und – einen zweiten Konstante-Daten-Zugriffsabschnitt (S240), der die zweite Ausführeinheit (21) steuert, um auf die logische Adresse zuzugreifen, die durch den zweiten Konstante-Daten-Adressenbestimmungsabschnitt bestimmt wird.
  5. Elektronische Steuervorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass – die Basisadresse der ersten Konstante-Daten-Gruppe eine logische Startadresse der ersten Konstante-Daten-Gruppe im gemeinsamen Konstante-Daten-Speicher anzeigt; und – die Basisadresse der zweiten Konstante-Daten-Gruppe eine logische Startadresse der zweiten Konstante-Daten-Gruppe im gemeinsamen Konstante-Daten-Speicher anzeigt.
  6. Elektronische Steuervorrichtung nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass – der ersten zentralen Recheneinheit Kenninformation zugewiesen ist, die eine Kennung der ersten zentralen Recheneinheit anzeigt, und der zweiten zentralen Recheneinheit Kenninformation zugewiesen ist, die eine Kennung der zweiten zentralen Recheneinheit anzeigt; – die erste zentrale Recheneinheit einen Konstante-Daten-Korrespondenzverhältnis-Speicherabschnitt (AT) aufweist, der ein Korrespondenzverhältnis zwischen der ersten zentralen Recheneinheit und der ersten Konstante-Daten-Basisadresse speichert, und die zweite zentrale Recheneinheit einen Konstante-Daten-Korrespondenzverhältnis-Speicherabschnitt (AT) aufweist, der ein Korrespondenzverhältnis zwischen der zweiten zentralen Recheneinheit und der zweiten Konstante-Daten-Basisadresse speichert; – die erste zentrale Recheneinheit ferner einen ersten Konstante-Daten-Einstellabschnitt (S10, S20, S40) aufweist, der die erste Konstante-Daten-Basisadresse in der ersten zentralen Recheneinheit auf der Grundlage der Kenninformation der ersten zentralen Recheneinheit und des im Konstante-Daten-Korrespondenzverhältnis-Speicherabschnitt der ersten zentralen Recheneinheit gespeicherten Korrespondenzverhältnisses bestimmt; und – die zweite zentrale Recheneinheit ferner einen zweiten Konstante-Daten-Einstellabschnitt (S10, S20, S40) aufweist, der die zweite Konstante-Daten-Basisadresse in der zweiten zentralen Recheneinheit auf der Grundlage der Kenninformation der zweiten zentralen Recheneinheit und des im Konstante-Daten-Korrespondenzverhältnis-Speicherabschnitt der zweiten zentralen Recheneinheit gespeicherten Korrespondenzverhältnisses bestimmt.
  7. Elektronische Steuervorrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass sie ferner aufweist: – einen gemeinsamen Variable-Daten-Speicher (40), der eine erste Variable-Daten-Gruppe (V1) und eine zweite Variable-Daten-Gruppe (V2) speichert, wobei die erste Variable-Daten-Gruppe mehrere erste variable Daten aufweist, die von der ersten zentralen Recheneinheit zum Ausführen des gemeinsamen Programms verwendet werden, und die zweite Variable-Daten-Gruppe mehrere zweite variable Daten aufweist, die von der zweiten zentralen Recheneinheit zum Ausführen des gemeinsamen Programms verwendet werden, wobei – die erste zentrale Recheneinheit ferner aufweist: – einen ersten Variable-Daten-Speicher (14), dem eine logische Adresse zugewiesen ist, die sich von der logischen Adresse des gemeinsamen Programmspeichers, der logischen Adresse des ersten Programmspeichers oder der logischen Adresse des zweiten Programmspeichers unterscheidet, wobei der erste variable Datenspeicher die erste Variable-Daten-Gruppe speichert, die aus dem gemeinsamen Variable-Daten-Speicher kopiert ist; – einen ersten Variable-Daten-Adressenbestimmungsabschnitt (S330), der eine logische Adresse zum Zugreifen auf erste variable Daten, die in der ersten Variable-Daten-Gruppe enthalten sind, auf der Grundlage einer ersten Variable-Daten-Offsetadresse und einer ersten Variable-Daten-Basisadresse bestimmt, wenn die erste Ausführeinheit (11) auf die einen ersten variablen Daten zugreifen muss, im Ansprechen auf einen Befehl, der aus dem gemeinsamen Programm gelesen wird, das im ersten Programmspeicher gespeichert ist, wobei die einen ersten variablen Daten in der ersten Variable-Daten-Gruppe enthalten und im ersten Variable-Daten-Speicher gespeichert sind, die erste Variable-Daten-Basisadresse eine logische Adresse im ersten Variable-Daten-Speicher anzeigt und einer Basisadresse der ersten Variable-Daten-Gruppe entspricht, die erste Variable-Daten-Offsetadresse eine Offsetadresse der ersten variablen Daten bezüglich der Basisadresse der ersten Variable-Daten-Gruppe anzeigt, und die Basisadresse der ersten Variable-Daten-Gruppe im Voraus bestimmt wird; und – einen ersten Variable-Daten-Zugriffsabschnitt (S340), der die erste Ausführeinheit (11) steuert, um auf die logische Adresse zuzugreifen, die durch den ersten Variable-Daten-Adressenbestimmungsabschnitt bestimmt wird, und – die zweite zentrale Recheneinheit ferner aufweist: – einen zweiten Variable-Daten-Speicher (24), dem eine logische Adresse zugewiesen ist, die sich von der logischen Adresse des gemeinsamen Programmspeichers, der logischen Adresse des ersten Programmspeichers, der logischen Adresse des zweiten Programmspeichers oder der logischen Adresse des ersten Variable-Daten-Speichers unterscheidet, wobei der zweite Variable-Daten-Speicher die zweite Variable-Daten-Gruppe speichert, die aus dem gemeinsamen Variable-Daten-Speicher kopiert ist; – einen zweiten Variable-Daten-Adressenbestimmungsabschnitt (S330), der eine logische Adresse zum Zugreifen auf zweite variable Daten, die in der zweiten Variable-Daten-Gruppe enthalten sind, auf der Grundlage einer zweiten Variable-Daten-Offsetadresse und einer zweiten Variable-Daten-Basisadresse bestimmt, wenn die zweite Ausführeinheit (21) auf die einen zweiten variablen Daten zugreifen muss, im Ansprechen auf einen Befehl, der aus dem gemeinsamen Programm gelesen wird, das im zweiten Programmspeicher gespeichert ist, wobei die einen zweiten variablen Daten in der zweiten Variable-Daten-Gruppe enthalten und im zweiten Variable-Daten-Speicher gespeichert sind, die zweite Variable-Daten-Basisadresse eine logische Adresse im zweiten Variable-Daten-Speicher anzeigt und einer Basisadresse der zweiten Variable-Daten-Gruppe entspricht, die zweite Variable-Daten-Offsetadresse eine Offsetadresse der einen zweiten variablen Daten bezüglich der Basisadresse der zweiten Variable-Daten-Gruppe anzeigt, und die Basisadresse der zweiten Variable-Daten-Gruppe im Voraus bestimmt wird; und – einen zweiten Variable-Daten-Zugriffsabschnitt (S340), der die zweite Ausführeinheit (21) steuert, um auf die logische Adresse zuzugreifen, die durch den zweiten Variable-Daten-Adressenbestimmungsabschnitt bestimmt wird.
  8. Elektronische Steuervorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass – die Basisadresse der ersten Variable-Daten-Gruppe eine logische Startadresse der ersten Variable-Daten-Gruppe im gemeinsamen Variable-Daten-Speicher anzeigt; und – die Basisadresse der zweiten Variable-Daten-Gruppe eine logische Startadresse der zweiten Variable-Daten-Gruppe im gemeinsamen Variable-Daten-Speicher anzeigt.
  9. Elektronische Steuervorrichtung nach Anspruch 7 oder 8, dadurch gekennzeichnet, dass – der ersten zentralen Recheneinheit Kenninformation zugewiesen ist, die eine Kennung der ersten zentralen Recheneinheit anzeigt, und der zweiten zentralen Recheneinheit Kenninformation zugewiesen ist, die eine Kennung der zweiten zentralen Recheneinheit anzeigt; – die erste zentrale Recheneinheit einen Variable-Daten-Korrespondenzverhältnis-Speicherabschnitt (AT) aufweist, der ein Korrespondenzverhältnis zwischen der ersten zentralen Recheneinheit und der ersten Variable-Daten-Basisadresse speichert, und die zweite zentrale Recheneinheit einen Variable-Daten-Korrespondenzverhältnis-Speicherabschnitt (AT) aufweist, der ein Korrespondenzverhältnis zwischen der zweiten zentralen Recheneinheit und der zweiten Variable-Daten-Basisadresse speichert; – die erste zentrale Recheneinheit ferner einen ersten Variable-Daten-Einstellabschnitt (S10, S20, S50) aufweist, der die erste Variable-Daten-Basisadresse in der ersten zentralen Recheneinheit auf der Grundlage der Kenninformation der ersten zentralen Recheneinheit und des im Variable-Daten-Korrespondenzverhältnis-Speicherabschnitt der ersten zentralen Recheneinheit gespeicherten Korrespondenzverhältnisses bestimmt; und – die zweite zentrale Recheneinheit ferner einen zweiten Variable-Daten-Einstellabschnitt (S10, S20, S50) aufweist, der die zweite Variable-Daten-Basisadresse in der zweiten zentralen Recheneinheit auf der Grundlage der Kenninformation der zweiten zentralen Recheneinheit und des im Variable-Daten-Korrespondenzverhältnis-Speicherabschnitt der zweiten zentralen Recheneinheit gespeicherten Korrespondenzverhältnisses bestimmt.
DE102014223148.5A 2013-11-14 2014-11-13 Elektronische Steuervorrichtung Pending DE102014223148A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013235881A JP5915624B2 (ja) 2013-11-14 2013-11-14 電子制御装置
JP2013-235881 2013-11-14

Publications (1)

Publication Number Publication Date
DE102014223148A1 true DE102014223148A1 (de) 2015-05-21

Family

ID=53184538

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014223148.5A Pending DE102014223148A1 (de) 2013-11-14 2014-11-13 Elektronische Steuervorrichtung

Country Status (2)

Country Link
JP (1) JP5915624B2 (de)
DE (1) DE102014223148A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034910A (ja) 2005-07-29 2007-02-08 Fujitsu Ten Ltd マルチcpuシステム及びスケジューラ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01243146A (ja) * 1988-03-24 1989-09-27 Hitachi Ltd 共用メモリアクセス方式
JPH07219779A (ja) * 1994-02-02 1995-08-18 Fuji Electric Co Ltd 計算機システムの立ち上げ方法
US7689784B2 (en) * 2005-03-18 2010-03-30 Sony Computer Entertainment Inc. Methods and apparatus for dynamic linking program overlay
JP2008097134A (ja) * 2006-10-06 2008-04-24 Oki Electric Ind Co Ltd アドレスオフセット制御回路
JP5224498B2 (ja) * 2007-02-28 2013-07-03 学校法人早稲田大学 メモリ管理方法、情報処理装置、プログラムの作成方法及びプログラム
JP4869301B2 (ja) * 2008-08-22 2012-02-08 三菱電機株式会社 画像処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034910A (ja) 2005-07-29 2007-02-08 Fujitsu Ten Ltd マルチcpuシステム及びスケジューラ

Also Published As

Publication number Publication date
JP5915624B2 (ja) 2016-05-11
JP2015095218A (ja) 2015-05-18

Similar Documents

Publication Publication Date Title
DE10315490B4 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
DE102012204256B4 (de) Verfahren und system zum initiieren eines wiederauffrischungsvorgangs in einer nicht flüchtigen festkörper-speichereinrichtung
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE102008041360A1 (de) Steuergerät für ein Fahrzeug und Verfahren für eine Datenaktualisierung für ein Steuergerät für ein Fahrzeug
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE102015107654A1 (de) Dienst und System zum Unterstützen eines kohärenten Datenzugriffs auf einem Multicore-Controller
DE102018205204A1 (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
DE112015007104T5 (de) Datenverarbeitungsvorrichtung, Datenverarbeitungsverfahren und Datenverarbeitungsprogramm
EP3080668B1 (de) Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts
DE102004061339A1 (de) Scheduling-Verfahren, insbesondere Kontex-Scheduling-Verfahren, und Einrichtung zur Verwendung bei einem Scheduling-Verfahren
EP3015992A1 (de) Verfahren zur verwaltung priorisierter eingangsdaten
DE3210616A1 (de) Rechner
DE102014223148A1 (de) Elektronische Steuervorrichtung
DE102013016114B3 (de) Bussystem und Verfahren für geschützte Speicherzugriffe
DE102021131057A1 (de) System und Verfahren zur Ausführung einer Aufgabe eines Betriebssystems für ein Fahrzeug
DE112004001564T5 (de) Low-contention Lock
DE102004059972A1 (de) Thread-Scheduling-Verfahren, und Einrichtung zur Verwendung bei einem Thread-Scheduling-Verfahren
DE102018213047A1 (de) Skalierbare Spinlocks für einen nicht einheitlichen Speicherzugriff
DE102016224206A1 (de) Fahrzeugsteuervorrichtung
DE102018123563B4 (de) Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor
DE10155486B4 (de) Anordnung zur Verarbeitung von Zustandsinformationen externer Einheiten
DE102015218589A1 (de) Verfahren und Vorrichtung zum Betreiben eines Many-Core-System
DE112015002881B4 (de) Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm
DE102018210733A1 (de) Verfahren zum Überwachen wenigstens einer Recheneinheit
DE102018211390A1 (de) Prozessor und Speichermodul

Legal Events

Date Code Title Description
R012 Request for examination validly filed