DE102018200660B4 - Elektronisches steuergerät - Google Patents

Elektronisches steuergerät Download PDF

Info

Publication number
DE102018200660B4
DE102018200660B4 DE102018200660.1A DE102018200660A DE102018200660B4 DE 102018200660 B4 DE102018200660 B4 DE 102018200660B4 DE 102018200660 A DE102018200660 A DE 102018200660A DE 102018200660 B4 DE102018200660 B4 DE 102018200660B4
Authority
DE
Germany
Prior art keywords
address
setting
correspondence
setting value
value
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.)
Active
Application number
DE102018200660.1A
Other languages
English (en)
Other versions
DE102018200660A1 (de
Inventor
Nobuya Uematsu
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 DE102018200660A1 publication Critical patent/DE102018200660A1/de
Application granted granted Critical
Publication of DE102018200660B4 publication Critical patent/DE102018200660B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)

Abstract

Elektronisches Steuergerät, welches dazu eingerichtet ist, eine Datenschreiboperation auszuführen, aufweisend:einen Einstellbestimmungsabschnitt (S10) zum Bestimmen, ob eine Einstellanfrage eingeht,wobei als Antwort auf die Einstellanfrage ein Einstellwert, welcher Einstellungen des elektronischen Steuergeräts angibt, entsprechend einem spezifizierten Wert, der in der Einstellanfrage enthalten ist, gesetzt wird,und wobei der spezifizierte Wert einer von einer Mehrzahl möglicher Werte ist, welche vorher für den Einstellwert vorbereitet wurden;einen Adressabschnitt (S50) zum Beziehen einer Korrespondenz-Adresse, wenn der Einstellbestimmungsabschnitt (S10) bestimmt, dass die Einstellanfrage eingegangen ist,wobei die Korrespondenz-Adresse eine Adresse eines Speicherbereichs ist, der den einen von der Mehrzahl der möglichen Werte speichert, der gleich dem spezifizierten Wert ist;einen Schreibbefehlsabschnitt (S90) zum Übertragen eines Datenschreibbefehls, welcher eine Schreibeinheit (15) dazu instruiert, Daten, welche die Korrespondenz-Adresse repräsentieren, als Einstellwert in einen Einstellwertspeicherbereich zu schreiben,wobei der Einstellwertspeicherbereich ein Speicherbereich ist, der dem Einstellwert zugewiesen wird, wobeidie Schreibeinheit (15) dazu eingerichtet ist, als Antwort auf den Datenschreibbefehl vom Schreibbefehlsabschnitt (S90) die Korrespondenz-Adresse in Speichereinheiten von vordefinierten Speichersektoren zu schreiben,wobei jeder der vordefinierten Speichersektoren im Einstellwertspeicherbereich enthalten ist,einen Korrespondenz-Beschaffungs-Abschnitt (S30) zum Beziehen von Korrespondenz-Information, wobei die Korrespondenz-Information eine Korrespondenz zwischen dem Einstellwert, der Mehrzahl möglicher Werte und einer Adresse für einen Bereich, welcher jeden der Mehrzahl möglicher Werte speichert, repräsentiert; undeinen Spezifizierungsabschnitt (S50) zum Spezifizieren der Adresse, welche den Bereich repräsentiert, der den einen aus der Mehrzahl möglicher Werte speichert, der gleich dem spezifizierten Wert ist, mit Bezug auf die Korrespondenz-Information, wenn der Einstellbestimmungsabschnitt (S10) bestimmt, dass die Einstellanfrage eingegangen ist,wobei der Adressabschnitt die Adresse bezieht, welche durch den Spezifizierungsabschnitt (S50) als Korrespondenz-Adresse spezifiziert wurde.

Description

  • Die vorliegende Erfindung betrifft ein elektronisches Steuergerät, welches Daten in ein nicht-flüchtiges Speichermedium schreibt, wie etwa einen Flashspeicher.
  • Zu den bekannten wiederbeschreibbaren nicht-flüchtigen Speichermedien gehören unter anderem Flashspeicher. In einen solchen Flashspeicher werden Daten in einzelne Speichersektoren geschrieben und ausgelesen. Ein Speichersektor ist ein vordefinierter Speicherbereich mit einigen Bytes.
  • Aus JP 2011 -203 809 A (bzw. US 8 868 822 B2 ) ist eine Technologie zum Schreiben und Überschreiben von Daten in einem Flashspeicher bekannt.
  • Flash-Speichermedien werden in vielen verschiedenen Anwendungen genutzt, so zum Beispiel in Kommunikationsgeräten, audiovisuellen Geräten und Geräten zur Steuerung von Fahrzeugen. In letzter Zeit nimmt die Komplexität der Steuerung solcher Geräte zu, und die nötige Datenmenge bei der Steuerung solcher Geräte wächst.
  • In den Flashspeicher nach JP 2011 - 203 809 A (bzw. US 8 868 822 B2 ) werden Daten in einzelne Speichereinheiten innerhalb der Speichersektoren geschrieben. Wenn die Daten im Zusammenhang mit der Steuerung eines Geräts ohne vorherige Datenverarbeitung in den Flashspeicher geschrieben werden, braucht das Schreiben der Daten viel Zeit.
  • Es wird ferner auf die US 2005 / 0 204 090 A1 verwiesen, die als Stand der Technik ermittelt wurde.
  • Aufgrund dieser Probleme ist es daher Aufgabe der Erfindung, ein elektronisches Steuergerät anzugeben, durch welches die Schreibzeit der Daten verkürzt wird.
  • Die Aufgabe wird gelöst durch die Merkmale der unabhängigen Ansprüche 1 und 6. Vorteilhafte Ausgestaltungen finden sich in den abhängigen Ansprüchen wieder.
  • Nach einem Aspekt der Erfindung wird ein elektronisches Steuergerät angegeben, welches eine Datenschreiboperation ausführt. Das elektronische Steuergerät weist einen Einstellbestimmungsabschnitt, einen Adressabschnitt und einen Schreibbefehlsabschnitt auf.
  • Der Einstellbestimmungsabschnitt bestimmt, ob eine Einstellanfrage eingeht. Als Antwort auf die Einstellanfrage wird ein Einstellwert, welcher Einstellungen des elektronischen Steuergeräts angibt, gemäß einem spezifizierten Wert, der in der Einstellanfrage enthalten ist, gesetzt. Der spezifizierte Wert ist einer aus einer Mehrzahl von möglichen Werten für den Einstellwert, die vorher definiert werden. Der Adressabschnitt bezieht eine Korrespondenz-Adresse, wenn der Einstellbestimmungsabschnitt bestimmt, dass eine Einstellanfrage eingegangen ist. Die Korrespondenz-Adresse ist eine Adresse eines Speicherbereiches, der den einen aus der Mehrzahl von möglichen Werten für den Einstellwert speichert, der dem spezifizierten Wert entspricht. Der Schreibbefehlsabschnitt überträgt einen Befehl zum Schreiben von Daten, und instruiert damit eine Schreibeinheit dazu, Daten, welche die Korrespondenz-Adresse repräsentieren, als Einstellwert in einen Einstellwertspeicherbereich zu schreiben. Der Einstellwertspeicherbereich ist ein Speicherbereich, der dem Einstellwert zugewiesen wird. Die Schreibeinheit schreibt die Korrespondenz-Adresse in Speichereinheiten von vordefinierten Speichersektoren als Antwort auf den Befehl zum Schreiben von Daten, der vom Schreibbefehlsabschnitt übertragen wurde. Jeder der vordefinierten Speichersektoren ist im Einstellwertspeicherbereich enthalten.
  • Die Daten werden in jeden Speichersektor geschrieben. Dadurch wächst die Zeit für den Schreibvorgang mit der wachsenden Datenmenge. Bei der vorstehend beschriebenen Konfiguration werden die Daten geschrieben, welche die Korrespondenz-Adresse repräsentieren. Daraus entsteht ein Vorteil, wenn die Datenmenge der Korrespondenz-Adresse geringer ist als die Datenmenge des spezifizierten Werts. Dann nämlich kann die benötigte Zeit für den Schreibvorgang verringert werden, verglichen mit dem Fall, dass die Daten, die den als Einstellwert gesetzten spezifizierten Wert repräsentieren, geschrieben werden.
  • Weitere Einzelheiten, Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung und anhand der Zeichnungen.
  • Es zeigen:
    • 1 ein Blockdiagramm einer Konfiguration eines elektronischen Steuergeräts;
    • 2 ein Diagramm zu einer Schreib-Verarbeitung eines Zielwerts;
    • 3 eine Tabelle mit möglichen Werten für den Zielwert;
    • 4 ein Diagramm für einen Flashspeicher mit einem Zielwertspeicherbereich, in dem der Zielwert gespeichert wird;
    • 5 ein Flussdiagramm zu einer Schreib-Verarbeitung entsprechend einer ersten Ausführungsform;
    • 6 eine Tabelle zu Korrespondenz-Information;
    • 7 ein Flussdiagramm zu einer Schreiboperation, ausgeführt in der Schreib-Verarbeitung entsprechend der ersten Ausführungsform;
    • 8 ein Diagramm zu einem Beispiel für den Ablauf in der Schreib-Verarbeitung gemäß der ersten Ausführungsform;
    • 9 ein Flussdiagramm zu einer Auslese-Verarbeitung gemäß der ersten Ausführungsform;
    • 10 ein Diagramm zu einem Beispiel für den Ablauf in der Auslese-Verarbeitung gemäß der ersten Ausführungsform;
    • 11 ein Flussdiagramm zu einer Schreib-Verarbeitung gemäß einer zweiten Ausführungsform;
    • 12 ein Diagramm zu einem Beispiel für den Ablauf in der Schreib-Verarbeitung gemäß der zweiten Ausführungsform;
    • 13 ein Diagramm zu einem Beispiel von Korrespondenz-Information gemäß zu einer anderen Ausführungsform;
    • 14 ein Diagramm zu einem Beispiel der Schreibdaten zu einer anderen Ausführungsform;
    • 15 ein Diagramm mit einem Konfigurationsbeispiel zu einem Speicher gemäß einer anderen Ausführungsform;
    • 16 ein Diagramm mit einem Beispiel eines Im-Fahrzeug-Systems, in dem der mögliche Wert in einem Speicher gespeichert wird, wobei der Speicher in einem von mehreren elektronischen Steuereinheiten (ECUs) gemäß einer anderen Ausführungsform enthalten ist;
    • 17 ein Diagramm mit einem Beispiel eines Im-Fahrzeug-Systems, in dem der mögliche Wert auf einer Festplatte (HDD) gespeichert wird gemäß einer anderen Ausführungsform.
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung in Bezug auf die Zeichnungen beschrieben. In jeder Ausführungsform stehen gleiche oder ähnliche Bezugszeichen jeweils für die gleichen oder ähnlichen Dinge, welche mitunter nicht noch einmal erläutert werden. Von der zweiten Ausführungsform, in dem Falle, dass nur ein Teil einer Konfiguration beschrieben wird, gilt die vorher beschriebene Ausführungsform auch für den anderen Teil der Konfiguration.
  • 1. Ausführungsform
  • Eine elektronische Steuereinheit 10 gemäß 1 wird in einem Fahrzeug verwendet. Im Folgenden wird diese elektronische Steuereinheit 10 als ECU 10 bezeichnet. Ein solches Fahrzeug, wie im Folgenden beschrieben, ist ein Fahrzeug, welches über eine ECU 10 verfügt.
  • Die ECU 10 umfasst hauptsächlich einen allgemein bekannten Mikrocomputer 11, welcher über eine CPU 12 zur Steuerung der ECU, einen Halbleiterspeicher 19 sowie eine Steuereinrichtung 15 verfügt. Der Halbleiterspeicher 19 kann einen ROM 13, einen RAM 14 und einen Flashspeicher 16 enthalten. Im Folgenden wird der Halbleiterspeicher 19 als Speicher 19 bezeichnet. Verschiedene Funktionen der ECU 10 werden erfüllt, indem entsprechende Programme ausgeführt werden, die in einem nicht-flüchtigen, als Bauteil vorhandenen Speichermedium abgelegt sind. In dieser Ausführungsform entspricht der Speicher 19 diesem nicht-flüchtigen, als Bauteil vorhandenen Speichermedium, auf dem ausführbare Programme abgelegt werden. Die ECU 10 kann einen oder mehrere Mikrocomputer 11 aufweisen.
  • Die verschiedenen Funktionen zur Steuerung des Fahrzeugs werden der ECU 10 zugewiesen und jeweils durch Ausführen des entsprechenden Programms durch die CPU 12 erfüllt. Die Art der Ausübung verschiedener Funktionen der ECU 10 ist allerdings nicht auf die Nutzung von Software beschränkt, sondern kann auch teilweise oder vollständig durch einen oder mehrere Hardwarebauteile implementiert sein. Angenommen, dass eine elektronische Schaltung, also Hardware, bestimmte Funktionen der ECU 10 erfüllen kann, so kann diese elektronische Schaltung auch durch eine Digitalschaltung implementiert sein, die mehrere logische Schaltungen, eine analoge Schaltung oder eine Kombination aus einer logischen und einer analogen Schaltung aufweist.
  • Die ECU 10 enthält den Mikrocomputer 11, eine I/O 17 (Ein-/Ausgabe), sowie einen Energieversorgungs-Schaltkreis 18. Die ECU 10 ist ferner über die Kommunikationsleitung 5 über die I/O 17 mit einer weiteren, nicht in 1 dargestellten ECU verbunden. Die ECU 10 und eine andere ECU kommunizieren über Übertragung und Empfangen von Steuerungsdaten und steuern dadurch das Fahrzeug. Die ECU 10 erfüllt jede der diversen Funktionen, die der ECU zugewiesen werden, mittels dieser Steuerungsdaten.
  • Die ECU 10 kann über die Kommunikationsleitung 5 über die I/O 17 mit einem externen Gerät 9 verbunden sein. Wenn von diesem externen Gerät 9 eine Anfrage eingeht, setzt die ECU 10 einen Einstellwert auf einen vom externen Gerät 9 vorgegebenen spezifizierten Wert. Das externe Gerät 9 ist mit der ECU 10 über die I/O 17 verbunden. Der Einstellwert repräsentiert eine durch das externe Gerät 9 vorgegebene Information und Einstellinformation der ECU 10.
  • Der Energieversorgungs-Schaltkreis 18 wird durch eine Batterie oder einen Akku mit elektrischer Energie versorgt (nicht in 1 dargestellt) und stellt der CPU 12, dem ROM 13, dem RAM 14, der Steuereinrichtung 15 sowie dem Flashspeicher 16 und weiteren Teilen der ECU die benötigte elektrische Energie zur Verfügung.
  • Der ROM 13 speichert Programme, die von der CPU 12 ausgeführt werden. Diese Programme umfassen einen Flashspeicher-Treiber, mit dem die Steuereinrichtung 15 den Flashspeicher sowie einige Anwendungen steuert. Der ROM 13 speichert ferner einen möglichen Wert, welcher weiter unten beschrieben wird.
  • Der Flashspeicher 16 ist wiederbeschreibbar. Im Flashspeicher 16 können Daten in bzw. aus jedem Speicherbereich, welcher auf zwei Bytes definiert ist, geschrieben bzw. ausgelesen werden. Im Folgenden wird jeder Speicherbereich mit einer vorher festgelegten Anzahl Bytes als Speichersektor bezeichnet. Der Flashspeicher umfasst einen Einstellwertspeicherbereich, welcher weiter unten beschrieben wird.
  • Die CPU 12 veranlasst die Steuereinrichtung 15, basierend auf einem Signal vom Flashspeicher-Treiber Daten in den Flashspeicher 16 zu schreiben und aus dem Flashspeicher 16 auszulesen. Die Steuereinrichtung 15 steuert den Flashspeicher 16 als Antwort auf einen Befehl von der CPU 12. Der Flashspeicher 16 ist ein wiederbeschreibbarer Speicher, in dem die Daten in jeden vordefinierten Speichersektor geschrieben werden können.
  • In der vorliegenden Ausführungsform ist die ECU 10 mit dem externen Gerät 9 über die I/O 17 verbunden. Ein Beispiel für eine Verbindung wird im Folgenden beschrieben. Das externe Gerät 9 ist ein Gerät, welches außerhalb der ECU 10 angeordnet ist und eine Einstellanfrage oder eine Beschaffungsanfrage an die ECU 10 ausgibt.
  • Die ECU 10 bekommt die Einstellanfrage vom externen Gerät 9 und führt dann eine Schreib-Verarbeitung aus, welche im Folgenden beschrieben wird. Die Einstellanfrage fordert die ECU 10 auf, den Einstellwert auf einen vom externen Gerät 9 vorgegebenen Wert zu setzen. Wenn die ECU 10 die Einstellanfrage vom externen Gerät 9 erhält, setzt die ECU 10 den Einstellwert entsprechend dem vom externen Gerät 9 vorgegebenen spezifizierten Wert als einen von mehreren möglichen Werten. Wenn die ECU 10 die Beschaffungsanfrage vom externen Gerät 9 erhält, führt die ECU 10 eine Auslese-Verarbeitung aus, welche weiter unten beschrieben wird. Die Beschaffungsanfrage ist eine Anfrage, um den Einstellwert auszulesen, welcher vom externen Gerät 9 vorgegeben wird.
  • Der Einstellwert repräsentiert verschiedene Einstellungen der ECU 10. Der mögliche Wert für den Einstellwert ist vordefiniert. Der Einstellwert kann einen Zielwert enthalten, welcher weiter unten beschrieben wird.
  • Wie als Beispiel in 2 gezeigt, verwaltet die elektronische Steuereinheit, welche die ECU 10 enthält, ein Versandziel für ein Fahrzeug, indem sie den Zielwert im Flashspeicher 16 speichert, bevor das Fahrzeug verschickt wird. Das Versandziel kann ein Binnenmarkt, ein nordamerikanischen Markt oder ähnliches sein. Zur Zeit des Versands der ECU 10 ist der Zielwert noch nicht festgelegt, d. h., der Zielwert ist auf „NONE“ gesetzt. Ein vordefinierter Anfangswert, der einen Zustand repräsentiert, dass der Zielwert nicht gesetzt ist, wird in den Flashspeicher 16 geschrieben. Bevor das Fahrzeug von einer Fabrik verschickt wird, wird der spezifizierte Wert, der vom externen Gerät 9 vorgegeben wird, in den Flashspeicher 16 geschrieben als der Zielwert als Antwort auf die Einstellanfrage vom externen Gerät 9.
  • 2 zeigt ein Beispiel, in dem die Einstellanfrage, welche die ECU 10 auffordert, den spezifizierten Wert als Binnenmarkt zu setzen, vom externen Gerät 9 eingegeben wird, und in dem der spezifizierte Wert des Binnenmarkts in die ECU 10 als der Zielwert geschrieben wird. Nachdem der Zielwert in die ECU 10 geschrieben wurde, wird die ECU 10 am Fahrzeug befestigt, und dann wird das Fahrzeug verschickt.
  • Für den Einstellwert wird vorher eine Mehrzahl von möglichen Werten bestimmt. Die möglichen Werte repräsentieren Werte, die mögliche Werte des Einstellwerts sind. Das heißt, eine Mehrzahl von möglichen Werten wird vorgegeben, die der Einstellwert annehmen kann. Für den Zielwert, der als Beispiel des Einstellwerts beschrieben ist, werden, wie in 3 gezeigt, als mögliche Werte der Anfangswert, der Binnenmarkt, der nordamerikanische Markt, der europäische Markt und der Nahostmarkt festgelegt. In der vorliegenden Ausführungsform hat jede der Mehrzahl von möglichen Werten eine Datenlänge von sechs Bytes.
  • In der ECU 10, wie vorstehend beschrieben, wird jeder aus der Mehrzahl von möglichen Werten in einem Bereich gespeichert, welcher durch eine vordefinierte Adresse im ROM 13 repräsentiert wird.
  • Für den Zielwert, der in 6 als ein Beispiel für den Einstellwert beschrieben ist, wird der Anfangswert, der einer der möglichen Werte ist, in einem durch eine Adresse von 0x00002000 repräsentierten Bereich gespeichert. Der Binnenmarkt wird in einem Bereich gespeichert, der durch eine Adresse von 0x00002006 repräsentiert wird.
  • In der vorliegenden Ausführungsform hat die Adresse eine Datenlänge von vier Bytes. Das heißt, eine Datenmenge von der Adresse, die den Speicherbereich im ROM 13 repräsentiert, wird so gesetzt, dass sie kleiner ist als eine Datenmenge des möglichen Werts.
  • Der Flashspeicher 16 umfasst den Einstellwertspeicherbereich, der vorstehend beschrieben ist. Der Einstellwertspeicherbereich ist ein Speicherbereich, der jedem der Einstellwerte im Flashspeicher 16 zugeordnet wird. Wie in 4 gezeigt, wird im Flashspeicher 16 ein Bereich, der als Adresse R1 repräsentiert wird, dem Einstellwertspeicherbereich für den Zielwert zugeordnet, der einer der Einstellwerte ist. Der Einstellwertspeicherbereich, der dem Zielwert zugewiesen wird, kann als Zielwertspeicherbereich bezeichnet werden.
  • Das externe Gerät 9 gibt die Einstellanfrage an die ECU 10 aus. Die Einstellanfrage spezifiziert einen möglichen Wert, der aus der Mehrzahl möglicher Werte als der Einstellwert ausgewählt wird. Das externe Gerät 9 gibt die Beschaffungsanfrage an die ECU 10 aus. Die Beschaffungsanfrage liest einen Einstellwert aus, der aus der Mehrzahl möglicher Werte aus dem Einstellwertspeicherbereich ausgewählt wird.
  • Eine Verarbeitung, welche von der CPU 12 ausgeführt wird, wird im Folgenden beschrieben.
  • Zuerst wird eine Schreib-Verarbeitung, welche von der CPU 12 ausgeführt wird, mit Bezug auf das in 5 gezeigte Flussdiagramm beschrieben. Die Schreib-Verarbeitung setzt den Einstellwert auf den spezifizierten Wert als Antwort auf die Einstellanfrage vom externen Gerät 9. Die Schreib-Verarbeitung wird wiederholt ausgeführt, nachdem die ECU 10 mit dem externen Gerät 9 verbunden wird.
  • In S10 bestimmt die CPU 12, ob die CPU 12 die Einstellanfrage vom externen Gerät 9 erhält. Wenn die CPU 12 die Einstellanfrage erhält, folgt die Verarbeitung in S30. Wenn die CPU 12 die Einstellanfrage nicht erhält, endet die Verarbeitung.
  • In S30 beschafft die CPU 12 Korrespondenz-Information. Die Korrespondenz-Information wird vorab im ROM 13 gespeichert und repräsentiert die Korrespondenz zwischen dem Einstellwert, der Mehrzahl von möglichen Werten, die dem Einstellwert entsprechen, und der Adresse, welche einen Bereich im ROM 13 repräsentiert, welcher jeden dieser vielen möglichen Werte speichert.
  • Zum Beispiel zeigt 6 die Korrespondenz-Information für den Fall, dass der Einstellwert auf den Zielwert gesetzt wird. Im folgenden S50 spezifiziert die CPU 12 die Korrespondenz-Adresse. Die Korrespondenz-Adresse repräsentiert den Bereich, der den spezifizierten möglichen Wert aus der Mehrzahl von möglichen Werten speichert. Der spezifizierte mögliche Wert ist der spezifizierte Wert.
  • Die CPU 12 kann eine Einstellanfrage erhalten und kann dann den Einstellwert, der den Zielwert anzeigt, auf den spezifizierten Wert setzen, der den Binnenmarkt bezeichnet. In diesem Fall spezifiziert die CPU 12 die Adresse des Bereichs, der den möglichen Wert speichert, der dem Binnenmarkt entspricht, als den spezifizierten Wert, welcher aus der Mehrzahl möglicher Werte für den Zielwert basierend auf der Korrespondenzinformation in 6 ausgewählt wurde. Anschließend bezieht die CPU 12 die Adresse, die als Korrespondenz-Adresse spezifiziert ist. Das heißt, die CPU 12 bezieht 0x00002006 als die Korrespondenz-Adresse.
  • In S70 erzeugt die CPU 12 Schreibdaten und schreibt diese in den Einstellwertspeicherbereich. In der vorliegenden Ausführungsform erzeugt die CPU 12 die Daten, welche die Korrespondenz-Adresse darstellen, als die Schreibdaten.
  • Wenn eine Einstellanfrage eingeht, welche die ECU dazu auffordert, den Zielwert als den Einstellwert zu setzen und den spezifizierten Wert als den Binnenmarkt zu setzen, dann erzeugt die CPU 12 0x00002006, d. h., die Korrespondenz-Adresse, die dem spezifizierten Wert als die Schreibdaten entspricht, welche in den Zielwertspeicherbereich geschrieben werden sollen.
  • In S90 führt die CPU 12 eine Schreib-Operations-Ausführungs-Verarbeitung aus, um die Steuereinrichtung zu veranlassen, die Schreibdaten in den Einstellwertspeicherbereich zu schreiben. Wenn eine Einstellanfrage eingeht, welche die ECU 10 dazu auffordert, den Einstellwert als den Zielwert zu setzen und den spezifizierten Wert als den Binnenmarkt zu setzen, dann veranlasst die CPU 12 die Steuereinrichtung, 0x20002006 als die Schreibdaten zu schreiben, welche die Korrespondenz-Adresse im Zielwertspeicherbereich R1 repräsentieren. Bei dieser Konfiguration wird im Zielwertspeicher R1 0x00002000, welches die Adresse ist, die den Anfangswert im ROM 13 speichert, gelöscht, und 0x00002006, welche die Adresse 0x100000000000 speichert, die den Binnenmarkt bezeichnet, geschrieben.
  • Die CPU 12 vervollständigt die Schreib-Operation der Schreibdaten im Speicherbereich als den Einstellwert, und dann endet die Schreib-Verarbeitung. Die Schreib-Operation-Ausführungs-Verarbeitung, ausgeführt in S90 der Schreib-Verarbeitung, wird mit Bezug auf das Flussdiagramm in 7 beschrieben.
  • In S110, wie in 7 gezeigt, bezieht die CPU 12 die Schreibdaten, welche in S70 erzeugt werden. In S120 veranlasst die CPU 12 die Steuereinrichtung, die Daten in jeden Speichersektor des Flashspeichers 16 zu schreiben. In der vorliegenden Ausführungsform ist der Speichersektor auf zwei Bytes gesetzt. Der Speichersektor ist nicht begrenzt auf zwei Bytes, sondern kann auf andere Datenmengen festgelegt werden, z. B. vier Bytes.
  • In S130 bestimmt die CPU 12, ob es Daten gibt, die auf das Schreiben warten. Wenn die CPU 12 feststellt, dass Daten auf das Schreiben warten, wird die Verarbeitung zum Schreiben der Daten solange wiederholt, bis keine Daten mehr auf das Schreiben warten. Wenn die CPU 12 die Einstellanfrage empfängt, in der das externe Gerät 9 die ECU 10 auffordert, den Zielwert auf den Binnenmarkt einzustellen, wie in 8 dargestellt, dann schreibt die CPU 12 bei der Schreib-Verarbeitung im Zielwertspeicherbereich 0x00002006, also eine Datenmenge von 4 Bytes, welche die Korrespondenz-Adresse repräsentieren, anstelle von 0x100000000000, also 6 Bytes, welche den Binnenmarkt als Zielwert repräsentieren.
  • Die Daten werden in den Flashspeicher 16 in Speichereinheiten der Speichersektoren geschrieben. Daher nimmt die Schreibzeit im Flashspeicher 16 ab, wenn die Menge der Schreibdaten abnimmt. Da die Korrespondenz-Adresse der Schreib-Ziel-Daten anstelle der Schreib-Ziel-Daten in den Flashspeicher 16 geschrieben wird, kann mit dieser Schreib-Verarbeitung die Schreibzeit gegenüber der Schreibzeit im Fall, dass der mögliche Wert in den Flashspeicher 16 geschrieben wird, reduziert werden.
  • Die Auslese-Verarbeitung, die von der CPU 12 ausgeführt wird, wird anhand des Flussdiagramms in 9 beschrieben. Die Auslese-Verarbeitung bezieht den Einstellwert als Antwort auf die Beschaffungsanfrage. Ein Beispiel dafür, dass die Beschaffungsanfrage vom externen Gerät 9 ausgegeben wird, wird beschrieben. Die Auslese-Verarbeitung wird wiederholt ausgeführt, nachdem die CPU 12 mit dem externen Gerät 9 verbunden wurde. In der vorstehenden Beschreibung wird die Beschaffungsanfrage vom externen Gerät 9 ausgegeben. Anderenfalls kann die Beschaffungsanfrage von einem anderen mit der ECU 10 verbundenen Gerät als dem externen Gerät 9 ausgegeben werden, oder die Beschaffungsanfrage kann vom ECU 10 selbst ausgegeben werden.
  • In S210 bestimmt die CPU 12, ob sie die Beschaffungsanfrage erhalten hat. Die Beschaffungsanfrage fordert das externe Gerät 9 dazu auf, den Einstellwert zu beziehen. Wenn bestimmt wird, dass die CPU 12 die Beschaffungsanfrage in S210 erhalten hat, dann bezieht die CPU 12 in S220 die Korrespondenz-Adresse von dem Einstellwertspeicherbereich.
  • Wenn die CPU 12 die Beschaffungsanfrage erhalten hat, den Zielwert zu beziehen, dann bezieht sie 0x00002006, d. h. die Korrespondenz-Adresse des Zielwerts vom Zielwertspeicherbereich R1 des Flashspeichers 16. In S230 bezieht die CPU 12 den möglichen Wert, der in dem Bereich gespeichert ist, der durch die Korrespondenz-Adresse repräsentiert wird, als den Einstellwert, der als Antwort auf die Beschaffungsanfrage angefordert wird, und dann endet die Auslese-Verarbeitung.
  • Mit dieser Auslese-Verarbeitung, wenn die Beschaffungsanfrage eingeht, welche die ECU 10 dazu auffordert, den Zielwert vom externen Gerät 9 zu beziehen, wie in 10 gezeigt, dann bezieht die CPU 12 0x100000000000, d. h. den möglichen Wert, der in dem Bereich gespeichert ist, der durch 0x00002006 repräsentiert wird. 0x00002006 repräsentiert die Korrespondenz-Adresse des Zielwerts, und 0x100000000000 repräsentiert, dass das Ziel der Binnenmarkt ist.
  • Die erste Ausführungsform, wie vorstehend beschrieben, kann folgende Vorteile bieten.
  • (1a) Die ECU 10 führt wenigstens die Schreiboperation der Daten durch. In S10 bestimmt die CPU 12 der ECU 10, ob die CPU 12 die Einstellanfrage erhalten hat, welche die ECU 10 dazu auffordert, den Einstellwert auf den spezifizierten Wert zu setzen. Der Einstellwert repräsentiert die Einstellungen der ECU 10. Der spezifizierte Wert ist einer aus der Mehrzahl möglicher Werte, die vorher für den Einstellwert definiert werden.
  • In S50 bezieht die CPU 12, wenn die Einstellanfrage eingeht, die Korrespondenz-Adresse, welche den Bereich repräsentiert, der einen aus der Mehrzahl möglicher Werte speichert, der dem spezifizierten Wert entspricht. In S90 veranlasst die CPU 12 die Steuereinrichtung, die Daten, welche die Korrespondenz-Adresse repräsentieren, in Speichereinheiten der vordefinierten Speichersektoren in dem Einstellwertspeicherbereich zu schreiben, die vorher dem Einstellwert zugewiesen werden. In der vorliegenden Ausführungsform wird die Mehrzahl möglicher Werte in einem wiederbeschreibbaren Speicher, wie dem Flashspeicher 16, gespeichert.
  • Die Daten werden in Speichereinheiten der Speichersektoren des Flashspeichers 16 geschrieben. Die Schreibzeit der Daten wächst, wenn die in den Flashspeicher 16 geschriebene Datenmenge wächst.
  • In der vorliegenden Ausführungsform werden die Daten, welche die Korrespondenz-Adresse repräsentieren, als der Einstellwert geschrieben, anstatt die Daten zu schreiben, die den spezifizierten Wert repräsentieren. Üblicherweise ist die Datenmenge der Korrespondenz-Adresse kleiner als die Datenmenge des spezifizierten Werts selbst. Somit kann in der vorliegenden Ausführungsform die Schreibzeit der Daten im Flashspeicher 16 reduziert werden.
  • Die Mehrzahl möglicher Werte wird vorher in den ROM 13 geschrieben. Bei dieser Konfiguration kann der spezifizierte Wert, der als der Einstellwert geschrieben wird, aus der Mehrzahl möglicher Werte ausgewählt werden.
  • (1b) Die Datenmenge der Daten, welche die Korrespondenz-Adresse repräsentieren, ist kleiner als die Datenmenge, die den spezifizierten Wert repräsentiert. Bei dieser Konfiguration kann die Schreibzeit für die Korrespondenz-Adresse gegenüber der Schreibzeit für den spezifizierten Wert verkürzt werden.
  • (1c) In S30 bezieht die CPU 12 die Korrespondenz-Information, welche die Zuordnung des Einstellwerts, der Mehrzahl möglicher Werte und der Adresse für den Bereich, in dem jeder der Mehrzahl möglicher Werte gespeichert ist, zueinander repräsentiert.
  • In S50 spezifiziert die CPU 12, wenn die Einstellanfrage eingeht, die Adresse für den Bereich, in dem der mögliche Wert gespeichert ist, der aus der Mehrzahl möglicher Werte ausgewählt wird und der dem spezifizierten Wert entspricht, unter Benutzung der Korrespondenz-Information. Die CPU 12 bezieht die in S50 ermittelte Adresse als die Korrespondenz-Adresse.
  • In der vorstehend beschriebenen Konfiguration bezieht sich die CPU 12 auf die Korrespondenz-Information und spezifiziert die Korrespondenz-Adresse. Somit kann die ECU 10 unabhängig die Korrespondenz-Adresse spezifizieren.
  • (1d) In S210 bestimmt die CPU 12, ob sie eine Beschaffungsanfrage erhalten hat, welche die ECU 10 dazu auffordert, den Einstellwert zu beziehen. In S220 bezieht die CPU 12, wenn eine Beschaffungsanfrage eingeht, die Korrespondenz-Adresse aus dem Einstellwertspeicherbereich. In S230 bezieht die CPU 12 den möglichen Wert, der in dem Bereich gespeichert ist, den die Korrespondenz-Adresse repräsentiert, als den Einstellwert, der durch die Beschaffungsanfrage angefordert wird.
  • Wenn bei der vorstehend beschriebenen Konfiguration die Beschaffungsanfrage eingeht, bezieht die CPU 12 den möglichen Wert, der in dem Bereich gespeichert ist, der durch die Korrespondenz-Adresse repräsentiert wird, als Einstellwert. Die Korrespondenz-Adresse wird in den Einstellwertspeicherbereich geschrieben. Somit kann die Schreibzeit für das Schreiben des Einstellwerts verkürzt werden, und der mögliche Wert, der durch die Beschaffungsanfrage angefordert wird, kann als Einstellwert ermittelt werden.
  • In der vorliegenden Erfindung entspricht die ECU 10 einem elektronischen Steuergerät. Die Steuereinrichtung 15 entspricht einem Ausführungsabschnitt. Die Verarbeitung, die in S10 ausgeführt wird, entspricht einem Einstellbestimmungsabschnitt. Die Verarbeitung in S30 entspricht einem Korrespondenz-Beschaffungs-Abschnitt. Die Verarbeitung in S50 entspricht einem Adressabschnitt und einem Spezifizierungsabschnitt. Die Verarbeitung in S90 entspricht einem Schreibbefehlsabschnitt. Die Verarbeitung in S210 entspricht einem Beschaffungs-Bestimmungs-Abschnitt. Die in S220 ausgeführte Verarbeitung entspricht einem Adress-Beschaffungs-Abschnitt. Die Verarbeitung in S230 entspricht einem Einstellwert-Beschaffungs-Abschnitt.
  • 2. Ausführungsform
  • In einer zweiten Ausführungsform ist die Konfiguration im Wesentlichen ähnlich zu der Konfiguration der ersten Ausführungsform. Daher werden nur die Unterschiede zur ersten Ausführungsform beschrieben. Hierbei werden entsprechende Teile durch die gleichen Bezugszeichen bezeichnet.
  • In der ersten Ausführungsform wird die Adresse des Bereichs, in dem jeder mögliche Wert des ROM 13 gespeichert wird, durch eine absolute Adresse repräsentiert. Hingegen wird in der zweiten Ausführungsform die Adresse nicht durch eine absolute Adresse, sondern durch eine relative Adresse repräsentiert. Bei dieser Konfiguration wird in der Schreib-Verarbeitung der zweiten Ausführungsform S55 hinzugefügt, und S70 wird durch S75 sowie S90 durch S95 ersetzt.
  • Die Schreib-Verarbeitung, die durch die CPU 12 der zweiten Ausführungsform ausgeführt wird, wird anhand des Flussdiagramms in 11 beschrieben. Die Schreib-Verarbeitung nach 11 wird anstatt der Schreib-Verarbeitung nach 5 der ersten Ausführungsform ausgeführt. Die Verarbeitung, die in S10 bis S50 und in S90 in 11 ausgeführt wird, entspricht der Verarbeitung in S10 bis S50 und S90 in 5 und wird daher nicht erneut erläutert.
  • In der Schreib-Verarbeitung der vorliegenden Ausführungsform spezifiziert die CPU 12 die Korrespondenz-Adresse in S50 und geht dann zu S55 über. In S55 wandelt die CPU 12 die Korrespondenz-Adresse in die relative Adresse um. Die relative Adresse repräsentiert einen relativen Wert der absoluten Adresse zu einer Referenz-Adresse. Die Referenz-Adresse kann beliebig auf eine absolute Adresse im ROM 13 gesetzt werden.
  • In der vorliegenden Ausführungsform wird 0x00002000, welches eine Start-Adresse eines Mögliche-Werte-Speicherbereichs ist, als die Referenz-Adresse gesetzt. Die Referenz-Adresse wird vorher im ROM 13 gespeichert. Der Mögliche-Werte-Speicherbereich speichert die möglichen Werte des Einstellwerts, der zum Einstellen angefragt wird, als Antwort auf die Einstellanfrage.
  • In der vorliegenden Ausführungsform werden, wie in 12 gezeigt, drei mögliche Werte, nämlich der Anfangswert, der Binnenmarkt und der nordamerikanische Markt, für den Zielwert festgelegt. Jeder der möglichen Werte wird wie in der ersten Ausführungsform durch sechs Daten-Bytes repräsentiert. Der Bereich, der durch die absolute Adresse 0x00002000 bis 0x00002012 repräsentiert wird, entspricht dem Mögliche-Werte-Speicherbereich, der mögliche Werte des Zielwerts speichert.
  • In der vorliegenden Ausführungsform wird, wenn die Einstellung des spezifizierten Werts auf den Binnenmarkt verlangt wird, die absolute Adresse 0x00002006 in die relative Adresse 0x00000006 umgewandelt. Wenn in der Einstellanfrage der spezifizierte Wert auf den nordamerikanischen Markt gesetzt wird, wird die absolute Adresse von 0x0000200C in die relative Adresse 0x0000000C umgewandelt. Jeder der relativen Werte der möglichen Werte zu den absoluten Adressen hat dieselben oberen Drei-Bytes-Daten von 0 innerhalb der Vier-Bytes-Daten. Somit kann die Identifikation anhand eines niederwertigsten Bytes in den Vier-Bytes-Daten durchgeführt werden. Die Menge des niederwertigsten Bytes entspricht der Menge des Mögliche-Werte-Speicherbereichs.
  • In S75 setzt die CPU 12 die Daten, die in den relativen Wert in S55 umgewandelt wurden, als die Schreibdaten. In S95 veranlasst die CPU 12 die Steuereinrichtung 15, die erzeugten Schreibdaten in den Zielwertspeicherbereich zu schreiben, und dann ist die Schreib-Verarbeitung abgeschlossen. In der vorliegenden Ausführungsform schreibt die CPU 12 nur die unteren Bytedaten von den vier Bytes Schreibdaten, welche die Relativdaten repräsentieren, als die Schreibdaten. D. h., in den Schreibdaten, welche die Relativdaten repräsentieren, schreibt die CPU 12 nur die Daten, die eine vordefinierte Datenlänge des niederwertigsten Bytes haben. Die vordefinierte Datenlänge ist entsprechend der Größe des Mögliche-Werte-Speicherbereichs definiert.
  • Nachdem die Schreibdaten in den Einstellwertspeicherbereich geschrieben wurden, beendet die CPU 12 die Schreib-Verarbeitung. Wenn, wie in 12 gezeigt, in dieser Schreib-Verarbeitung die Einstellanfrage, die die ECU 10 dazu auffordert, den Zielwert auf den Binnenmarkt zu setzen, vom externen Gerät 9 übertragen wurde, schreibt die CPU 12 anstatt der Korrespondenz-Adresse den relativen Wert der Korrespondenz-Adresse in den Zielwertspeicherbereich. In der vorliegenden Ausführungsform schreibt die CPU 12 die vordefinierte Datenlänge des relativen Werts der Korrespondenz-Adresse in den Zielwertspeicherbereich, die der vordefinierten Datenlänge des relativen Werts entspricht. Insbesondere schreibt die CPU 12 das niederwertigste Byte des relativen Werts der Korrespondenz-Adresse in den Zielwertspeicherbereich, das dem niederwertigsten Byte des relativen Werts entspricht. Im vorstehenden Beispiel werden nur die Daten 0x06 mit einer vordefinierten Länge von einem Byte als der relative Wert der Korrespondenz-Adresse geschrieben. Da bei dieser Konfiguration der relative Wert der Korrespondenz-Adresse in den Flashspeicher 16 geschrieben wird, wird die Schreibzeit weiter verkürzt, verglichen mit dem Fall, in dem die Korrespondenz-Adresse mit einer Datenlänge von vier Bytes in den Flashspeicher 16 geschrieben wird.
  • Die CPU 12 kann von dem externen Gerät 9 die Beschaffungsanfrage erhalten, welche die ECU 10 dazu auffordert, den Zielwert zu beziehen. In diesem Fall bezieht die CPU 12 (i) den relativen Wert der Korrespondenz-Adresse, der im Zielwertspeicherbereich gespeichert ist, (ii) wandelt den relativen Wert basierend auf der Referenz-Adresse in die absolute Adresse um, und (iii) führt die Auslese-Verarbeitung wie in der ersten Ausführungsform aus, unter Benutzung der absoluten Adresse.
  • Die vorstehend beschriebene zweite Ausführungsform weist die folgenden Vorteile zusätzlich zum vorstehend beschriebenen Vorteil (1a) der ersten Ausführungsform auf.
  • (2a) Die Adresse, welche den Bereich anzeigt, welcher den möglichen Wert speichert, wird durch den relativen Wert zu einer im ROM 13 vordefinierten Adresse repräsentiert. Da bei dieser Konfiguration der relative Wert der Korrespondenz-Adresse in den Einstellwertspeicherbereich geschrieben wird, wird die Schreibzeit weiter verkürzt, verglichen mit dem Fall, in dem die Korrespondenz-Adresse geschrieben wird.
  • Andere Ausführungsformen
  • Während die Ausführungsformen der vorliegenden Erfindung vorstehend beschrieben wurden, ist die vorliegende Erfindung nicht auf diese beschriebenen Ausführungsformen beschränkt und umfasst auch mehrere Modifikationen.
  • Erste Modifikation
  • In den vorstehend beschriebenen Ausführungsformen wurde die Arbeitsweise der ECU 10, bei der der Zielwert als der Einstellwert gesetzt wird, beschrieben. Der Einstellwert ist nicht auf den Zielwert beschränkt, sondern kann verschiedene Arten vordefinierter Werte umfassen, z. B. eine Voreinstellung der Temperatur einer Klimaanlage, die in jedem Zielwert vordefiniert wird, oder Konstanten in verschiedenen Prozessen, die in jedem Zielwert vorgegeben sind. Der Zielwert kann verschiedene Arten von Einstellwerten für Fahrzeuge umfassen, z. B. den Sollwert des Reifendrucks, der in jedem Fahrzeug vorgegeben ist, oder eine Identifikationsnummer für ein intelligentes Schlüsselsystem („Smart Key“), die in jedem Fahrzeug vorgegeben ist.
  • Die ECU 10 kann die verschiedenen, vorstehend beschriebenen Einstellwerte verarbeiten. Bei dieser Konfiguration ist die Schreibzeit für jeden Einstellwert verkürzt. Dadurch kann in der ECU 10, die verschiedene Einstellwerte anwendet, die Schreibzeit weiter verkürzt werden. Wie in 13 dargestellt, kann für jeden Einstellwert die Korrespondenz-Information, die in S30 bezogen wurde, die Zuordnung des Einstellwerts, der Vielzahl möglicher Werte und der Adresse für den Bereich, der jeden der möglichen Werte speichert, zueinander repräsentieren.
  • Zweite Modifikation
  • In den vorstehend beschriebenen Ausführungsformen werden die Daten, welche die Korrespondenz-Adresse repräsentieren, als Schreibdaten erzeugt. Die Schreibdaten sind nicht auf die Korrespondenz-Adresse beschränkt. Die Schreibdaten können die Korrespondenz-Adresse und Verwaltungsinformation und/oder Identifikationsinformation umfassen. Im Folgenden wird die Identifikationsinformation als ID bezeichnet. Im Beispiel in 14 umfassen die Schreibdaten ID, die Korrespondenz-Adresse sowie Verwaltungsinformation. Die Verwaltungsinformation verwaltet den Verlauf des Überschreibens der Korrespondenz-Adresse und kann die Information einschließen, die anzeigt, ob die Korrespondenz-Adresse überschrieben worden ist oder wann die Korrespondenz-Adresse eingeschrieben wurde. ID repräsentiert jede Einstellanfrage und kann als eine Identifikationsnummer festgelegt werden, die der jeweiligen Einstellanfrage entspricht.
  • Der Flashspeicher 16 kann mehrere Blöcke 100 umfassen, welche von 1 bis n durchnummeriert sind. Jeder der Blöcke 100 kann durch einen Speicherbereich konfiguriert werden, der mehrere zehn Bytes umfasst. In dem Flashspeicher 16 können Daten in Einheiten von den Blöcken 100 gelöscht werden. In jedem Block 100 können Schreibdaten von mehreren zehn Bytes, welche ID, die Korrespondenz-Adresse sowie Verwaltungsinformation umfassen, zugewiesen werden.
  • Die Speicherkapazität der Blöcke des Flashspeichers 16 ist nicht auf mehrere zehn Bytes beschränkt. Die Blöcke können so konfiguriert sein, dass sie einen Speicherbereich von mehreren Kilobytes aufweisen. In diesem Fall kann jede der vielen Schreibdaten von mehreren zehn Bytes, welche ID, die Korrespondenz-Adresse sowie Verwaltungsinformation umfassen, in einem Block gespeichert werden.
  • Dritte Modifikation
  • In den vorstehend beschriebenen Ausführungsformen repräsentiert der mögliche Wert, welcher im ROM 13 gespeichert wird, die Daten mit sechs Bytes, und die Adresse des Speicherbereichs wird mit Daten von vier Bytes repräsentiert. Die entsprechenden Datenmengen des möglichen Werts und die Adressdaten sind nicht auf die vorstehend beschriebenen Datenmengen beschränkt. Die Datenmengen des möglichen Werts und der Adresse im ROM 13 können beliebig eingestellt werden.
  • Vierte Modifikation
  • In den vorstehend beschriebenen Ausführungsformen wird die Vielzahl möglicher Werte vorher für den Einstellwert vorbereitet. Die Konfiguration ist nicht auf die vorstehend beschriebene Anzahl möglicher Werte beschränkt. Die Anzahl möglicher Werte für den Einstellwert kann vorher auf eins gesetzt werden.
  • Fünfte Modifikation
  • In der zweiten Ausführungsform wird die Referenz-Adresse auf die Start-Adresse des Mögliche-Werte-Speicherbereichs gesetzt. Die Referenz-Adresse ist nicht auf die vorstehend beschriebene Konfiguration beschränkt, sondern kann auf eine beliebige Adresse im ROM 13 gesetzt werden. Vorzugsweise wird die Referenz-Adresse auf eine beliebige, im Mögliche-Werte-Speicherbereich enthaltene Adresse gesetzt. Die Referenz-Adresse wird ferner vorzugsweise entweder auf die Start-Adresse, die in den vorstehend beschriebenen Ausführungsformen erläutert wurde, oder auf die Endadresse im Mögliche-Werte-Speicherbereich gesetzt.
  • Sechste Modifikation
  • In den vorstehend beschriebenen Ausführungsformen werden der Einstellwertspeicherbereich und der Bereich, in dem die Vielzahl möglicher Werte vorher gespeichert wird, in separaten Speichern angelegt. Der Einstellwertspeicherbereich ist im Flashspeicher 16 angelegt, und der Bereich, in dem die Vielzahl möglicher Werte vorher gespeichert wird, ist im ROM 13 angelegt. Der Einstellwertspeicherbereich und der Bereich zur Speicherung der Vielzahl möglicher Werte sind nicht auf die vorstehend beschriebene Konfiguration beschränkt. Der Bereich, in dem die Vielzahl möglicher Werte vorher gespeichert wird, kann in einem anderen wiederbeschreibbaren Speicher als dem ROM 13 enthalten sein.
  • Wie in 15 gezeigt, kann der Flashspeicher 16 im Speicher 19 aus mehreren Sub-Flashspeichern 16a, 16b bestehen. Der Flashspeicher 16a kann wie der Flashspeicher 16 aus den vorstehend beschriebenen Ausführungsformen verwendet werden, und der Flashspeicher 16b kann als ein zweiter Speicherabschnitt dienen, der die Vielzahl möglicher Werte speichert. In dieser Konfiguration kann diese Vielzahl möglicher Werte überschrieben werden.
  • Andererseits können der Einstellwertspeicherbereich und der Bereich, in dem die Vielzahl möglicher Werte vorher gespeichert wird, im selben wiederbeschreibbaren Speicher enthalten sein, so wie der Flashspeicher 16 in 1.
  • Siebte Modifikation
  • In den vorstehend beschriebenen Ausführungsformen wird die Vielzahl möglicher Werte im ROM 13 der ECU 10 gespeichert. Der Speicher für die Speicherung der möglichen Werte ist nicht auf den ROM 13 beschränkt. Die Vielzahl möglicher Werte kann in einem externen Speichergerät außerhalb der ECU 10 gespeichert werden.
  • Wie in 16 gezeigt, ist in einem Im-Fahrzeug-System 1, das am Fahrzeug angeordnet ist, eine Subjekt-ECU 10a mit mehreren verschiedenen ECUs 10b und 10c über eine Kommunikationsleitung 5 verbunden. Wenigstens eine der mehreren ECUs 10b und 10c enthält einen Datenspeicher, so wie ROM, oder einen Flashspeicher.
  • Die Vielzahl möglicher Werte kann in dem Speicher gespeichert werden, der in wenigstens einer der mehreren ECUs 10b und 10c enthalten ist. Die Vielzahl möglicher Werte kann in dem Speicher gespeichert werden, der in der anderen ECU 10b enthalten ist. Der Speicher des anderen ECU 10b kann sowohl einen nicht-überschreibbaren Speicher wie einen ROM als auch einen wiederbeschreibbaren Speicher wie einen Flashspeicher enthalten.
  • Da die Vielzahl möglicher Werte für den Einstellwert bei dieser Konfiguration im Speicher der anderen ECU 10b gespeichert wird, kann die Subjekt-ECU 10a den Speicher für andere Daten verwenden. D. h., die Subjekt-ECU 10a kann den Speicherbereich für etwas anderes verwenden als zur Speicherung der Vielzahl möglicher Werte. Angenommen, dass der Einstellwert, so wie der Zielwert, gewöhnlich von den mehreren verschiedenen ECUs verwendet wird, entsteht daraus ein weiterer Vorteil.
  • Im genannten Beispiel ist die Subjekt-ECU 10a mit den anderen ECUs 10b und 10c verbunden, welche miteinander kommunizieren können, jedoch ist die Anzahl von ECUs, die mit der Subjekt-ECU 10a verbunden sind, nicht auf die Anzahl im vorstehend beschriebenen Beispiel begrenzt. Die Subjekt-ECU 10a kann mit wenigstens einer anderen ECU 10b verbunden sein und mit dieser kommunizieren. In diesem Fall kann die Vielzahl möglicher Werte in der anderen ECU 10b gespeichert werden.
  • In der vorliegenden Ausführungsform kann die Subjekt-ECU 10a den Einstellbestimmungsabschnitt, den Adressabschnitt, den Korrespondenz-Beschaffungs-Abschnitt und den Spezifizierungsabschnitt enthalten, die denen bei der ECU 10 in der vorstehend beschriebenen Ausführungsform entsprechen, und die Subjekt-ECU 10a kann die Korrespondenz-Adresse spezifizieren. Die Subjekt-ECU 10a kann die Korrespondenz-Adresse ohne den Spezifizierungsabschnitt beziehen. Wenn die Subjekt-ECU 10a den Spezifizierungsabschnitt nicht enthält, kann die andere ECU 10b den Einstellbestimmungsabschnitt, den Adressabschnitt, den Korrespondenz-Beschaffungs-Abschnitt und den Spezifizierungsabschnitt enthalten, die denen bei der ECU 10 in der vorstehend beschriebenen Ausführungsform entsprechen, so dass die Subjekt-ECU 10a die Korrespondenz-Adresse von der anderen ECU 10b beziehen kann.
  • Achte Modifikation
  • In der siebten Modifikation wird die Vielzahl möglicher Werte in dem in der anderen ECU 10b enthaltenen Speicher gespeichert. Ein Speichergerät, in dem die Vielzahl möglicher Werte gespeichert ist, ist nicht auf den in der anderen ECU 10b enthaltenen Speicher beschränkt. Die Vielzahl möglicher Werte kann in einem Speichergerät wie einer Festplatte (HDD) gespeichert werden. HDD 30 ist ein wiederbeschreibbares Speichergerät. Während die HDD hier als Beispiel für das Speichergerät erwähnt wird, kann statt dieser HDD auch ein beliebiges wiederbeschreibbares Speichergerät verwendet werden, auf dem Daten gespeichert werden.
  • In einem Im-Fahrzeug-System 2 wie in 17 ist eine Subjekt-ECU 10d mit einer anderen ECU 10e und einer HDD 30 über eine Kommunikationsleitung verbunden, so dass sie miteinander kommunizieren können. Die Subjekt-ECU 10d und die andere ECU 10e können den Einstellbestimmungsabschnitt, den Adressabschnitt, den Korrespondenz-Beschaffungs-Abschnitt und den Spezifizierungsabschnitt enthalten, welche dieselben wie bei der ECU 10 in der vorstehend beschriebenen Ausführungsform sind, und können die Korrespondenz-Adresse spezifizieren. Die Subjekt-ECU 10d teilt die HDD 30 mit der anderen ECU 10e. Die Vielzahl möglicher Werte kann in der HDD 30 gespeichert werden.
  • In der vorstehend beschriebenen Konfiguration braucht weder die Subjekt-ECU 10d noch die andere ECU 10e einen Speicherbereich für die Vielzahl möglicher Werte. Der Speicherbereich, der zur Speicherung der Vielzahl möglicher Werte verwendet wurde, kann daher effektiv zum Speichern anderer Information eingesetzt werden.
  • Die andere ECU, die mit der Subjekt-ECU 10d verbunden ist und mit dieser kommunizieren kann, kann mehrfach vorhanden sein. Die Subjekt-ECU 10d kann die HDD 30 mit der Mehrzahl anderer ECUs teilen. In der Subjekt-ECU 10d und anderen ECUs 10e kann der Spezifizierungsabschnitt weggelassen werden.
  • Neunte Modifikation
  • In den vorstehend beschriebenen Ausführungsformen wird ein Beispiel für die Korrespondenz-Information in 6 gezeigt. Die Korrespondenz-Information ist nicht auf die vorstehend beschriebene Ausführungsform beschränkt, sondern kann die Korrespondenz zwischen dem möglichen Wert und der Adresse für den Bereich, der den möglichen Wert speichert, repräsentieren. In diesem Fall ist die Korrespondenz-Information nicht auf eine Tabellenform wie in 6 beschränkt, sondern kann durch andere Konfigurationen repräsentiert werden. Die Adresse für den Bereich, der den möglichen Wert speichert, kann anders als vorstehend beschrieben gesetzt werden. Insbesondere kann die Adresse für den Bereich, der den möglichen Wert speichert, als die oberen oder die unteren mehreren Bytes der Daten, welche die Adresse repräsentieren, definiert werden.
  • Zehnte Modifikation
  • Während die Erfindung mit Bezug auf bevorzugte Ausführungsformen hiervon beschrieben wurde, versteht es sich, dass die Erfindung nicht auf diese bevorzugten Ausführungsformen und Konstruktionen beschränkt ist, sondern verschiedene Modifikationen und äquivalente Anordnungen abdeckt. Auch Kombinationen und Konfigurationen mit mehr, weniger oder einem einzelnen Bestandteil liegen im Bereich dieser Erfindung.
  • Jede dieser vorstehend beschriebenen Kombinationen der Bestandteile kann erzielt werden als (i) ein Softwarebestandteil in Kombination mit einem Hardwarebestandteil (wie z. B. einem Computer) oder (ii) ein Hardwarebestandteil mit oder ohne eine Funktion eines zugehörigen Geräts; ferner kann der Hardwarebestandteil (z. B. ein integrierter Schaltkreis oder eine drahtgebundene logische Schaltung) sich in einem Mikrocomputer befinden.
  • Die ECU 10, die CPU 12, das Im-Fahrzeug-System 1, wie vorstehend beschrieben, und ein Programm, welches die CPU 12 steuert, ein nicht-flüchtiges als Bauteil vorhandenes Speichermedium wie ein Halbleiterspeicher, welches das Programm speichert, ein Verfahren zur Speicherung von Information oder ähnliches kann durch die vorliegende Erfindung erzielt werden.

Claims (6)

  1. Elektronisches Steuergerät, welches dazu eingerichtet ist, eine Datenschreiboperation auszuführen, aufweisend: einen Einstellbestimmungsabschnitt (S10) zum Bestimmen, ob eine Einstellanfrage eingeht, wobei als Antwort auf die Einstellanfrage ein Einstellwert, welcher Einstellungen des elektronischen Steuergeräts angibt, entsprechend einem spezifizierten Wert, der in der Einstellanfrage enthalten ist, gesetzt wird, und wobei der spezifizierte Wert einer von einer Mehrzahl möglicher Werte ist, welche vorher für den Einstellwert vorbereitet wurden; einen Adressabschnitt (S50) zum Beziehen einer Korrespondenz-Adresse, wenn der Einstellbestimmungsabschnitt (S10) bestimmt, dass die Einstellanfrage eingegangen ist, wobei die Korrespondenz-Adresse eine Adresse eines Speicherbereichs ist, der den einen von der Mehrzahl der möglichen Werte speichert, der gleich dem spezifizierten Wert ist; einen Schreibbefehlsabschnitt (S90) zum Übertragen eines Datenschreibbefehls, welcher eine Schreibeinheit (15) dazu instruiert, Daten, welche die Korrespondenz-Adresse repräsentieren, als Einstellwert in einen Einstellwertspeicherbereich zu schreiben, wobei der Einstellwertspeicherbereich ein Speicherbereich ist, der dem Einstellwert zugewiesen wird, wobei die Schreibeinheit (15) dazu eingerichtet ist, als Antwort auf den Datenschreibbefehl vom Schreibbefehlsabschnitt (S90) die Korrespondenz-Adresse in Speichereinheiten von vordefinierten Speichersektoren zu schreiben, wobei jeder der vordefinierten Speichersektoren im Einstellwertspeicherbereich enthalten ist, einen Korrespondenz-Beschaffungs-Abschnitt (S30) zum Beziehen von Korrespondenz-Information, wobei die Korrespondenz-Information eine Korrespondenz zwischen dem Einstellwert, der Mehrzahl möglicher Werte und einer Adresse für einen Bereich, welcher jeden der Mehrzahl möglicher Werte speichert, repräsentiert; und einen Spezifizierungsabschnitt (S50) zum Spezifizieren der Adresse, welche den Bereich repräsentiert, der den einen aus der Mehrzahl möglicher Werte speichert, der gleich dem spezifizierten Wert ist, mit Bezug auf die Korrespondenz-Information, wenn der Einstellbestimmungsabschnitt (S10) bestimmt, dass die Einstellanfrage eingegangen ist, wobei der Adressabschnitt die Adresse bezieht, welche durch den Spezifizierungsabschnitt (S50) als Korrespondenz-Adresse spezifiziert wurde.
  2. Elektronisches Steuergerät nach Anspruch 1, dadurch gekennzeichnet, dass eine Datenmenge der Daten, welche die Korrespondenz-Adresse repräsentieren, kleiner ist, als eine Datenmenge der Daten, die den spezifizierten Wert repräsentieren.
  3. Elektronisches Steuergerät nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Adresse des Speicherbereiches, der den einen aus der Mehrzahl möglicher Werte speichert, durch einen relativen Wert zu einer vorher definierten Referenz-Adresse repräsentiert ist.
  4. Elektronisches Steuergerät nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass eine Mehrzahl von Einstellwerten, welche verschiedene Einstellungen des elektronischen Steuergeräts repräsentieren, als Antwort auf die Einstellanfrage gesetzt werden.
  5. Elektronisches Steuergerät nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Mehrzahl möglicher Werte in einem externen Speichergerät gespeichert sind, das sich außerhalb des elektronischen Steuergeräts befindet.
  6. Elektronisches Steuergerät, welches dazu eingerichtet ist, eine Datenschreiboperation auszuführen, aufweisend: einen Einstellbestimmungsabschnitt (S10) zum Bestimmen, ob eine Einstellanfrage eingeht, wobei als Antwort auf die Einstellanfrage ein Einstellwert, welcher Einstellungen des elektronischen Steuergeräts angibt, entsprechend einem spezifizierten Wert, der in der Einstellanfrage enthalten ist, gesetzt wird, und wobei der spezifizierte Wert einer von einer Mehrzahl möglicher Werte ist, welche vorher für den Einstellwert vorbereitet wurden; einen Adressabschnitt (S50) zum Beziehen einer Korrespondenz-Adresse, wenn der Einstellbestimmungsabschnitt (S10) bestimmt, dass die Einstellanfrage eingegangen ist, wobei die Korrespondenz-Adresse eine Adresse eines Speicherbereichs ist, der den einen von der Mehrzahl der möglichen Werte speichert, der gleich dem spezifizierten Wert ist; einen Schreibbefehlsabschnitt (S90) zum Übertragen eines Datenschreibbefehls, welcher eine Schreibeinheit (15) dazu instruiert, Daten, welche die Korrespondenz-Adresse repräsentieren, als Einstellwert in einen Einstellwertspeicherbereich zu schreiben, wobei der Einstellwertspeicherbereich ein Speicherbereich ist, der dem Einstellwert zugewiesen wird, wobei die Schreibeinheit (15) dazu eingerichtet ist, als Antwort auf den Datenschreibbefehl vom Schreibbefehlsabschnitt (S90) die Korrespondenz-Adresse in Speichereinheiten von vordefinierten Speichersektoren zu schreiben, und wobei jeder der vordefinierten Speichersektoren im Einstellwertspeicherbereich enthalten ist, einen Beschaffungs-Bestimmungs-Abschnitt (S210) zum Bestimmen, ob eine Beschaffungsanfrage, welche eine Beschaffung des Einstellwerts anfordert, eingeht; einen Adress-Beschaffungs-Abschnitt (S220) zum Anfordern der Korrespondenz-Adresse des Einstellwertspeicherbereichs, wenn der Beschaffungs-Bestimmungs-Abschnitt (S210) bestimmt, dass die Beschaffungsanfrage eingegangen ist; und einen Einstellwert-Beschaffungs-Abschnitt (S230) zum Beschaffen des einen aus der Mehrzahl möglicher Werte als den Einstellwert, der im Speicherbereich gespeichert ist, der durch die Korrespondenz-Adresse repräsentiert ist und der durch die Beschaffungsanfrage angefordert wurde.
DE102018200660.1A 2017-01-19 2018-01-16 Elektronisches steuergerät Active DE102018200660B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017007617A JP6969103B2 (ja) 2017-01-19 2017-01-19 電子制御装置
JP2017-7617 2017-01-19

Publications (2)

Publication Number Publication Date
DE102018200660A1 DE102018200660A1 (de) 2018-07-19
DE102018200660B4 true DE102018200660B4 (de) 2023-10-26

Family

ID=62716577

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018200660.1A Active DE102018200660B4 (de) 2017-01-19 2018-01-16 Elektronisches steuergerät

Country Status (2)

Country Link
JP (1) JP6969103B2 (de)
DE (1) DE102018200660B4 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204090A1 (en) 2004-03-10 2005-09-15 Eilert Sean S. Hardware stack for blocked nonvolatile memories
JP2011203809A (ja) 2010-03-24 2011-10-13 Fujitsu Semiconductor Ltd データ処理方法、プログラムおよびシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204090A1 (en) 2004-03-10 2005-09-15 Eilert Sean S. Hardware stack for blocked nonvolatile memories
JP2011203809A (ja) 2010-03-24 2011-10-13 Fujitsu Semiconductor Ltd データ処理方法、プログラムおよびシステム
US8868822B2 (en) 2010-03-24 2014-10-21 Spansion Llc Data-processing method, program, and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP 2011- 203 809 A (Maschinenübersetzung), JPO, AIPN [online] [abgerufen am 2018-6-27]

Also Published As

Publication number Publication date
DE102018200660A1 (de) 2018-07-19
JP2018116552A (ja) 2018-07-26
JP6969103B2 (ja) 2021-11-24

Similar Documents

Publication Publication Date Title
DE10315490B4 (de) Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung
DE102005013285B4 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE102005019842B4 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher
DE102005022893B3 (de) Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte
DE102006007201A1 (de) Vorrichtung und Verfahren zur Datenspeicherung mit nichtflüchtigen Speichern
DE112010005609T5 (de) Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung
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
DE19934191B4 (de) Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
DE112015007104T5 (de) Datenverarbeitungsvorrichtung, Datenverarbeitungsverfahren und Datenverarbeitungsprogramm
DE102007024192A1 (de) Verfahren und Vorrichtung für Speichermodule
DE112017001701T5 (de) Verfahren und Vorrichtung zur Verarbeitung von sequentiellen Schreibvorgängen auf Teile einer adressierbaren Einheit
DE102018200660B4 (de) Elektronisches steuergerät
DE102004013493B4 (de) Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
DE102018210868A1 (de) Elektronische Steuereinheit
DE102008000649B4 (de) Speicher-Verwaltungsvorrichtung und Verfahren für diese
WO2009074499A1 (de) Verfahren zum betreiben eines steuergerätes und steuergerät
DE102016202684A1 (de) Datenmanagementvorrichtung und datenmanagementprogramm
DE102020209133A1 (de) Verfahren zur abgesicherten Speicherung eines Datenelements in einem externen Speicher und Schnittstellenmodul
DE112015002881B4 (de) Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm
DE112019007763T5 (de) Softwareaktualisierungsvorrichtung, Server, Softwareaktualisierungssystem undSoftwareaktualisierungsverfahren
DE112019007753T5 (de) Geräteverwaltungsvorrichtung und Softwareerzeugungsverfahren
DE102023130886A1 (de) Fahrzeugspeichermanagementsystem, speichermedium und speichermanagementverfahren
EP0715313B1 (de) Verfahren zur Programmierung eines elektrisch löschbaren, nichtflüchtigen Speichers in einem elektronischen Rechengerät sowie Steuergerät zur Verwendung bei dem Verfahren
DE102023109182A1 (de) Elektronische steuerungsvorrichtung
DE102020206262A1 (de) Datenumschreibverfahren und Datenumschreibsystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division