-
HINTERGRUND
DER ERFINDUNG
-
Querverweise auf verwandte
Anmeldung
-
Diese
Anmeldung basiert auf der japanischen Patentanmeldung 2004-358974,
eingereicht am 10. Dezember 2004. Die Beschreibungen der Patentanmeldung
sind daher sämtlich
durch Bezugnahme hierin enthalten.
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft Techniken zum Wiederbeschreiben von
Anwendungsprogrammen, während
sie auf/in einer in einer elektronischen Steuereinheit (ECU) installierten
Schaltungsplatine eingebaut werden. Diese Anwendungsprogramme sind
von einem Computer der ECU ausführbar.
Die elektronische Steuereinheit ist nachfolgend mit ECU abgekürzt.
-
ECUs,
die vorzugsweise in einem Kraftfahrzeug installiert sind und ein
Ziel wie etwa einen darin eingebauten Motor ansteuern, sind wohl
bekannt, wobei ein Beispiel in der ungeprüften japanischen Patentveröffentlichung
Nr. H10-105468 offenbart ist. In der in der Publikation offenbarten
ECU wurde ein Anwendungsprogramm zur Ansteuerung eines Ziels bzw.
von Zielen in einem nicht flüchtigen,
wiederbeschreibbaren Speicher wie etwa einem ROM (Festwert- bzw.
Nur-Lese-Speicher), einem EEPROM (lösch- und programmierbarer Nur-Lese-Speicher) und
dergleichen gespeichert. Der nicht flüchtige, wiederbeschreibbare
Speicher wurde als eine Komponente eines Computers auf eine bzw.
in einer Schaltungsplatine der ECU montiert. Der Computer der ECU
ist dazu geeignet, das Anwendungsprogramm neu in den nicht flüchtigen,
wiederbeschreibbaren Speicher zu schreiben, ohne es von der Schaltungsplatine
der ECU zu entfernen.
-
In
einer solchen ECU wird, wenn ein früheres Anwendungsprogramm in
einen wiederbeschreibbaren Speicher geschrieben wird, zuerst eine
externe Vorrichtung wie etwa eine Computervorrichtung so eingerichtet,
dass sie über
eine Kommunikationsleitung kommunizierbar mit der ECU verbunden
ist. Anschließend
wird eine Schreibanforderung über
die Kommunikationsleitung von der externen Vorrichtung zu einem
Computer der ECU als Befehl gesendet. Diese Schreibanforderung erlaubt
es dem Computer, seinen Betriebsmodus in einen Modus (Anwendungsprogramm-Wiederbeschreibmodus)
zu verschieben, in dem der Computer in dem wiederbeschreibbaren
Speicher gespeicherte Anwendungsprogramme neu schreiben kann. Es
ist zu beachten, dass die Schreibanforderung von der externen Vorrichtung
zu der ECU über
eine Signalleitung übertragen
werden kann, die von der Kommunikationsleitung verschieden ist.
-
Nach
der Übertragung
der Schreibanforderung wird ein Wiederbeschreibsteuerprogramm von der
externen Vorrichtung zu dem Computer der ECU gesendet, das Wiederbeschreibsteuerprogramm
ist so ausgelegt, dass es einen Computer veranlasst:
ein von
der externen Vorrichtung gesendetes neues Anwendungsprogramm zu
empfangen; und
das frühere
Anwendungsprogramm auf das empfangene neue Anwendungsprogramm zu
aktualisieren.
-
Insbesondere
nach dem Senden des Wiederbeschreibsteuerprogramms wird das neue
Anwendungsprogramm von der externen Vorrichtung zu dem Computer
der ECU gesendet.
-
Andererseits
lässt der
Computer der ECU einen Bootloader (Bootprogramm) laufen, das zuvor
in dessen nicht flüchtigem,
wiederbeschreibbarem Speicher gespeichert wurde. Der Bootloader
bewirkt, dass der Computer:
das Wiederbeschreibsteuerprogramm
empfängt,
um es in einen RAM (Direktzugriffsspeicher) des Computers herunter
zu laden; und
das in dem RAM gespeicherte Wiederbeschreibprogramm
startet.
-
Insbesondere
bewirkt der Bootloader, dass als der Startprozess die Ausführungsadresse
des Computers zu der Anfangsadresse des Wiederbeschreibsteuerprogramms
in dem RAM springt. Nach dem Springen der Ausführungsadresse des Computers
führt der
Computer das Wiederbeschreibsteuerprogramm in dem RAM aus, um so
das von der externen Vorrichtung übertragene neue Anwendungsprogramm
zu empfangen und damit das frühere
Anwendungsprogramm auf das empfangene neue Anwendungsprogramm in
dem wiederbeschreibbaren Speicher zu aktualisieren.
-
Diese
oben dargelegten Anwendungsprogramm-Wiederbeschreiboperationen sind in der oben
erwähnten
ungeprüften
Patentveröffentlichung offenbart.
-
Insbesondere
erlauben diese Anwendungsprogramm-Wiederbeschreiboperationen, dass das frühere Anwendungsprogramm
in das neue Anwendungsprogramm in dem wiederbeschreibbaren Speicher
umgeschrieben wird. Zum Beispiel kann eine frühere Version des Anwendungsprogramms
auf ei ne neue Version davon in dem wiederbeschreibbaren Speicher
aktualisiert werden.
-
Wenn
keine zu aktualisierenden Anwendungsprogramme in dem wiederbeschreibbaren Speicher
gespeichert sind, wird das von der externen Vorrichtung gesendete
neue Anwendungsprogramm in dem wiederbeschreibbaren Speicher gespeichert.
-
In
der ungeprüften
Patentveröffentlichung sind
das Wiederbeschreibsteuerprogramm und das neue Anwendungsprogramm
als unterschiedliche Dateien in der externen Vorrichtung gespeichert.
Der von dem Computer der ECU auszuführende Bootloader dient dem
Download des Wiederbeschreibsteuerprogramms in den RAM und dem Sprung
der Ausführungsadresse
des Computers zu der Anfangsadresse des Wiederbeschreibsteuerprogramms.
-
Derartige
externe Vorrichtungen zur Neu- bzw. Umschreibung von Anwendungsprogrammen zum
Beispiel auf dem Gebiet von Kraftfahrzeugen verwenden irgendeinen
von typischerweise drei unterschiedlichen Anwendungsprogramm-Sendewegen (Programme,
Prozeduren) A bis C. Externe Vorrichtungen vom A-, B- und C-Typ
verwenden die Anwendungsprogramm-Sendewege A, B bzw. C.
-
Insbesondere
ist der A-Typ externer Vorrichtungen so konfiguriert, dass in ihm
ein Wiederbeschreibsteuerprogramm und ein neues Anwendungsprogramm
in unterschiedlichen Dateien gespeichert sind.
-
Der
B-Typ externer Vorrichtungen ist so konfiguriert, dass in ihm ein
Wiederbeschreibsteuerprogramm und ein neues Anwendungsprogramm in
derselben, einzigen Datei gespeichert sind.
-
Der
C-Typ externer Vorrichtungen ist so konfiguriert, dass in ihm ein
neues Anwendungsprogramm gespeichert ist, ohne gleichzeitig ein
Wiederbeschreibsteuerprogramm zu speichern, da der C-Typ externer
Vorrichtungen mit dem Übereinkommen
ausgelegt ist, dass ein Wiederbeschreibsteuerprogramm in einem nicht
flüchtigen
Speicher eines Computers der ECU gespeichert ist.
-
Um
ein in der ECU gespeichertes früheres Anwendungsprogramm
wieder zu beschreiben bzw. zu überschreiben,
werden in einer externen Vorrichtung vom A-Typ das Wiederbeschreibsteuerprogramm
und das neue Anwendungsprogramm getrennt von der externen Vorrichtung
vom A-Typ zu der ECU gesendet.
-
Im
Gegensatz dazu sind in einer externen Vorrichtung vom B-Typ das
Wiederbeschreibsteuerprogramm und das neue Anwendungsprogramm in derselben,
einzigen Datei abgelegt, so dass sie, um ein in der ECU gespeichertes
früheres
Anwendungsprogramm wieder zu beschreiben, von der externen Vorrichtung
vom B-Typ in einer einzigen Datei zu der ECU gesendet werden. Aus
diesem Grund bewirkt der von dem Computer der ECU ausgeführte Bootloader
nicht, dass der Computer die Endadresse des Wiederbeschreibsteuerprogramms
identifiziert. Dies hat zur Folge, dass es sein kann, dass das Herunterladen
des Wiederbeschreibsteuerprogramms in den RAM erfolglos ist, was
es schwierig macht, das frührere
Anwendungsprogramm korrekt zu aktualisieren.
-
Ferner,
da von einer externen Vorrichtung vom C-Typ kein Wiederbeschreibsteuerprogramm zur
ECU gesendet wird, kann es sein, dass der von dem Computer der ECU
ausgeführte
Bootloader bewirkt, dass der Computer das von der externen Vorrichtung
vom C-Typ gesendete neue Anwendungsprogramm irrtümlich als das Wiederbeschreibsteuerprogramm in
den RAM herunterlädt.
Dies kann es auch schwierig machen, das frühere Anwendungsprogramm korrekt
zu aktualisieren.
-
Es
ist vorstellbar, dass die Bootloader (Bootprogramme) ausschließlich für die Typen
A, B und C externer Vorrichtungen ausgelegt sind. Dies kann zur Folge
haben, dass sich die Anzahl von Prozessen zur Entwicklung der anwendungsspezifischen
Boodloader für
die Typen A bis C externer Vorrichtungen erhöht. Ferner kann es notwendig
sein, einen der Bootloader auszuwählen, so dass er mit einem
der Typen einer verwendeten externen Vorrichtung kompatibel ist,
was zur Folge hat, dass das Management der anwendungsspezifischen
Bootloader und der externen Vorrichtungen der Typen A bis C kompliziert
wird.
-
Wenn
einer der Bootloader, der zu dem Typ von einer der verwendeten externen
Vorrichtungen inkompatibel ist, in dem Computer der ECU installiert ist,
können
frühere
Anwendungsprogramme, die schon in dem Computer der ECU installiert
sind, nicht auf neue Anwendungsprogramme aktualisiert werden.
-
KURZDARSTELLUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung ist vor dem oben ausgeführten Hintergrund gemacht worden.
Insbesondere stellt wenigstens eine bevorzugte Ausführungsform
der vorliegenden Erfindung ein Programmwiederbeschreibsystem und
eine elektronische Steuereinheit bereit, die dazu geeignet sind,
alle unterschiedlichen Anwendungsprogramm-Sendewege, die von externen Vorrichtungen
verwendet werden, zu akzeptieren.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein System, das zumindest
beim Wiederbeschreiben we nigstens in einem Modul eines in einem
ersten Speicher des Systems gespeicherten ersten Anwendungsprogramms
in ein in einer externen Vorrichtung gespeichertes zweites Anwendungsprogramm
kommunizierbar mit der externen Vorrichtung gekoppelt ist. Die externe
Vorrichtung ist ausgelegt bzw. konfiguriert, um auf der Grundlage
eines ersten und eines zweiten Weges, die unterschiedlich sind,
das zweite Anwendungsprogramm an das System zu senden. Der erste
Weg besteht darin, ein in der externen Vorrichtung als Schreibzieldaten
gespeichertes Wiederbeschreibsteuerprogramm und das an das Wiederbeschreibsteuerprogramm
angrenzende zweite Anwendungsprogramm als die Schreibzieldaten an
das System zu senden. Der zweite weg besteht darin, das zweite Anwendungsprogramm
als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm
zu senden. Das Wiederbeschreibsteuerprogramm erlaubt es dem System,
das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben.
Das System umfasst eine Empfangseinheit, die konfiguriert ist, um
eine von der externen Vorrichtung gesendete Kennung zu empfangen.
Die Kennung bestimmt einen Zeitpunkt zum Senden des zweiten Anwendungsprogramms
von der externen Vorrichtung. Das System umfasst ferner eine Identifizierungseinheit,
die konfiguriert ist, um zu identifizieren, dass die von der externen
Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des
zweiten Anwendungsprogramms sind, nachdem die Kennung von der Empfangseinheit
empfangen wurde.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung wird ein System, das zumindest
beim Wiederbeschreiben wenigstens in einem Modul eines in einem
ersten Speicher des Systems gespeicherten ersten Anwendungsprogramms
in ein in einer externen Vorrichtung gespeichertes zweites Anwendungsprogramm
kommunizierbar mit der externen Vorrichtung gekoppelt ist. Die externe
Vorrichtung ist aus gelegt bzw. konfiguriert, um auf der Grundlage
eines ersten und eines zweiten Weges, die unterschiedlich sind,
das zweite Anwendungsprogramm an das System zu senden. Der erste
Weg besteht darin, ein in der externen Vorrichtung als Schreibzieldaten
gespeichertes Wiederbeschreibsteuerprogramm und das an das Wiederbeschreibsteuerprogramm
angrenzende zweite Anwendungsprogramm als die Schreibzieldaten an
das System zu senden. Der zweite Weg besteht darin, das zweite Anwendungsprogramm
als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm
zu senden. Das Wiederbeschreibsteuerprogramm erlaubt es dem System,
das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben.
Das System umfasst eine Bestimmungseinheit, die konfiguriert ist,
um zu bestimmen, ob eine von der externen Vorrichtung gesendete
Kennung empfangen werden soll. Die Kennung bestimmt einen Zeitpunkt
zum Senden des zweiten Anwendungsprogramms von der externen Vorrichtung.
Das System umfasst ferner eine erste Identifizierungseinheit, die
konfiguriert ist, um zu identifizieren, dass die von der externen
Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des
Wiederbeschreibsteuerprogramms sind, bis bestimmt wird, dass die
Kennung empfangen wurde. Das System umfasst ferner eine zweite Identifizierungseinheit,
die konfiguriert ist, um zu identifizieren, dass die von der externen
Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des
zweiten Anwendungsprogramms sind, nachdem bestimmt wurde, dass die
Kennung empfangen wurde.
-
Gemäß einem
dritten Aspekt der vorliegenden Erfindung wird ein Programmprodukt
mit einem in einem System installierten Bootloader bereitgestellt.
Das System ist zumindest beim Wiederbeschreiben wenigstens in einem
Modul eines in einem ersten Speicher des Systems gespeicherten ersten Anwendungsprogramms
in ein in einer externen Vor richtung gespeichertes zweites Anwendungsprogramm
kommunizierbar mit der externen Vorrichtung gekoppelt ist. Die externe
Vorrichtung ist ausgelegt bzw. konfiguriert, um auf der Grundlage
eines ersten und eines zweiten Weges, die unterschiedlich sind, das
zweite Anwendungsprogramm an das System zu senden. Der erste Weg
besteht darin, ein in der externen Vorrichtung als Schreibzieldaten
gespeichertes Wiederbeschreibsteuerprogramm und das an das Wiederbeschreibsteuerprogramm
angrenzende zweite Anwendungsprogramm als die Schreibzieldaten an
das System zu senden. Der zweite Weg besteht darin, das zweite Anwendungsprogramm
als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm
zu senden. Das Wiederbeschreibsteuerprogramm erlaubt es dem System,
das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben. Der
Bootloader umfasst ein erstes Mittel, um einen Computer anzuweisen,
zu bestimmen, ob eine von der externen Vorrichtung gesendete Kennung
empfangen werden soll. Die Kennung bestimmt einen Zeitpunkt zum
Senden des zweiten Anwendungsprogramms von der externen Vorrichtung.
Der Bootloader umfasst ferner ein zweites Mittel, um einen Computer
anzuweisen, zu identifizieren, dass die von der externen Vorrichtung
gesendeten Schreibzieldaten wenigstens ein Modul des Wiederbeschreibsteuerprogramms
sind, bis bestimmt wird, dass keine Kennung empfangen wurde. Der
Bootloader umfasst ferner ein drittes Mittel, um einen Computer
anzuweisen, zu identifizieren, dass die von der externen Vorrichtung
gesendeten Schreibzieldaten wenigstens ein Modul des zweiten Anwendungsprogramms
sind, nachdem bestimmt wird, dass die Kennung empfangen wurde.
-
Gemäß einem
vierten Aspekt der vorliegenden Erfindung wird ein Signal tragendes
Medium bereitgestellt, das den Bootloader gemäß dem dritten Aspekt der vorliegenden
Erfindung trägt.
-
Gemäß einem
fünften
Aspekt der vorliegenden Erfindung wird eine Fahrzeugregelungseinheit zur
Regelung eines in einem Fahrzeug eingebauten Ziels bereitgestellt.
Die Fahrzeugregelungseinheit umfasst einen Computer und das Signal
tragende Medium gemäß dem dritten
Aspekt der vorliegenden Erfindung. Das Signal tragende Medium ist
von dem Computer lesbar.
-
Gemäß einem
sechsten Aspekt der vorliegenden Erfindung wird System bereitgestellt,
das zumindest beim Wiederbeschreiben wenigstens in einem Modul eines
in einem ersten Speicher des Systems gespeicherten ersten Anwendungsprogramms in
ein in einer externen Vorrichtung gespeichertes zweites Anwendungsprogramm
kommunizierbar mit der externen Vorrichtung gekoppelt ist. Die externe Vorrichtung
ist ausgelegt bzw. konfiguriert, um auf der Grundlage eines ersten
und eines zweiten Weges, die unterschiedlich sind, das zweite Anwendungsprogramm
an das System zu senden. Der erste Weg besteht darin, ein in der
externen Vorrichtung als Schreibzieldaten gespeichertes Wiederbeschreibsteuerprogramm
und das an das Wiederbeschreibsteuerprogramm angrenzende zweite
Anwendungsprogramm als die Schreibzieldaten an das System zu senden.
Der zweite Weg besteht darin, das zweite Anwendungsprogramm als
die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm
zu senden. Das Wiederbeschreibsteuerprogramm erlaubt es dem System,
das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben.
Das System umfasst eine Empfangseinheit, die konfiguriert ist, um
von der externen Vorrichtung gesendete Zielortinformationen zu empfangen.
Die Zielortinformationen umfassen eine Adresse, bei der die Schreibzieldaten geschrieben
werden. Das System umfasst ferner eine Bestimmungseinheit, die konfiguriert
ist, um zu bestimmen, ob die Zielortinformationen eine Adresse in
dem ersten Speicher anzeigen. Das System umfasst ferner eine Identifizierungseinheit,
die konfiguriert ist, um zu identifizieren, dass die von der externen
Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des
zweiten Anwendungsprogramms sind, nachdem bestimmt wurde, dass die Zielortinformationen
eine Adresse in dem ersten Speicher anzeigen.
-
Gemäß einem
siebten Aspekt der vorliegenden Erfindung wird ein System bereitgestellt,
das zumindest beim Wiederbeschreiben wenigstens in einem Modul eines
in einem ersten Speicher des Systems gespeicherten ersten Anwendungsprogramms in
ein in einer externen Vorrichtung gespeichertes zweites Anwendungsprogramm
kommunizierbar mit der externen Vorrichtung gekoppelt ist. Die externe Vorrichtung
ist ausgelegt bzw. konfiguriert, um auf der Grundlage eines ersten
und eines zweiten Weges, die unterschiedlich sind, das zweite Anwendungsprogramm
an das System zu senden. Der erste Weg besteht darin, ein in der
externen Vorrichtung als Schreibzieldaten gespeichertes Wiederbeschreibsteuerprogramm
und das an das Wiederbeschreibsteuerprogramm angrenzende zweite
Anwendungsprogramm als die Schreibzieldaten an das System zu senden.
Der zweite Weg besteht darin, das zweite Anwendungsprogramm als
die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm
zu senden. Das Wiederbeschreibsteuerprogramm erlaubt es dem System,
das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben.
Das System umfasst eine Empfangseinheit, die konfiguriert ist, um
von der externen Vorrichtung empfangene Zielortinformationen zu
empfangen. Die Zielortinformationen zeigen eine Adresse an, bei
der die Schreibzieldaten geschrieben werden. Das System umfasst
ferner eine Bestimmungseinheit, die konfiguriert ist, um zu bestimmen,
ob die Zielortinformationen eine Adresse in dem ersten Speicher
anzeigen. Das System umfasst ferner eine erste Identifizierungseinheit, die
konfiguriert ist, um zu identifizieren, dass die von der externen
Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des
Wiederbeschreibsteuerprogramms sind, bis bestimmt wird, dass die
Zielortinformationen eine Adresse in dem ersten Speicher anzeigen.
Das System umfasst ferner eine zweite Identifizierungseinheit, die
konfiguriert ist, um zu identifizieren, dass die von der externen
Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des
zweiten Anwendungsprogramms sind, nachdem bestimmt wurde, dass die
Zielortinformationen eine Adresse in dem ersten Speicher anzeigen.
-
Gemäß einem
achten Aspekt der vorliegenden Erfindung wird ein Programmprodukt
mit einem in einem System installierten Bootloader bereitgestellt.
Das System ist zumindest beim Wiederbeschreiben wenigstens in einem
Modul eines in einem ersten Speicher des Systems gespeicherten ersten Anwendungsprogramms
in ein in einer externen Vorrichtung gespeichertes zweites Anwendungsprogramm
kommunizierbar mit der externen Vorrichtung gekoppelt ist. Die externe
Vorrichtung ist ausgelegt bzw. konfiguriert, um auf der Grundlage
eines ersten und eines zweiten Weges, die unterschiedlich sind, das
zweite Anwendungsprogramm an das System zu senden. Der erste Weg
besteht darin, ein in der externen Vorrichtung als Schreibzieldaten
gespeichertes Wiederbeschreibsteuerprogramm und das an das Wiederbeschreibsteuerprogramm
angrenzende zweite Anwendungsprogramm als die Schreibzieldaten an
das System zu senden. Der zweite Weg besteht darin, das zweite Anwendungsprogramm
als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm
zu senden. Das Wiederbeschreibsteuerprogramm erlaubt es dem System,
das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben. Der
Bootloader umfasst ein erstes Mittel, um einen Computer anzuweisen,
zu bestimmen, ob die Zielortinformationen eine Adresse in dem ersten
Speicher anzeigen. Der Bootloader umfasst ferner ein zweites Mittel,
um einen Computer anzuweisen, zu identifizieren, dass die von der
externen Vorrichtung gesendeten Schreibzieldaten wenigstens ein
Modul des Wiederbeschreibsteuerprogramms sind, bis bestimmt wird,
dass die Zielortinformationen eine Adresse in dem ersten Speicher
anzeigen. Der Bootloader umfasst ein drittes Mittel, um einen Computer anzuweisen,
zu identifizieren, dass die von der externen Vorrichtung gesendeten
Schreibzieldaten wenigstens ein Modul des zweiten Anwendungsprogramms
sind, nachdem bestimmt wurde, dass die Zielortinformationen eine
Adresse in dem ersten Speicher anzeigen.
-
Gemäß einem
neunten Aspekt der vorliegenden Erfindung wird ein Signal tragendes
Medium bereitgestellt, das den Bootloader gemäß der achten Ausführungsform
trägt.
-
Gemäß einem
zehnten Aspekt der vorliegenden Erfindung wird eine Fahrzeugregelungseinheit zur
Regelung eines in einem Fahrzeug installierten Ziels bereitgestellt.
Die Fahrzeugregelungseinheit umfasst einen Computer und ein Signal
tragendes Medium gemäß dem achten
Aspekt der vorliegenden Erfindung, wobei dieses Signal tragende
Medium von dem Computer lesbar ist.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Weiter
Ziele und Aspekte der Erfindung werden ersichtlich aus der nachfolgenden
Beschreibung einer Ausführungsform
mit Bezug auf die beigefügten Zeichnungen.
In den Zeichnungen sind:
-
1 ein
Blockdiagramm, das schematisch ein Beispiel einer Hardwarestruktur
eines Programmwiederbeschreibsystems mit einem externen Tool vom
A-Typ gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung darstellt;
-
2 ein
Blockdiagramm, das schematisch ein Beispiel einer Hardwarestruktur
eines Programmwiederbeschreibsystems mit einem externen Tool vom
B-Typ gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung darstellt;
-
3 ein
Blockdiagramm, das schematisch ein Beispiel einer Hardwarestruktur
eines Programmwiederbeschreibsystems mit einem externen Tool vom
C-Typ gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung darstellt;
-
4 ein
Flussdiagramm, das schematisch die Gesamtprozedur eines Bootloaders
gemäß einer ersten
Ausführungsform
darstellt;
-
5 ein
Flussdiagramm, das schematisch einen Algorithmus eines Übertragungsbestimmungsprogramms
darstellt, das in dem in jeder der 1 bis 3 dargestellten
Bootloader enthalten ist;
-
6 ein
Programmablaufdiagramm, das schematisch in 1 dargestellte
Kommunikationsprozeduren zwischen dem externen Tool vom A-Typ und
der ECU darstellt;
-
7 ein
Programmablaufdiagramm, das schematisch in 2 dargestellte
Kommunikationsprozeduren zwischen dem externen Tool vom B-Typ und
der ECU darstellt;
-
8 ein
Programmablaufdiagramm, das schematisch in 3 dargestellte
Kommunikationsprozeduren zwischen dem externen Tool vom C-Typ und
der ECU darstellt;
-
9 ein
Flussdiagramm, das schematisch die Gesamtprozedur eines Bootloaders
gemäß einer zweiten
Ausführungsform
der vorliegenden Erfindung darstellt;
-
10 ein
Flussdiagramm, das schematisch einen Algorithmus eines Übertragungsbestimmungsprogramms
darstellt, das in dem in 9 dargestellten Bootloader enthalten
ist;
-
11 ein
Programmablaufdiagramm, das schematisch Kommunikationsprozeduren
zwischen dem externen Tool vom A-Typ bzw. dem externen Tool vom
B-Typ mit der ECU darstellt; und
-
12 ein
Programmablaufdiagramm, das schematisch Kommunikationsprozeduren
zwischen dem externen Tool vom C-Typ und der ECU veranschaulicht.
-
AUSFÜHRLICHE
BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
DER ERFINDUNG
-
Ausführungsformen
der vorliegenden Erfindung sind nachfolgend mit Bezug auf die beigefügten Figuren
beschrieben.
-
Erste Ausführungsform
-
Bezugnehmend
auf 1 umfasst ein Programmneu- bzw. überschreibsystem
RS gemäß der ersten
Ausführungsform
eine ECU 1, die vorzugsweise in einem Kraftfahrzeug eingebaut
ist und ein Ziel wie etwa einen darin eingebauten Motor ansteuert. Das
Programmwiederbeschreibsystem RS umfasst ferner ein externes Tool
bzw. Hilfsprogramm 5, wobei eine solche externe Vorrichtung
eine in einem Computer implementierte Kommunikationsvorrichtung umfasst.
Zumindest beim Überschreiben
eines früheren
Anwendungsprogramms, das in der ECU 1 gespeichert wurde,
wird über
ei ne Kommunikationsleitung 3 eine Kommunikation zwischen
dem externen Tool 5 und der ECU 1 hergestellt.
-
Die
ECU 1 umfasst einen Mikrocomputer 7 und einen
Kommunikations- bzw. Datenübertragungstreiber 9,
um es dem Mikrocomputer 7 zu ermöglichen, über die Kommunikationsleitung 3 mit dem
externen Tool 5 zu kommunizieren. Der Mikrocomputer 7 umfasst
eine CPU 11, die Programme ablaufen lässt, einen Flash-ROM 13 als
ein Beispiel nicht flüchtiger,
wiederbeschreibbarer Speicher und einen RAM 15 als ein
Beispiel nicht flüchtiger
Speicher, der als ein Hauptarbeitsspeicher des Mikrocomputers 7 dient.
Die Elemente des Mikrocomputers 7 sind zum Beispiel auf/in
einer Schaltungsplatine der ECU 1 angebracht.
-
In
dem Flash-ROM 13 ist ein früheres Anwendungsprogramm AP1
und ein Bootloader BL gespeichert. Der Bootloader BL bewirkt bzw.
veranlasst, dass die CPU 11 ein nachstehend beschriebenes
und in dem RAM 15 gespeichertes Wiederbeschreibsteuerprogramm
RP zu starten, wenn von dem externen Tool 5 eine Schreibanforderung
zu dem Mikrocomputer 7 gesendet wird. Die Schreibanforderung
erlaubt es der CPU 11, ihren Betriebsmodus in einen Modus
zu verschieben, in dem die CPU 11 in dem Flash-ROM 13 gespeicherte
Anwendungsprogramme überschreiben
kann. Das Wiederbeschreibsteuerprogramm bewirkt, dass die CPU 11 das
frühere
Anwendungsprogramm AP1 in ein neues Anwendungsprogramm aktualisiert
bzw. updated. Der Bootloader BL kann in einem ROM des Mikrocomputers 7 gespeichert
sein. Ferner ist die Schreibanforderung so konfiguriert, dass sie
von dem externen Tool 5 zur ECU 1 gesendet wird,
wenn in dem externen Tool 5 eine vorbestimmte Operation ausgeführt wird.
-
In
dem ersten Ausführungsform
kann als das externe Tool einer von drei Typen A, B und C externer Tools 5a bis 5c verwendet
werden. Die drei Typen A bis C externer Tools 5a bis 5c verwenden
Sendewege A, B bzw. C für
Anwendungsprogramme.
-
Insbesondere
das externe Tool 5a vom A-Typ ist so konfiguriert, dass
darin das Wiederbeschreibsteuerprogramm RP und ein neues Anwendungsprogramm
AP2 in unterschiedlichen Dateien F1 und F2 (siehe 1)
gespeichert sind.
-
Das
externe Tool 5b vom B-Typ ist so konfiguriert, dass darin
das Wiederbeschreibsteuerprogramm RP und das neue Anwendungsprogramm AP2
in derselben einzigen Datei F3 (siehe 2) gespeichert
sind.
-
Das
externe Tool 5c vom C-Typ ist so konfiguriert, dass darin
das neue Anwendungsprogramm AP2 als eine Datei F2 gespeichert ist,
ohne jedoch das Wiederbeschreibsteuerprogramm RP zu speichern, da
das externe Tool 5c vom C-Typ vereinbarungsgemäß so ausgelegt ist, dass das
Wiederbeschreibsteuerprogramm RP in dem Mikrocomputer 7 der
ECU 1 gespeichert wurde.
-
Wie
es zum Beispiel in den 1 und 3 gezeigt
ist, befindet sich ein ROM-Identifizierungscode CD im oberen Bereich
(dem Anfang) der gesamten, in der Datei F2 gespeicherten Daten (Informationen).
Dieser ROM-Identifizierungscode CD ermöglicht der CPU 11 die
Identifizierung der auf den Identifizierungscode CD folgenden Daten
(Informationen) als ein neues Anwendungsprogramm, Jedes der externen
Tools 5a und 5c sendet daher den ROM-Identifizierungscode
CD an die ECU 1, bevor es neue Anwendungsprogramm AP2 sendet.
-
Entsprechend
befindet sich, wie es zum Beispiel in 2 dargestellt
ist, der ROM-Identifizierungscode CD an der Grenze zwischen dem
Wiederbeschreibsteuerprogramm RP und dem neuen Anwendungsprogramm
AP2 Dieser ROM-Identifizierungscode
CD ermöglicht
der CPU 11 die Identifizierung der auf den Identifizierungscode
CD folgenden Daten (Informationen) als ein neues Anwendungsprogramm.
Das externe Tool 5b sendet daher den ROM-Identifizierungscode
CD an die ECU 1, bevor es das neue Anwendungsprogramm AP2
sendet.
-
Jedes
der externen Tools 5a bis 5c ist so konfiguriert,
dass es Daten in einer vorbestimmten Einheitsmenge von Daten, zum
Beispiel 2 Bytes, sequenziell über
die Kommunikationsleitung 3 an die ECU 1 sendet.
-
Insbesondere
ist, wenn die ECU 1 dazu geeignet ist, mit externen Tools
vom C-Typ zu kommunizieren, in einem vorbestimmten ersten Adressbereich
in dem Flash-ROM 13 der ECU 1 das Wiederbeschreibsteuerprogramm
RP gespeichert. Es ist zu beachten, dass das Wiederbeschreibsteuerprogramm
RP in einem weiteren, nicht flüchtigen
Speicher wie etwa einem ROM des Mikrocomputers 7 gespeichert
worden sein kann.
-
Nachfolgend
sind Operationen jedes der externen Tools 5a bis 5c und
der ECU 1 beschrieben, wenn das früherer Anwendungsprogramm AP1 überschrieben
wird.
-
Wenn
die Schreibanforderung von einem der externen Tools 5a bis 5c zur
ECU 1 gesendet wird, verschiebt die CPU 11 des
Mikrocomputers 7, unabhängig
davon, welches externe Tool zur Kommunikation mit der ECU 1 bereit
ist, ihre Ausführungsadresse
von dem früheren
Anwendungsprogramm AP1 in dem Flash-ROM 13 zu der Anfangsadresse
des darin enthaltenen Bootloaders BL.
-
Nachdem
das externe Tool 5a vom A-Typ die Schreibanforderung an
die ECU 1 gesendet hat, sendet das externe Tool 5a vom
A-Typ das Wiederbeschreibsteuerprogramm RP (die Datei F1) an die ECU 1.
-
Wenn
das Wiederbeschreibsteuerprogramm RP von dem externen Tool 5a vom
A-Typ gesendet wird, lässt
die CPU 11 des Mikrocomputers 7 den Bootloader
BL ablaufen. Der Bootloader BL bewirkt, dass die CPU 11 das
Wiederbeschreibsteuerprogramm RP empfängt und sequenziell ab einer
vorbestimmten Adresse (Anfangsadresse) in den RAM 15 herunterlädt. Nach
Beenden des Downloads des Wiederbeschreibsteuerprogramms bewirkt
der Bootloader BL, dass die CPU 11 ihre Ausführungsadresse zu
der Anfangsadresse des Wiederbeschreibsteuerprogramms RP verschiebt,
Nach Beenden des Sendens des Wiederbeschreibsteuerprogramms RP sendet
das externe Tool 5a das neue Anwendungsprogramm AP2 (die
Datei F2) an die ECU 1.
-
Hingegen
lässt die
CPU 11, nach Verschieben die Ausführungsadresse der CPU zu der
Anfangsadresse des Wiederbeschreibsteuerprogramms RP das Wiederbeschreibsteuerprogramm RP
von deren Anfangsadresse ablaufen. Insbesondere veranlasst das Wiederbeschreibsteuerprogramm
RP, dass die CPU 11 Wiederbeschreib-(Aktualisierungs-)Operationen
zur Aktualisierung des von dem externen Tool 5a gesendeten
neuen Anwendungsprogramms AP in dem Flash-ROM 13 ausführt. Die
Wiederbeschreibeoperationen ermöglichen
es, dass das in dem Flash-ROM 13 gespeicherte frühere Anwendungsprogramm
AP1 in das neue Anwendungsprogramm AP2 umgeschrieben wird bzw. von diesem überschrieben
wird. Wenn in dem Flash-ROM 13 kein Anwendungsprogramm
gespeichert ist, das aktualisiert werden müsste, wird das von dem externen
Tool 5a gesendete neue Anwendungsprogramm AP2 in dem Flash-ROM 13 als
neuer Eintrag gespeichert.
-
Wie
es in 2 dargestellt ist, sendet das externe Tool 5b vom
B-Typ, nachdem das externe Tool 5b vom B-Typ die Schreibanforderung
an die ECU 1 gesendet hat, das Wiederbeschreibsteuerprogramm
RP und das neue Anwendungsprogramm AP2 (die Datei F3) an die ECU 1.
-
Wenn
die Datei F3 von dem externen Tool 5b vom B-Typ gesendet
wird, lässt
die CPU 11 des Mikrocomputers 7 den Bootloader
BL ablaufen. Der Bootloader BL bewirkt, dass die CPU 11 die
Datei F3 (das Wiederbeschreibsteuerprogramm RP und das neue Anwendungsprogramm
AP2) empfängt
und sie sequenziell ab einer vorbestimmten Adresse (Anfangsadresse)
in den RAM 15 herunterlädt.
Nach Beenden des Downloads der Datei F3 bewirkt der Bootloader BL,
dass die CPU 11 ihre Ausführungsadresse zu der Anfangsadresse
der Datei F3 (Wiederbeschreibsteuerprogramm RP) verschiebt.
-
Anschließend lässt die
CPU 11 das Wiederbeschreibsteuerprogramm RP von dessen
Anfangsadresse aus ablaufen. Insbesondere veranlasst das Wiederbeschreibsteuerprogramm
RP, dass die CPU 11 Wiederbeschreib-(Aktualisierungs-)Operationen zur
Aktualisierung des von dem externen Tool 5a gesendeten
neuen Anwendungsprogramms AP2 in dem Flash-ROM 13 ausführt.
-
Andererseits
sendet das externe Tool 5c vom C-Typ das neue Anwendungsprogramm
AP2 (die Datei F2) an die ECU 1, nachdem das externe Tool 5c vom
C-Typ die Schreibanforderung an die ECU 1 gesendet hat,
wie es in 3 dargestellt ist.
-
Wenn
die Datei F2 von dem externen Tool 5c vom C-Typ gesendet
wird, lässt
die CPU 11 des Mikrocomputers 7 den Bootloader
BL ablaufen. Der Bootloader BL bewirkt, dass die CPU 11 das
neue Anwendungsprogramm AP1 empfängt
und es sequenziell ab einer vorbestimmten Adresse (Anfangsadresse)
in den RAM 15 herunterlädt.
Nach Beenden des Downloads des neuen Anwendungsprogramms AP2, veranlasst
der Bootloader BL, dass die CPU 11 das zuvor in dem Flash-ROM 13 gespeicherte
Wiederbeschreibsteuerprogramm RP ab einer vorbestimmten Adresse
(Speicheradresse) in den RAM 15 kopiert. Nach Beenden des
Kopiervorgangs des Wiederbeschreibsteuerprogramms, bewirkt der Bootloader
BL, dass die CPU 11 ihre Ausführungsadresse zu der Anfangsadresse
des Wiederbeschreibsteuerprogramms RP verschiebt.
-
Anschließend lässt die
CPU 11 das Wiederbeschreibsteuerprogramm RP von dessen
Anfangsadresse aus ablaufen. Insbesondere veranlasst das Wiederbeschreibsteuerprogramm
RP, dass die CPU 11 Wiederbeschreib-(Aktualisierungs-)Operationen zur
Aktualisierung des von dem externen Tool 5a gesendeten
neuen Anwendungsprogramms AP2 in dem Flash-ROM 13 ausführt.
-
Im
Folgenden sind die speziellen Anweisungen (Prozeduren) des Bootloaders
BL gemäß der ersten
Ausführungsform
mit Bezug auf die 4 und 5 beschrieben.
Insbesondere ist der Bootloader BL gemäß der ersten Ausführungsform
dazu geeignet, von der ECU 1 ausgeführt zu werden, um jedem Typ
externer Tools 5a bis 5c verarbeiten zu können und
die Wiederbeschreiboperationen in Fällen auszuführen, in denen eines der externen
Tools 5a bis 5c verwendet wird.
-
4 stellt
schematisch die Gesamtprozedur des Bootloaders BL dar.
-
Insbesondere
verschiebt die CPU 11 des Mikrocomputers 7 der
ECU 1, wie es oben ausgeführt ist, die Ausführungs adresse
von dem früheren
Anwendungsprogramm AP1 zu dem Bootloader BL, nachdem die Schreibanforderung
von dem externen Tool 5 an die ECU 1 gesendet
wurde. Das frühere
Anwendungsprogramm AP1 enthält
zum Beispiel eine vorbestimmte Prozedur, um zu erfassen, dass der Kommunikationstreiber 9 die
von dem externen Tool 5 gesendete Schreibanforderung empfängt. Als
Folge davon führt
die CPU 11, wenn die CPU 11 die vorbestimmte Prozedur
ausführt,
während
sie das frühere
Anwendungsprogramm AP1 ausführt,
die in 4 dargestellten Prozeduren des Bootloaders BL
aus.
-
Wenn
die CPU 11 die Prozeduren des Bootloaders BL startet, empfängt die
CPU 11 in Schritt S110 eine Einheitsmenge der von dem externen
Tool 5 gesendeten und von dem Kommunikationstreiber 9 empfangenen
Daten. Anschließend,
in Schritt S120, analysiert die CPU 11 die empfangene Einheitsmenge
von Daten, um auf der Grundlage des analysierten Ergebnisses zu
bestimmen, ob die empfangene Einheitsmenge von Daten die Schreibanforderung
ist.
-
Wenn
bestimmt wird, dass die Schreibanforderung empfangen wurde (die
Bestimmung in Schritt S120 ist JA), geht die CPU 11 zu
Schritt S130 über, um
eine erforderliche Operation auszuführen, bei der eine Antwort
auf die Schreibanforderung an das externe Tool 5 gesendet
wird, und kehrt anschließend zu
dem Schritt S110 zurück.
Die Antwort auf die Schreibanforderung ist eine Antwortnachricht,
die dem externen Tool 5 zeigt, dass die Schreibanforderung
normal empfangen wurde.
-
Wenn
bestimmt wird, dass die Schreibanforderung nicht empfangen wurde
(die Bestimmung in Schritt S120 ist NEIN), geht die CPU 11 zu
Schritt S140 über.
In Schritt S140 analysiert die CPU 11 die in Schritt S110
empfangene Einheitsmenge von Daten, um auf der Grundlage des analy sierten
Ergebnisses zu bestimmen, ob die empfangene Einheitsmenge von Daten
eine Datendownload-Anforderung ist.
-
Die
Datendownload-Anforderung ist ein Befehl, der der ECU 1 anzeigt,
dass das externe Tool 5 beginnt, zu schreibende Daten mit
Ausnahme von Befehlen zu senden, wobei diese neu zu schreibenden
Daten insbesondere das Wiederbeschreibsteuerprogramm RP und das
neue Anwendungsprogramm AP2 sind. Die Datendownload-Anforderung umfasst
ferner Informationen zur Download-Datenmenge, die das Gesamtvolumen
der zu schreibenden Daten angeben. Die zu schreibenden Daten sind nachstehend
als Schreibzieldaten oder Schreibdaten bezeichnet.
-
Wenn
bestimmt wird, dass die Datendownload-Anforderung empfangen wurde (die Bestimmung
in Schritt S140 ist JA), geht die CPU 11 zu Schritt S150 über, um
die Informationen über
die Download-Datenmenge in dem RAM 15 zu speichern. Anschließend, in
dem nächsten
Schritt S160, führt
die CPU 11 eine Operation aus, die erforderlich ist, um
eine Antwort auf die Downloadanforderung an das externe Tool 5 zu
senden und kehrt anschließend zu
Schritt S110 zurück.
Die Antwort auf die Datendownload-Anforderung ist eine Antwortnachricht,
die dem externen Tool 5 anzeigt, dass die Datendownload-Anforderung normal
empfangen wurde.
-
Wenn
bestimmt wird, dass die Datendownload-Anforderung empfangen wurde (die Bestimmung
in Schritt S140 ist NEIN), geht die CPU 11 zu Schritt S170 über. In
Schritt S170 analysiert die CPU 11 die in Schritt S110
empfangene Einheitsmenge von Daten, um auf der Grundlage des analysierten Ergebnisses
zu bestimmen, ob die empfangene Einheitsmenge von Daten ein Teil
der Schreibzieldaten sind. Es ist zu beachten, dass in Schritt S170
be stimmt wird, dass der ROM-Identifizierungscode CD zu den Schreibzieldaten
gehört.
-
Wenn
bestimmt wird, dass die Schreibzieldaten nicht empfangen wurden
(die Bestimmung in Schritt S170 ist NEIN), kehrt die CPU 11 zu
Schritt S110 zurück.
Wenn bestimmt wird, dass die Schreibzieldaten empfangen wurden (die
Bestimmung in Schritt S170 ist JA), geht die CPU 11 zu
Schritt S180. In Schritt S180 führt
die CPU 11 ein Übertragungsbestimmungsprogramm
wie etwa ein Unterprogramm aus, welches in 5 dargestellt
ist, und kehrt anschließend
zu Schritt S110 zurück.
Das Übertragungsbestimmungsprogramm
ist ein Teil (ein Modul) des Bootloaders BL.
-
Wenn
die CPU 11 das Übertragungsbestimmungsprogramm
startet, analysiert sie die in Schritt S110 empfangenen Daten, um
in Schritt S210 von 5 auf der Grundlage des analysierten
Ergebnisses zu bestimmen, ob die empfangenen Daten der ROM-Identifizierungscode
CD ist.
-
Wenn
bestimmt wird, dass der ROM-Identifizierungscode CD nicht empfangen
wurde (die Bestimmung in Schritt S210 ist NEIN), geht die CPU 11 zu
Schritt S220 über.
In Schritt S220 setzt die CPU 11 ein Wiederbeschreibsteuerprogramm-Download-Flag
DF in ihrem Register. Dieses Flag DF zeigt an, dass der Download
des Wiederbeschreibsteuerprogramms RP abgeschlossen wurde. Als nächstes schreibt
die CPU 11 in Schritt S230 die momentan empfangenen Daten,
das heißt,
die Schreibzieldaten, als Daten, die das Wiederbeschreibsteuerprogramm RP
bilden, an eine vorbestimmte Adresse in den RAM 15.
-
Im
nächsten
Schritt S240 bestimmt die CPU 11, ob das empfangene Datenvolumen äquivalent
zu dem Gesamtvolumen ist, das durch die in Schritt S150 im RAM 15 gespeicher ten
Informationen bezüglich
der Download-Datenmenge angegeben ist. Mit anderen Worten, die CPU 11 bestimmt
in Schritt S240, ob die Download-Datenmenge der Schreibzieldaten
vollständig
in den RAM 15 geschrieben wurde.
-
Wenn
bestimmt wird, dass die Download-Datenmenge der Schreibzieldaten
nicht vollständig
in den RAM 15 geschrieben wurde (die Bestimmung in Schritt
S240 ist NEIN), verlässt
die CPU 11 das Übertragungsbestimmungsprogramm
und kehrt zu Schritt S110 zurück.
-
Wenn
In Schritt S240 bestimmt wird, dass die Download-Datenmenge der
Schreibzieldaten vollständig
in den RAM 15 geschrieben wurde (die Bestimmung in Schritt
S240 ist JA), geht die CPU 11 zu Schritt S250 über. In
Schritt S250 führt
die CPU 11 eine Operation aus, die erforderlich ist, um
eine Antwort auf die Schreibdatenübertragung zu dem externen
Tool 5 zu senden, und verlässt dann das Übertragungsbestimmungsprogramm,
um zu Schritt S110 zurückzukehren.
Die Antwort auf die Schreibdatenübertragung
ist eine Antwortnachricht, die dem externen Tool 5 anzeigt,
dass die Download-Datenmenge der Schreibzieldaten vollständig in
den RAM 15 geschrieben wurde.
-
Wenn
hingegen in Schritt S210 bestimmt wird, dass der ROM-Identifizierungscode
CD empfangen wurde (die Bestimmung in Schritt S210 ist JA), geht
die CPU 11 zu Schritt S260 über. In Schritt S260 bestimmt
die CPU 11, ob das Wiederbeschreibsteuerprogramm-Download-Flag
DF in ihrem Register gesetzt ist.
-
Wenn
bestimmt wird, dass das Wiederbeschreibsteuerprogramm-Download-Flag
DF in ihrem Register gesetzt ist (die Bestimmung in Schritt S260 ist
JA), geht die CPU 11 zu Schritt S270 über. In Schritt S270 verschiebt
die CPU 11 ihre Ausführungsadresse
zu der Anfangsadresse des Wiederbeschreibsteuerprogramms RP in dem
RAM 15.
-
Anschließend lässt die
CPU 11 das Wiederbeschreibsteuerprogramm RP von dessen
Anfangsadresse laufen. Insbesondere führt die CPU 11 die Wiederbeschreiboperationen
aus, um das von dem externen Tool 5 gesendete neue Anwendungsprogramm
AP2 in dem Flash-ROM 13 zu aktualisieren. Nach Beenden
der Aktualisierung des neuen Anwendungsprogramms sendet die CPU 11 die
Antwort auf die Schreibdatenübertragung
an das externe Tool 5.
-
Wenn
in Schritt S260 bestimmt wird, dass das Wiederbeschreibsteuerprogramm-Download-Flag
DF in ihrem Register nicht gesetzt ist (die Bestimmung in Schritt
S260 ist NEIN), bestimmt die CPU 11, dass das von dem externen
Tool 5 gesendete Wiederbeschreibsteuerprogramm RP nicht
in dem RAM 15 gespeichert wurde und geht zu Schritt S280. In
Schritt S280 kopiert die CPU 11 das zuvor in dem ersten
Adressbereich in dem Flash-ROM 13 gespeicherte Wiederbeschreibsteuerprogramm
RP von dessen Anfangsadresse an in den RAM 15. Nach Beenden
des Kopiervorgangs des Wiederbeschreibsteuerprogramms, geht die
CPU 11 zu Schritt S270 über.
-
In
diesem Fall führt
die CPU 11 das in Schritt S280 von dem Flash-ROM 13 in
den RAM 15 kopierte Wiederbeschreibsteuerprogramm RP aus.
-
Anschließend lässt die
CPU 11 das Wiederbeschreibsteuerprogramm RP von dessen
Anfangsadresse aus ablaufen. Insbesondere führt die CPU 11 die
Wiederbeschreiboperationen aus, um das von dem externen Tool 5 gesendete
neue Anwendungsprogramm AP2 in dem Flash-ROM 13 zu aktualisieren.
Nach Beenden der Aktualisierung des neuen Anwendungsprogramms sendet
die CPU 11 die Antwort auf die Schreibdatenübertragung
an das externe Tool 5.
-
Nachfolgend
sind einzelne Operationen jedes der externen Tools 5a bis 5c und
der ECU 1 mit Bezug auf die 6 bis 8 beschrieben.
-
Zunächst, 6 stellt
ein Programmablaufdiagramm dar, das Kommunikationsprozeduren zwischen
dem externen Tool 5a vom A-Typ und der ECU 1 repräsentiert.
-
Wie
es durch die Bezugszahl (1) in 6 dargestellt
ist, wird, wenn die vorbestimmte Operation in dem externen Tool 5a ausgeführt wird,
so dass die Schreibanforderung RS von dort zur ECU 1 gesendet
wird, die Ausführungsadresse
der CPU 11 von dem früheren
Anwendungsprogramm AP1 zu dem Bootloader BL verschoben. Danach wird
der Bootloader BL von der CPU 11 ausgeführt. Diese Operationen der
CPU 11 werden durch das Bezugszeichen 100 in 6 repräsentiert.
-
In
dem Bootloader BL wird von der CPU 11 in Schritt S120 die
bestätigende
Bestimmung ausgeführt,
und die Antwort auf die Schreibanforderung wird in Schritt S130
von dort zu dem externen Tool 5a vom A-Typ gesendet, was
durch die Bezugszahl (2) in 6 dargestellt
ist.
-
Wenn
das externe Tool 5a vom A-Typ die Antwort auf die Schreibanforderung
empfängt,
sendet es die Datendownload-Anforderung als Vorbereitung zum Senden
des Wiederbeschreibsteuerprogramms RP an die ECU 1, was
durch die Bezugszahl (3) in 6 dargestellt
ist. Die Datendownload-Anforderung umfasst die Informationen zur
Download-Datenmenge,
die das Gesamtvolumen des Wiederbeschreibsteuerprogramms RP anzeigen,
das heißt
das Gesamtvolumen der Datei F1.
-
In
dem Bootloader BL wird in Schritt S140 die bestätigende Bestimmung von der
CPU 11 ausgeführt.
Anschließend
werden in Schritt S150 von der CPU 11 die Informationen über die
Download-Datenmenge in dem RAM 15 gespeichert, und die
Antwort auf die Datendownload-Anforderung wird in Schritt S160 von
dort zu dem externen Tool 5a vom A-Typ gesendet, was durch
die Bezugszahl (4) in 6 dargestellt
ist.
-
Wenn
das externe Tool 5a vom A-Typ die Antwort auf die Datendownload-Anforderung
empfängt,
sendet (downloaded) sie das als die Datei F1 gespeicherte Wiederbeschreibsteuerprogramm
RP als die Schreibzieldaten an die ECU 1, was durch die Bezugszahl
(5) in 6 dargestellt ist. Genauer,
das externe Tool 5a vom A-Typ lädt Daten, die das Wiederbeschreibsteuerprogramm
RP bilden, als die Schreibzieldaten zur ECU 1 herunter.
In den 6 bis 8 sind die Schreibzieldaten
als „Schreibdaten" bezeichnet.
-
In
dem Bootloader BL wird in Schritt S170 die bestätigende Bestimmung von der
CPU 11 ausgeführt.
Anschließend
wird das Übertragungsbestimmungsprogramm
von der CPU 11 in dem in 5 dargestellten
Schritt S180 ausgeführt.
-
In
dem Fall, in dem das Wiederbeschreibsteuerprogramm RP von dem externen
Tool 5a vom A-Typ gesendet wird, wird, da der ROM-Identifizierungscode
CD von dort nicht gesendet wurde, in Schritt S210 in dem Übertragungsbestimmungsprogramm
von der CPU 11 die negative Bestimmung ausgeführt. Als
nächstes
wird in Schritt S220 von der CPU 11 das Wiederbeschreibsteuerprogramm-Download-Flag
DF in dem Register gesetzt, und eine Einheitsmenge des Wiederbeschreibsteuerprogramms
RP wird in Schritt S230 von der CPU 11 in den RAM 15 geschrieben.
-
In
dem Bootloader BL wird immer dann, wenn von dem externen Tool 5a vom
A-Typ eine Einheitsmenge des Wiederbeschreibsteuerprogramms RP gesendet
wird, in Schritt S220 von der CPU 11 die bestätigende
Bestimmung ausgeführt,
so dass die Operationen in Schritt S230 ausgeführt werden. Als Folge davon
wird in Schritt S240, wenn das Gesamtvolumen des Wiederbeschreibsteuerprogramms
RP vollständig
in den RAM 15 geschrieben wurde, von der CPU 11 die
bestätigende
Bestimmung ausgeführt.
Als nächstes
wird in Schritt S250 die Antwort auf die Schreibdatenübertragung
von der CPU 11 zu dem externen Tool 5a vom A-Typ
gesendet, was durch die Bezugszahl (6) in 6 dargestellt
ist.
-
Wenn
das externe Tool 5a vom A-Typ die Antwort auf die Antwort
auf die Wiederbeschreibdaten empfängt, sendet es die Datendownload-Anforderung
als eine Vorbereitung zum Senden des Wiederbeschreibsteuerprogramms
RP zur ECU 1, was durch die Bezugszahl (7) in 6 dargestellt
ist. Die Datendownload-Anforderung umfasst die Informationen über die
Download-Datenmenge, die das Gesamtvolumen des neuen Anwendungsprogramms AP2
angeben, das heißt
das Gesamtvolumen, das durch Subtraktion des Volumens des ROM-Identifizierungscodes
CD von dem Gesamtvolumen der Datei F2 gewonnen wird.
-
In
dem Bootloader BL wird in Schritt S140 die bestätigende Bestimmung von der
CPU 11 ausgeführt.
Als nächstes
werden in Schritt S150 die Informationen über die Download-Datenmenge
von der CPU 11 in dem RAM 15 gespeichert, und
die Antwort auf die Datendownload-Anforderung wird in Schritt S160
von dort zu dem externen Tool 5a vom A-Typ gesendet, was
durch die Bezugszahl (8) in 6 dargestellt
ist.
-
Wenn
das externe Tool 5a vom A-Typ die Antwort auf die Datendownload-Anforderung
empfängt,
sendet (downloaded) es eine erste Einheitsmenge des in der Datei
F2 gespeicherten neuen Anwendungsprogramms AP2 und die Schreibzieldaten an
die ECU 1, was durch die Bezugszahl (9) in 6 dargestellt
ist. Das heißt,
das externe Tool 5a vom A-Typ lädt den ROM-Identifizierungscode
CD, der sich am Anfang in der Datei F2 befindet, zur ECU 1 herunter.
-
In
dem Bootloader BL wird in Schritt S170 von der CPU 11 die
bestätigende
Bestimmung ausgeführt.
Als nächstes
wird in Schritt S180 von der CPU 11 das Übertragungsbestimmungsprogramm ausgeführt (siehe 5).
-
Da
in dem Übertragungsbestimmungsprogramm
der ROM-Identifizierungscode
CD von der CPU 11 empfangen wurde, wird in Schritt S210
von der CPU 11 die bestätigende
Bestimmung ausgeführt.
Ferner, da das Wiederbeschreibsteuerprogramm-Download-Flag DF in
Schritt S220 von der CPU 11 gesetzt wurde, so dass das
Wiederbeschreibsteuerprogramm RP in dem RAM 11 gespeichert
wurde, wird in Schritt S260 von der CPU 11 die bestätigende
Bestimmung ausgeführt.
Als Folge davon springt die Ausführungsadresse
der CPU 11 in Schritt S270 durch die CPU 11 zur
Anfangsadresse des Wiederbeschreibsteuerprogramms RP im RAM 15.
-
Anschließend wird
eine Einheitsmenge des neuen Anwendungsprogramms AP2 sequenziell
von dem externen Tool 5a vom A-Typ zur ECU 1 gesendet,
was durch die Bezugszahl (10) in 6 dargestellt
ist. Als Folge davon wird in dem Mikrocomputer 7 das zur
Speicherung in dem RAM 15 von dem externen Tool 5a vom
A-Typ heruntergeladene Wiederbeschreibsteuerprogramm RP von der
CPU 11 ausgeführt.
Die Ausführung
des Wiederbeschreibsteuerprogramms RP durch die CPU 11 ermöglicht es,
dass das in dem Flash-ROM 13 gespeicherte frühere Anwendungsprogramm
AP1, gesendete Einheit für
gesendete Einheit des Programms AP2, sequenziell in das von dem
externen Tool 5a vom A-Typ gesendete neue Anwendungsprogramm
AP2 aktualisiert wird, was durch die Bezugszahl 150 in 5 dargestellt ist.
-
Die
Wiederbeschreiboperationen durch die CPU 11 in Übereinstimmung
mit dem Wiederbeschreibsteuerprogramm RP werden zum Beispiel wie folgt
ausgeführt.
Insbesondere wird ein vorbestimmter zweiter Adressbereich des Flash-ROM 13,
in dem das frühere
Anwendungsprogramm AP1 gespeichert ist, gelöscht, und jede gesendete Einheit
des Programms AP2 wird sequenziell in dem zweiten Adressbereich
des Flash-ROM 13 gespeichert.
-
Nachdem
alle Einheiten des neuen Anwendungsprogramms AP2 in dem Speicherbereich
des Flash-ROM 13 gespeichert wurden, wird die Antwort auf
die Schreibdatenübertragung
von der CPU 11 zu dem externen Tool 5a vom A-Typ
auf der Grundlage des Wiederbeschreibsteuerprogramms RP gesendet,
was durch die Bezugszahl (11) in 6 dargestellt
ist. Die Antwort auf die Schreibdatenübertragung zeigt dem externen
Tool 5, dass die Download-Datenmenge des neuen Anwendungsprogramms
AP2 vollständig
in dem RAM 15 gespeichert wurde, so dass die Anwendungsprogramm-Wiederbeschreiboperationen
abgeschlossen sind.
-
Zweitens, 7 zeigt
ein Programmablaufdiagramm, das Kommunikationsprozeduren zwischen
dem externen Tool 5b vom B-Typ und der ECU 1 repräsentiert.
-
In 7 sind
die Kommunikationsprozeduren bis zu der Bezugszahl (4)
im Wesentlichen identisch zu jenen bis zu der Bezugszahl (4)
in 6, mit Ausnahme der durch die Bezugszahl (3)
gezeigten Prozedur. In 7 sendet das externe Tool 5b vom B-Typ
als die durch die Bezugs zahl (3) angegebene Prozedur die
Datendownload-Anforderung
zur ECU 1. Die Datendownload-Anforderung umfasst die Informationen über die
Download-Datenmenge, die das Gesamtvolumen des Wiederbeschreibsteuerprogramms
RP und des neuen Anwendungsprogramms AP2 anzeigen, das heißt das Gesamtvolumen,
das durch Subtraktion des Volumens des ROM-Identifizierungscodes
CD von dem Gesamtvolumen der Datei F3 gewonnen wird. Auf die Beschreibungen
der Kommunikationsprozeduren bis zu der Bezugszahl (4)
ist daher verzichtet.
-
Wenn
das externe Tool 5b vom B-Typ die Antwort auf die Datendownload-Anforderung
empfängt,
sendet (downloaded) es die in der Datei F3 als sie Schreibzieldaten
gespeicherten Daten zur ECU 1, was durch die Bezugszahl
(5) in 7 dargestellt ist. Genauer,
das externe Tool 5b vom B-Typ lädt Daten des Wiederbeschreibsteuerprogramms
RP, die in dem ersten Teil der Datei F3 liegen, zur ECU 1 herunter.
-
In
dem Bootloader BL wird in Schritt S170 die bestätigende Bestimmung von der
CPU 11 ausgeführt.
Als nächstes
wird in Schritt S180 von der CPU 11 das in 5 dargestellte Übertragungsbestimmungsprogramm
ausgeführt.
-
Wenn
das Wiederbeschreibsteuerprogramm RP von dem externen Tool 5b vom
B-Typ gesendet wird, wird, da der ROM-Identifizierungscode CD nicht von dort
gesendet wurde, in Schritt S210 in dem Übertragungsbestimmungsprogramm
von der CPU 11 die negative Bestimmung ausgeführt. Als
nächstes
wird in Schritt S220 von der CPU 11 das Wiederbeschreibsteuerprogramm-Download-Flag
DF in dem Register gesetzt, und in Schritt S230 wird eine Einheitsmenge
des Wiederbeschreibsteuerprogramms RP von der CPU 11 in
den RAM 15 geschrieben.
-
In
dem Bootloader BL wird jedesmal, wenn eine Einheitsmenge des Wiederbeschreibsteuerprogramms
RP von dem externen Tool 5b vom B-Typ gesendet wird, von
der CPU 11 die bestätigende
Bestimmung ausgeführt,
so dass die Operationen in Schritt S220 und S230 ausgeführt werden.
-
Nach
dem Senden des Wiederbeschreibsteuerprogramms RP sendet das externe
Tool 5b vom B-Typ den sich an der Grenze zwischen dem Wiederbeschreibsteuerprogramm
RP und dem neuen Anwendungsprogramm AP2 befindlichen ROM-Identifizierungscode
CD als die Wiederbeschreibzieldaten zur ECU 1, was durch
die Bezugszahl (6) in 7 dargestellt
ist.
-
In
dem Bootloader BL wird in Schritt S170 von der CPU 11 die
bestätigende
Bestimmung ausgeführt.
Als nächstes
wird in Schritt S180 von der CPU 11 das Übertragungsbestimmungsprogramm (5)
ausgeführt.
-
In
dem Übertragungsbestimmungsprogramm
wird in Schritt S210 von der CPU 11 die bestätigende
Bestimmung ausgeführt,
da der ROM-Identifizierungscode CD von der CPU 11 empfangen
wurde. Ferner, da in Schritt S220 das wiederbeschreibsteuerprogramm-Download-Flag
DF von der CPU 11 in dem Register gesetzt wurde, so dass das
Wiederbeschreibsteuerprogramm RP in dem RAM 11 gespeichert
wurde, wird in Schritt S260 von der CPU 11 die bestätigende
Bestimmung ausgeführt.
Als Folge davon springt die Ausführungsadresse
der CPU 11 in Schritt 270 durch die CPU 11 zu
der Anfangsadresse des Wiederbeschreibsteuerprogramms RP.
-
Anschließend wird
eine Einheitsmenge des neuen Anwendungsprogramms AP2 sequenziell
von dem externen Tool 5b vom Typ B zur ECU 1 gesendet,
was durch die Bezugszahl (7) in 7 dargestellt
ist. Als Folge davon wird in dem Mikrocomputer 7 das Wiederbeschreibsteuerprogramm
RP, das von dem externen Tool 5b vom B-Typ heruntergeladen wurde,
um in dem RAM 15 gespeichert zu werden, durch die CPU 11 ausgeführt. Die
Ausführung
des Wiederbeschreibsteuerprogramms RP durch die CPU 11 ermöglicht es,
dass das frühere
Anwendungsprogramm AP1, das in dem Flash-ROM 13 gespeichert
ist, gesendete Einheit für
gesendete Einheit des Programms AP2, sequenziell auf das von dem externen
Tool 5b vom B-Typ neue Anwendungsprogramm AP2 aktualisiert
wird, was in 7 durch die Bezugszahl 150 dargestellt
ist.
-
Nachdem
alle Einheiten des neuen Anwendungsprogramms AP2 in dem Speicherbereich
des Flash-ROM 13 gespeichert wurden, wird die Antwort auf
die Schreibdatenübertragung
auf der Grundlage des Wiederbeschreibsteuerprogramms RP von der CPU 11 zu
dem externen Tool 5b vom B-Typ übertragen, was in 7 durch
die Bezugszahl (8) dargestellt ist. Die durch die Bezugszahl
(8) in 7 gezeigte Prozedur ist ähnlich der,
die in 6 durch die Bezugszahl (11) gezeigt ist.
Die Antwort auf die Schreibdatenübertragung
zeigt dem externen Tool 5, dass die Download-Datenmenge des neuen
Anwendungsprogramms AP2 vollständig
in dem RAM 15 gespeichert wurde, so dass die Anwendungsprogramm-Wiederbeschreiboperationen
abgeschlossen sind.
-
Drittens, 8 zeigt
ein Programmablaufdiagramm, das die Kommunikationsprozeduren zwischen
dem externen Tool 5c vom C-Typ und der ECU 1 darstellt.
-
In 8 sind
die Kommunikationsprozeduren bis zu der Bezugszahl (4)
im Wesentlichen identisch mit jenen bis zur Bezugszahl (4)
in 6, mit Ausnahme der durch die Bezugszahl (3)
gezeigten Prozedur. In 8 sendet das externe Tool 5c vom C-Typ
als die durch die Bezugszahl (3) gezeigte Prozedur die
Datendownload-Anforderung an die ECU 1. Die Datendownload-Anforderung
umfasst die Informationen über
die Download-Datenmenge, die das Gesamtvolumen des neuen Anwendungsprogramms
AP2 angibt, das heißt
das durch Subtraktion des Volumens des ROM-Identifizierungscodes CD von dem Gesamtvolumen
der Datei F2 gewonnene Gesamtvolumen. Auf die Beschreibungen der
Kommunikationsprozeduren bis zu der Bezugszahl (4) ist verzichtet
worden.
-
Wenn
das externe Tool 5c vom C-Typ die Antwort auf die Datendownload-Anforderung
empfängt,
sendet (downloaded) es die in der Datei F2 gespeicherten Daten als
die Schreibzieldaten an die ECU 1, was durch die Bezugszahl
(5) in 8 gezeigt ist. Genauer, das
externe Tool 5c vom C-Typ lädt den ROM-Identifizierungscode
CD, der sich am Anfang der gesamten in der Datei F2 als die Wiederbeschreibzieldaten
gespeicherten Daten befindet, zur ECU 1 herunter, was in 8 durch
die Bezugszahl (5) dargestellt ist.
-
In
dem Bootloader BL wird in Schritt S170 die bestätigende Bestimmung durch die
CPU 11 ausgeführt.
Als nächstes
wird in Schritt S180 das in 5 dargestellte Übertragungsbestimmungsprogramm von
der CPU 11 ausgeführt.
-
Da
der ROM-Identifizierungscode CD von dem externen Tool 5c vom
C-Typ gesendet wurde, wird in dem Übertragungsbestimmungsprogramm
in Schritt S210 von der CPU 11 die bestätigende Bestimmung ausgeführt. Als
nächstes
wird in Schritt S260 die negative Bestimmung von der CPU 11 ausgeführt, da
kein Wiederbeschreibsteuerprogramm RP von dem externen Tool 5c vom
C-Typ heruntergeladen wurde und das Wiederbeschreibsteuerprogramm-Download-Flag
DF in dem Register der CPU 11 nicht gesetzt wurde.
-
Als
Folge davon wird das zuvor in dem ersten Adressbereich in dem Flash-ROM 13 gespeicherte
Wiederbeschreibsteuerprogramm RP von dessen Anfangsadresse aus in
den RAM 15 kopiert. Anschließend springt die Ausführungsadresse
der CPU 11 in Schritt S270 durch die CPU 11 zu
der Anfangsadresse des wiederbeschreibsteuerprogramms RP in dem
RAM 15.
-
Nach
der Prozedur in Schritt S270 wird eine Einheitsmenge des neuen Anwendungsprogramms AP2
sequenziell von dem externen Tool 5c vom C-Typ zur ECU 1 übertragen,
was in 8 durch die Bezugszahl (6) dargestellt
ist. Als Folge davon wird in dem Mikrocomputer 7 das zur
Speicherung in dem RAM 15 von dem Flash-ROM 13 kopierte
Wiederbeschreibsteuerprogramm RP von der CPU 11 ausgeführt. Durch
die Ausführung
des Wiederbeschreibsteuerprogramms RP durch die CPU 11 kann
das in dem Flash-ROM 13 gespeicherte frühere Anwendungsprogramm AP1,
Einheit für
Einheit des Programms AP2, sequenziell auf das von dem externen Tool 5c vom
C-Typ gesendete neue Anwendungsprogramm AP2 aktualisiert werden,
was in 8 durch die Bezugszahl 150 dargestellt
ist.
-
Nachdem
alle Einheiten des neuen Anwendungsprogramms AP2 in dem Speicherbereich
des Flash-ROM 13 gespeichert wurden, wird die Antwort auf
die Schreibdatenübertragung
auf der Grundlage des Wiederbeschreibsteuerprogramms RP von der CPU 1 zu
dem externen Tool 5c vom C-Typ gesendet, was in 8 durch
die Bezugszahl (7) dargestellt ist. Die durch die Bezugszahl
(7) in 8 dargestellte Prozedur ist ähnlich derjenigen,
die in 6 durch die Bezugszahl (11) dargestellt
ist. Die Antwort auf die Schreibdatenübertragung zeigt dem externen Tool 5,
dass die Download-Datenmenge des neuen Anwendungsprogramms AP2 vollständig in
dem RAM 15 gespeichert wurde, so dass die Anwendungsprogramm-Wiederbeschreiboperationen
abgeschlossen sind.
-
Wie
es oben beschrieben ist, ist in dem Programmwiederbeschreibsystem
RS gemäß der ersten Ausführungsform
jeder Typ des externen Tools 5 so konfiguriert, dass er
den ROM-Identifizierungscode CD zur ECU 1 sendet, bevor
er das neue Anwendungsprogramm AP2 sendet. Dieser ROM-Identifizierungscodes
CD zeigt, dass die auf den Identifizierungscode CD folgenden Daten
das neue Anwendungsprogramm AP2 sind.
-
In
dem Bootloader BL, der in dem von der ECU 1 verwendeten
Mikrocomputer 7 installierten ist, wird, wenn das Neuschreibsteuerprogramm
RP von dem externen Tool 5 gesendet ist, in Schritt S210
bestimmt, ob der ROM-Identifizierungscode
RP von dort gesendet wurde. Es wird bestimmt, dass die sequenziell
von dem externen Tool 5 gesendeten Schreibzieldaten ein
Teil (ein Modul) des Wiederbeschreibsteuerprogramms RP ist, bis
in Schritt S210 bestimmt wird, dass der ROM-Identifizierungscode CD
von dort gesendet wurde. Als Folge davon werden in Schritt S230
die Schreibzieldaten als Teil des Wiederbeschreibsteuerprogramms
RP in dem RAM 15 gespeichert. Wenn in Schritt S210 bestimmt
wird, dass der ROM-Identifizierungscode
CD von dem externen Tool 5 gesendet wurde, wird bestimmt,
dass die von dem externen Tool 5 nach der Bestimmung in Schritt
S210 gesendeten Wiederbeschreibzieldaten ein Teil des neuen Anwendungsprogramms
AP2 sind. Anschließend
wird bestimmt, ob das Wiederbeschreibsteuerprogramm-Download-Flag
DF in dem Register der CPU 11 gesetzt wurde, um zu beurteilen,
ob das von dem externen Tool 5 gesendete Wiederbeschreibsteuerprogramm
RP in dem RAM 15 gespeichert wurde.
-
Wenn
in Schritt S260 bestimmt wird, dass das von dem externen Tool 5 gesendete
Wiederbeschreibsteuerprogramm in dem RAM 15 gespeichert wurde,
springt die Ausführungsadresse
der CPU 11 zu der Anfangsadresse des Wiederbeschreibsteuerprogramms
RP in dem RAM 15, so dass in Schritt S270 das Wiederbeschreibsteuerprogramm
RP abläuft.
Im Gegensatz dazu wird in Schritt S280 das Wiederbeschreibsteuerprogramm
RP von dem ersten Adressbereich des Flash-ROM 13 in den
RAM 15 kopiert, wenn in Schritt S260 bestimmt wird, dass
das Wiederbeschreibsteuerprogramm RP nicht in dem RAM 15 gespeichert
wurde. Anschließend
springt die Ausführungsadresse
der CPU 11 zu der Anfangsadresse des Wiederbeschreibsteuerprogramms
RP in dem RAM 15, so dass in Schritt S270 das Wiederbeschreibsteuerprogramm
RP ablaufen kann.
-
Wenn
das externe Tool 5 das externe Tool 5a vom A-Typ
oder das externe Tool 5b vom B-Typ ist, wird das von dem
externen Tool 5a vom A-Typ oder von dem externen Tool 5b vom
B-Typ gesendete Wiederbeschreibsteuerprogramm RP in dem RAM 15 gespeichert.
Anschließend,
wenn der ROM-Identifizierungscode
CD von dem externen Tool 5a vom A-Typ oder von dem externen Tool 5b vom
B-Typ gesendet wird, wird bestimmt, dass in Schritt S260 das von
dem externen Tool 5a des A-Typs oder von dem externen Tool 5b vom
B-Typ gesendete Wiederbeschreibsteuerprogramm RP in dem RAM 15 gespeichert
wurde. Dies ermöglicht
das Ablaufen des Wiederbeschreibsteuerprogramms RP. Die Ausführung des
Wiederbeschreibsteuerprogramms RP ermöglicht die Aktualisierung des
in dem Flash-ROM 13 gespeicherten früheren Anwendungsprogramms AP1 auf
das darin gespeicherte neue Anwendungsprogramm AP2. Dieses neue
Anwendungsprogramm AP2 wird von dem externen Tool 5a oder 5b nach
der Ausführung
des Wiederbeschreibsteuerprogramms gesendet.
-
Im
Gegensatz dazu wird, wenn das externe Tool 5 das externe
Tool 5c vom C-Typ ist, da das Wiederbeschreibsteuerprogramm
von dort gesendet wird, wenn der ROM-Identifizierungscode CD von dem
externen Tool 5c vom C-Typ gesendet wird, bestimmt, dass
das Wiederbeschreibsteuerprogramm RP in Schritt S260 nicht in dem
RAM 15 gespeichert wurde. Dadurch kann das zuvor in dem
ersten Adressbereich des Flash-ROM 13 gespeicherte Wiederbeschreibsteuerprogramm
RP in den RAM 15 kopiert werden, so dass das Wiederbeschreibsteuerprogramm
RP in dem RAM 15 läuft.
Anschließend kann
durch die Ausführung
des Wiederbeschreibsteuerprogramms RP das in dem Flash-ROM 13 gespeicherte
frührere
Anwendungsprogramm AP1 darin auf das neue Anwendungsprogramm AP1
aktualisiert werden. Dieses neue Anwendungsprogramm AP2 wird von
dem externen Tool 5c nach der Ausführung des Wiederbeschreibsteuerprogramms
gesendet.
-
Wie
es oben dargelegt ist, kann das frühere Anwendungsprogramm AP1
durch den Bootloader BL gemäß der ersten
Ausführungsform
selbst dann exakt auf das neue Anwendungsprogramm AP2 aktualisiert
(neu geschrieben) werden, wenn das externe Tool 5 von einem
der Typen A bis C verwendet wird.
-
Ferner
beseitigt der Bootloader BL gemäß der ersten
Ausführungsform
die Notwendigkeit der Entwicklung anwendungsspezifischer Bootloader
für die
externen Tools vom Typ A bis C, was die Reduzierung der Anzahl von
Prozessen zur Entwicklung der ECU 1 und/oder die Vereinfachung
des Managements der ECU 1 und des Bootloaders 7 ermöglicht.
-
Es
ist zu beachten, dass in Schritt S280 von 5 die Ausführungsadresse
der CPU 11 zu der Anfangsadresse des in dem Flash-ROM 13 gespeicherten
Wiederbeschreibsteuerprogramms RP springen kann, ohne es in den RAM 15 zu
kopieren. Da in dieser Modifikation der erste Adressbereich, in
dem das Wiederbeschreibsteuerprogramm RP gespeichert wurde, von
dem zweiten Adressbereich verschieden ist, in dem das frühere Anwendungsprogramm
AP1 in dem Flash-ROM 13 gespeichert ist, ist es möglich, das
Wiederbeschreibsteuerprogramm RP auf dem Flash-ROM 13 laufen
zu lassen.
-
Zweite Ausführungsform
-
Ein
Programmwiederbeschreibsystem gemäß einer zweiten Ausführungsform
der vorliegenden Erfindung ist nachfolgend beschrieben. Es ist zu beachten,
dass Elemente des Programmwiederbeschreibsystems RS1 gemäß der zweiten
Ausführungsform,
die im Wesentlichen mit jenen des Programmwiederbeschreibsystems
RS gemäß der ersten
Ausführungsform
identisch sind, mit den gleichen Bezugszahlen wie in den 1 bis 3 gekennzeichnet
sind. Beschreibungen der Elemente des Programmwiederbeschreibsystem
gemäß der zweiten
Ausführungsform
sind daher weggelassen oder vereinfacht.
-
Im
Vergleich mit dem Programmwiederbeschreibsystem RS gemäß der ersten
Ausführungsform
sendet das Programmwiederbeschreibsystem gemäß der zweiten Ausführungsform
eine Zieladresse, die zum Beispiel Zielinformationen entspricht,
bevor es die Schreibzieldaten wie etwa das Wiederbeschreibsteuerprogramm
RS oder das neue Anwendungsprogramm AP2 sendet.
-
Insbesondere
bezeichnet die Zieladresse vorzugsweise eine Anfangsadresse eines
vorbestimmten Speicherplatzes, bei dem die zu sendenden Schreibzieldaten
in dem Zielspeicher wie etwa den Flash-ROM 13 oder den
RAM 15 gespeichert werden sollen. Jeder Typ des externen
Tools 5 ist so konfiguriert, dass er die Datendownload-Anforderung, die
die Zieladresse der Schreibzieldaten und die Informationen über die
Download-Datenmenge enthält,
zur ECU 1 sendet.
-
Ferner
wurden in dem Programmwiederbeschreibsystem RS1 gemäß der zweiten
Ausführungsform
keine ROM-Identifizierungscodes
in den Dateien F1, F2 und F3 gespeichert, die in wenigstens entweder
dem externen Tool 5a vom A-Typ, dem externen Tool 5b vom
B-Typ oder dem externen Tool 5c vom C-Typ gespeichert sind.
-
Nachfolgend
sind mit Bezug auf die 9 und 10 die
bestimmten Anweisungen (Prozeduren) des Bootloaders BL gemäß der zweiten
Ausführungsform
beschrieben. Ähnlich
wie in der ersten Ausführungsform
ist der Bootloader BL gemäß der zweiten
Ausführungsform
dazu geeignet, mit jedem Typ externer Tools 5a bis 5c zu
kommunizieren und die Wiederbeschreiboperationen in Fällen auszuführen, in
denen eines der externen Tools 5a bis 5c verwendet
wird.
-
9 stellt
schematisch die Gesamtprozedur des Bootloaders BL dar.
-
Wie
in der ersten Ausführungsform
verschiebt die CPU 11 des Mikrocomputers 7 der
ECU 1 ihre Ausführungsadresse
von dem früheren
Anwendungsprogramm AP1 zu dem Bootloader BL, wenn die Schreibanforderung
von dem externen Tool 5 an die ECU 1 gesendet
wird. Wenn die CPU 11 die Prozeduren des Bootloaders BL
startet, empfängt
die CPU 11 in Schritt S310 eine Einheitsmenge von Daten,
die von dem externen Tool 5 gesendet und von dem Kommunikationstreiber 9 empfangen
werden. Als nächstes
analysiert die CPU 11 in Schritt S320 die empfangene Einheitsmenge
von Daten, um auf der Grundlage des analysierten Ergebnisses zu
bestimmen, ob die empfangene Einheitsmenge von Daten die Schreibanforderung
ist.
-
Wenn
bestimmt wird, dass die Schreibanforderung empfangen wurde (die
Bestimmung in Schritt S320 ist JA), geht die CPU 11 zu
Schritt S330 über, um
eine Operation auszuführen,
die erforderlich ist, um eine Antwort auf die Schreibanforderung
an das externe Tool 5 zu senden, und kehrt dann zu Schritt S310
zurück.
Die Antwort auf die Schreibanforderung ist eine Antwortnachricht,
die dem externen Tool 5 anzeigt, dass die Schreibanforderung
normal empfangen wurde.
-
Wenn
in Schritt S320 nicht bestimmt wird, dass die Schreibanforderung
empfangen wurde (die Bestimmung in Schritt S320 ist NEIN), geht
die CPU 11 zu Schritt S340 über. In Schritt S340 analysiert
die CPU 11 die in Schritt S310 empfangene Einheitsmenge
von Daten, um auf der Grundlage des analysierten Ergebnisses zu
bestimmen, ob die empfangene Einheitsmenge von Daten die Datendownload-Anforderung
ist.
-
Die
Datendownload-Anforderung ist ein Befehl, der der ECU 1 anzeigt,
dass das externe Tool 5 beginnt, die Schreibzieldaten zu
senden. Diese Schreibzieldaten sind insbesondere das wiederbeschreibsteuerprogramm
RP oder das neue Anwendungsprogramm AP2. Die Datendownload-Anforderung umfasst
die Informationen bezüglich
der Download-Datenmenge, die das Gesamtvolumen der Schreibzieldaten
und deren Zieladresse anzeigen.
-
Wenn
bestimmt wird, dass die Datendownload-Anforderung empfangen wurde (die Bestimmung
in Schritt S340 ist JA), geht die CPU 11 zu Schritt S350 über, um
die Informationen über
die Download-Datenmenge in dem RAM 15 zu speichern. Anschließend führt die
CPU 11 im nächsten Schritt
S360 ein Übertragungsbestimmungsprogramm
gemäß der zweiten
Ausführungsform
wie etwa ein Unterprogramm aus, das in 10 dargestellt
ist, und kehrt an schließend
zu Schritt S310 zurück.
Das Übertragungsbestimmungsprogramm
ist Teil des Bootloaders BL.
-
Wenn
das Übertragungsbestimmungsprogramm
gestartet wird, bestimmt die CPU 11 in dem in 10 gezeigten
Schritt S410, ob die in der Datendownload-Anforderung enthaltene
Zieladresse eine Adresse in dem Flash-ROM 13 ist.
-
Wenn
bestimmt wird, dass die in der Datendownload-Anforderung enthaltene Zieladresse keine Adresse
in dem Flash-ROM 13 ist (die Bestimmung in Schritt S410
ist NEIN), geht die CPU 11 zu Schritt S420. In Schritt
S420 setzt die CPU 11 ein Wiederbeschreibsteuerprogramm-Download-Flag DF
in ihrem Register. Dieses Flag DF zeigt an, dass der Download des
Wiederbeschreibsteuerprogramms RP abgeschlossen ist. Anschließend führt die
CPU 11 eine Operation aus, die zum Senden einer Antwort
auf die Datendownload-Anforderung zu dem externen Tool 5 erforderlich
ist, und verlässt
anschließend
das Übertragungsbestimmungsprogramm
und kehrt zu Schritt S110 zurück.
Die Antwort auf die Datendownload-Anforderung ist eine Antwortnachricht,
die dem externen Tool 5 anzeigt, dass die Datendownload-Anforderung
normal empfangen wurde. In diesem Fall wird nach dem Senden der
Antwort auf die Datendownload-Anforderung das Wiederbeschreibsteuerprogramm
RP von dem externen Tool 5 zur ECU 1 gesendet,
und das Wiederbeschreibsteuerprogramm RP wird durch die Operation
der CPU 11 in dem unten beschriebenen Schritt S380 in den
RAM 15 geschrieben.
-
Wenn
bestimmt wird, dass die in der Datendownload-Anforderung enthaltene Zieladresse eine Adresse
in dem Flash-ROM 13 ist (die Bestimmung in Schritt S410
ist JA), geht die CPU 11 zu Schritt S440 über. In
Schritt S440 be stimmt die CPU 11, ob in ihrem Register
das Wiederbeschreibsteuerprogramm-Download-Flag DF gesetzt ist.
-
Wenn
bestimmt wird, dass das Wiederbeschreibsteuerprogramm-Download-Flag
DF in ihrem Register gesetzt ist (die Bestimmung in Schritt S440 ist
JA), bestimmt die CPU 11, dass das von dem externen Tool 5 gesendete
Wiederbeschreibsteuerprogramm RP in dem RAM 15 gespeichert
wurde und geht zu Schritt S450 über.
In Schritt S450 bewirkt die CPU 11, dass ihre Ausführungsadresse
zu der Anfangsadresse des Wiederbeschreibsteuerprogramms RP in dem
RAM 15 springt.
-
Anschließend lässt die
CPU 11 das Wiederbeschreibsteuerprogramm RP von dessen
Anfangsadresse aus ablaufen. Insbesondere führt die CPU 11 die
Wiederbeschreiboperationen aus, um das von dem externen Tool 5 gesendete
neue Anwendungsprogramm AP2 in dem Flash-ROM 13 zu aktualisieren.
Nach Abschluss der Aktualisierung des neuen Anwendungsprogramms
sendet die CPU 11 die Antwort auf die Schreibdatenübertragung
an das externe Tool 5.
-
Wenn
in Schritt S440 nicht bestimmt wird, dass das Wiederbeschreibsteuerprogramm-Download-Flag
DF in ihrem Register gesetzt ist (die Bestimmung in Schritt S440
ist NEIN), bestimmt die CPU 11, dass das von dem externen
Tool 5 gesendete Wiederbeschreibsteuerprogramm RP nicht
in dem RAM 15 gespeichert wurde und geht zu Schritt S460 über. In
Schritt S460 kopiert die CPU 11 das zuvor in dem ersten
Adressbereich in dem Flash-ROM 13 gespeicherte Wiederbeschreibsteuerprogramm
RP von dessen Anfangsadresse in den RAM 15. Nach dem Kopieren
des Wiederbeschreibsteuerprogramms geht die CPU 11 zu Schritt
S450 über.
-
In
diesem Fall führt
die CPU 11 das in Schritt S460 von dem Flash-ROM 13 in
den RAM 15 kopierte Wiederbeschreibsteuerprogramm aus.
-
Anschließend lässt die
CPU 11 das Wiederbeschreibsteuerprogramm RP von dessen
Anfangsadresse aus ablaufen. Insbesondere führt die CPU 11 die
Wiederbeschreiboperationen aus, um das von dem externen Tool 5 gesendete
neue Anwendungsprogramm AP2 in dem Flash-ROM 13 zu aktualisieren.
Nach der Aktualisierung des neuen Anwendungsprogramms sendet die
CPU 11 die Antwort auf die Schreibdatenübertragung an das externe Tool 5.
-
Wenn
hingegen in Schritt S340 in 9 bestimmt
wird, dass die Datendownload-Anforderung nicht empfangen wurde (die
Bestimmung in Schritt S340 ist NEIN), geht die CPU 11 zu
Schritt S370 über.
In Schritt S370 analysiert die CPU 11 die in Schritt S110
empfangene Einheitsmenge von Daten, um auf der Grundlage des analysierten
Ergebnisses zu bestimmen, ob die empfangene Einheitsmenge von Daten
Teil der Schreibzieldaten ist.
-
Wenn
bestimmt wird, dass die Schreibzieldaten nicht empfangen wurden
(die Bestimmung in Schritt S370 ist NEIN), kehrt die CPU 11 zu
Schritt S110 zurück.
Wenn bestimmt wird, dass die Schreibzieldaten empfangen wurden (die
Bestimmung in Schritt S370 ist JA), geht die CPU 11 zu
Schritt S380 über.
In Schritt S380 schreibt die CPU 11 die momentan empfangenen
Daten, das heißt
die Schreibzieldaten, als Daten, die das Wiederbeschreibsteuerprogramm
RP bilden, an eine vorbestimmte Adresse des RAM 15.
-
In
dem nächsten
Schritt S390 bestimmt die CPU 11, ob das empfangene Datenvolumen
gleich dem Gesamtvolumen ist, das durch Informationen bezüglich der
Download-Datenmenge gegeben ist, die in Schritt S350 in dem RAM 15 gespei chert
wurde. Mit anderen Worten, die CPU 11 bestimmt, ob die Downlaod-Datenmenge
der Schreibzieldaten in Schritt S390 vollständig in den RAM 15 geschrieben wurde.
-
Wenn
bestimmt wird, dass die Download-Datenmenge der Schreibzieldaten
nicht vollständig
in den RAM 15 geschrieben wurde (die Bestimmung in Schritt
S390 ist NEIN), kehrt die CPU 11 zu Schritt S310 zurück.
-
Wenn
in Schritt S390 bestimmt wird, dass die Download-Datenmenge der
Schreibzieldaten vollständig
in den RAM 15 geschrieben wurden (die Bestimmung in Schritt
S390 ist JA), geht die CPU 11 zu Schritt S395 über. In
Schritt S395 führt
die CPU 11 eine Operation aus, die zum Senden einer Antwort auf
die Schreibdatenübertragung
an das externe Tool 5 erforderlich ist, und verlässt anschließend das Übertragungsbestimmungsprogramm,
um zu Schritt S310 zurückzukehren.
Die Antwort auf die Schreibdatenübertragung
ist eine Übertragungsnachricht, die
dem externen Tool 5 anzeigt, dass die Download-Datenmenge
der Schreibzieldaten vollständig
in den RAM 15 geschrieben wurde.
-
Nachfolgend
sind einzelne Operationen von jedem der externen Tools 5a bis 5c und
der ECU 1 mit Bezug auf die 11 und 12 beschrieben.
-
Erstens, 11 stellt
ein Programmablaufdiagramm dar, das Kommunikationsprozeduren zwischen
dem externen Tool 5a und der ECU 1 repräsentiert.
-
Wie
es durch die Bezugszahl (1) in 11 dargestellt
ist, wird, wenn die vorbestimmte Operation in dem externen Tool 5a oder 5b ausgeführt wird, so
dass die Schreibanforderung RS von dort zur ECU 1 gesendet
wird, die Ausführungsadresse
der CPU 11 von dem früheren
Anwendungsprogramm AP1 zu dem Bootloader BL verschoben. An schließend wird der
Bootloader BL von der CPU 11 ausgeführt. Die Operationen der CPU 11 sind
durch das Bezugszeichen 100 in 11 dargestellt.
-
In
dem Bootloader BL wird in Schritt S320 die bestätigende Bestimmung von der
CPU 11 ausgeführt,
und die Antwort auf die Schreibanforderung wird in Schritt S330
von dort zu dem externen Tool 5a vom A-Typ oder dem externen
Tool 5b vom B-Typ gesendet, was in 11 durch
die Bezugszahl (2) dargestellt ist.
-
Wenn
das externe Tool 5a vom A-Typ oder das externe Tool 5b vom
B-Typ die Antwort auf die Schreibanforderung empfängt, sendet
es die Datendownload-Anforderung als eine Vorbereitung zum Senden
des Wiederbeschreibsteuerprogramms RP an die ECU 1, was
in 11 durch die Bezugszahl (3) dargestellt
ist. Die Datendownload-Anforderung umfasst die Zieladresse des Wiederbeschreibsteuerprogramms
RP in dem RAM 15 und die Informationen über die Download-Datenmenge,
die das Gesamtvolumen des Wiederbeschreibsteuerprogramms RP anzeigen.
-
In
dem Bootloader BL wird in Schritt S340 die bestätigende Bestimmung von der
CPU 11 ausgeführt.
Als nächstes
werden in Schritt S350 die Informationen bezüglich der Download-Datenmenge
von der CPU 11 in den RAM 15 gespeichert, und
in Schritt S360 wird das in 10 dargestellte Übertragungsbestimmungsprogramm
von der CPU 11 ausgeführt.
-
In
dem Übertragungsbestimmungsprogramm
wird in Schritt S410 die negative Bestimmung von der CPU 11 ausgeführt, da
die in der von dem externen Tool 5a oder 5b gesendeten
Datendownload-Anforderung enthaltene Zieladresse, dargestellt in 11 durch
die Bezugszahl (3), keine Adresse des Flash-ROM 13,
sondern des RAM 15 ist.
-
In
diesem Fall wird in Schritt S420 das Wiederbeschreibsteuerprogramm-Download-Flag
DF von der CPU 11 in dem Register gesetzt, und in Schritt
S430 wird die Antwort auf die Datendownload-Anforderung von dort
zu dem externen Tool 5a vom A-Typ oder dem externen Tool 5b vom
B-Typ gesendet, was in 11 durch die Bezugszahl (4)
dargestellt ist.
-
Wenn
das externe Tool 5a vom A-Typ oder das externe Tool 5b vom
B-Typ die Antwort auf die Datendownload-Anforderung empfängt, sendet (downloadet) es
das Wiederbeschreibsteuerprogramm RP als die Schreibzieldaten an
die ECU 1, was in 11 durch
die Bezugszahl (5) dargestellt ist. Genauer, das externe
Tool 5a vom A-Typ oder das externe Tool 5b vom
B-Typ lädt
Daten, die das Wiederbeschreibsteuerprogramm RP bilden, als die Schreibzieldaten
zur ECU 1 herunter. In den 11 und 12 werden
die Schreibzieldaten als "Schreibdaten" beschrieben.
-
In
dem Bootloader BL wird jedes Mal, wenn eine Einheitsmenge des Wiederbeschreibsteuerprogramms
RP von dem externen Tool 5a vom A-Typ gesendet wird, in
Schritt S370 von der CPU 11 die bestätigende Bestimmung ausgeführt, so
dass die Operationen in Schritt S380 ausgeführt werden. Als Folge davon
wird, wenn das Gesamtvolumen des Wiederbeschreibsteuerprogramms
RP vollständig
in den RAM 15 geschrieben wurde, in Schritt S390 von der CPU 11 die
bestätigende
Bestimmung ausgeführt. Als
nächstes
wird in Schritt 395 die Antwort auf die Schreibdatenübertragung
von der CPU 11 zu dem externen Tool 5a vom A-Typ
oder dem externen Tool 5b vom B-Typ gesendet, was in 11 durch
die Bezugszahl (6) dargestellt ist.
-
Wenn
das externe Tool 5a vom A-Typ oder das externe Tool 5b vom
B-Typ die Antwort auf die Antwort auf die Wiederbeschreibdaten empfängt, sendet
es die Datendown load-Anforderung als eine Vorbereitung zum Senden
des Wiederbeschreibsteuerprogramms RP an die ECU 1, was
in 11 durch die Bezugszahl (7) dargestellt
ist. Die Datendownload-Anforderung umfasst die Informationen über die Download-Datenmenge,
die das Gesamtvolumen des neuen Anwendungsprogramms AP2 und dessen Zieladresse
in dem Flash-ROM 13 anzeigen.
-
In
dem Bootloader BL wird in Schritt S340 die bestätigende Bestimmung von der
CPU 11 ausgeführt.
Als nächstes
werden in Schritt S350 die Informationen über die Download-Datenmenge
von der CPU 11 in dem RAM 15 gespeichert, und
in Schritt S360 wird das in 10 dargestellte Übertragungsbestimmungsprogramm
von der CPU 11 ausgeführt.
-
In
dem Übertragungsbestimmungsprogramm
wird, da die Zieladresse, die in der von dem externen Tool 5a oder 5b gesendeten
Datendownload-Anforderung, dargestellt durch die Bezugszahl (7)
in 11, enthalten ist, eine Adresse des Flash-ROM 13 ist,
wird in Schritt S410 von der CPU 11 die bestätigende
Bestimmung ausgeführt
wird. Da in diesem Fall das Wiederbeschreibsteuerprogramm-Download-Flag DF in dem Register
der CPU 11 gesetzt worden ist, so dass das Wiederbeschreibsteuerprogramm
RP, das von dem externen Tool 5a oder 5b vor dem
Senden des neuen Anwendungsprogramms AP1 von dort gesendet wurde,
gesendet wird, wird in Schritt S440 die bestätigende Bestimmung von der
CPU 11 ausgeführt.
Als Folge davon springt die Ausführungsadresse
der CPU 11 in Schritt S450 durch die CPU 11 zu
der Anfangsadresse des Wiederbeschreibsteuerprogramms RP in dem
RAM 15.
-
Anschließend wird
das von dem externen Tool 5a oder 5b gesendete
und in dem RAM 15 gespeicherte Wiederbeschreibsteuerprogramm
RP von der CPU 11 ausgeführt.
-
Insbesondere
wird die Antwort auf die Datendownload-Anforderung von dort zu dem externen Tool 5a vom
A-Typ oder dem externen Tool 5b vom B-Typ gesendet, was
in 11 durch die Bezugszahl (8) dargestellt
ist. Wenn das externe Tool 5a vom A-Typ oder das externe
Tool 5b vom B-Typ
die Antwort auf die Datendownload-Anforderung empfängt, sendet
(downloaded) es eine Einheitsmenge des neuen Anwendungsprogramms
AP2 an die ECU 1, was in 11 durch
die Bezugszahl (9) gezeigt ist.
-
Als
Folge davon ermöglicht
in dem Mikrocomputer 7 die Ausführung des Wiederbeschreibsteuerprogramms
RP von der CPU 11, dass das frühere Anwendungsprogramm AP1,
das in dem Flash-ROM 13 gespeichert ist, gesendete Einheit
für gesendete
Einheit des Programms AP2 sequenziell auf das neue Anwendungsprogramm
AP2 aktualisiert wird, was in 11 durch
die Bezugszahl 150 dargestellt ist.
-
Nachdem
alle Einheiten des neuen Anwendungsprogramms AP2 in dem Speicherbereich
des Flash-ROM 13 gespeichert wurden, wird auf der Grundlage
des Wiederbeschreibsteuerprogramms RP die Antwort auf die Schreibdatenübertragung
von der CPU 1 zu dem externen Tool 5a oder 5b gesendet,
was in 11 durch die Bezugszahl (10)
dargestellt ist. Insbesondere werden von der CPU 11 auf der
Grundlage des Wiederbeschreibsteuerprogramms RP die durch die Bezugszahl
(8) in 11 angezeigte Prozedur und die
durch die Bezugszahl (10) in 11 angezeigte
Prozedur ausgeführt.
-
Zweitens, 12 stellt
ein Programmablaufdiagramm dar, das Kommunikationsprozeduren zwischen
dem externen Tool 5c vom C-Typ und der ECU 1 repräsentiert.
-
In 12 sind
die Kommunikationsprozeduren bis zu der Bezugszahl (2)
im Wesentlichen identisch mit jenen bis zur Bezugszahl (2)
in 11, so dass die Beschreibungen der Kommunikationsprozeduren
bis zu der Bezugszahl (2) weggelassen sind.
-
Wenn
das externe Tool 5c vom C-Typ die Antwort auf die Schreibanforderung
empfängt,
sendet es die Datendownload-Anforderung als eine Vorbereitung zum
Senden des Wiederbeschreibsteuerprogramms RP an die ECU 1,
was in 12 durch die Bezugszahl (3)
dargestellt ist. Die Datendownload-Anforderung umfasst die Informationen über die Download-Datenmenge,
die das Gesamtvolumen des neuen Anwendungsprogramms AP2 und dessen Zieladresse
in dem Flash-ROM 13 anzeigt.
-
In
dem Bootloader BL wird in Schritt S340 von der CPU 11 die
bestätigende
Bestimmung ausgeführt.
Als nächstes
werden in Schritt S350 die Informationen bezüglich der Download-Datenmenge von
der CPU 11 in dem RAM 15 gespeichert, und das Übertragungsbestimmungsprogramm
würde in Schritt
S360 das in 10 dargestellte Übertragungsbestimmungsprogramm
aus.
-
In
dem Übertragungsbestimmungsprogramm
wird, da die in der von dem externen Tool 5c gesendeten
Datendownload-Anforderung
enthaltene Zieladresse, dargestellt durch die Bezugszahl (3)
in 12, eine Adresse des Flash-ROM 13 ist,
in Schritt S410 von der CPU 11 die bestätigende Bestimmung ausgeführt. Da
in diesem Fall das Wiederbeschreibsteuerprogramm-Download-Flag DF
in dem Register der CPU 11 nicht gesetzt wurde, so dass
das Wiederbeschreibsteuerprogramm RP nicht von dem externen Tool 5c gesendet
wurde, wird in Schritt S440 von der CPU 11 die negative
Bestimmung ausgeführt.
Als Folge davon wird in dem Wiederbeschreibsteuerprogramm RP, das
in dem ersten Adressbereich des Flash-ROM 13 gespeichert
wurde, von dem ersten Adressbereich des Flash-ROM 13 in
den RAM 15 kopiert.
-
Anschließend springt
in Schritt S450 die Ausführungsadresse
der CPU 11 durch die CPU 11 zu der Anfangsadresse
des Wiederbeschreibsteuerprogramms RP in dem RAM 15.
-
Als
Folge davon wird in dem Mikrocomputer 7 das Wiederbeschreibsteuerprogramm
RP, das von dem Flash-ROM 13 in den RAM 15 kopiert
ist, von der CPU 11 gestartet. Dies ermöglicht das Senden der Antwort
auf die Datendownload-Anforderung
an das externe Tool 5c vom C-Typ, was durch die Bezugszahl
(8) in 11 dargestellt ist.
-
Wenn
das externe Tool 5c die Antwort auf die Datendownload-Anforderung
empfängt,
sendet (downloaded) es sequenziell eine Einheitsmenge des neuen
Anwendungsprogramms AP2 an die ECU 1, was durch die Bezugszahl
(5) in 12 dargestellt ist.
-
Als
Folge davon ermöglicht
in dem Mikrocomputer 7 die Ausführung des Wiederbeschreibsteuerprogramms
RP von der CPU 11, dass das frühere Anwendungsprogramm AP1,
das in dem Flash-ROM 13 gespeichert ist, gesendete Einheit
für gesendete
Einheit des Programms AP2 sequenziell auf das neue Anwendungsprogramm
AP2 aktualisiert wird. Diese Operation ist durch die Bezugszahl 150 in 6 dargestellt.
-
Nachdem
alle Einheiten des neuen Anwendungsprogramms AP2 in dem Speicherbereich
des Flash-ROM 13 gespeichert wurden, wird die Antwort auf
die Schreibdatenübertragung
auf der Grundlage des Wiederbeschreibsteuerprogramms RP von der CPU 11 zu
dem externen Tool 5c gesendet, was in 12 durch
die Bezugszahl (6) gezeigt ist. Insbesonde re werden von
der CPU 11 auf der Grundlage des Wiederbeschreibsteuerprogramms
RP die durch die Bezugszahl (4) in 12 gezeigte
Prozedur und die durch die Bezugszahl (6) in 12 gezeigte
Prozedur ausgeführt.
-
Wie
es oben beschrieben ist, ist in dem Programmwiederbeschreibsystem
gemäß der zweiten Ausführungsform
jeder Typ von externem Tool 5 so konfiguriert, dass er
die Zieladresse der Schreibzieldaten an die ECU 1 sendet,
bevor er das neue Anwendungsprogramm AP2 sendet.
-
In
dem Bootloader BL, der in dem für
die ECU 1 verwendeten Mikrocomputer i installierten ist, wird,
nachdem die Schreibanforderung von dem externen Tool 5 gesendet
wurde, wenn die Datendownload-Anforderung, die die gesendete Zieladresse enthält, von
dem externen Tool 5 gesendet wird, bestimmt, ob die Zieladresse
eine Adresse in dem Flash-ROM 13 ist. Es wird bestimmt,
dass die sequenziell von dem externen Tool 5 gesendeten Schreibzieldaten
Teil des Wiederbeschreibsteuerprogramms RP sind, bis in Schritt
S410 bestimmt wird, dass die Zieladresse eine Adresse in dem Flash-ROM 13 ist.
Als Folge davon werden in Schritt S380 die Schreibzieldaten als
Teil des Wiederbeschreibsteuerprogramms RP in dem RAM 15 gespeichert.
Wenn in Schritt S410 bestimmt wird, dass die Zieladresse eine Adresse
in dem Flash-ROM 13 ist, wird bestimmt, dass die von dem
externen Tool 5 nach der Bestimmung in Schritt S410 gesendeten Schreibzieldaten
Teil des neuen Anwendungsprogramms AP2 sind. Anschließend wird
bestimmt, ob das Wiederbeschreibsteuerprogramm-Download-Flag DF
in dem Register der CPU 11 gesetzt worden ist, um zu beurteilen,
ob das von dem externen Tool 5 gesendete Wiederbeschreibsteuerprogramm
RP in dem RAM 15 gespeichert wurde.
-
Wenn
in Schritt S440 bestimmt wird, dass das von dem externen Tool 5 gesendete
Wiederbeschreibsteuerprogramm RP in dem RAM 15 gespeichert
wurde, springt die Ausführungsadresse
der CPU 11 zu der Anfangsadresse des Wiederbeschreibsteuerprogramms
RP in dem RAM 15, so dass in Schritt S450 das Wiederbeschreibsteuerprogramm
RP abläuft.
Wenn hingegen bestimmt wird, dass das Wiederbeschreibsteuerprogramm
RP in Schritt S440 nicht in dem RAM 15 gespeichert wurde, wird
in Schritt S460 das Wiederbeschreibsteuerprogramm RP von dem ersten
Adressbereich des Flash-ROM 13 in den RAM 15 kopiert.
Anschließend springt
die Ausführungsadresse
der CPU 11 zu der Anfangsadresse des Wiederbeschreibsteuerprogramms
RP in dem RAM 15, so dass in Schritt S450 das Wiederbeschreibsteuerprogramm
RP ablaufen kann.
-
Wenn
das externe Tool 5 das externe Tool 5a vom A-Typ
oder das externe Tool 5b vom B-Typ ist, wird das von dem
externen Tool 5a vom A-Typ oder von dem externen Tool 5b vom
B-Typ gesendete Wiederbeschreibsteuerprogramm RP in dem RAM 15 gespeichert.
Anschließend,
wenn die Datendownload-Anforderung, die eine Adresse in dem Flash-ROM 13 als
die Zieladresse enthält,
von dem externen Tool 5a vom A-Typ oder dem externen Tool 5b vom
B-Typ gesendet ist, wird in Schritt S440 bestimmt, dass das von
dem externen Tool 5a vom A-Typ oder dem externen Tool 5b vom
B-Typ gesendete Wiederbeschreibsteuerprogramm RP in dem RAM 15 gespeichert
wurde. Dies ermöglicht
ein Ablaufen des Wiederbeschreibsteuerprogramms RP. Die Ausführung des
Wiederbeschreibsteuerprogramms RP ermöglicht es, dass das frühere Anwendungsprogramm
AP1, das in dem Flash-ROM 13 gespeichert ist, auf das darin
gespeicherte neue Anwendungsprogramm AP2 aktualisiert wird. Dieses neue
Anwendungsprogramm AP2 wird von dem externen Tool 5a oder 5b nach
der Ausführung
des Wiederbeschreibsteuerprogramms gesendet.
-
Wenn
hingegen das externe Tool 5 das externe Tool 5c vom
C-Typ ist, wird, da von dort kein Wiederbeschreibsteuerprogramm
gesendet wurde, wenn der ROM-Identifizierungscode
CD von dem externen Tool 5c vom C-Typ gesendet wird, bestimmt, dass in
Schritt S260 das Wiederbeschreibsteuerprogramm RP nicht in dem RAM 15 gespeichert
wurde. Dies ermöglicht
es, dass das Wiederbeschreibsteuerprogramm RP, das zuvor in dem
ersten Adressbereich des Flash-ROM 13 gespeichert wurde,
in den RAM 15 kopiert wird, so dass das Wiederbeschreibsteuerprogramm
RP von dem RAM 15 aus ausgeführt wird. Anschließend ermöglicht die
Ausführung des
Wiederbeschreibsteuerprogramms RP, dass das frühere Anwendungsprogramm AP1,
das in dem Flash-ROM 13 gespeichert ist, auf das darin
gespeicherte neue Anwendungsprogramm AP2 aktualisiert wird. Dieses
neue Anwendungsprogramm AP2 wird von dem externen Tool 5c nach
der Ausführung
des Wiederbeschreibsteuerprogramms gesendet.
-
Wie
es oben beschrieben ist, ermöglicht
in der zweiten Ausführungsform
der Bootloader BL gemäß der zweiten
Ausführungsform,
dass das frühere Anwendungsprogramm
AP1 exakt auf das neue Anwendungsprogramm AP2 aktualisiert (neu
geschrieben) wird, selbst wenn das externe Tool 5 mit einem der
Typen A bis C verwendet wird.
-
Ferner
beseitigt der Bootloader BL gemäß der zweiten
Ausführungsform
die Notwendigkeit der Entwicklung anwendungsspezifischer Bootloader
für die
Typen A bis C externer Tools, wodurch es möglich ist, die Anzahl der Prozesse
zur Entwicklung der ECU 1 zu reduzieren und/oder das Management
der ECU 1 und des Bootloaders BL zu vereinfachen.
-
Es
ist zu beachten, dass in Schritt S440 von 10 die
Ausführungsadresse
der CPU 11 zu der Anfangsadresse des in dem Flash-ROM 13 gespeicherten
Wiederbeschreibsteuerprogramms RP springen kann, ohne es in den
RAM 15 zu kopieren. Da in dieser Modifikation der erste
Adressbereich, in dem das Wiederbeschreibsteuerprogramm RP gespeichert
wurde, von dem zweiten Adressbereich, in dem das frühere Anwendungsprogramm
AP1 in dem Flash-ROM 13 gespeichert ist, verschieden ist,
ist es möglich,
das wiederbeschreibsteuerprogramm RP auf dem Flash-ROM 13 ablaufen
zu lassen.
-
Sowohl
in der ersten als auch in der zweiten Ausführungsform umfasst die ECU 1 den
Flash-ROM 13 als ein Beispiel eines wiederbeschreibbaren,
nicht flüchtigen
Speichers, sie kann jedoch wenigstens einen weiteren Typ eines wiederbeschreibbaren,
nicht flüchtigen
Speichers wie etwa einen EEPROM umfassen.
-
Sowohl
in der ersten als auch in der zweiten Ausführungsform ist zu beachten,
dass die Schreibanforderung über
eine Signalleitung, die von der Kommunikationsleitung 3 verschieden
ist, von dem externen Tool 5 zur ECU 1 übertragen
werden.
-
Sowohl
in der ersten als auch in der zweiten Ausführungsform umfasst das Programmwiederbeschreibsystem
eine in einem Kraftfahrzeug installierte ECU, jedoch kann das Programmwiederbeschreibsystem
auch eine Steuereinheit umfassen, die in einem anderen Maschinentyp
installiert ist. Ferner steuert sowohl in der ersten als auch in
der zweiten Ausführungsform
die ECU 1 einen in einem Kraftfahrzeug eingebauten Motor
als ein Ziel an. Jedoch kann die ECU 1 als Ziel weitere,
in einem Kraftfahrzeug eingebaute Komponenten wie etwa eine Bremse,
eine Übertragung
bzw. ein Getriebe oder Aufhängungen
ansteuern.
-
Sowohl
in der ersten als auch in der zweiten Ausführungsform ist es wichtig,
zu beachten, dass die vorliegende Erfindung in dem Kontext voll
funktionsfähiger
Computer wie etwa der ECU 1 und dem externen Tool 5 beschrieben
ist und weiter beschrieben wird. Gemäß der vorliegenden Erfindung
können jedoch
die in der ECU 1 und dem externen Tool 5 vorgesehenen
Elemente als anwendungsspezifische Hardwareeinrichtungen wie etwa
kundenspezifische LSI-(Large Scale Integration) Schaltungen implementiert
sein.
-
Ferner
wird der Fachmann auf dem Gebiet erkennen, dass die vorliegende
Erfindung dazu geeignet ist, als Warenprodukte vertrieben zu werden, zum
Beispiel der Bootloader BL in zahlreichen Formen. Es ist darüber hinaus
wichtig, zu beachten, dass die vorliegende Erfindung, unabhängig von
dem bestimmten Typ eines verwendeten Signaltragemediums, anwendbar
ist, um den Vertrieb tatsächlich auszuführen. Beispiele
geeigneter Signaltragemedien umfassen bespielbare Medien wie etwa
CD-ROM und DVDs, und Übertragungsmedien
wie etwa digitale und analoge Kommunikationsverbindungen.
-
Während das,
was derzeit als die Ausführungsformen
und Modifikationen der vorliegenden Erfindung betrachtet wird, beschrieben
wurde, ist klar, dass verschiedene Modifikationen, die nicht beschrieben
sind, darin enthalten sind, und es ist beabsichtigt, in den beigefügten Ansprüchen alle
solche Modifikationen abzudecken, die innerhalb des wahren Geistes
und Umfangs der Erfindung fallen.