-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft: eine in einem Fahrzeug oder dergleichen anzubringende Fahrzeugsteuervorrichtung; ein Verfahren zur Aktualisierung bzw. zum Updaten eines Programms der Fahrzeugsteuervorrichtung; und ein Programm für die Programmaktualisierung bzw. das Programmupdate.
-
Beschreibung des Stands der Technik
-
Eine Mehrzahl Steuervorrichtungen, genannt ECUs (elektronische Steuereinheiten, Electronic Control Units), die Speicherbereiche und Steuerbereiche (Prozessoren) umfassen, sind in einem Fahrzeug angebracht. Jeder der Steuerbereiche führt Programme aus, die in dem Speicherbereich gespeichert sind, um Prozesse für verschiedene Fahrzeugsteuerungen durchzuführen.
-
Solche Programme werden manchmal zur Veränderung und Hinzufügung von Funktionen aktualisiert. Patentdokument 1 (
japanische Offenlegungsschrift Nr. 2016 -
60407 ) offenbart ein System, bei dem Daten zur Aktualisierung eines Programms über ein Netzwerk auf eine tragbare Endvorrichtung heruntergeladen werden und die Daten von der tragbaren Endvorrichtung einem Fahrzeug bereitgestellt werden, sodass das Programm umgeschrieben wird, um es zu aktualisieren.
-
Falls das Programm nicht ordnungsgemäß aktualisiert wird, sodass Daten, die als Programm nach dem Update erzeugt wurden, zumindest teilweise Daten von vor dem Update bleiben oder sich von Daten einer korrekt aktualisierten Version unterscheiden, kann die ECU zur Ausführung des Programms einen abnormalen Vorgang ausführen.
-
KURZFASSUNG DER ERFINDUNG
-
Ein Ziel der vorliegenden Erfindung ist es, angesichts des oben beschriebenen Problems eine Fahrzeugsteuervorrichtung zu schaffen, ein Verfahren für ein Programmupdate und ein Programm für das Programmupdate, mit dem es möglich ist, zur Zeit eines Updates eines Programms zu bestätigen, dass das Programm ordnungsgemäß zu Daten eines Abschnitts nach dem Update verändert wurde.
-
Um das oben beschriebene Problem zu lösen, ist ein Aspekt der vorliegenden Erfindung eine Fahrzeugsteuervorrichtung, die Folgendes umfasst: einen Speicherbereich, der eine erste Speicherzone umfasst, in der ein Steuerprogramm zur Verwendung bei einer Steuerung eines Fahrzeugs gespeichert ist, und eine zweite Speicherzone, in der ein aktualisiertes Programm, welches eine aktualisierte Version des Steuerprogramms ist, gespeichert ist; einen Ausführungsbereich, der eingerichtet ist, das Steuerprogramm und das aktualisierte Programm auszuführen; und einen Update-Bereich, der eingerichtet ist, von einem externen Server Daten des aktualisierten Abschnitts zu beziehen, welche Daten eines Abschnitts nach dem Update für einen Update-Ziel-Abschnitt des Steuerprogramms abbilden, und einen Prozess zur Aktualisierung des Steuerprogramms auszuführen, wobei der Update-Bereich: veranlasst, dass die Daten des Abschnitts nach dem Update, die von den Daten des aktualisierten Abschnitts abgebildeten werden, in einem ersten Abschnitt der zweiten Speicherzone gespeichert werden, und veranlasst, dass Daten eines Abschnitts, außer des Update-Ziel-Abschnitts, von dem Steuerprogramm, das in der ersten Speicherzone gespeichert ist, in einem zweiten Abschnitt, der sich von dem ersten Abschnitt unterscheidet, von der zweiten Speicherzone, gespeichert werden, wodurch veranlasst wird, dass das aktualisierte Programm in der zweiten Speicherzone gespeichert wird; eine Differenz zwischen dem Steuerprogramm, das in der ersten Speicherzone gespeichert ist, und dem aktualisierten Programm, das in der zweiten Speicherzone gespeichert ist, bezieht; auf Basis von mindestens der Differenz bestimmt, ob das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert ist; und ein Programm, das von dem Ausführungsbereich auszuführen ist, auf das aktualisierte Programm in einem Fall umstellt, in dem bestimmt wird, dass das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert ist.
-
Da das aktualisierte Programm das auszuführende Programm wird, nachdem bestätigt wird, dass das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert ist, ist es möglich, die ECU daran zu hindern, einen abnormalen Vorgang als Folge einer Ausführung eines nicht ordnungsgemäßen Programms auszuführen.
-
In einem Fall, in dem die Differenz mit den Daten des Abschnitts nach dem Update, welche von den Daten des aktualisierten Abschnitts abgebildet werden, die von dem Server bezogen wurden, übereinstimmt, kann der Update-Bereich zudem bestimmen, dass das aktualisierte Programm ordnungsgemäß gespeichert wurde.
-
Indem die Daten des aktualisierten Abschnitts wie oben beschrieben als Vergleichsziel verwendet werden, ist es möglich, zu überprüfen, ob der veränderte Abschnitt des aktualisierten Programms mit einem Aktualisierungsinhalt übereinstimmt.
-
In einem Fall, in dem die Differenz basierend auf den Daten des aktualisierten Abschnitts die Daten des Abschnitts außer des Update-Ziel-Abschnitts umfasst, kann der Update-Bereich zudem bestimmen, dass das aktualisierte Programm nicht ordnungsgemäß gespeichert wurde und kann den Prozess neu ausführen, bei dem veranlasst wird, dass die Daten des Abschnitts, außer des Update-Ziel-Abschnitts, von dem in der ersten Speicherzone gespeicherten Steuerprogramm an einer entsprechenden Position in der zweiten Speicherzone gespeichert werden.
-
Aufgrund dieses Merkmals ist es möglich, zu erfassen, dass die Daten des Abschnitts, außer des Update-Ziel-Abschnitts, des aktualisierten Programms nicht ordnungsgemäß gespeichert sind, und die Daten können korrigiert werden, indem der Prozess neu ausgeführt wird.
-
In einem Fall, in dem die Differenz basierend auf den Daten des aktualisierten Abschnitts nicht mit einem Teil oder einer Gesamtheit der Daten des Abschnitts nach dem Update in dem Update-Ziel-Abschnitt übereinstimmt, kann der Update-Bereich zudem bestimmen, dass das aktualisierte Programm nicht ordnungsgemäß gespeichert wurde und kann den Prozess neu ausführen, bei dem veranlasst wird, dass die Daten des Abschnitts nach dem Update, welche von den Daten des aktualisierten Abschnitts abgebildet werden, an einer entsprechenden Position in der zweiten Speicherzone gespeichert werden.
-
In einem Fall, in dem die Differenz basierend auf den Daten des aktualisierten Abschnitts nicht mit einem Teil oder der Gesamtheit der Daten des Abschnitts nach dem Update in dem Update-Ziel-Abschnitt übereinstimmt, kann der Update-Bereich bestimmen, dass das aktualisierte Programm nicht ordnungsgemäß gespeichert wurde und kann einen Prozess ausführen, in dem veranlasst wird, dass ein Abschnitt, der nicht mit der Differenz übereinstimmt, von den Daten des Abschnitts nach dem Update, welche von den Daten des aktualisierten Abschnitts abgebildet werden, an einer entsprechenden Position in der zweiten Speicherzone gespeichert wird.
-
Aufgrund dieser Merkmale ist es möglich, zu erfassen, dass die Daten des Update-Ziel-Abschnitts des aktualisierten Programms nicht ordnungsgemäß gespeichert sind, und die Daten können korrigiert werden, indem der Prozess neu ausgeführt wird.
-
Zudem kann der Update-Bereich den Server anfragen, und in einem Fall, in dem die Differenz und die Daten des Abschnitts nach dem Update, welche von den Daten des aktualisierten Abschnitts abgebildet werden, die von dem Server verwaltet werden, übereinstimmen, kann der Update-Bereich bestimmen, dass das aktualisierte Programm ordnungsgemäß gespeichert wurde.
-
Indem, wie oben beschrieben, die Daten des aktualisierten Abschnitts, die von dem Server verwaltet werden, als Vergleichsziel verwendet werden, ist es möglich, auch einen Datenfehler aufgrund eines Kommunikationsfehlers der Daten des aktualisierten Abschnitts oder dergleichen zu erfassen, sodass es möglich ist, sicherer zu bestätigen, dass der veränderte Abschnitt des aktualisierten Programms mit dem Aktualisierungsinhalt übereinstimmt.
-
In einem Fall, in dem die Differenz basierend auf den von dem Server verwalteten Daten des aktualisierten Abschnitts die Daten des Abschnitts außer des Update-Ziel-Abschnitts umfasst, kann der Update-Bereich zudem bestimmen, dass das aktualisierte Programm nicht ordnungsgemäß gespeichert wurde und kann den Prozess neu ausführen, bei dem veranlasst wird, dass die Daten des Abschnitts, außer des Update-Ziel-Abschnitts, von dem in der ersten Speicherzone gespeicherten Steuerprogramm an der entsprechenden Position in der zweiten Speicherzone gespeichert werden.
-
Indem als Vergleichsziel die von dem Server verwalteten Daten des aktualisierten Abschnitts verwendet werden, ist es aufgrund dieses Merkmals möglich, auch einen Datenfehler aufgrund eines Kommunikationsfehlers der Daten des aktualisierten Abschnitts oder dergleichen zu erfassen, sodass es möglich ist, sicherer zu erfassen, dass die Daten des Abschnitts, außer des Update-Ziel-Abschnitts, des aktualisierten Programms nicht ordnungsgemäß gespeichert wurden, und die Daten können korrigiert werden, indem der Prozess neu ausgeführt wird.
-
In einem Fall, in dem basierend auf den von dem Server verwalteten Daten des aktualisierten Abschnitts die Differenz und ein Teil oder die Gesamtheit der Daten des Abschnitts nach dem Update in dem Update-Ziel-Abschnitt nicht miteinander übereinstimmen, kann der Update-Bereich zudem: bestimmen, dass das aktualisierte Programm nicht ordnungsgemäß gespeichert wurde; die Daten des aktualisierten Abschnitts von dem Server neu beziehen; und den Prozess neu ausführen, bei dem veranlasst wird, dass die Daten des Abschnitts nach dem Update, die von den bezogenen Daten des aktualisierten Abschnitts abgebildet werden, an der entsprechenden Position in der zweiten Speicherzone gespeichert werden.
-
In einem Fall, in dem basierend auf den von dem Server verwalteten Daten des aktualisierten Abschnitts die Differenz und ein Teil oder die Gesamtheit der Daten des Abschnitts nach dem Update in dem Update-Ziel-Abschnitt nicht miteinander übereinstimmen, kann der Update-Bereich zudem: bestimmen, dass das aktualisierte Programm nicht ordnungsgemäß gespeichert wurde; von dem Server erneut einen nicht übereinstimmenden Abschnitt, der nicht mit der Differenz übereinstimmt, von den Daten des Abschnitts nach dem Update beziehen, welche von den Daten des aktualisierten Abschnitts, die von dem Server verwaltet werden, abgebildet werden; und einen Prozess ausführen, bei dem veranlasst wird, dass der bezogene, nicht übereinstimmende Abschnitt an der entsprechenden Position in der zweiten Speicherzone gespeichert wird.
-
Indem als Vergleichsziel die von dem Server verwalteten Daten des aktualisierten Abschnitts verwendet werden, ist es aufgrund dieser Merkmale möglich, auch einen Datenfehler aufgrund eines Kommunikationsfehlers der Daten des aktualisierten Abschnitts oder dergleichen zu erfassen, sodass es möglich ist, sicherer zu erfassen, dass die Daten des Update-Ziel-Abschnitts des aktualisierten Programms nicht ordnungsgemäß gespeichert wurden, und die Daten können korrigiert werden, indem der Prozess neu ausgeführt wird.
-
Ein anderer Aspekt der vorliegenden Erfindung ist ein Programmupdateverfahren, das von einem Update-Bereich einer Fahrzeugsteuervorrichtung auszuführen ist, umfassend: einen Speicherbereich, der eine erste Speicherzone umfasst, in der ein Steuerprogramm zur Verwendung bei einer Steuerung eines Fahrzeugs gespeichert ist, und eine zweite Speicherzone, in der ein aktualisiertes Programm, welches eine aktualisierte Version des Steuerprogramms ist, gespeichert ist; einen Ausführungsbereich, der eingerichtet ist, das Steuerprogramm und das aktualisierte Programm auszuführen; und den Update-Bereich, der eingerichtet ist, von einem externen Server Daten des aktualisierten Abschnitts zu beziehen, die Daten eines Abschnitts nach dem Update für einen Update-Ziel-Abschnitt des Steuerprogramms abbilden, und einen Prozess zur Aktualisierung des Steuerprogramms ausführen, wobei das Programmupdateverfahren Folgendes umfasst: einen Schritt, bei dem veranlasst wird, dass die Daten des Abschnitts nach dem Update, die von den Daten des aktualisierten Abschnitts abgebildet werden, in einem ersten Abschnitt der zweiten Speicherzone gespeichert werden, und veranlasst wird, dass Daten eines Abschnitts, außer des Update-Ziel-Abschnitts, von dem Steuerprogramm, das in der ersten Speicherzone gespeichert ist, in einem zweiten Abschnitt, der sich von dem ersten Abschnitt unterscheidet, der zweiten Speicherzone gespeichert werden, wodurch veranlasst wird, dass das aktualisierte Programm in der zweiten Speicherzone gespeichert wird; einen Schritt, bei dem eine Differenz zwischen dem in der ersten Speicherzone gespeicherten Steuerprogramm und dem in der zweiten Speicherzone gespeicherten aktualisierten Programm bezogen wird; einen Schritt, bei dem auf Basis von mindestens der Differenz bestimmt wird, ob das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert ist; und einen Schritt, bei dem ein Programm, das von dem Ausführungsbereich auszuführen ist, in das aktualisierte Programm in einem Fall umgewandelt wird, in dem bestimmt wird, dass das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert ist.
-
Ein weiterer Aspekt der vorliegenden Erfindung ist ein computerlesbares, nichtflüchtiges Speichermedium, auf dem ein Programm gespeichert ist, für ein Programmupdate, das von einem Update-Bereich einer Fahrzeugsteuervorrichtung auszuführen ist, umfassend: einen Speicherbereich, der eine erste Speicherzone umfasst, in der ein Steuerprogramm zur Verwendung bei einer Steuerung eines Fahrzeugs gespeichert ist, und eine zweite Speicherzone, in der ein aktualisiertes Programm, welches eine aktualisierte Version des Steuerprogramms ist, gespeichert ist; einen Ausführungsbereich, der eingerichtet ist, das Steuerprogramm und das aktualisierte Programm auszuführen; und den Update-Bereich, der eingerichtet ist, von einem externen Server Daten des aktualisierten Abschnitts zu beziehen, die Daten eines Abschnitts nach dem Update für einen Update-Ziel-Abschnitt des Steuerprogramms abbilden, und einen Prozess zur Aktualisierung des Steuerprogramms auszuführen, wobei das Programm Folgendes umfasst: einen Schritt, bei dem veranlasst wird, dass die Daten des Abschnitts nach dem Update, die von den Daten des aktualisierten Abschnitts abgebildet werden, in einem ersten Abschnitt der zweiten Speicherzone gespeichert werden, und veranlasst wird, dass Daten eines Abschnitts, außer des Update-Ziel-Abschnitts, von dem Steuerprogramm, das in der ersten Speicherzone gespeichert ist, in einem zweiten Abschnitt, der sich von dem ersten Abschnitt unterscheidet, der zweiten Speicherzone gespeichert werden, wodurch veranlasst wird, dass das aktualisierte Programm in der zweiten Speicherzone gespeichert wird; einen Schritt, bei dem eine Differenz zwischen dem in der ersten Speicherzone gespeicherten Steuerprogramm und dem in der zweiten Speicherzone gespeicherten aktualisierten Programm bezogen wird; einen Schritt, bei dem auf Basis von mindestens der Differenz bestimmt wird, ob das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert ist; und einen Schritt, bei dem ein Programm, das von dem Ausführungsbereich auszuführen ist, in das aktualisierte Programm in einem Fall umgewandelt wird, in dem bestimmt wird, dass das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert ist.
-
Da das aktualisierte Programm zu dem auszuführenden Programm wird, nachdem bestätigt wurde, dass das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert ist, ist es aufgrund dieser Merkmale möglich, die ECU daran zu hindern, einen abnormalen Vorgang als Folge einer Ausführung eines nicht ordnungsgemäßen Programms auszuführen.
-
Da zu der Zeit des Programmupdates das aktualisierte Programm zu dem auszuführenden Programm wird, nachdem bestätigt wurde, dass das aktualisierte Programm ordnungsgemäß gespeichert ist, ist es erfindungsgemäß wie oben beschrieben möglich, die ECU daran zu hindern, einen abnormalen Vorgang als Folge einer Ausführung eines nicht ordnungsgemäßen Programms auszuführen.
-
Figurenliste
-
- 1 ist ein Funktionsblockdiagramm einer Fahrzeugsteuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung;
- 2 ist eine schematische Darstellung eines Speicherbereichs der Fahrzeugsteuervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung;
- 3 ist ein Flussdiagramm, das einen Prozess durch die Fahrzeugsteuervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung zeigt;
- 4 ist eine schematische Darstellung des Speicherbereichs der Fahrzeugsteuervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung;
- 5 ist eine schematische Darstellung des Speicherbereichs der Fahrzeugsteuervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung;
- 6 ist eine schematische Darstellung des Speicherbereichs der Fahrzeugsteuervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung; und
- 7 ist eine schematische Darstellung des Speicherbereichs der Fahrzeugsteuervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung.
-
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
(Überblick)
-
Zu der Zeit eines Programmupdates stellt eine Fahrzeugsteuervorrichtung gemäß der vorliegenden Erfindung ein auszuführendes Programm von einem Programm vor dem Update auf ein Programm nach dem Update um, nachdem sie bestätigt hat, dass Daten des Programm nach dem Update nicht fehlerhaft sind, sondern ordnungsgemäß bzw. richtig sind. Daher wird ein Programm, das fehlerhafte Daten umfasst, nicht ausgeführt, und es kann verhindert werden, dass ein abnormaler Vorgang ausgeführt wird.
-
(Ausführungsform)
-
Nachfolgend wird eine Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Zeichnung detailliert beschrieben.
-
<Konfiguration>
-
1 zeigt ein Funktionsblockdiagramm einer Fahrzeugsteuervorrichtung 100 gemäß der vorliegenden Ausführungsform. Ein Beispiel für die Fahrzeugsteuervorrichtung 100 ist eine automatische Fahr-ECU, die eine automatische Fahrsteuerung eines Fahrzeugs durchführt und die es erlaubt, dass das Fahrzeug gefahren wird, während Lenkung, ein Verbrennungsmotor, ein Bremsen und dergleichen auf Basis einer Eingabe von verschiedenen Sensoren gesteuert werden. Die Fahrzeugsteuervorrichtung 100 umfasst: einen Ausführungsbereich 11, der ein Prozessor ist; einen Speicherbereich 12, der, zum Beispiel, ein nichtflüchtiger Speicher wie Flash-ROM ist; und einen Update-Bereich 20. Der Speicherbereich 12 umfasst eine erste Speicherzone 13 und eine zweite Speicherzone 14. Der Ausführungsbereich 11 führt ein Steuerprogramm aus, welches ein vorliegendes Programm ist, das auszuführen ist und das auf der ersten Speicherzone 13 gespeichert ist. Die oben beschriebene automatische Fahrsteuerung wird ansprechend auf eine Ausgabe zur Ausführung des Steuerprogramms durchgeführt. Es ist anzumerken, dass die Fahrzeugsteuervorrichtung 100 einen flüchtigen RAM umfassen kann.
-
Der Update-Bereich 20 kann über ein Netzwerk mittels einem OTA-Empfänger oder dergleichen, der an dem Fahrzeug angebracht ist, mit einem Server kommunizieren, der sich außerhalb des Fahrzeugs befindet, und bezieht Daten zur Nutzung bei einem Programmupdate von dem Server. Wenn die Daten bezogen werden, veranlasst der Update-Bereich 20, dass ein aktualisiertes Programm, das eine aktualisierte Version des Steuerprogramms ist, in der zweiten Speicherzone 14 des Speicherbereichs 12 auf Basis der Daten gespeichert wird. Es ist anzumerken, dass die Funktion des Update-Bereichs 20 von dem Ausführungsbereich 11 ausgeführt werden kann.
-
2 zeigt schematisch den Speicherbereich 12, in dem das Steuerprogramm in der ersten Speicherzone 13 gespeichert ist und das aktualisierte Programm nicht in der zweiten Speicherzone 14 gespeichert ist. In der Zeichnung sind Abschnitte, in denen die jeweiligen Daten gemäß der vorliegenden Ausführungsform gespeichert sind, schraffiert. Für eine einfachere Beschreibung sind die erste Speicherzone 13 und die zweite Speicherzone 14 in den gezeigten Beispielen jeweils in sechs Blöcke unterteilt, d. h., Blöcke 1 bis 6.
-
<Prozess>
-
Nachfolgend wird ein Beispiel für einen Programmupdateprozess gemäß der vorliegenden Ausführungsform beschrieben. Erstens ist 3 ein Flussdiagramm zur Erläuterung eines Updateprozesses, der von dem Update-Bereich 20 durchgeführt wird. Dieser Prozess wird zum Beispiel gestartet, wenn der Update-Bereich 20 Zugang zu dem außerhalb des Fahrzeugs befindlichen Server erhält.
-
(Schritt S101): Der Update-Bereich 20 bezieht Daten des aktualisierten Abschnitts von dem außerhalb des Fahrzeugs befindlichen Server. Die Daten des aktualisierten Abschnitts sind Daten, die Daten von Abschnitten nach dem Update für Update-Ziel-Abschnitte des Steuerprogramms abbilden. Die Daten des aktualisierten Abschnitts umfassen zum Beispiel Informationen, die die Update-Ziel-Abschnitte spezifizieren, und die Daten der Abschnitte nach dem Update.
-
(Schritt S102): Der Update-Bereich 20 erzeugt die Daten der Abschnitte nach dem Update auf Basis der Daten des aktualisierten Abschnitts und veranlasst, dass die Daten der Abschnitte nach dem Update in den Update-Ziel-Abschnitten (ersten Abschnitten) der zweiten Speicherzone 14 gespeichert werden. 4 zeigt den Speicherbereich 12, in dem die Daten der Abschnitte nach dem Update gespeichert sind. In dem gezeigten Beispiel sind aktualisierte Abschnitte, die von den Daten des aktualisierten Abschnitts abgebildet werden, Blöcke 2 und 5, und der Update-Bereich 20 veranlasst, dass die Daten des Programms nach dem Update in den Blöcken 2 und 5 der zweiten Speicherzone 14 gespeichert werden.
-
(Schritt S 103): Der Update-Bereich 20 veranlasst, dass Daten von Abschnitten, außer den Update-Ziel-Abschnitten, des Steuerprogramms, die in der ersten Speicherzone 13 gespeichert sind, kopiert werden und in entsprechenden Abschnitten (zweiten Abschnitten) der zweiten Speicherzone 14 gespeichert werden. 5 zeigt den Speicherbereich 12, in dem Daten der Abschnitte außer den Update-Ziel-Abschnitten gespeichert werden. In dem gezeigten Beispiel sind die Abschnitte außer den Update-Ziel-Abschnitten Blöcke 1, 3, 4 und 6 und der Update-Bereich 20 veranlasst, dass Daten von den Blöcken 1, 3, 4 und 6 des Steuerprogramms, die in der ersten Speicherzone 13 gespeichert sind, kopiert werden und in den Blöcken 1, 3, 4 und 6 der zweiten Speicherzone 14 gespeichert werden.
-
(Schritt S 104): Der Update-Bereich 20 vergleicht das in der ersten Speicherzone 13 gespeicherte Steuerprogramm mit dem aktualisierten Programm, das in der zweiten Speicherzone 14 gespeichert ist, wodurch er die Differenz zwischen denselben bezieht. In dem in 5 gezeigten Beispiel liegt die Differenz in Daten von den Blöcken 2 und 5 vor, falls kein Fehler in den Daten vorliegt, die in den Prozessen, die in den Schritten S101 bis S103 durchgeführt wurden, in der zweiten Speicherzone 14 gespeichert wurden. In den nachfolgenden Schritten wird bestätigt, dass in den Daten kein Fehler vorliegt, oder, falls aus irgendeinem Grund ein Fehler in den Daten auftritt, wird der Fehler erfasst und die Daten werden korrigiert.
-
(Schritt S105): Der Update-Bereich 20 vergleicht die Differenz und die Daten des aktualisierten Abschnitts miteinander. Indem die Daten des aktualisierten Abschnitts als Vergleichsziel verwendet werden, ist es möglich, sicher zu überprüfen, ob die veränderten Abschnitte des aktualisierten Programms mit Aktualisierungsinhalten übereinstimmen. In einem Fall, in dem die Differenzen nicht mit den Daten der Abschnitte nach dem Update übereinstimmt, die von den Daten des aktualisierten Abschnitts abgebildet werden, bestimmt der Update-Bereich 20, dass das auf der zweiten Speicherzone 14 gespeicherte aktualisierte Programm nicht ordnungsgemäß gespeichert ist, und der Prozess schreitet zu Schritt S106 fort. In einem Fall, in dem die Differenzen mit den Daten der Abschnitte nach dem Update übereinstimmt, die von den Daten des aktualisierten Abschnitts abgebildet werden, bestimmt der Update-Bereich 20, dass das auf der zweiten Speicherzone 14 gespeicherte aktualisierte Programm ordnungsgemäß gespeichert ist, und der Prozess schreitet zu Schritt S109 fort. Es ist anzumerken, dass als Daten des aktualisierten Abschnitts, welche das Vergleichsziel darstellen, die in Schritt S101 bezogenen Daten des aktualisierten Abschnitts verwendet werden können, oder es kann ein Vergleich mit von dem Server verwalteten Daten des aktualisierten Abschnitts durchgeführt werden. In diesem Fall, d. h., in einem Fall, in dem ein Vergleich mit den von dem Server verwalteten Daten des aktualisierten Abschnitts durchgeführt wird, kann die Differenz an den Server übermittelt werden, sodass ein Bestimmungsergebnis daraus erhalten wird. Selbst falls ein Datenfehler aufgrund eines Kommunikationsfehlers oder dergleichen in den Daten des aktualisierten Abschnitts vorliegt, die ursprünglich von dem Update-Bereich 20 bezogen wurden, kann der Fehler dementsprechend erfasst und korrigiert werden.
-
(Schritt S106): Der Update-Bereich 20 überprüft, ob die Abschnitte, in denen die Differenz und die Daten der Abschnitte nach dem Update, die von den Daten des aktualisierten Abschnitts abgebildet werden, nicht miteinander übereinstimmen, andere Abschnitte außer den Update-Ziel-Abschnitten umfassen. In einem Fall, in dem die Differenz die Daten von den Abschnitten außer den Update-Ziel-Abschnitten umfasst, bestimmt der Update-Bereich 20, dass die Daten nicht ordnungsgemäß in dem Prozess kopiert wurden, in dem das Steuerprogramm in Schritt S103 von der ersten Speicherzone 13 zu der zweiten Speicherzone 14 kopiert wird, und der Prozess schreitet zu Schritt S107 fort. In einem Fall, in dem die Differenz nicht die Daten der Abschnitte außer der Update-Ziel-Abschnitte umfasst, sind die Abschnitte, in denen die Differenz nicht mit den Daten der Abschnitte nach dem Update, die von den Daten des aktualisierten Abschnitts abgebildet werden, übereinstimmt, in den Update-Ziel-Abschnitten umfasst, und daher bestimmt der Update-Bereich 20, dass die Daten in dem Prozess nicht ordnungsgemäß erzeugt oder gespeichert wurden, in dem die Daten der Abschnitte nach dem Update erzeugt werden, oder in dem Prozess, in dem veranlasst wird, dass die Daten der Abschnitte nach dem Update in den Update-Ziel-Abschnitten der zweiten Speicherzone 14 in Schritt S102 gespeichert werden, und der Prozess schreitet zu Schritt S108 fort.
-
(Schritt S107): Der Update-Bereich 20 führt denselben Prozess aus wie demjenigen in Schritt S103, um zu veranlassen, dass die Daten der Abschnitte, außer den Update-Ziel-Abschnitten, des in der ersten Speicherzone 13 gespeicherten Steuerprogramms kopiert werden und an den jeweiligen Positionen in der zweiten Speicherzone 14 gespeichert werden. 6 zeigt ein Beispiel eines Zustands des Speicherbereichs 12 vor und nach Ausführung dieses Schritts. In dem gezeigten Beispiel liegt die Differenz in den Blöcken 1, 2, 3 und 5 vor und die Daten der Abschnitte außer der Update-Ziel-Abschnitte in der Differenz sind Daten der Blöcke 1 und 3, wobei in mindestens einem derselben ein Datenfehler vorliegt. Der Update-Bereich 20 veranlasst, dass die Daten der Blöcke 1, 3, 4 und 6, welche die Daten der Abschnitte, außer der Update-Ziel-Abschnitte, des in der ersten Speicherzone 13 gespeicherten Steuerprogramms sind, kopiert und in den Blöcken 1, 3, 4 und 6 der zweiten Speicherzone 14 gespeichert werden. Es ist anzumerken, dass, um die Verarbeitungsmenge zu reduzieren, der Update-Bereich 20 veranlassen kann, dass nur Daten von Abschnitten, die in der Differenz umfasst sind, von den Abschnitten außer den Update-Ziel-Abschnitten von der ersten Speicherzone 13 in die zweite Speicherzone 14 kopiert werden. In dem gezeigten Beispiel können nur die Daten von den Blöcken 1 und 3, in denen die Differenz vorlieget, von der ersten Speicherzone 13 in die zweite Speicherzone 14 kopiert werden. Nach Ausführen dieses Schritts, schreitet der Prozess zu Schritt S105 fort.
-
(Schritt S108): Der Update-Bereich 20 führt denselben Prozess wie demjenigen in Schritt S102 aus, um die Daten der Abschnitte nach dem Update auf Basis der Daten des aktualisierten Abschnitts zu erzeugen und um zu veranlassen, dass die Daten der Abschnitte nach dem Update in den Update-Ziel-Abschnitten der zweiten Speicherzone 14 gespeichert werden. 7 zeigt ein Beispiel des Zustands des Speicherbereichs 12 vor und nach Ausführung dieses Schritts. In dem gezeigten Beispiel liegt die Differenz in den Blöcken 2 und 5 vor, die Update-Ziel-Abschnitte sind, und von den Update-Ziel-Abschnitten ist ein Abschnitt, der nicht mit den Daten der Abschnitte nach dem Update übereinstimmt, welche von den Daten des aktualisierten Abschnitts abgebildet werden, Block 2, in dem ein Datenfehler vorliegt. Der Update-Bereich 20 erzeugt die Daten der Blöcke 2 und 5, welche die Daten der Abschnitte nach dem Update auf Basis der Daten des aktualisierten Abschnitts sind, und veranlasst, dass die Daten der Blöcke 2 und 5 in den Blöcken 2 und 5 der zweiten Speicherzone 14 gespeichert werden. Um die Verarbeitungsmenge zu reduzieren, kann der Update-Bereich 20 alternativ nur den Abschnitt der Daten des aktualisierten Abschnitts neu erzeugen, der nicht mit der Differenz übereinstimmt, und kann veranlassen, dass nur dieser Abschnitt in der zweiten Speicherzone 14 gespeichert wird. In dem gezeigten Beispiel können nur die Daten des Blocks 2 erzeugt werden und in der zweiten Speicherzone 14 gespeichert werden. Bezüglich der Daten des aktualisierten Abschnitts kann die Gesamtheit der von dem Server verwalteten Daten des aktualisierten Abschnitts oder ein Teil derselben, der einen Abschnitt angibt, der nicht mit der Differenz übereinstimmt, neu bezogen werden, und die Daten der Abschnitte nach dem Update können auf Basis der neu bezogenen Daten des aktualisierten Abschnitts erzeugt werden. In dem Fall, in dem nur ein Teil der Daten des aktualisierten Abschnitts neu bezogen wird, kann die Kommunikationsmenge reduziert werden. Indem die Daten des aktualisierten Abschnitts neu bezogen werden, kann selbst dann, wenn ein Datenfehler aufgrund eines Kommunikationsfehlers oder dergleichen in den Daten des aktualisierten Abschnitts vorliegt, welche von dem Update-Bereich 20 ursprünglich bezogen wurden, dieser Fehler erfasst und korrigiert werden.
-
Falls die mangelnde Übereinstimmung zwischen der Differenz und den Daten der Abschnitte nach dem Update, die von den Daten des aktualisierten Abschnitts abgebildet werden, beseitigt wird, indem einmal oder mehrmals die Prozesse der oben beschriebenen Schritte S106 bis S108 wiederholt werden, stimmen die Differenz und die Daten der Abschnitte nach dem Update, die von den Daten des aktualisierten Abschnitts abgebildet werden, überein, und daher wird in Schritt S105 bestimmt, dass der Prozess zu Schritt S109 fortschreitet.
-
(Schritt S 109): Der Update-Bereich 20 stellt das Programm, das von dem Ausführungsbereich 11 auszuführen ist, von dem Steuerprogramm, das in der ersten Speicherzone 13 gespeichert ist, auf das aktualisierte Programm um, das in der zweiten Speicherzone 14 gespeichert ist. Diese Umstellung kann zum Beispiel ausgeführt werden, indem der Update-Bereich 20 eine vorgegebene Speicherzone von der ersten Speicherzone 13 in die zweite Speicherzone 14 umschreibt, wobei die vorgegebene Speicherzone in dem Speicherbereich 12 oder dergleichen bereitgestellt wird und von der Ausführungsbereich 11 als Programmauslesequelle bezeichnet wird. Dementsprechend führt der Ausführungsbereich 11 das aktualisierte Programm bei Start einer Programmausführung, wie beispielsweise dem nächsten Hochfahren, aus. Nach den oben beschriebenen Schritten wird der Prozess beendet. In der ersten Speicherzone 13 kann das gespeicherte Steuerprogramm von vor dem Update gelöscht werden. Zudem kann die erste Speicherzone 13 als Speicherzone für ein aktualisiertes Programm, welches das nächste Mal auszuführen ist, verwendet werden. Falls der Update-Bereich 20 bestätigt, dass das aktualisierte Programm ordnungsgemäß aktualisiert wurde, stellt in diesem Fall der Update-Bereich 20 das Programm, das von dem Ausführungsbereich 11 auszuführen ist, von dem in der zweiten Speicherzone 14 gespeicherten Programm auf das in der ersten Speicherzone 13 gespeicherte Programm um.
-
<Effekte>
-
In dem Updateprozess gemäß der oben beschriebenen Ausführungsform wird das Ausführungsziel des Ausführungsbereichs auf das aktualisierte Programm umgestellt, nachdem bestätigt wurde, dass in dem Prozess, in dem der Update-Bereich veranlasst, dass das aktualisierte Programm in der zweiten Speicherzone gespeichert wird, das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone gespeichert wurde. Daher ist es möglich, die ECU daran zu hindern, einen abnormalen Vorgang als Folge einer Ausführung eines inkorrekten Programm auszuführen. Falls aus irgendeinem Grund ein Fehler in den Daten auftritt und das aktualisierte Programm nicht ordnungsgemäß in der zweiten Speicherzone gespeichert wird, können zudem die Daten so korrigiert werden, dass das aktualisierte Programm ordnungsgemäß in der zweiten Speicherzone 14 gespeichert wird, indem zumindest ein Teil des Prozesses neu ausgeführt wird.
-
Es ist anzumerken, dass die vorliegende Erfindung nicht nur bei einer Fahrzeugsteuervorrichtung anwendbar ist, sondern auch als Verfahren zur Aktualisierung eines Programms, das von einem Prozessor der Fahrzeugsteuervorrichtung auszuführen ist, und auf ein computerlesbares, nichtflüchtiges Speichermedium, auf dem ein Programm für das Programmupdate gespeichert ist.
-
Die vorliegende Erfindung ist zum Beispiel für ein Fahrzeug nützlich, das eine fahrzeuginterne Vorrichtung umfasst, wie eine automatische Fahrvorrichtung.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2016 [0003]
- JP 60407 [0003]