-
Die vorliegende Offenbarung betrifft eine Programmverwaltungsvorrichtung, eine Fahrzeugsteuervorrichtung und ein Programmverwaltungsprogramm, die eine aktuellste Programmverwaltungsnummer ausgeben, wenn eine Leseanforderung für die Programmverwaltungsnummer von außerhalb der Programmverwaltungsvorrichtung angefordert wird.
-
Beispielsweise hat in jüngster Zeit eine ECU, die eine Fahrzeugsteuervorrichtung ist, normalerweise eine Umprogrammierungsfunktion, die ein Programm in einem Flash-Speicher, der in der ECU verbleibt, die an einem Fahrzeug angebracht ist, das heißt, ohne ihn vom Fahrzeug zu entfernen, umschreibt (vgl. Patentdokument 1).
-
In jüngster Zeit kann ein Programm durch mehrere Einheitsprogramme konfiguriert sein und ein Programm kann als ein Einheitsprogramm verteilt werden. In der vorliegenden Anmeldung wird ein Einheitsprogramm als ein detailliertes Einheitsprogramm bezeichnet.
Patentdokument 1:
JP 2005-202594 A
-
Ein Programm bezüglich Regulierungen hinsichtlich Emissionsregulierungen oder dergleichen gibt eine Programmverwaltungsnummer (nachfolgend als eine Verwaltungsnummer bezeichnet) zurück, wenn das Programm durch eine in einem Fahrzeug beinhaltete Diagnosefunktion gelesen wird. Die Programmverwaltungsnummer wird eindeutig dem Programm zugeordnet. In anderen Worten hat jedes Programm eine eindeutige Programmverwaltungsnummer. Die Verwaltungsnummer des Programms wird in eine andere Verwaltungsnummer als die gegenwärtig zugeordnete Verwaltungsnummer geändert, wenn das Programm aktualisiert wird. Demzufolge ist es möglich, dass das Programm, das aktualisiert wurde, die andere Verwaltungsnummer zurückgibt, wenn die Verwaltungsnummer ausgelesen wird, und dass eine Nachverfolgbarkeit des Programms erhalten bleibt.
-
Ein Programm zum Umprogrammieren kann in der vorliegenden Ausführungsform ebenso als ein Umprogrammierungsprogramm bezeichnet werden. Das Programm zum Umprogrammieren (ein Umprogrammierungsprogramm) verwaltet ein Programm und operiert zu der Zeit einer Diagnose-/Umprogrammierungsfunktion. Herkömmlicherweise schreibt das Umprogrammierungsprogramm einen Umschreibungszielbereich, der einem Objektbereich eines detaillierten Einheitsprogramms entspricht, zur Zeit der Umprogrammierung um. Zusätzlich schreibt das Umprogrammierungsprogramm eine in einem gemeinsamen Block gespeicherte Verwaltungsnummer um. Das Umprogrammierungsprogramm gibt die Verwaltungsnummer in dem gemeinsamen Block zurück, wenn eine Leseanforderung für die Verwaltungsnummer auftritt. Das heißt, die Verwaltungsnummer wird in einem einzigen Ort verwaltet, da es unbestimmt ist, welcher von Umschreibungszielbereichen umgeschrieben wird.
-
Der Erfinder der vorliegenden Anmeldung hat das Folgende herausgefunden.
-
Ein Flash-Speicher hat ein Merkmal, dass Löschen über einen großen Bereich (beispielsweise mehrere Kilobytes) ausgeführt werden soll. Aufgrund dieses Merkmals werden mehrere Kilobytes als der gemeinsame Block zum Umschreiben der Verwaltungsnummer vorbereitet, die eine kleine Datengröße von 20 Bytes oder weniger aufweist. Somit kann ein Speicherbereich nicht effizient verwendet werden.
-
Es ist eine Aufgabe der vorliegenden Offenbarung, eine Programmverwaltungsvorrichtung, eine Fahrzeugsteuervorrichtung und ein Programmverwaltungsprogramm bereitzustellen, das einen Umschreibungszielbereich effizient verwendet, wenn ein detailliertes Einheitsprogramm, das in dem umgeschriebenen Objektbereich gespeichert ist, umgeschrieben wird.
-
Gemäß einem Aspekt der vorliegenden Offenbarung wird eine Programmverwaltungsvorrichtung, die einen nichtflüchtigen Speicherbereicht und ein Verwaltungsmittel beinhaltet, bereitgestellt. Der nichtflüchtige Speicherbereich beinhaltet Umschreibungszielbereiche. Das Verwaltungsmittel schreibt ein detailliertes Einheitsprogramm in einem Umschreibungszielbereich in dem nichtflüchtigen Speicherbereich, der dem detaillierten Einheitsprogramm entspricht, um, wenn eine Anweisung zum Umschreiben des detaillierten Einheitsprogramms von außerhalb der Programmverwaltungsvorrichtung empfangen wird, und gibt eine aktuellste Programmverwaltungsnummer aus, wenn eine Leseanforderung einer Programmverwaltungsnummer von außerhalb der Programmverwaltungsvorrichtung empfangen wird. Das detaillierte Einheitsprogramm konfiguriert ein Programm. Das detaillierte Einheitsprogramm beinhaltet die Programmverwaltungsnummer, die das Programm identifiziert, und einen Aktualisierungsmarker, der spezifiziert, ob das Programm ein aktuellstes Programm ist. Das Verwaltungsmittel inspiziert den Aktualisierungsmarker, der in dem Umschreibungszielbereich platziert ist, spezifiziert einen aktuellsten Aktualisierungsmarker und gibt die Programmverwaltungsnummer, die in dem Umschreibungszielbereich platziert ist, der den aktuellsten Aktualisierungsmarker aufweist, aus, wenn die Leseanforderung der Programmverwaltungsnummer von außerhalb der Programmverwaltungsvorrichtung empfangen wird.
-
Gemäß einem weiteren Aspekt der vorliegenden Offenbarung wird eine Fahrzeugsteuervorrichtung, die die Programmverwaltungsvorrichtung beinhaltet, bereitgestellt. Die Fahrzeugsteuervorrichtung führt ein Steuerprogramm aus, das in den Umschreibungszielbereichen der Programmverwaltungsvorrichtung gespeichert ist, und steuert ein vorbestimmtes Steuerobjekt.
-
Gemäß einem weiteren Aspekt der vorliegenden Offenbarung wird ein Programmverwaltungsprogramm bereitgestellt.
-
Gemäß der Programmverwaltungsvorrichtung, der Fahrzeugsteuervorrichtung und dem Programmverwaltungsprogramm in der vorliegenden Offenbarung ist es möglich, effektiv einen Umschreibungszielbereich zu verwenden, wenn das detaillierte Einheitsprogramm, das in dem Umschreibungszielbereich gespeichert ist, umgeschrieben wird.
-
Die vorstehenden und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Offenbarung werden aus der nachfolgenden detaillierten Beschreibung in Zusammenschau mit den Zeichnungen ersichtlicher.
-
In den Zeichnungen:
-
1 ist ein Diagramm, das schematisch eine Konfiguration eines nichtflüchtigen Speichers in einer ersten Ausführungsform illustriert;
-
2 ist ein funktionales Blockschaltbild, das eine Konfiguration einer Steuervorrichtung illustriert, die in einem Fahrzeug vorgesehen ist;
-
3 ist ein Diagramm, das eine Kommunikationsprozedur zwischen einem Diagnosewerkzeug und der Steuervorrichtung illustriert;
-
4 ist ein Diagramm, das schematisch eine Konfiguration eines nichtflüchtigen Speichers in einer zweiten Ausführungsform illustriert;
-
5 ist ein Diagramm, das schematisch eine Konfiguration eines nichtflüchtigen Speichers in einer dritten Ausführungsform illustriert;
-
6 ist ein Diagramm, das schematisch eine Konfiguration eines nichtflüchtigen Speichers in einer vierten Ausführungsform illustriert; und
-
7 ist ein Diagramm, das schematisch eine Konfiguration eines nichtflüchtigen Speichers in einer fünften Ausführungsform illustriert.
-
(Erste Ausführungsform)
-
Eine erste Ausführungsform der vorliegenden Offenbarung wird mit Bezug auf 1 bis 3 erläutert.
-
Wie in 2 beschrieben ist, ist ein Fahrzeug 1 mit mehreren Steuervorrichtungen 2 wie beispielsweise einer Motor-ECU, die einen Motor steuert, einer Klimaanlagen-ECU, die die Fahrzeugklimaanlage steuert, einer Brems-ECU, die eine Bremsoperation steuert, verbunden. Die Steuervorrichtung 2 entspricht in der vorliegenden Offenbarung einer Fahrzeugsteuervorrichtung. Die Steuervorrichtung 2 ist mit einem Werkzeugverbindungsverbinder 4 durch ein fahrzeuggebundenes LAN 3 verbunden. Die Steuervorrichtung 2 beinhaltet einen Mikrocomputer 5 als einen Hauptkörper. Der Mikrocomputer 5 beinhaltet eine CPU 6, einen flüchtigen Speicher 7, der aus einem RAM gemacht ist, und einen nichtflüchtigen Speicher 8, der aus einem Flash-Speicher gemacht ist. Der nichtflüchtige Speicher 8 entspricht einer Programmverwaltungsvorrichtung. Die CPU 6 ist mit peripheren Schaltungen wie beispielsweise einer Eingabeschaltung 9, einer Ausgabeschaltung 10 und einer externen Kommunikationsschnittstelle 11 verbunden.
-
Ein Diagnosewerkzeug 12 (ebenso als ein Umschreibungswerkzeug bezeichnet) kann mit dem Werkzeugverbindungsverbinder 4 verbindbar sein. Das Diagnosewerkzeug 12 entspricht einer externen Vorrichtung, die Informationen von der Steuervorrichtung 2 empfängt und an diese überträgt, wenn das Diagnosewerkzeug 12 mit dem Werkzeugverbindungsverbinder 4 verbunden ist. Das Diagnosewerkzeug 12 überträgt ein neues Steuerprogramm an die Steuervorrichtung 2 mit serieller Kommunikation, wenn das Diagnosewerkzeug 12 ein in dem nichtflüchtigen Speicher 8 gespeichertes Steuerprogramm umschreibt. Die CPU 6 der Steuervorrichtung 2 führt serielle Kommunikation zwischen den Diagnosewerkzeugen 12 durch die externe Kommunikationsschnittstelle 11 aus und empfängt das neue Steuerprogramm und überträgt das neue Steuerprogramm an den nichtflüchtigen Speicher 8. Im Übrigen kann das Diagnosewerkzeug 12 ein Beispiel für außerhalb der Programmverwaltungsvorrichtung sein.
-
Der nichtflüchtige Speicher 8 wird erläutert. Ein Bereich des nichtflüchtigen Speichers 8 wird als ein Boot-Bereich festgelegt, der nicht umgeschrieben werden kann. Wie in 1 dargestellt ist, speichert der Boot-Bereich ein Aktualisierungsprogramm (nachfolgend als ein Umprogrammierungsprogramm bezeichnet) 13. Das Aktualisierungsprogramm 13 entspricht in der vorliegenden Offenbarung einem Verwaltungsmittel und einem Programmverwaltungsprogramm. Das Umprogrammierungsprogramm 13 schreibt das Steuerprogramm in ein neues Steuerprogramm um, das von der CPU 6 empfangen wird.
-
Im Übrigen wird in den vorliegenden Ausführungsformen ein Programm zum Umprogrammieren als ein Umprogrammierungsprogramm bezeichnet. Das Programm zum Umprogrammieren ist ein Programm, das einen Inhalt eines Speichers aktualisiert, der ein Programm in einer Programmverwaltungsvorrichtung speichert.
-
Ein Bereich außer dem Boot-Bereich in dem nichtflüchtigen Speicher 8 wird als ein nichtflüchtiger Speicherbereich 14 festgelegt. Der nichtflüchtige Speicherbereich 14 speichert das Steuerprogramm. Der nichtflüchtige Speicherbereich 14 ist in Löscheinheitsbereiche, die dieselbe Größe aufweisen, unterteilt, und die Löscheinheitsbereiche werden entsprechend zugeordnet als Umschreibungszielbereiche #1–3 festgelegt. In 1 ist der Umschreibungszielbereich der Einfachheit halber als #1–3 beschrieben. Mehrere Umschreibungszielbereiche können tatsächlich festgelegt werden. Das Steuerprogramm ist in mehrere Teile (als detaillierte Einheitsprogramme bezeichnet) unterteilt und in jedem der Umschreibungszielbereiche #1–3 gespeichert. In der vorliegenden Ausführungsform werden unterteilte Programme entsprechend den Umschreibungszielbereichen #1–3 als detaillierte Einheitsprogramme bezeichnet. Die Größe des detaillierten Einheitsprogramms ist gleich der Größe der Umschreibungszielbereiche #1–3.
-
Das Steuerprogramm, das in den Umschreibungsbereichen #1–3 gespeichert ist, wird nicht als ein Ganzes aktualisiert, wenn ein Teil des Steuerprogramms aktualisiert wird. Stattdessen wird nur das detaillierte Einheitsprogramm, das einen Aktualisierungsteil in dem Steuerprogramm aufweist, umgeschrieben und eine Periode zum Umschreiben kann verkürzt werden. Alle entsprechenden detaillierten Einheitsprogramme werden umgeschrieben, wenn der Aktualisierungsteil zu den mehreren detaillierten Einheitsprogrammen gehört.
-
Ein Aktualisierungsmarker 15 in einem detaillierten Einheitsprogramm befindet sich in jedem detaillierten Einheitsprogramm an der gleichen Position. Die gleiche Position entspricht einer Position, die durch die gleiche Adresse von einem Kopf in dem detaillierten Einheitsprogramm separiert ist. Der Aktualisierungsmarker 15 gibt an, ob das in dem nichtflüchtigen Speicher 8 gespeicherte Steuerprogramm ein aktuellstes Steuerprogramm ist. Der Aktualisierungsmarker 15 wird so festgelegt, dass der Aktualisierungsmarker 15 einfach in Einerschritten (d. h. 0, 1, 2, 3 oder dergleichen) als ein Zunahmewert durch das Diagnosewerkzeug 12 zunimmt, wenn das detaillierte Einheitsprogramm umgeschrieben wird. Das heißt, der Aktualisierungsmarker 15, der in dem detaillierten Einheitsprogramm beinhaltet ist, gibt die Anzahl an, wie oft umgeschrieben wird. Das detaillierte Einheitsprogramm speichert eine Verwaltungsnummer 16 entsprechend dem Aktualisierungsmarker 15. Die Verwaltungsnummer 16 entspricht einer Programmverwaltungsnummer, spezifiziert eine Version des Steuerprogramms und kann willkürlich durch einen Hersteller bestimmt werden. Somit gibt unter mehreren Aktualisierungsmarkern 15, die in den Umschreibungszielbereichen #1–3 gespeichert sind, die Verwaltungsnummer 16 entsprechend dem maximalen Aktualisierungsmarker 15 eine aktuellste Verwaltungsnummer an, das heißt, entspricht einer Verwaltungsnummer, die das in den Umschreibungszielbereichen #1–3 gespeicherte Steuerprogramm angibt.
-
Das Umprogrammierungsprogramm 13 beinhaltet einen Aktualisierungsmarkerzeiger (nachfolgend als PTR bezeichnet) 17, der eine Anordnungsposition eines Ausgangsaktualisierungsmarkers 15 angibt. Das Umprogrammierungsprogramm 13 kann den Ausgangsaktualisierungsmarker 15 basierend auf dem PTR 17 spezifizieren, das heißt, kann den Aktualisierungsmarker 15 spezifizieren, der in dem Umschreibungszielbereich #1 positioniert ist.
-
Eine Kommunikationsverarbeitung zwischen dem Diagnosewerkzeug 12 und der Steuervorrichtung 2 wird gemäß 3 erläutert. Beispielsweise verbindet ein Mitarbeiter eines Händlershops das Diagnosewerkzeug 12 mit dem Werkzeugverbindungsverbinder 4, während ein Motor gestoppt ist, wenn das Steuerprogramm, das in dem nichtflüchtigen Speicher 8 einer vorbestimmten Steuervorrichtung 2 gespeichert ist, beispielsweise durch Versions-Upgrade aktualisiert wird. Der Mitarbeiter gibt eine Anweisung an das Diagnosewerkzeug 12 zum Zugreifen auf die vorbestimmte Steuervorrichtung 2. Das Diagnosewerkzeug 12 fordert eine Steuervorrichtungsidentifizierungsantwort bei der vorbestimmten Steuervorrichtung 2 an. Die vorbestimmte Steuervorrichtung 2 gibt selbst eine Identifizierung (ID) zurück. Das Diagnosewerkzeug 12 authentifiziert die ID und fordert eine Programmverwaltungsnummer an. Die vorbestimmte Steuervorrichtung 2 inspiziert eine aktuellste Verwaltungsnummer innerhalb der vorbestimmten Steuervorrichtung 2 und gibt eine aktuellste Verwaltungsnummer zurück.
-
Das Diagnosewerkzeug 12 bestimmt, ob die Verwaltungsnummer, die von der vorbestimmten Steuervorrichtung 2 empfangen wird, eine aktuellste Verwaltungsnummer ist. Bestimmt das Diagnosewerkzeug 12, dass die vorbestimmte Steuervorrichtung 2 keine aktuellste Verwaltungsnummer zurückgibt, überträgt das Diagnosewerkzeug 12 ein detailliertes Einheitsprogramm, dass ein Aktualisierungsbereich zur Steuervorrichtung 2 gehört. Demnach ist es möglich, dass die vorbestimmte Steuervorrichtung 2 die Umschreibungszielbereiche #1–3 entsprechend dem detaillierten Einheitsprogramm umschreibt und auf ein neues Steuerprogramm aktualisiert wird.
-
Das Umprogrammierungsprogramm 13 des nichtflüchtigen Speichers 8 führt eine Operation aus, bei der die Steuervorrichtung 2 die aktuellste Verwaltungsnummer spezifiziert. Die Operation, die durch das Umprogrammierungsprogramm 13 ausgeführt wird, nämlich das Spezifizieren der aktuellsten Verwaltungsnummer, wird erläutert.
-
Das Umprogrammierungsprogramm 13 spezifiziert anfangs und erlangt den Ausgangsaktualisierungsmarker 15, der durch einen Aktualisierungsmarkerzeiger (nachfolgend als ein PTR bezeichnet) angegeben wird, wie durch einen Pfeil in 1 beschrieben ist. In der vorliegenden Ausführungsform entspricht der Ausgangsaktualisierungsmarker 15 dem Aktualisierungsmarker 15 in dem Umschreibungszielbereich #1.
-
Nachfolgend spezifiziert das Umprogrammierungsprogramm 13 den Aktualisierungsmarker 15 in dem Umschreibungszielbereich #2 basierend auf der Größe des Umschreibungszielbereichs. Das heißt, da die Größe der Umschreibungszielbereiche #1–3 jeweils gleich ist und eine Anordnungsposition des Aktualisierungsmarkers 15 des Umschreibungszielbereichs #2 einer Position entspricht, die die Größe des Umschreibungszielbereichs zur Anordnungsposition des Aktualisierungsmarkers 15 des Ausgangsumschreibungszielbereichs #1 addiert, ist es möglich, einen nachfolgenden Aktualisierungsmarker 15, der dem Aktualisierungsmarker 15 des Umschreibungszielbereichs #2 entspricht, zu spezifizieren und zu erlangen. Der Aktualisierungsmarker 15 des Umschreibungszielbereichs #2 kann ebenso als ein nachfolgender Aktualisierungsmarker 15 bezeichnet werden.
-
Auf ähnliche Weise ist es möglich, alle Aktualisierungsmarker 15 vom Ausgangsumschreibungszielbereich #1 bis zu einem letzten Umschreibungszielbereich #3 des Aktualisierungsmarkers 15 zu spezifizieren und zu erlangen.
-
Das Umprogrammierungsprogramm 13 inspiziert alle Aktualisierungsmarker 15, wenn alle Aktualisierungsmarker 15 erlangt werden.
-
Der Aktualisierungsmarker 15 nimmt jedes Mal einfach in Einerschritten zu, wenn das detaillierte Einheitsprogramm aktualisiert wird. Der Aktualisierungsmarker 15, der unter allen Aktualisierungsmarkern 15 den maximalen Wert aufweist, entspricht dem aktuellsten Aktualisierungsmarker 15. Ein detailliertes Einheitsprogramm, zu dem der aktuellste Aktualisierungsmarker 15 gehört, entspricht dem aktuellsten detaillierten Einheitsprogramm, das als Letztes umgeschrieben wurde. Demnach entspricht die Verwaltungsnummer 16 des aktuellsten detaillierten Einheitsprogramms der Verwaltungsnummer 16, die eine Version des Steuerprogramms angibt, das in dem nichtflüchtigen Speicher 8 gespeichert ist. Das Umprogrammierungsprogramm 13 gibt die aktuellste Verwaltungsnummer 16, die spezifiziert wurde, beispielsweise an die Ausgabeschaltung 10 aus.
-
Das Diagnosewerkzeug 12 bestimmt, ob das Steuerprogramm die aktuellste Version ist, basierend auf der aktuellsten Verwaltungsnummer, die von der Steuervorrichtung 2 eingegeben wird. Das Diagnosewerkzeug 12 überträgt ein entsprechendes detailliertes Einheitsprogramm, wenn das Steuerprogramm nicht die aktuellste Version ist. Wenn das Diagnosewerkzeug 12 das detaillierte Einheitsprogramm überträgt, wird der Aktualisierungsmarker 15, der die Anzahl, wie oft umgeschrieben wird, angibt, auf das detaillierte Einheitsprogramm festgelegt und zusätzlich wird die Verwaltungsnummer 16 des Steuerprogramms festgelegt.
-
Das Umprogrammierungsprogramm 13 schreibt die Umschreibungszielbereiche #1–3 entsprechend dem vom Diagnosewerkzeug 12 empfangenen detaillierten Einheitsprogramm um.
-
Somit ist es möglich, das in dem nichtflüchtigen Speicher 8 in der Steuervorrichtung 2 gespeicherte Steuerprogramm auf das aktuellste Steuerprogramm zu aktualisieren.
-
Im Übrigen schreibt das Umprogrammierungsprogramm 13 die Umschreibungszielbereiche #1–3 nicht durch ein detailliertes Einheitsprogramm um, wenn der Aktualisierungsmarker 15 des detaillierten Einheitsprogramms, das vom Diagnosewerkzeug 12 empfangen wird, nicht mit einem Wert übereinstimmt, der durch Addieren von 1 zum maximalen Wert des Aktualisierungsmarkers 15, der in den Umschreibungszielbereichen #1–3 gespeichert ist, erlangt wird. Das heißt, es wird geregelt, dass der Aktualisierungsmarker 15, der in dem detaillierten Einheitsprogramm beinhaltet ist, einfach in Einerschritten zunimmt. Ein detailliertes Einheitsprogramm, das Regelmäßigkeit verloren hat, wird nicht umgeschrieben.
-
Das Umprogrammierungsprogramm 13 spezifiziert und erlangt sequenziell den Aktualisierungsmarker 15 durch den PTR 17, spezifiziert den aktuellsten Aktualisierungsmarker 15 durch Inspizieren aller Aktualisierungsmarker 15 und gibt die Verwaltungsnummer 16 aus, die in dem detaillierten Einheitsprogramm beinhaltet ist, zu dem der aktuellste Aktualisierungsmarker 15 gehört. Somit ist es möglich, die aktuellste Verwaltungsnummer, die in dem nichtflüchtigen Speicher 8 gespeichert ist, auszugeben.
-
In der vorliegenden Ausführungsform hat das detailliert Einheitsprogramm die gleiche Größe. Der Aktualisierungsmarker 15, der in jedem der Umschreibungszielbereiche #1–3 platziert ist, ist regulär angeordnet. Wird der Ausgangsaktualisierungsmarker 15 ausgehend vom PTR 17 spezifiziert, ist es möglich, den nachfolgenden Aktualisierungsmarker basierend auf der Größe der Umschreibungszielbereiche #1–3 einfach zu spezifizieren und zu erlangen.
-
Da ein detailliertes Einheitsprogramm, das den Aktualisierungsmarker 15 aufweist, der verlorene Regelmäßigkeit aufweist, nicht umgeschrieben wird, ist es möglich, eine Verlässlichkeit der Aktualisierung des Steuerprogramms sicherzustellen.
-
Im Übrigen kann das Umprogrammierungsprogramm 13 vom Aktualisierungsmarker 15 des Umschreibungszielbereichs #3 sequenziell spezifizieren und erlangen.
-
(Zweite Ausführungsform)
-
Eine zweite Ausführungsform der vorliegenden Offenbarung wird mit Bezug auf 4 erläutert. In der ersten Ausführungsform wird ein Positionsspezifizierungsverfahren des Aktualisierungsmarkers 15 in einem Fall beschrieben, in dem jeder Umschreibungszielbereich #1–3 die gleiche Größe hat und der Aktualisierungsmarker 15 in jedem Umschreibungszielbereich #1–3 regulär angeordnet ist. Das Positionsspezifizierungsverfahren kann in einem Fall, in dem die Größen der Umschreibungszielbereiche #1–3 unterschiedlich sind, einem Fall, in dem Anordnungspositionen des Aktualisierungsmarkers 15 in den Umschreibungszielbereichen #1–3 unterschiedlich sind, oder einem Fall, in dem ein Verfahren, das eine Position eines nachfolgenden Aktualisierungsmarkers 15 berechnet und spezifiziert, aufgrund einer Beschränkung wie beispielsweise einer Programmgröße des Umprogrammierungsprogramms 13 nicht angewandt wird, nicht ausgeführt werden.
-
Somit verwendet die zweite Ausführungsform einen Zeiger zum Spezifizieren einer Anordnungsposition des nachfolgenden Aktualisierungsmarkers 15.
-
Das heißt, das detaillierte Einheitsprogramm beinhaltet einen nächsten Aktualisierungsmarkerzeiger (nachfolgend als ein nächster PTR bezeichnet) 18 zusätzlich zu dem Aktualisierungsmarker 15 und der Verwaltungsnummer 16, die in der ersten Ausführungsform beschrieben sind. Der nächste PTR 18 gibt die Anordnungsposition des Aktualisierungsmarkers 15 des nachfolgenden Umschreibungszielbereichs an.
-
Das Umprogrammierungsprogramm 13 spezifiziert und erlangt den Aktualisierungsmarker 15 des Ausgangsumschreibungszielbereichs #1 vom PTR 17. Dann spezifiziert und erlangt das Umprogrammierungsprogramm 13 den Aktualisierungsmarker 15 des Umschreibungszielbereichs #2 basierend auf dem nächsten PTR 18 entsprechend dem Aktualisierungsmarker 15 des Ausgangsumschreibungszielbereichs #1.
-
Wie vorstehend beschrieben ist, spezifiziert und erlangt das Umprogrammierungsprogramm 13 den Aktualisierungsmarker 15 sequenziell. Wenn das Umprogrammierungsprogramm 13 einen finalen Aktualisierungsmarker 15 spezifiziert und erlangt, inspiziert das Umprogrammierungsprogramm 13 alle Aktualisierungsmarker 15. Das Umprogrammierungsprogramm 13 spezifiziert und gibt die aktuellste Verwaltungsnummer durch Spezifizieren des Aktualisierungsmarkers 15, der den maximalen Wert aufweist, aus.
-
Gemäß der zweiten Ausführungsform ist es möglich, den Aktualisierungsmarker 15 basierend auf dem nächsten PTR 18 zu spezifizieren und zu erlangen, sogar wenn die Anordnungsposition des Aktualisierungsmarkers 15 in dem detaillierten Einheitsprogramm unterschiedlich ist oder wenn eine Kapazität des Umprogrammierungsprogramms 13 fehlt. Demnach ist es möglich, die aktuellste Verwaltungsnummer durch Spezifizieren des aktuellsten Aktualisierungsmarkers 15 auszugeben.
-
Im Übrigen kann eine Konfiguration in der zweiten Ausführungsform angewandt werden, sogar wenn die Umschreibungszielbereiche #1–3 die gleiche Größe aufweisen.
-
(Dritte Ausführungsform)
-
Eine dritte Ausführungsform der vorliegenden Offenbarung wird mit Bezug auf 5 erläutert. In der dritten Ausführungsform wird ein Zeiger, der die Anordnungsposition des PTR 17 angibt, bereitgestellt und die Position des Aktualisierungsmarkers 15 wird in zwei Schritten spezifiziert.
-
Das detaillierte Einheitsprogramm beinhaltet den PTR 17, der die Anordnungsposition des Aktualisierungsmarkers 15 angibt, und einen Aktualisierungsmarkerzeigezeiger (nachfolgend als ein PTRPTR bezeichnet) 19, der die Anordnungsposition des PTR 17 angibt. Der PTRPTR 19 ist am Schwanzende jedes der Umschreibungszielbereiche #1–3 angeordnet.
-
Das Umprogrammierungsprogramm 13 spezifiziert den PTRPTR 19, der am Schwanzende des Ausgangsumschreibungszielbereichs #1 angeordnet ist, spezifiziert den PTR 17 basierend auf dem PTRPTR 19 und spezifiziert und erlangt den Aktualisierungsmarker 15 basierend auf dem PTR 17.
-
Anschließend spezifiziert das Umprogrammierungsprogramm 13 einen PTRPTR 19, der am Schwanzende des nachfolgenden Umschreibungszielbereichs #2 angeordnet ist, spezifiziert einen PTR 17 basierend auf dem PTRPTR 19 und spezifiziert und erlangt einen Aktualisierungsmarker 15 basierend auf dem PTR 17.
-
Ähnlich spezifiziert und erlangt das Umprogrammierungsprogramm 13 den Aktualisierungsmarker 15 basierend auf dem PTRPTR 19 und dem PTR 17. Wenn das Umprogrammierungsprogramm 13 alle Aktualisierungsmarker 15 erlangt, inspiziert das Umprogrammierungsprogramm 13 den Aktualisierungsmarker 15 und gibt die aktuellste Verwaltungsnummer entsprechend dem aktuellsten Aktualisierungsmarker 15 aus.
-
Gemäß der dritten Ausführungsform ist der PTR 17 an jedem der Umschreibungszielbereiche #1–3 angeordnet. Es ist möglich, einen Fall zu beherrschen, in dem die Umschreibungszielbereiche #1–3 unterschiedliche Größen haben, eine Anordnungsposition des Aktualisierungsmarkers 15 in dem detaillierten Einheitsprogramm unterschiedlich ist oder es an einer Kapazität des Umprogrammierungsprogramms 13 mangelt.
-
Zusätzlich ist es, da der PTRPTR 19, der die Anordnungsposition des PTR 17 angibt, bereitgestellt wird, möglich, den Aktualisierungsmarker 15 zu spezifizieren, wenn die zwei Schritte beim PTR 17 und beim PTRPTR 19 korrekt ausgeführt werden. Demnach ist es möglich, eine gelegentliche Fehlfunktion wie beispielsweise eine Datenstörung und einen Bug wie beispielsweise einen Programmerzeugungsbug zu beherrschen und eine Sicherheitsmaßnahme wie beispielsweise eine Programmänderung auszuführen.
-
Im Übrigen kann der PTRPTR 19 an einem Kopf der Umschreibungszielbereiche #1–3 angeordnet werden.
-
(Vierte Ausführungsform)
-
Eine vierte Ausführungsform der vorliegenden Offenbarung wird mit Bezug auf 6 erläutert. In der vierten Ausführungsform beinhaltet das detaillierte Einheitsprogramm ein Programm zum Bestimmen, ob ein Programm gültig ist oder nicht.
-
Wie in 6 beschrieben ist, beinhaltet das detaillierte Einheitsprogramm ein Validitätsüberprüfungsprogramm bzw. Gültigkeitsüberprüfungsprogramm 20. Das Validitätsüberprüfungsprogramm 20 überprüft Validität oder Konsistenz eines Programms und überprüft beispielsweise, ob ein detailliertes Einheitsprogramm koexistent mit einem anderen detaillierten Einheitsprogramm betreibbar ist, oder überprüft, ob ein detailliertes Einheitsprogramm geändert wurde. Beispielsweise kann das Validitätsüberprüfungsprogramm 20 eine Programmsignatur, die an jedem detaillierten Einheitsprogramm angehängt ist, inspizieren oder kann als einfaches Mittel die Größe jedes detaillierten Einheitsprogramms überprüfen.
-
In der vierten Ausführungsform ist das Validitätsüberprüfungsprogramm 20 in jedem der Umschreibungszielbereiche #1–3 regulär angeordnet.
-
Das Umprogrammierungsprogramm 13 überprüft die Validität jedes detaillierten Einheitsprogramms durch sequenzielles Betreiben des Validitätsüberprüfungsprogramms und inspiziert dann den Aktualisierungsmarker 15 zum Ausgeben der aktuellsten Verwaltungsnummer.
-
Gemäß der vierten Ausführungsform überprüft das Validitätsüberprüfungsprogramm 20, das in dem detaillierten Einheitsprogramm beinhaltet ist, die Validität des detaillierten Einheitsprogramms. Es ist möglich, die Verlässlichkeit des Steuerprogramms, das im nichtflüchtigen Speicher 8 gespeichert ist, zu verbessern.
-
(Fünfte Ausführungsform)
-
Eine fünfte Ausführungsform der vorliegenden Offenbarung wird mit Bezug auf 7 erläutert. In der fünften Ausführungsform beinhaltet das detaillierte Einheitsprogramm einen Zeiger, der eine Anordnungsposition des Validitätsüberprüfungsprogramms 20 angibt.
-
Wie in 7 beschrieben ist, beinhaltet das detaillierte Einheitsprogramm einen Validitätsüberprüfungsprogrammzeiger 21, der die Anordnungsposition des Validitätsüberprüfungsprogramms 20 angibt. Das Umprogrammierungsprogramm 13 spezifiziert die Anordnungsposition des Validitätsüberprüfungsprogrammzeigers 21 in dem Ausgangsumschreibungszielbereich #1 basierend auf dem PTR 17. In diesem Fall inspiziert, da das Validitätsüberprüfungsprogramm 20 die Anordnungsposition des Aktualisierungsmarkers 15 und des nachfolgenden Validitätsüberprüfungsprogramms 20 spezifiziert, das Umprogrammierungsprogramm 13 sequenziell die Validität des detaillierten Einheitsprogramms durch das Validitätsüberprüfungsprogramm 20 und spezifiziert und erlangt den Aktualisierungsmarker 15 des nachfolgenden Umschreibungszielbereichs #2. Wenn alle Aktualisierungsmarker 15 erlangt werden, inspiziert das Umprogrammierungsprogramm 13 den Aktualisierungsmarker 15 und gibt die aktuellste Verwaltungsnummer entsprechend dem aktuellsten Aktualisierungsmarker 15 aus.
-
Gemäß einer Konfiguration in der fünften Ausführungsform spezifiziert der Validitätsüberprüfungsprogrammzeiger 21 die Anordnungsposition des Validitätsüberprüfungsprogramms 20. Es ist möglich, das Validitätsüberprüfungsprogramm 20 zu spezifizieren und zu betreiben, wenn die Anordnungsposition des Validitätsüberprüfungsprogramms 20 irregulär ist.
-
(Weitere Ausführungsformen)
-
Die vorliegende Offenbarung ist nicht auf die vorliegenden Ausführungsformen beschränkt. Die vorliegende Ausführungsform kann modifiziert, erweitert oder mit Modifikationen kombiniert werden.
-
Der Aktualisierungsmarker 15 kann einfach durch einen vorbestimmten Abnahmewert ausgehend von einem spezifizierten Wert abnehmen. Der Zunahmewert oder der Abnahmewert ist nicht auf eins beschränkt und kann zwei oder mehr sein.
-
Der nichtflüchtige Speicher kann ein elektrisch löschbarer PROM (EEPROM) sein.
-
Das Diagnosewerkzeug 12 kann ein Umprogrammierungsprogramm an die Steuervorrichtung 2 übertragen, wenn das Diagnosewerkzeug 12 mit dem Werkzeugverbindungsverbinder 4 verbunden ist, und die CPU 6 in der Steuervorrichtung 2 kann das Umprogrammierungsprogramm ausführen.
-
Der nichtflüchtige Speicher 8 entspricht einer Programmverwaltungsvorrichtung. Die Steuervorrichtung 2 entspricht einer Fahrzeugsteuervorrichtung. Das Umprogrammierungsprogramm 13 entspricht einem Verwaltungsmittel und einem Programmverwaltungsprogramm.
-
Während die vorliegende Offenbarung mit Bezug auf ihre Ausführungsformen beschrieben wurde, ist es ersichtlich, dass die Offenbarung nicht auf die Ausführungsformen und Konstruktionen beschränkt ist. Die vorliegende Offenbarung soll unterschiedliche Modifikationen und äquivalente Anordnungen abdecken. Zusätzlich sind neben unterschiedlichen Kombinationen und Konfigurationen weitere Kombinationen und Konfigurationen einschließlich mehr, weniger oder nur eines einzelnen Elements ebenso innerhalb des Lichts der Lehre und des Umfangs der vorliegenden Offenbarung.
-
Die Erfindung lässt sich folgendermaßen zusammenfassen.
-
Eine Programmverwaltungsvorrichtung beinhaltet einen nichtflüchtigen Speicherbereich einschließlich mehrerer Umschreibungszielbereiche und ein Verwaltungsmittel, das einen Umschreibungszielbereich in dem nichtflüchtigen Speicherbereich mit einem detaillierten Einheitsprogramm umschreibt und eine aktuellste Programmverwaltungsnummer ausgibt. Das detaillierte Einheitsprogramm konfiguriert ein Programm. Das detaillierte Einheitsprogramm beinhaltet die Programmverwaltungsnummer, die das Programm identifiziert, und einen Aktualisierungsmarker, der spezifiziert, ob das Programm ein aktuellstes Programm ist. Das Verwaltungsmittel inspiziert den Aktualisierungsmarker, der in dem Umschreibungszielbereich platziert ist, spezifiziert einen aktuellsten Aktualisierungsmarker und gibt die Programmverwaltungsnummer, die in dem Umschreibungszielbereich platziert ist, der den aktuellsten Aktualisierungsmarker aufweist, aus.
-
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
-