DE102005058950A1 - Programmwiederbeschreibsystem, Bootlader, Speichermedium und Elektronische Steuereinheit - Google Patents

Programmwiederbeschreibsystem, Bootlader, Speichermedium und Elektronische Steuereinheit Download PDF

Info

Publication number
DE102005058950A1
DE102005058950A1 DE102005058950A DE102005058950A DE102005058950A1 DE 102005058950 A1 DE102005058950 A1 DE 102005058950A1 DE 102005058950 A DE102005058950 A DE 102005058950A DE 102005058950 A DE102005058950 A DE 102005058950A DE 102005058950 A1 DE102005058950 A1 DE 102005058950A1
Authority
DE
Germany
Prior art keywords
application program
control program
memory
rewrite control
external device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102005058950A
Other languages
English (en)
Inventor
Makoto Kariya Yamaguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE102005058950A1 publication Critical patent/DE102005058950A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

Ein 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 verbunden. In dem System ist eine Empfangseinheit konfiguriert, um eine von der externen Vorrichtung gesendete Kennung zu empfangen. Die Kennung bestimmt einen Zeitpunkt zum Senden des zweiten Anwendungsprogramms von der externen Vorrichtung. In dem System ist eine Identifizierungseinheit konfiguriert, um zu identifizieren, dass von der externen Vorrichtung gesendete Schreibzieldaten wenigstens ein Modul des zweiten Anwendungsprogramms sind, nachdem die Kennung von der Empfangseinheit empfangen wurde.

Description

  • 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.

Claims (18)

  1. 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 verbunden ist, wobei die externe Vorrichtung konfiguriert ist, um auf der Grundlage eines ersten Weges und eines zweiten Weges, die unterschiedlich sind, das zweite Anwendungsprogramm an das System zu senden, wobei der erste Weg darin besteht, 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, und der zweite weg darin besteht, das zweite Anwendungsprogramm als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm zu senden, wobei das Wiederbeschreibsteuerprogramm es dem System erlaubt, das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben, wobei das System umfasst: – eine Empfangseinheit, die konfiguriert ist, um eine von der externen Vorrichtung gesendete Kennung zu empfangen, wobei die Kennung einen Zeitpunkt zum Senden des zweiten Anwendungsprogramms von der externen Vorrichtung bestimmt; und – 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.
  2. 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 verbunden ist, wobei die externe Vorrichtung konfiguriert ist, um auf der Grundlage eines ersten Weges und eines zweiten Weges, die unterschiedlich sind, das zweite Anwendungsprogramm an das System zu senden, wobei der erste Weg darin besteht, 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, und der zweite Weg darin besteht, das zweite Anwendungsprogramm als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm zu senden, wobei das Wiederbeschreibsteuerprogramm es dem System erlaubt, das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben, wobei das System umfasst: – eine Bestimmungseinheit, die konfiguriert ist, um zu bestimmen, ob eine von der externen Vorrichtung gesendete Kennung empfangen werden soll, wobei die Kennung einen Zeitpunkt zum Senden des zweiten Anwendungsprogramms von der externen Vorrichtung bestimmt; – eine erste Identifizierungseinheit, die konfiguriert ist, um zu identifizieren, dass die von der externen Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des Wiederbeschreibsteuerpro gramms sind, bis bestimmt wird, dass die Kennung empfangen wurde; und – 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.
  3. System nach Anspruch 2, das ferner einen zweiten Speicher umfasst, wobei die erste Identifizierungseinheit konfiguriert ist, um die Schreibzieldaten in dem Speicher zu speichern, bis bestimmt wird, dass die Kennung empfangen wurde, und die zweite Identifizierungseinheit konfiguriert ist, um: – zu bestimmen, ob das Wiederbeschreibsteuerprogramm in dem zweiten Speicher gespeichert wurde, nachdem bestimmt wurde, dass die Kennung empfangen wurde; – das Wiederbeschreibsteuerprogramm zu starten, wenn bestimmt wird, dass das Wiederbeschreibsteuerprogramm in dem zweiten Speicher gespeichert wurde; und – zu identifizieren, dass das Wiederbeschreibsteuerprogramm entweder in dem ersten Speicher oder einem weiteren, in dem System installierten Speicher gespeichert wurde, wenn bestimmt wird, dass das Wiederbeschreibsteuerprogramm nicht in dem zweiten Speicher bestimmt wurde.
  4. System nach Anspruch 3, wobei die erste Identifizierungseinheit konfiguriert ist, um ein Flag zu setzen, wenn bestimmt wird, dass keine Kennung empfangen wurde, und die zweite Identifizierungseinheit konfiguriert ist, um zu bestimmen, ob das Flag gesetzt ist, nach bestimmt wurde, dass die Kennung empfangen wur de, und um zu bestimmen, dass das Wiederbeschreibsteuerprogramm in dem zweiten Speicher gespeichert wurde, wenn bestimmt wird, dass das Flag gesetzt ist.
  5. System nach Anspruch 3, wobei der erste Speicher ein wiederbeschreibbarer, nicht flüchtiger Speicher ist und der zweite Speicher ein wiederbeschreibbarer, flüchtiger Speicher ist, und die zweite Identifizierungseinheit konfiguriert ist, um das in dem wiederbeschreibbaren, nicht flüchtigen Speicher gespeicherte Wiederbeschreibsteuerprogramm darauf ablaufen zu lassen, wenn das Wiederbeschreibsteuerprogramm nicht in dem wiederbeschreibbaren flüchtigen Speicher gespeichert wurde.
  6. System nach Anspruch 3, wobei der erste Speicher ein wiederbeschreibbarer, nicht flüchtiger Speicher ist, und der zweite Speicher ein wiederbeschreibbarer, flüchtiger Speicher ist, und die zweite Identifizierungseinheit konfiguriert ist, um das in dem wiederbeschreibbaren, nicht flüchtigen Speicher gespeicherte Wiederbeschreibsteuerprogramm in den wiederbeschreibbaren flüchtigen Speicher zu kopieren, wenn das Wiederbeschreibsteuerprogramm nicht in dem wiederbeschreibbaren, flüchtigen Speicher gespeichert wurde, und um das in dem wiederbeschreibbaren, flüchtigen Speicher gespeicherte wiederbeschreibsteuerprogramm darauf ablaufen zu lassen.
  7. Programmprodukt mit einem in einem System installierten Bootloader, wobei das System 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 kommu nizierbar mit der externen Vorrichtung verbunden ist, wobei die externe Vorrichtung konfiguriert ist, um auf der Grundlage eines ersten Weges und eines zweiten Weges, die unterschiedlich sind, das zweite Anwendungsprogramm an das System zu senden, wobei der erste Weg darin besteht, 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, und der zweite Weg darin besteht, das zweite Anwendungsprogramm als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm zu senden, wobei das Wiederbeschreibsteuerprogramm es dem System erlaubt, das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben, wobei das System umfasst: – ein erstes Mittel, um einen Computer anzuweisen, zu bestimmen, ob eine von der externen Vorrichtung gesendete Kennung empfangen werden soll, wobei die Kennung einen Zeitpunkt zum Senden des zweiten Anwendungsprogramms von der externen Vorrichtung bestimmt; – ein zweites Mittel, um einen Computer anzuweisen, zu identifizieren, dass die von der externen Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des Wiederbeschreibsteuerprogramms ist, bis bestimmt wird, dass keine Kennung empfangen wurde; und – 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 Kennung empfangen wurde.
  8. Signal tragendes Medium, das den Bootloader gemäß Anspruch 7 trägt.
  9. Fahrzeugregelungseinheit zur Regelung eines in einem Fahrzeug eingebauten Ziels, wobei die Fahrzeugregelungseinheit einen Computer und das Signal tragende Medium gemäß Anspruch 8 umfasst und das Signal tragende Medium von dem Computer lesbar ist.
  10. 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 verbunden ist, wobei die externe Vorrichtung konfiguriert ist, um auf der Grundlage eines ersten Weges und eines zweiten Weges, die unterschiedlich sind, das zweite Anwendungsprogramm an das System zu senden, wobei der erste Weg darin besteht, 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, und der zweite Weg darin besteht, das zweite Anwendungsprogramm als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm zu senden, wobei das Wiederbeschreibsteuerprogramm es dem System erlaubt, das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben, wobei das System umfasst – eine Empfangseinheit, die konfiguriert ist, um von der externen Vorrichtung gesendete Zielortinformationen zu empfangen, wobei die Zielortinformatio nen eine Adresse anzeigen, bei der die Schreibzieldaten geschrieben sind; – eine Bestimmungseinheit, die konfiguriert ist, um zu bestimmen, ob die Zielortinformationen eine Adresse in dem ersten Speicher anzeigen; und – 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.
  11. 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 verbunden ist, wobei die externe Vorrichtung konfiguriert ist, um auf der Grundlage eines ersten Weges und eines zweiten Weges, die unterschiedlich sind, das zweite Anwendungsprogramm an das System zu senden, wobei der erste Weg darin besteht, 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, und der zweite Weg darin besteht, das zweite Anwendungsprogramm als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm zu senden, wobei das Wiederbeschreibsteuerprogramm es dem System erlaubt, das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben, wobei das System umfasst: – eine Empfangseinheit, die konfiguriert ist, um von der externen Vorrichtung gesendete Zielortinformationen zu empfangen, wobei die Zielortinformationen eine Adresse anzeigen, bei der die Schreibzieldaten geschrieben sind; – eine Bestimmungseinheit, die konfiguriert ist, um zu bestimmen, ob die Zielortinformationen eine Adresse in dem ersten Speicher anzeigen; – eine erste Identifizierungseinheit, die konfiguriert ist, um zu identifizieren, dass die von der externen Vorrichtung gesendeten Schreibzieldaten wenigstens ein Modul des Wiederbeschreibsteuerprogramms ist, bis bestimmt wird, dass die Zielortinformationen eine Adresse in dem ersten Speicher anzeigen; und – 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.
  12. System nach Anspruch 11, das ferner einen zweiten Speicher umfasst, wobei die erste Identifizierungseinheit konfiguriert ist, um die Schreibzieldaten in dem zweiten Speicher zu speichern, bis bestimmt wird, dass die Zielortinformationen eine Adresse in dem ersten Speicher anzeigen, und die zweite Identifizierungseinheit konfiguriert ist, um: – zu bestimmen, ob das Wiederbeschreibsteuerprogramm in dem zweiten Speicher gespeichert wurde, nachdem bestimmt wurde, dass die Zielortinformationen eine Adresse in dem ersten Speicher anzeigen; – das Wiederbeschreibsteuerprogramm zu starten, wenn bestimmt wird, dass das Wiederbeschreibsteuerprogramm in dem zweiten Speicher gespeichert wurde; und – zu identifizieren, dass das Wiederbeschreibsteuerprogramm entweder in dem ersten Speicher oder einem weiteren, in dem System installierten Speicher gespeichert wurde, wenn bestimmt wird, dass das Wiederbeschreibsteuerprogramm in dem zweiten Speicher gespeichert wurde.
  13. System nach Anspruch 12, wobei die erste Identifizierungseinheit konfiguriert ist, um ein Flag zu setzen, wenn bestimmt wird, dass die Zielortinformationen keine Adresse in dem ersten Speicher anzeigen, und die zweite Identifizierungseinheit konfiguriert ist, um zu bestimmen, ob das Flag gesetzt ist, nachdem bestimmt wurde, dass die Zielortinformationen eine Adresse in dem ersten Speicher anzeigen, und um zu bestimmen, dass das Wiederbeschreibsteuerprogramm in dem zweiten Speicher gespeichert wurde, wenn bestimmt wird, dass das Flag gesetzt ist.
  14. System nach Anspruch 13, wobei der erste Speicher ein wiederbeschreibbarer, nicht flüchtiger Speicher ist und der zweite Speicher ein wiederbeschreibbarer, flüchtiger Speicher ist, und die zweite Identifizierungseinheit konfiguriert ist, um das in dem wiederbeschreibbaren, nicht flüchtigen Speicher gespeicherte Wiederbeschreibsteuerprogramm darin ablaufen zu lassen, wenn das Wiederbeschreibsteuerprogramm nicht in dem wiederbeschreibbaren, flüchtigen Speicher gespeichert wurde.
  15. System nach Anspruch 13, wobei der erste Speicher ein wiederbeschreibbarer, nicht flüchtiger Speicher ist, und der zweite Speicher ein wiederbeschreibbarer, flüchtiger Speicher ist, und die zweite Identifizierungseinheit konfiguriert ist, um das in dem wiederbeschreibbaren, nicht flüchtigen Speicher gespeicherte Wiederbeschreibsteuerprogramm in den wiederbeschreibbaren, flüchtigen Speicher zu kopieren, wenn das Wiederbeschreibsteuerprogramm nicht in dem wiederbeschreibbaren, flüchtigen Speicher gespeichert wurde, und um das in dem wiederbeschreibbaren, flüchtigen Speicher gespeicherte Wiederbeschreibsteuerprogramm darin ablaufen zu lassen.
  16. Programmprodukt, das einen in einem System installierten Bootloader umfasst, wobei das System 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 verbunden ist, wobei die externe Vorrichtung konfiguriert ist, um auf der Grundlage eines ersten Weges und eines zweiten Weges, die unterschiedlich sind, das zweite Anwendungsprogramm an das System zu senden, wobei der erste Weg darin besteht, 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, und der zweite Weg darin besteht, das zweite Anwendungsprogramm als die Schreibzieldaten an das System zu senden, ohne das Wiederbeschreibsteuerprogramm zu senden, wobei das Wiederbeschreibsteuerprogramm es dem System erlaubt, das erste Anwendungsprogramm in das zweite Anwendungsprogramm umzuschreiben, wobei das System umfasst: – ein erstes Mittel, um einen Computer anzuweisen, zu bestimmen, ob die Zielortinformationen eine Adresse in dem ersten Speicher anzeigen; und – 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; und – 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.
  17. Ein Signal tragendes Medium, das den Bootloader gemäß Anspruch 16 trägt.
  18. Eine Fahrzeugregelungseinheit zum Regeln eines in einem Fahrzeug eingebauten Ziels, wobei die Fahrzeugregelungseinheit einen Computer und das Signal tragende Medium gemäß Anspruch 17 umfasst, wobei das Signal tragende Medium von dem Computer lesbar ist.
DE102005058950A 2004-12-10 2005-12-09 Programmwiederbeschreibsystem, Bootlader, Speichermedium und Elektronische Steuereinheit Withdrawn DE102005058950A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-358974 2004-12-10
JP2004358974A JP4556653B2 (ja) 2004-12-10 2004-12-10 車載電子制御装置のプログラム書換システム、車載電子制御装置のコンピュータ用ブートローダ、記録媒体、及び車載電子制御装置

Publications (1)

Publication Number Publication Date
DE102005058950A1 true DE102005058950A1 (de) 2006-06-14

Family

ID=36500388

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005058950A Withdrawn DE102005058950A1 (de) 2004-12-10 2005-12-09 Programmwiederbeschreibsystem, Bootlader, Speichermedium und Elektronische Steuereinheit

Country Status (3)

Country Link
US (1) US7904896B2 (de)
JP (1) JP4556653B2 (de)
DE (1) DE102005058950A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4722194B2 (ja) * 2009-04-13 2011-07-13 本田技研工業株式会社 車両のための書き換えシステム
US20130212571A1 (en) * 2010-10-29 2013-08-15 Honda Motor Co., Ltd. Program rewriting system for vehicles
KR20140060912A (ko) * 2012-11-13 2014-05-21 한국전자통신연구원 부트로더를 업데이트하는 방법 및 장치
KR102379202B1 (ko) * 2015-09-30 2022-03-28 삼성전자주식회사 전자 장치 및 그 부팅 방법
US10175716B2 (en) * 2016-09-29 2019-01-08 Intel Corporation Technologies for low-power and high-accuracy timestamps
KR102002517B1 (ko) * 2017-06-30 2019-07-22 주식회사 페스카로 전자식 제어기 보안 기능 설정 방법 및 시스템
JPWO2020003379A1 (ja) * 2018-06-26 2020-07-27 日立ジョンソンコントロールズ空調株式会社 保守システム、保守用基板およびデータ書込方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324305A (ja) 1992-05-26 1993-12-07 Canon Inc プログラム変更方法
JP2790034B2 (ja) * 1994-03-28 1998-08-27 日本電気株式会社 非運用系メモリ更新方式
US5844796A (en) * 1994-07-19 1998-12-01 Minolta Co., Ltd. Machine control device
JP3550834B2 (ja) 1995-11-13 2004-08-04 株式会社デンソー 自動車用電子制御装置のメモリ書換システム,自動車用電子制御装置及びメモリ書換装置
JP3568704B2 (ja) * 1996-09-26 2004-09-22 株式会社デンソー 電子制御装置,メモリ書換装置及び電子制御装置のメモリ書換システム
JP3796837B2 (ja) * 1996-09-20 2006-07-12 株式会社デンソー 電子装置のメモリ書込装置
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
JP2000076061A (ja) 1998-08-28 2000-03-14 Ricoh Co Ltd プログラム書き換え方法
JP2001319267A (ja) * 2000-05-09 2001-11-16 Sanden Corp 自動販売機の制御システム
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US6959437B2 (en) * 2001-09-07 2005-10-25 Sharp Laboratories Of America, Inc. System and method for installing printer driver software
US7188369B2 (en) * 2002-10-03 2007-03-06 Trend Micro, Inc. System and method having an antivirus virtual scanning processor with plug-in functionalities
TWI220962B (en) * 2003-01-20 2004-09-11 Mediatek Inc Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating
US20040230963A1 (en) * 2003-05-12 2004-11-18 Rothman Michael A. Method for updating firmware in an operating system agnostic manner
JP4063146B2 (ja) * 2003-05-19 2008-03-19 株式会社デンソー プログラム書込方法

Also Published As

Publication number Publication date
US7904896B2 (en) 2011-03-08
US20060155941A1 (en) 2006-07-13
JP4556653B2 (ja) 2010-10-06
JP2006171803A (ja) 2006-06-29

Similar Documents

Publication Publication Date Title
DE69521113T2 (de) Vorrichtung und Verfahren zur Stromversorgungsausfallbeständige Aktualisierung eines Flash-EEPROM-Speichers
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE102005058950A1 (de) Programmwiederbeschreibsystem, Bootlader, Speichermedium und Elektronische Steuereinheit
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE102006029690A1 (de) Beibehaltung einer Identifikation einer elektronischen Steuereinheit bei Umprogrammierungsereignissen
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
DE102005013285A1 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE19934191B4 (de) Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
EP3128383A1 (de) Feldgerät
DE102018202446A1 (de) Verfahren zum Modularisieren einer Softwarearchitektur
DE102009051675A1 (de) In ein Fahrzeug einbaubare elektronische Steuervorrichtung
WO2017125181A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
EP2041632B1 (de) Neuprogrammierung von elektronischen fahrzeug-steuereinheiten über eingebaute peripherien für austauschbare datenspeicher
DE10234063B4 (de) Verfahren zum variantenspezifischen Programmieren eines Programm- und Datenspeichers eines Steuergeräts, insbesondere eines Steuergeräts eines Kraftfahrzeugs, sowie Vorrichtung zur Durchführung des Verfahrens
DE69810744T2 (de) ROM Abbildverarbeitung im Fall einer Stromversorgungsunterbrechung
DE10204095B4 (de) Fahrzeugmontierte Navigationsvorrichtung
EP1929243B1 (de) Verfahren zur aktualisierung von digitalen karten
DE102017206752A1 (de) Elektronische steuereinheit und datenumschreibesystem
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
DE102007059355A1 (de) Verfahren zum Betreiben eines Steuergerätes und Steuergerät
DE102004006308B4 (de) Verfahren zum Verändern von Programmcode eines tragbaren Datenträgers mittels Patchdaten
DE102018210956A1 (de) Elektronische steuereinheit und aktualisierungssoftware-verteilungssystem
EP2054822A1 (de) Verfahren und vorrichtung zum aktualisieren einer datenbank und computerprogrammprodukt
DE19924610B4 (de) Setup-Verfahren
DE102008010556A1 (de) Verfahren und Vorrichtung zum Speichern von Informationsdaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20111026

R016 Response to examination communication
R084 Declaration of willingness to licence
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee