DE112020004103T5 - Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einem überschreiben von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem überschreiben von konfigurationsfestlegungsinformationen - Google Patents

Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einem überschreiben von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem überschreiben von konfigurationsfestlegungsinformationen Download PDF

Info

Publication number
DE112020004103T5
DE112020004103T5 DE112020004103.4T DE112020004103T DE112020004103T5 DE 112020004103 T5 DE112020004103 T5 DE 112020004103T5 DE 112020004103 T DE112020004103 T DE 112020004103T DE 112020004103 T5 DE112020004103 T5 DE 112020004103T5
Authority
DE
Germany
Prior art keywords
rewriting
ecu
data
rewrite
cgw
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.)
Pending
Application number
DE112020004103.4T
Other languages
English (en)
Inventor
Yuzo Harata
Kazuhiro Uehara
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 DE112020004103T5 publication Critical patent/DE112020004103T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Developing Agents For Electrophotography (AREA)

Abstract

In einem elektronischen Fahrzeugsteuersystem (1) hat eine ECU (19) einen nichtflüchtigen Speicher, der Konfigurationsfestlegungsinformationen speichert. Eine Fahrzeugmastervorrichtung (11) beinhaltet eine Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit (93a), die konfiguriert ist, um die Umschreibziel-ECU anzuweisen, mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, während die Umschreibziel-ECU ein Programm umschreibt oder nachdem die Umschreibziel-ECU das Programm umschreibt.

Description

  • QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNGEN
  • Diese Anmeldung basiert auf der japanischen Patentanmeldung mit der Nummer 2019-155686 , eingereicht am 28. August, 2019, deren Offenbarung hier durch Bezugnahme aufgenommen ist.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft ein elektronisches Fahrzeugsteuersystem, eine Fahrzeugmastervorrichtung, ein Umschreibanweisungsverfahren basierend auf einem Überschreiben von Konfigurationsfestlegungsinformationen und ein Umschreibanweisungsprogramm basierend auf einem Überschreiben von Konfigurationsinformationen.
  • STAND DER TECHNIK
  • In jüngsten Jahren hat sich der Umfang eines Programms für Fahrzeugsteuerung, Diagnose und dergleichen, das in einer elektronischen Steuereinheit (nachfolgend ECU) eines Fahrzeugs installiert ist, aufgrund der Diversifizierung von Fahrzeugsteuerung wie einer Fahrunterstützungsfunktion und einer Funktion zum autonomen Fahren erhöht. Eine Möglichkeit zum Umschreiben (Umprogrammieren) eines Programms einer ECU wurde gemäß einer Aufrüstung basierend auf funktionaler Verbesserung erhöht. Andererseits hat sich mit dem Fortschritt von Kommunikationsnetzwerken oder dergleichen auch eine Technik für vernetzte Autos verbreitet. Angesichts solcher Umstände schlägt beispielsweise Patentdokument 1 eine Technik vor, bei der eine Fahrzeugmastervorrichtung als Relaisvorrichtung auf einer Fahrzeugseite bereitgestellt ist und die Fahrzeug-Master-Vorrichtung drahtlos von einer Zentralvorrichtung empfangene Aktualisierungsdaten an eine Umschreibziel-ECU verteilt, so dass ein Programm der Umschreibziel-ECU über den Äther (Over The Air (OTA)) umgeschrieben wird.
  • LITERATUR DES STANDES DER TECHNIK
  • PATENTLITERATUR
  • Patentdokument 1: JP 2016 - 224898 A
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • In einer Umschreibziel-ECU gibt es in einem Fall, in dem eine Struktur eines nichtflüchtigen Speichers geändert wird, wenn ein Programm durch Schreiben von Aktualisierungsdaten umgeschrieben wird, Bedenken, dass Konfigurationsfestlegungsinformationen, wie etwa ein Lernwert, der in dem nichtflüchtigen Speicher gespeichert ist, nicht angemessen verwendet werden können. Angesichts dieser Umstände besteht ein Bedarf an einer Struktur, die eine geeignete Verwendung von Konfigurationsfestlegungsinformationen selbst in einem Fall ermöglicht, in dem eine Struktur eines nichtflüchtigen Speichers geändert wird, wenn ein Programm einer Umschreibziel-ECU umgeschrieben wird.
  • Eine Aufgabe der vorliegenden Offenbarung ist es, zu ermöglichen, dass Konfigurationsfestlegungsinformationen angemessen verwendet werden, nachdem ein Programm umgeschrieben wird, sogar in einem Fall, in dem eine Struktur eines nichtflüchtigen Speichers geändert wird, wenn das Programm in einer Umschreibzielelektronische-Steuereinheit umgeschrieben wird.
  • Gemäß einem Aspekt der vorliegenden Offenbarung beinhaltet ein elektronisches Fahrzeugsteuersystem: eine Fahrzeugmastervorrichtung, die konfiguriert ist, um Aktualisierungsdaten, die von einer Zentralvorrichtung empfangen werden, an eine Umschreibziel-ECU zu verteilen und die Umschreibziel-ECU anzuweisen, die Aktualisierungsdaten zu schreiben; und eine ECU, die konfiguriert ist, um ein Programm in einem nichtflüchtigen Speicher unter Verwendung der Aktualisierungsdaten umzuschreiben, die von der Fahrzeugmastervorrichtung empfangen werden. Konfigurationsfestlegungsinformationen sind in dem nichtflüchtigen Speicher in der ECU gespeichert. Die Fahrzeugmastervorrichtung beinhaltet eine Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit, die konfiguriert ist, um die Umschreibziel-ECU anzuweisen, mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, während die Umschreibziel-ECU ein Programm umschreibt oder nachdem die Umschreibziel-ECU das Programm umschreibt.
  • Eine Umschreibziel-ECU wird angewiesen, mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, während die Umschreibziel-ECU ein Programm umschreibt oder nach Umschreiben des Programms. Die Umschreibziel-ECU wird angewiesen mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, während die Umschreibziel-ECU das Programm umschreibt oder nach Umschreiben des Programms, und somit kann die Umschreibziel-ECU alte Konfigurationsfestlegungsinformationen in die neuen Konfigurationsfestlegungsinformationen umschreiben. Sogar in einem Fall, in dem eine Struktur des nichtflüchtigen Speichers geändert wird, wenn das Programm in der Umschreibziel-ECU umgeschrieben wird, können die Konfigurationsfestlegungsinformationen angemessen verwendet werden, nachdem ein Anwendungsprogramm umgeschrieben ist.
  • Figurenliste
  • Die vorstehenden und andere Aufgaben, Merkmale und Vorteile der vorliegenden Offenbarung werden aus der nachfolgenden detaillierten Beschreibung in Zusammenschau mit den Zeichnungen deutlicher. Es zeigen:
    • 1 ein Diagramm, das die Gesamtkonfiguration gemäß einer Ausführungsform illustriert,
    • 2 ein Diagramm, das eine elektrische Konfiguration eines CGW illustriert,
    • 3 ein Diagramm, das eine elektrische Konfiguration eines DCM illustriert,
    • 4 ein Diagramm, das eine elektrische Konfiguration einer ECU illustriert,
    • 5 ein Diagramm, das einen Verbindungsaspekt einer Energieleitung illustriert,
    • 6 ein Diagramm, das einen Aspekt des Verpackens von Umprogrammierungsdaten und Verteilungsspezifikationsdaten illustriert,
    • 7 ein Diagramm, das Umschreibspezifikationsdaten für das DCM illustriert,
    • 8 ein Diagramm, das Umschreibspezifikationsdaten für das CGW illustriert,
    • 9 ein Diagramm, das die Verteilungsspezifikationsdaten illustriert,
    • 10 ein Diagramm, das einen Aspekt des Entpackens eines Verteilungspakets illustriert,
    • 11 ein Diagramm, das einen Aspekt während einer normalen Operation in einem Einzelbankspeicher eines eingebetteten Typs illustriert,
    • 12 ein Diagramm, das einen Aspekt während einer Umschreiboperation in dem Einzelbankspeicher eines eingebetteten Typs illustriert,
    • 13 ein Diagramm, das einen Aspekt während einer normalen Operation in einem Einzelbankspeicher eines Herunterladetyps illustriert,
    • 14 ein Diagramm, das einen Aspekt während einer Umschreiboperation in dem Einzelbankspeicher eines Herunterladetyps illustriert,
    • 15 ein Diagramm, das einen Aspekt während einer normalen Operation in einem Einzelbankaussetzspeicher eines eingebetteten Typs illustriert,
    • 16 ein Diagramm, das einen Aspekt während einer Umschreiboperation in einem Einzelbankaussetzspeicher eines eingebetteten Typs illustriert,
    • 17 ein Diagramm, das einen Aspekt während einer normalen Operation in einem Einzelbankaussetzspeicher eines Herunterladetyps illustriert,
    • 18 ein Diagramm, das einen Aspekt während einer Umschreiboperation in dem Einzelbankaussetzspeicher eines Herunterladetyps illustriert,
    • 19 ein Diagramm, das einen Aspekt während einer normalen Operation in einem Doppelbankspeicher eines eingebetteten Typs illustriert,
    • 20 ein Diagramm, das einen Aspekt während einer Umschreiboperation in dem Doppelbankspeicher eines eingebetteten Typs illustriert,
    • 21 ein Diagramm, das einen Aspekt während einer normalen Operation in einem Doppelbankspeicher eines Herunterladetyps illustriert,
    • 22 ein Diagramm, das einen Aspekt während einer Umschreiboperation in dem Doppelbankspeicher eines Herunterladetyps illustriert,
    • 23 ein Diagramm, das einen Aspekt des Umschreibens eines Anwendungsprogramms illustriert,
    • 24 ein Diagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 25 ein Diagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 26 ein Zeitdiagramm, das einen Aspekt illustriert, in dem ein Anwendungsprogramm unter Verwendung einer Energieversorgungssteuerung umgeschrieben wird,
    • 27 ein Zeitdiagramm, das einen Aspekt illustriert, in dem das Anwendungsprogramm unter Verwendung der Energieversorgungssteuerung umgeschrieben wird,
    • 28 ein Zeitdiagramm, das einen Aspekt illustriert, in dem das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie umgeschrieben wird,
    • 29 ein Zeitdiagramm, das einen Aspekt illustriert, in dem das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie umgeschrieben wird,
    • 30 ein Diagramm, das eine Phase illustriert,
    • 31 ein Diagramm, das einen Bildschirm in einem Normalzustand illustriert,
    • 32 ein Diagramm, das einen Bildschirm illustriert, wenn eine Kampagnenmitteilung auftritt,
    • 33 ein Diagramm, das einen Bildschirm zur Zeit der Kampagnenmitteilung illustriert,
    • 34 ein Diagramm, das einen Bildschirm illustriert, wenn Herunterladen genehmigt ist,
    • 35 ein Diagramm, das einen Bildschirm illustriert, wenn das Herunterladen genehmigt ist,
    • 36 ein Diagramm, das einen Bildschirm während der Ausführung des Herunterladens illustriert,
    • 37 ein Diagramm, das einen Bildschirm während der Ausführung des Herunterladens illustriert,
    • 38 ein Diagramm, das einen Bildschirm illustriert, wenn das Herunterladen abgeschlossen ist,
    • 39 ein Diagramm, das einen Bildschirm illustriert, wenn die Installation genehmigt ist,
    • 40 ein Diagramm, das einen Bildschirm illustriert, wenn die Installation genehmigt ist,
    • 41 ein Diagramm, das einen Bildschirm während der Ausführung der Installation illustriert,
    • 42 ein Diagramm, das einen Bildschirm während der Ausführung der Installation illustriert,
    • 43 ein Diagramm, das einen Bildschirm illustriert, wenn die Aktivierung genehmigt ist,
    • 44 ein Diagramm, das einen Bildschirm illustriert, wenn IG (Zündung) EIN ist,
    • 45 ein Diagramm, das einen Bildschirm während einer Überprüfungsoperation illustriert,
    • 46 ein Diagramm, das einen Bildschirm während der Überprüfungsoperation illustriert,
    • 47 ein Funktionsblockschaltbild einer Zentralvorrichtung,
    • 48 ein Funktionsblockschaltbild des DCM,
    • 49 ein Funktionsblockschaltbild des CGW,
    • 50 ein Funktionsblockschaltbild des CGW,
    • 51 ein Funktionsblockschaltbild der ECU,
    • 52 ein Funktionsblockschaltbild einer Fahrzeugbordanzeige,
    • 53 ein Funktionsblockschaltbild einer Verteilungspaketsendungsbestimmungseinheit,
    • 54 ein Ablaufdiagramm, das eine Verteilungspaketsendungsbestimmungsverarbeitung illustriert,
    • 55 ein Funktionsblockschaltbild einer Verteilungspaketherunterladebestimmungseinheit,
    • 56 ein Ablaufdiagramm, das eine Verteilungspaketherunterladebestimmungsverarbeitung illustriert,
    • 57 ein Funktionsblockschaltbild einer Schreibdatenübertragungsbestimmungseinheit,
    • 58 ein Ablaufdiagramm, das eine Schreibdatenübertragungsbestimmungsverarbeitung illustriert,
    • 59 ein Funktionsblockschaltbild einer Schreibdatenerlangungsbestimmungseinheit,
    • 60 ein Ablaufdiagramm, das eine Schreibdatenerlangungsbestimmungsverarbeitung illustriert,
    • 61 ein Funktionsblockschaltbild einer Installationsanweisungsbestimmungseinheit,
    • 62 ein Ablaufdiagramm, das eine Installationsanweisungsbestimmungsverarbeitung illustriert,
    • 63 ein Diagramm, das einen Aspekt eines Gebens einer Anweisung zur Installation illustriert,
    • 64 ein Diagramm, das einen Aspekt eines Gebens einer Anweisung zur Installation illustriert,
    • 65 ein Diagramm, das einen Aspekt des Erzeugens eines Zufallszahlenwerts illustriert,
    • 66 ein Funktionsblockschaltbild einer Sicherheitszugriffsschlüsselverwaltungseinheit,
    • 67 ein Ablaufdiagramm, das eine Sicherheitszugriffsschlüsselerzeugungsverarbeitung illustriert,
    • 68 ein Diagramm, das einen Aspekt des Erzeugens eines Sicherheitszugriffsschlüssels illustriert,
    • 69 ein Ablaufdiagramm, das eine Verarbeitung zum Löschen eines Sicherheitszugriffsschlüssels illustriert,
    • 70 ein Diagramm, das einen Ablauf einer Verarbeitung bezüglich einer Verifizierung von Schreibdaten illustriert,
    • 71 ein Funktionsblockschaltbild einer Schreibdatenverifizierungseinheit,
    • 72 ein Ablaufdiagramm, das eine Schreibdatenverifizierungsverarbeitung illustriert,
    • 73 ein Diagramm, das einen Aspekt illustriert, in dem eine Verarbeitung bezüglich der Verifizierung von Schreibdaten verteilt wird,
    • 74 ein Diagramm, das einen Aspekt illustriert, in dem die Verarbeitung bezüglich der Verifizierung von Schreibdaten verteilt wird,
    • 75 ein Diagramm, das einen Aspekt illustriert, in dem die Verarbeitung bezüglich der Verifizierung von Schreibdaten verteilt wird,
    • 76 ein Diagramm, das einen Aspekt illustriert, in dem die Verarbeitung bezüglich der Verifizierung von Schreibdaten verteilt wird,
    • 77 ein Diagramm, das einen Ablauf der Verifizierung von Schreibdaten und des Umschreibens eines Anwendungsprogramms illustriert,
    • 78 ein Diagramm, das einen Ablauf der Verifizierung der Schreibdaten und des Umschreibens des Anwendungsprogramms illustriert,
    • 79 ein Funktionsblockschaltbild einer Datenspeicherbankinformationssendesteuereinheit,
    • 80 ein Ablaufdiagramm, das eine Datenspeicherbankinformationssendesteuerverarbeitung illustriert,
    • 81 ein Sequenzdiagramm, das einen Aspekt des Ausführens einer Mitteilung von Doppelbankumschreibinformationen illustriert,
    • 82 ein Funktionsblockschaltbild einer Energieversorgungsverwaltungseinheit für ein Nicht-Umschreibziel,
    • 83 ein Ablaufdiagramm, das eine Energieversorgungsverwaltungsverarbeitung für ein Nicht-Umschreibziel illustriert,
    • 84 ein Diagramm, das einen Übergang in einen Startzustand, einen Stoppzustand und einen Schlafzustand illustriert,
    • 85 ein Diagramm, das den Übergang des Startzustands, Stoppzustands und Schlafzustands illustriert,
    • 86 ein Diagramm, das einen Verbindungsaspekt von Energieleitungen illustriert,
    • 87 ein Ablaufdiagramm, das eine Restbatterieladungsüberwachungsverarbeitung illustriert,
    • 88 ein Funktionsblockschaltbild einer Dateiübertragungssteuereinheit,
    • 89 ein Ablaufdiagramm, das eine Dateiübertragungssteuerungsverarbeitung illustriert,
    • 90 ein Diagramm das einen Aspekt eines Austauschens von Dateien illustriert,
    • 91 ein Diagramm das einen Aspekt eines Austauschens von Dateien illustriert,
    • 92 ein Diagramm, das geteilte Dateien und Schreibdateien illustriert,
    • 93 ein Diagramm, das einen Aspekt illustriert, in dem das CGW eine Übertragungsanforderung an das DCM sendet,
    • 94 ein Diagramm, das einen Aspekt illustriert, in dem das CGW eine Übertragungsanforderung an das DCM sendet,
    • 95 ein Diagramm, das einen Aspekt illustriert, in dem das CGW Schreibdaten an eine Umschreibziel-ECU verteilt,
    • 96 ein Diagramm, das einen Aspekt illustriert, in dem das CGW die Schreibdaten an die Umschreibziel-ECU verteilt,
    • 97 ein Diagramm, das einen Aspekt illustriert, in dem das CGW die Schreibdaten an die Umschreibziel-ECU verteilt,
    • 98 ein Diagramm, das einen Verbindungsaspekt der ECU illustriert,
    • 99 ein Funktionsblockschaltbild einer Schreibdatenverteilungssteuereinheit,
    • 100 ein Diagramm, das eine Buslasttabelle illustriert,
    • 101 ein Diagramm, das eine Tabelle illustriert, zu der die Umschreibziel-ECU gehört,
    • 102 ein Ablaufdiagramm, das eine Schreibdatenverteilungssteuerverarbeitung illustriert,
    • 103 ein Diagramm, das einen Aspekt des Verteilens von Schreibdaten illustriert,
    • 104 ein Diagramm, das einen Aspekt des Verteilens von Schreibdaten illustriert,
    • 105 ein Diagramm, das einen Aspekt des Verteilens von Schreibdaten illustriert, während ein Fahrzeug fährt,
    • 106 ein Diagramm, das einen Aspekt des Verteilens von Schreibdaten während des Parkens illustriert,
    • 107 ein Diagramm, das eine Verteilungsmenge von Schreibdaten illustriert,
    • 108 ein Diagramm, das eine Verteilungsmenge von Schreibdaten illustriert,
    • 109 ein Funktionsblockschaltbild einer Aktivierungsanforderungsanweisungseinheit,
    • 110 ein Ablaufdiagramm, das eine Aktivierungsanforderungsanweisungsverarbeitung illustriert,
    • 111 ein Diagramm, das einen Aspekt eines Gebens einer Anweisung für eine Aktivierungsanforderung illustriert,
    • 112 ein Funktionsblockschaltbild einer Aktivierungsausführungssteuereinheit,
    • 113 ein Ablaufdiagramm, das eine Umschreibverarbeitung illustriert,
    • 114 ein Ablaufdiagramm, das eine Aktivierungsausführungssteuerverarbeitung illustriert,
    • 115 ein Funktionsblockschaltbild einer Umschreibzielgruppierungseinheit,
    • 116 ein Ablaufdiagramm, das eine Umschreibzielgruppenverwaltungsverarbeitung illustriert,
    • 117 ein Ablaufdiagramm, das die Umschreibzielgruppenverwaltungsverarbeitung illustriert,
    • 118 ein Diagramm, das einen Aspekt des Gruppierens von Umschreibzielen illustriert,
    • 119 ein Funktionsblockschaltbild einer Rollbackausführungssteuereinheit,
    • 120 ein Ablaufdiagramm, das eine Rollbackverfahrenspezifizierungsverarbeitung illustriert,
    • 121 ein Ablaufdiagramm, das eine Aufhebungsanforderungsbestimmungsverarbeitung illustriert,
    • 122 ein Ablaufdiagramm, das die Aufhebungsanforderungsbestimmungsverarbeitung illustriert,
    • 123 ein Ablaufdiagramm, das die Aufhebungsanforderungsbestimmungsverarbeitung illustriert,
    • 124 ein Ablaufdiagramm, das die Aufhebungsanforderungsbestimmungsverarbeitung illustriert,
    • 125 ein Ablaufdiagramm, das die Aufhebungsanforderungsbestimmungsverarbeitung illustriert,
    • 126 ein Diagramm, das einen Aspekt des Ausführens eines Rollbacks illustriert,
    • 127 ein Diagramm, das einen Aspekt des Ausführens des Rollbacks illustriert,
    • 128 ein Diagramm, das einen Aspekt des Ausführens des Rollbacks illustriert,
    • 129 ein Diagramm, das einen Aspekt des Ausführens des Rollbacks illustriert,
    • 130 ein Diagramm, das einen Aspekt des Ausführens des Rollbacks illustriert,
    • 131 ein Funktionsblockschaltbild einer Umschreibfortschrittssituationsanzeigesteuereinheit,
    • 132 ein Ablaufdiagramm, das eine Umschreibfortschrittssituationsanzeigesteuerverarbeitung illustriert,
    • 133 ein Ablaufdiagramm, das die Umschreibfortschrittssituationsanzeigesteuerverarbeitung illustriert,
    • 134 ein Diagramm, das einen Umschreibfortschrittssituationsbildschirm illustriert,
    • 135 ein Diagramm, das den Umschreibfortschrittssituationsbildschirm illustriert,
    • 136 ein Diagramm, das den Umschreibfortschrittssituationsbildschirm illustriert,
    • 137 ein Diagramm, das den Umschreibfortschrittssituationsbildschirm illustriert,
    • 138 ein Diagramm, das den Umschreibfortschrittssituationsbildschirm illustriert,
    • 139 ein Diagramm, das einen Übergang einer Fortschrittsgraphenanzeige illustriert,
    • 140 ein Diagramm, das den Übergang der Fortschrittsgraphenanzeige illustriert,
    • 141 ein Diagramm, das den Übergang der Fortschrittsgraphenanzeige illustriert,
    • 142 ein Diagramm, das den Übergang der Fortschrittsgraphenanzeige illustriert,
    • 143 ein Diagramm, das einen Umschreibfortschrittssituationsbildschirm illustriert,
    • 144 ein Funktionsblockschaltbild einer Differenzdatenkonsistenzbestimmungseinheit,
    • 145 ein Ablaufdiagramm, das eine Differenzdatenkonsistenzbestimmungsverarbeitung illustriert,
    • 146 ein Diagramm, das einen Aspekt eines Bestimmens der Konsistenz von Differenzdaten illustriert,
    • 147 ein Diagramm, das einen Aspekt eines Bestimmens der Konsistenz von Differenzdaten illustriert,
    • 148 ein Funktionsblockschaltbild einer Umschreibausführungssteuereinheit,
    • 149 ein Ablaufdiagramm, das eine normale Operationsverarbeitung illustriert,
    • 150 ein Ablaufdiagramm, das eine Umschreiboperationsverarbeitung illustriert,
    • 151 ein Ablaufdiagramm, das eine Informationsmitteilungsverarbeitung illustriert,
    • 152 ein Ablaufdiagramm, das eine Umschreibprogrammverifizierungsverarbeitung illustriert,
    • 153 ein Diagramm, das einen Aspekt des Sendens von Identifikationsinformationen und Schreibdaten illustriert,
    • 154 ein Diagramm, das einen Aspekt des Sendens der Identifikationsinformationen und der Schreibdaten illustriert,
    • 155 ein Ablaufdiagramm, das eine Installationsanweisungsverarbeitung illustriert,
    • 156 ein Funktionsblockschaltbild einer Sitzungsherstellungseinheit,
    • 157 ein Diagramm, das eine Konfiguration eines Programms illustriert;
    • 158 ein Diagramm, das einen Zustandsübergang illustriert,
    • 159 ein Diagramm, das den Zustandsübergang illustriert,
    • 160 ein Diagramm, das den Zustandsübergang illustriert,
    • 161 ein Diagramm, das Sitzungszuteilung illustriert,
    • 162 ein Diagramm, das Sitzungszuteilung illustriert,
    • 163 ein Ablaufdiagramm, das eine Zustandsübergangsverwaltungsverarbeitung eines ersten Zustands illustriert,
    • 164 ein Ablaufdiagramm, das die Zustandsübergangsverwaltungsverarbeitung des ersten Zustands illustriert,
    • 165 ein Ablaufdiagramm, das die Zustandsübergangsverwaltungsverarbeitung des ersten Zustands illustriert,
    • 166 ein Ablaufdiagramm, das eine Zustandsübergangsverwaltungsverarbeitung eines zweiten Zustands illustriert,
    • 167 ein Ablaufdiagramm, das die Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands illustriert,
    • 168 ein Diagramm, das eine Konfiguration eines Programms illustriert;
    • 169 ein Diagramm, das einen Zustandsübergang illustriert,
    • 170 ein Funktionsblockschaltbild einer Wiederholungspunktspezifizierungseinheit,
    • 171 ein Diagramm, das eine Konfiguration eines Flash-Speichers illustriert;
    • 172 ein Ablaufdiagramm, das eine Verarbeitungsflagsetzverarbeitung illustriert,
    • 173 ein Ablaufdiagramm, das eine Verarbeitungsflagbestimmungsverarbeitung illustriert,
    • 174 ein Ablaufdiagramm, das die Verarbeitungsflagbestimmungsverarbeitung illustriert,
    • 175 ein Funktionsblockschaltbild einer Fortschrittszustandssynchronisationssteuereinheit,
    • 176 ein Funktionsblockschaltbild der Fortschrittszustandssynchronisationssteuereinheit,
    • 177 ein Diagramm, das einen Aspekt des Sendens und Empfangens eines Fortschrittszustandssignals illustriert,
    • 178 ein Ablaufdiagramm, das eine Fortschrittszustandssynchronisationssteuerverarbeitung illustriert,
    • 179 ein Ablaufdiagramm, das die Fortschrittszustandssynchronisationssteuerverarbeitung illustriert,
    • 180 ein Ablaufdiagramm, das eine Fortschrittszustandsanzeigeverarbeitung illustriert,
    • 181 ein Funktionsblockschaltbild einer Anzeigesteuerinformationssendesteuereinheit,
    • 182 ein Ablaufdiagramm, das eine Anzeigesteuerinformationssendesteuerverarbeitung illustriert,
    • 183 ein Funktionsblockschaltbild einer Anzeigesteuerinformationsempfangssteuereinheit,
    • 184 ein Ablaufdiagramm, das eine Anzeigesteuerinformationsempfangssteuerverarbeitung illustriert,
    • 185 ein Diagramm, das Informationen illustriert, die in den Verteilungsspezifikationsdaten illustriert sind,
    • 186 ein Funktionsblockschaltbild einer Fortschrittsanzeigebildschirmanzeigesteuereinheit,
    • 187 ein Diagramm, das Umschreibspezifikationsdaten illustriert,
    • 188 ein Diagramm, das einen Bildschirm während Menüauswahl illustriert,
    • 189 ein Diagramm, das einen Bildschirm während Benutzerauswahl illustriert,
    • 190 ein Diagramm, das einen Bildschirm während Benutzerregistrierung illustriert,
    • 191 ein Ablaufdiagramm, das eine Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung illustriert,
    • 192 ein Ablaufdiagramm, das die Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung illustriert,
    • 193 ein Diagramm, das einen Nachrichtenrahmen illustriert,
    • 194 ein Diagramm, das einen Bildschirm illustriert, wenn die Aktivierung genehmigt ist,
    • 195 ein Diagramm, das Festlegen von Elementanzeigeverfügbarkeit illustriert,
    • 196 ein Diagramm, das das Festlegen von Elementanzeigeverfügbarkeit illustriert,
    • 197 ein Diagramm, das einen Bildschirm illustriert, wenn Aktivierung genehmigt ist,
    • 198 ein Diagramm, das einen Aspekt von Datenkommunikation illustriert,
    • 199 ein Diagramm, das einen Nachrichtenrahmen während einer Kampagnenmitteilung illustriert,
    • 200 ein Diagramm, das einen Nachrichtenrahmen illustriert, wenn Herunterladen genehmigt ist,
    • 201 ein Diagramm, das einen Nachrichtenrahmen illustriert, wenn Installation genehmigt ist,
    • 202 ein Diagramm, das den Nachrichtenrahmen illustriert, wenn Aktivierung genehmigt ist,
    • 203 ein Diagramm, das einen Bildschirmübergang illustriert,
    • 204 ein Diagramm, das einen Bildschirm illustriert, wenn eine Kampagnenmitteilung auftritt,
    • 205 ein Diagramm, das einen Bildschirm illustriert, wenn Herunterladen genehmigt ist,
    • 206 ein Diagramm, das einen Bildschirm illustriert, wenn das Herunterladen genehmigt ist,
    • 207 ein Diagramm, das einen Bildschirm während der Ausführung des Herunterladens illustriert,
    • 208 ein Diagramm, das einen Bildschirm illustriert, wenn das Herunterladen abgeschlossen ist,
    • 209 ein Diagramm, das einen Bildschirm illustriert, wenn Installation genehmigt ist,
    • 210 ein Diagramm, das einen Bildschirm illustriert, wenn Aktivierung genehmigt ist,
    • 211 ein Funktionsblockschaltbild einer Programmaktualisierungsmitteilungssteuereinheit,
    • 212 ein Ablaufdiagramm, das eine Programmaktualisierungsmitteilungssteuerverarbeitung illustriert,
    • 213 ein Diagramm, das einen Indikatormitteilungsaspekt illustriert,
    • 214 ein Diagramm, das einen Übergang eines Mitteilungsaspekts in einem Fall, in dem ein Umschreibziel ein Doppelbankspeicher ist, illustriert,
    • 215 ein Diagramm, das einen Übergang eines Mitteilungsaspekts in einem Fall, in dem ein Umschreibziel ein Einzelbankaussetzspeicher ist, illustriert,
    • 216 ein Diagramm, das einen Übergang eines Mitteilungsaspekts in einem Fall, in dem ein Umschreibziel ein Einzelbankspeicher ist, illustriert,
    • 217 ein Diagramm, das einen Verbindungsaspekt illustriert,
    • 218 ein Funktionsblock einer Selbsterhaltungsenergieausführungssteuereinheit in dem CGW,
    • 219 ein Funktionsblock einer Selbsterhaltungsenergieausführungssteuereinheit in der ECU,
    • 220 ein Ablaufdiagramm, das eine Ausführungssteuerverarbeitung für Selbsterhaltungsenergie in dem CGW illustriert,
    • 221 ein Ablaufdiagramm, das eine Ausführungssteuerverarbeitung für Selbsterhaltungsenergie in der ECU illustriert,
    • 222 ein Diagramm, das eine Periode illustriert, in der Selbsterhaltungsenergie erforderlich ist,
    • 223 ein Funktionsblockschaltbild einer Umschreibanweisungseinheit basierend auf einem Überschreiben von Konfigurationsfestlegungsinformationen,
    • 224 ein Ablaufdiagramm, das eine Umschreibungsanweisungsverarbeitung basierend auf dem Überschreiben der Konfigurationsfestlegungsinformationen illustriert,
    • 225 ein Diagramm, das einen Aspekt illustriert, in dem Umschreiben eines Anwendungsprogramms und Überschreiben der Konfigurationsfestlegungsinformationen vermischt sind,
    • 226 ein Diagramm, das einen Aspekt illustriert, in dem Umschreiben des Anwendungsprogramms und Überschreiben der Konfigurationsfestlegungsinformationen vermischt sind,
    • 227 ein Diagramm, das einen Aspekt illustriert, in dem die Konfigurationsfestlegungsinformationen gesendet und empfangen werden,
    • 228 ein Funktionsblockschaltbild der Umschreibanweisungseinheit basierend auf dem Rollback der Konfigurationsfestlegungsinformationen,
    • 229 ein Ablaufdiagramm, das die Umschreibungsanweisungsverarbeitung basierend auf dem Rollback der Konfigurationsfestlegungsinformationen illustriert,
    • 230 ein Ablaufdiagramm, das die Umschreibungsanweisungsverarbeitung basierend auf dem Rollback der Konfigurationsfestlegungsinformationen illustriert,
    • 231 ein Ablaufdiagramm, das die Umschreibungsanweisungsverarbeitung basierend auf dem Rollback der Konfigurationsfestlegungsinformationen illustriert,
    • 232 ein Diagramm, das einen Aspekt illustriert, in dem Umschreiben des Anwendungsprogramms und Rollback der Konfigurationsfestlegungsinformationen vermischt sind,
    • 233 ein Diagramm, das einen Aspekt illustriert, in dem Umschreiben des Anwendungsprogramms und Rollback der Konfigurationsfestlegungsinformationen vermischt sind,
    • 234 ein Diagramm, das einen Aspekt illustriert, in dem Umschreiben des Anwendungsprogramms und Rollback der Konfigurationsfestlegungsinformationen vermischt sind,
    • 235 ein Diagramm, das einen Aspekt illustriert, in dem Umschreiben des Anwendungsprogramms und Rollback der Konfigurationsfestlegungsinformationen vermischt sind,
    • 236 ein Diagramm, das einen Aspekt illustriert, in dem Umschreiben des Anwendungsprogramms und Rollback der Konfigurationsfestlegungsinformationen vermischt sind,
    • 237 ein Diagramm, das einen Aspekt illustriert, in dem Umschreiben des Anwendungsprogramms und Rollback der Konfigurationsfestlegungsinformationen vermischt sind,
    • 238 ein Diagramm, das einen Aspekt illustriert, in dem die Konfigurationsfestlegungsinformationen gesendet und empfangen werden,
    • 239 ein Diagramm, das einen Aspekt illustriert, in dem die Konfigurationsfestlegungsinformationen gesendet und empfangen werden,
    • 240 ein Diagramm, das eine Konfiguration eines Flash-Speichers illustriert;
    • 241 ein Funktionsblockschaltbild der Umschreibanweisungseinheit in einem spezifischen Modus,
    • 242 ein Diagramm, das einen Aspekt der Verbindung mit einer Fabrikanlage illustriert,
    • 243 ein Diagramm, das einen Aspekt der Verbindung mit einer Händlereinrichtung illustriert,
    • 244 ein Ablaufdiagramm, das die Umschreibungsanweisungsverarbeitung in einem spezifischen Modus illustriert,
    • 245 ein Ablaufdiagramm, das eine Umschreibverarbeitung in einem spezifischen Modus illustriert,
    • 246 ein Diagramm, das einen Inhalt des Umschreibens in einem Fabrikmodus und Umschreibens in einem Händlermodus illustriert,
    • 247 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 248 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 249 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 250 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 251 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 252 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 253 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 254 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 255 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 256 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 257 ein Gesamtsequenzdiagramm, das einen Aspekt des Umschreibens des Anwendungsprogramms illustriert,
    • 258 ein Diagramm, das eine Gesamtkonfiguration eines Fahrzeuginformationskommunikationssystems in einer ersten Ausführungsform illustriert,
    • 259 ein Diagramm, das eine elektrische Konfiguration eines CGW illustriert,
    • 260 ein Diagramm, das eine elektrische Konfiguration einer ECU illustriert,
    • 261 ein Diagramm, das einen Verbindungsaspekt von Energieleitungen illustriert,
    • 262 ein Diagramm, das einen Aspekt des Verpackens von Umprogrammierungsdaten und Verteilungsspezifikationsdaten illustriert,
    • 263 ein Diagramm, das einen Aspekt des Entpackens eines Verteilungspakets illustriert,
    • 264 ein Blockschaltbild, das Abschnitte einer Zentralvorrichtung bezüglich jeweiliger Hauptfunktionen eines Servers illustriert,
    • 265 ein Bilddiagramm, das einen Ablauf von Verarbeitungen in der Zentralvorrichtung illustriert,
    • 266 ein Diagramm, das ein Beispiel von Fahrzeugkonfigurationsinformationen illustriert, die in einer Konfigurationsinformations-DB registriert sind,
    • 267 ein Diagramm, das ein Beispiel eines Programms oder Daten illustriert, die in einer ECU-Umprogrammierungs-DB registriert sind,
    • 268 ein Diagramm, das ein Beispiel von Spezifikationsdaten illustriert, die in einer ECU-Metadaten-DB registriert sind,
    • 269 ein Diagramm, das ein Beispiel eines Fahrzeugs illustriert, wobei die Konfigurationsinformationen in einer Individuelle-Fahrzeuginformationen-DB registriert sind,
    • 270 ein Diagramm, das ein Beispiel von Verteilungspaketdaten illustriert, die in einer Paket-DB registriert sind,
    • 271 ein Diagramm, das ein Beispiel von Kampagnendaten illustriert, die in einer Kampagnen-DB registriert sind,
    • 272 ein Ablaufdiagramm, das eine Verarbeitung zum Erzeugen eines Programms oder Daten illustriert, die in der ECU-Umprogrammierungs-DB registriert sind,
    • 273 ein Ablaufdiagramm, das eine Verarbeitung zum Erzeugen eines Beispiels von Spezifikationsdaten illustriert, die in der ECU-Metadaten-DB registriert sind,
    • 274 ein Diagramm, das ein Beispiel von Spezifikationsdaten illustriert,
    • 275 ein Diagramm, das ein Beispiel einer Buslasttabelle illustriert,
    • 276 ein Ablaufdiagramm, das eine Verarbeitung zum Erzeugen eines Verteilungspakets illustriert, das in der Paket-DB registriert ist,
    • 277 ein Bilddiagramm, das einen Inhalt einer Paketdatei illustriert,
    • 278 ein Sequenzdiagramm, das Verarbeitungsprozeduren illustriert, die zwischen einer Zentralvorrichtung und einem fahrzeugseitigen System in einer zweiten Ausführungsform ausgeführt wird,
    • 279 ein Ablaufdiagramm, das ein Verarbeitung illustriert, die durch die Zentralvorrichtung ausgeführt wird,
    • 280 ein Bilddiagramm, das Inhalte von Verarbeitungen illustriert, die in Schritten D6 und D7 in dem Ablaufdiagramm von 279 ausgeführt werden,
    • 281 ein Ablaufdiagramm, das eine Verarbeitung in einem Fall, in dem ein Hash-Wert von dem fahrzeugseitigen System an die Zentralvorrichtung gesendet wird, illustriert,
    • 282 ein Sequenzdiagramm, das Verarbeitungsprozeduren illustriert, die zwischen einer Zentralvorrichtung und einem fahrzeugseitigen System in einer dritten Ausführungsform ausgeführt werden,
    • 283 ein Ablaufdiagramm, das eine Verarbeitung illustriert, die durch die Zentralvorrichtung ausgeführt wird,
    • 284 ein Sequenzdiagramm, das einen Zustand illustriert, in dem die Zentralvorrichtung ein Elektrofahrzeug und ein herkömmliches Fahrzeug, unter Verwendung einer SMS unterrichtet bzw. diesen mitteilt,
    • 285 ein Sequenzdiagramm, das Verarbeitungsprozeduren illustriert, die zwischen einer Zentralvorrichtung und einem fahrzeugseitigen System in einer vierten Ausführungsform ausgeführt werden,
    • 286 ein Bilddiagramm, das Verarbeitungen illustriert, die zwischen einem Zulieferer, einer Zentralvorrichtung und einem fahrzeugseitigen System in einer fünften Ausführungsform ausgeführt werden,
    • 287 ein Sequenzdiagramm (erstes), das Verarbeitungsprozeduren illustriert, die zwischen dem Zulieferer, der Zentralvorrichtung und dem fahrzeugseitigen System ausgeführt werden,
    • 288 ein Sequenzdiagramm (zweites), das Verarbeitungsprozeduren illustriert, die zwischen dem Zulieferer, der Zentralvorrichtung und dem fahrzeugseitigen System ausgeführt werden,
    • 289 ein Sequenzdiagramm (drittes), das Verarbeitungsprozeduren illustriert, die zwischen dem Zulieferer, der Zentralvorrichtung und dem fahrzeugseitigen System ausgeführt werden,
    • 290 ein Diagramm, das ein Modifikationsbeispiel (erstes) der ersten Ausführungsform illustriert und ein Datenformat der Paket-DB in einem Fall illustriert, in dem mehrere Pakete einer einzelnen Kampagne entsprechen,
    • 291 ein Diagramm, das ein Datenformat der Kampagnen-DB in einem Fall illustriert, in dem mehrere Pakete einer einzelnen Kampagne entsprechen,
    • 292 ein Diagramm entsprechend 273 in einem Fall, in dem Spezifikationsdaten für jede Gruppe erzeugt werden,
    • 293 ein Diagramm entsprechend 276 in einem Fall, in dem ein Verteilungspaket für jede Gruppe erzeugt wird, und
    • 294 ein Diagramm, das ein Modifikationsbeispiel (zweites) der ersten Ausführungsform illustriert und Verarbeitungsinhalte eines Paketerzeugungswerkzeugs illustriert.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Eine Ausführungsform wird nachstehend gemäß den Zeichnungen beschrieben. Ein Fahrzeugprogrammumschreibsystem (entsprechend einem elektronischen Fahrzeugsteuersystem) ist ein System, in dem Anwendungsprogramme für Fahrzeugsteuerung, Diagnose und dergleichen, die in einer elektronischen Steuereinheit (nachfolgend als eine ECU bezeichnet) installiert sind, über den Äther (Over The Air (OTA)) umgeschrieben werden können. In der vorliegenden Ausführungsform wird ein Fall beschrieben, in dem ein Anwendungsprogramm auf drahtgebundene oder drahtlose Weise umgeschrieben ist, aber die vorliegende Offenbarung kann auf einen Fall angewendet werden, in dem Daten, die in unterschiedlichen Anwendungen verwendet werden, wie Kartendaten, die in einer Kartenanwendung verwendet werden, und Steuerparameter, die in einer ECU verwendet werden, auf drahtgebundene oder drahtlose Weise umgeschrieben werden.
  • Das Umschreiben eines Anwendungsprogramms auf drahtgebundene Weise beinhaltet nicht nur Erlangen und Umschreiben des Anwendungsprogramms von außerhalb des Fahrzeugs auf die drahtgebundene Weise, sondern ebenso Erlangen und Umschreiben unterschiedlicher Stücke von Daten, die verwendet werden, wenn das Anwendungsprogramm von der Außenseite des Fahrzeugs auf die drahtgebundene Weise ausgeführt wird. Das Umschreiben des Anwendungsprogramms auf drahtlose Weise beinhaltet nicht nur Erlangen und Umschreiben eines Anwendungsprogramms von außerhalb des Fahrzeugs auf die drahtlose Weise, sondern ebenso Erlangen und Umschreiben unterschiedlicher Stücke von Daten, die verwendet werden, wenn das Anwendungsprogramm von der Außenseite des Fahrzeugs auf die drahtlose Weise ausgeführt wird.
  • Wie in 1 illustriert ist, beinhaltet ein Fahrzeugprogrammumschreibsystem 1 eine Zentralvorrichtung 3 auf einer Seite eines Kommunikationsnetzwerks 2, ein fahrzeugseitiges System 4 auf einer Fahrzeugseite und ein Anzeigeendgerät 5. Das Kommunikationsnetzwerk 2 ist konfiguriert, um beispielsweise ein Mobilobjektkommunikationsnetzwerk wie etwa eine 4G-Leitung, das Internet und Wireless Fidelity (Wi-Fi (registrierte Marke)) zu beinhalten. In der vorliegenden Ausführungsform konzentriert sich die folgende Beschreibung auf einer Konfiguration auf der Fahrzeugseite und eine Konfiguration der Zentralvorrichtung 3 wird im Detail gemäß 234 bis 270 beschrieben.
  • Das Anzeigeendgerät 5 ist ein Endgerät mit einer Funktion zum Empfangen einer Operationseingabe von einem Benutzer und einer Funktion zum Anzeigen unterschiedlicher Bildschirme und ist beispielsweise ein mobiles Endgerät 6 wie ein Smartphone oder ein Tablet, die durch einen Benutzer getragen werden können, und eine Fahrzeugbordanzeige 7, die in einer Fahrzeugkabine angeordnet sind. Das mobile Endgerät 6 kann Datenkommunikation mit der Zentralvorrichtung 3 mittels des Kommunikationsnetzwerks 2 ausführen, solange das mobile Endgerät 6 innerhalb eines Kommunikationsbereichs eines Mobilobjektkommunikationsnetzwerks ist. Die Fahrzeugbordanzeige 7 ist mit dem fahrzeugseitigen System 4 verbunden und kann ebenso eine Navigationsfunktion haben. Die Fahrzeugbordanzeige 7 kann eine Fahrzeugbordanzeige-ECU mit einer ECU-Funktion sein oder kann eine Funktion zum Steuern einer Anzeige auf einer Mittelanzeige, einer Instrumentenanzeige oder dergleichen haben.
  • Solange sich ein Benutzer außerhalb der Fahrzeugkabine befindet und innerhalb des Kommunikationsbereichs des Mobilobjektkommunikationsnetzwerks ist, kann der Benutzer Operationseingabe ausführen, während er unterschiedliche Bildschirme bezüglich Umschreibens eines Anwendungsprogramms mit dem mobilen Endgerät 6 überprüft, und kann eine Prozedur bezüglich des Umschreibens des Anwendungsprogramms ausführen. In der Fahrzeugkabine kann der Benutzer Operationseingabe ausführen, während er unterschiedliche Bildschirme bezüglich Umschreibens des Anwendungsprogramms mit der Fahrzeugbordanzeige 7 überprüft, und kann eine Prozedur bezüglich Umschreibens des Anwendungsprogramms ausführen. Das heißt, der Benutzer kann das mobile Endgerät 6 und die Fahrzeugbordanzeige 7 separat außerhalb der Fahrzeugkabine und in der Fahrzeugkabine verwenden und kann eine Prozedur bezüglich Umschreibens des Anwendungsprogramms ausführen.
  • Die Zentralvorrichtung 3 steuert eine Programmaktualisierungsfunktion der Seite des Kommunikationsnetzwerks 2 in dem Fahrzeugprogrammumschreibsystem 1 und funktioniert als ein OTA-Zentrum. Die Zentralvorrichtung 3 beinhaltet einen Dateiserver 8, einen Webserver 9 und einen Verwaltungsserver 10 und jeder der Server 8 bis 10 ist konfiguriert, um Datenkommunikation miteinander ausführen zu können. Das heißt, die Zentralvorrichtung 3 ist konfiguriert, um mehrere unterschiedliche Server für jede Funktion zu beinhalten.
  • Der Dateiserver 8 ist ein Server, der eine Datei eines Anwendungsprogramms verwaltet, das von der Zentralvorrichtung 3 an das fahrzeugseitige System 4 verteilt wird. Der Dateiserver 8 verwaltet Aktualisierungsdaten (nachfolgend als Umprogrammierungsdaten oder Schreibdaten bezeichnet), die von einem Zulieferer oder dergleichen bereitgestellt werden, der ein Bereitsteller eines Anwendungsprogramms ist, das von der Zentralvorrichtung 3 an das fahrzeugseitige System 4 verteilt wird, Verteilungsspezifikationsdaten, die von einem Originalausrüstungshersteller (OEM) bereitgestellt werden, Fahrzeugverfassungen, die von dem fahrzeugseitigen System 4 erlangt werden, und dergleichen. Der Dateiserver 8 kann Datenkommunikation mit dem fahrzeugseitigen System 4 mittels des Kommunikationsnetzwerks 2 ausführen und sendet ein Verteilungspaket, in dem die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten in eine Datei gepackt sind, an das fahrzeugseitige System 4, wenn eine Herunterladeanforderung für das Verteilungspaket erzeugt wird.
  • Der Webserver 9 ist ein Server, der Webinformationen verwaltet. Der Webserver 9 sendet Webdaten, die durch ihn verwaltet werden, in Antwort auf eine Anforderung von einem Webbrowser des mobilen Endgeräts 6 oder dergleichen. Der Verwaltungsserver 10 ist ein Server, der personenbezogene Informationen eines Benutzers, der für einen Dienst zum Umschreiben eines Anwendungsprogramms registriert ist, eine Umschreibhistorie eines Anwendungsprogramms für jedes Fahrzeug und dergleichen verwaltet.
  • Das fahrzeugseitige System 4 hat eine Mastervorrichtung 11 (entsprechend einer Fahrzeugmastervorrichtung). Die Mastervorrichtung 11 beinhaltet ein Datenkommunikationsmodul (DCM) 12 (entsprechend einer Fahrzeugbordkommunikationsvorrichtung) und ein zentrales Gateway (CGW) 13 (entsprechend einer Fahrzeug-Gateway-Vorrichtung). Das DCM 12 und das CGW 13 sind miteinander mittels eines ersten Busses 14 verbunden, um Datenkommunikation auszuführen. Das DCM 12 führt Datenkommunikation mit der Zentralvorrichtung 3 mittels des Kommunikationsnetzwerks 2 aus. Wenn das DCM 12 das Verteilungspaket von dem Dateiserver 8 herunterlädt, extrahiert das DCM Schreibdaten von dem heruntergeladenen Verteilungspaket und überträgt die extrahierten Schreibdaten an das CGW 13.
  • Das CGW 13 hat eine Datenrelaisfunktion und, wenn die Schreibdaten von dem DCM 12 erlangt werden, weist das CGW eine Umschreibziel-ECU, die ein Umschreibziel eines Anwendungsprogramms ist, zum Schreiben der erlangten Schreibdaten an und verteilt die Schreibdaten an die Umschreibziel-ECU. Wenn Schreiben der Schreibdaten in der Umschreibziel-ECU abgeschlossen wurde und Umschreiben des Anwendungsprogramms abgeschlossen wurde, weist die CGW 13 die Umschreibziel-ECU an, Aktivierung zum Validieren des Anwendungsprogramms, nachdem es umgeschrieben ist, auszuführen.
  • Die Mastervorrichtung 11 steuert eine Programmaktualisierungsfunktion der Fahrzeugseite in dem Fahrzeugprogrammumschreibsystem 1 und funktioniert als ein OTA-Master. In 1, obwohl das DCM 12 und die Fahrzeugbordanzeige 7 als ein Beispiel konfiguriert sind, um mit dem gleichen ersten Bus 14 verbunden zu sein, können das DCM 12 und die Fahrzeugbordanzeige 7 konfiguriert sein, um mit separaten Bussen verbunden zu sein. Das CGW 13 kann manche oder alle Funktionen des DCM 12 haben oder das DCM 12 kann manche oder alle Funktionen des CGW 13 haben. Das heißt, in der Mastervorrichtung 11 kann die Funktionsteilung zwischen dem DCM 12 und der CGW 13 auf beliebige Weise konfiguriert sein. Die Mastervorrichtung 11 kann mit zwei ECUs wie etwa dem DCM 12 und dem CGW 13 konfiguriert sein oder kann mit einer einzelnen integrierten ECU mit den Funktionen des DCM 12 und den Funktionen des CGW 13 konfiguriert sein.
  • Zusätzlich zu dem ersten Bus 14, sind ein zweiter Bus 15, ein dritter Bus 16, ein vierter Bus 17 und ein fünfter Bus 18 mit dem CGW 13 als Busse innerhalb des Fahrzeugs verbunden und unterschiedliche ECUs 19 sind mittels der Busse 15 bis 17 verbunden und eine Energieversorgungsverwaltungs-ECU 20 ist mittels des Busses 18 verbunden.
  • Der zweite Bus 15 ist beispielsweise ein Karosseriesystemnetzwerkbus. Die ECUs 19, die mit dem zweiten Bus 15 verbunden sind, sind ECUs, die ein Karosseriesystem steuern. Die ECUs, die das Karosseriesystem steuern, beinhalten beispielsweise eine Tür-ECU, die Verriegeln/Entriegeln einer Tür steuert, eine Instrumenten-ECU, die Anzeige auf der Instrumentenanzeige steuert, eine Klimaanlagen-ECU, die Antreiben einer Klimaanlage steuert, eine Fenster-ECU, die Öffnen und Schließen eines Fensters steuert, und eine Sicherheits-ECU, die angesteuert wird, um Diebstahl des Fahrzeugs zu verhindern.
  • Der dritte Bus 16 ist beispielsweise ein Fahrsystemnetzwerkbus. Die ECUs 19, die mit dem dritten Bus 16 verbunden sind, sind ECUs, die ein Fahrsystem steuern. Die ECUs, die das Fahrsystem steuern, beinhalten beispielsweise eine Brennkraftmaschinen-ECU, die Antreiben einer Brennkraftmaschine steuert, eine Bremsen-ECU, die Antreiben einer Bremse steuert, eine ECU für ein elektronisch gesteuertes Getriebe (ECT-ECU), die Antreiben eines Automatikgetriebes steuert, und eine Servolenkungs-ECU, die Antreiben einer Servolenkung steuert.
  • Der vierte Bus 17 ist beispielsweise ein Multimediasystemnetzwerkbus. Die ECUs 19, die mit dem vierten Bus 17 verbunden sind, sind ECUs, die ein Multimediasystem steuern. Die ECUs, die das Multimediasystem steuern, beinhalten beispielsweise eine Navigations-ECU, die ein Navigationssystem steuert, und eine ETC-ECU, die ein elektronisches Mauterhebungssystem (ETC, registrierte Marke) steuert. Die Busse 15 bis 17 können Systembusse außer dem Karosseriesystemnetzwerkbus, dem Fahrsystemnetzwerkbus und dem Multimediasystemnetzwerkbus sein. Die Anzahl von Bussen und die Anzahl der ECUs 19 sind nicht auf die beispielhaften Konfigurationen beschränkt.
  • Die Energieversorgungsverwaltungs-ECU 20 ist eine ECU, die Energie verwaltet, die der DCM 12, dem CGW 13, den unterschiedlichen ECUs 19 und dergleichen zuzuführen ist.
  • Ein sechster Bus 21 ist mit dem CGW 13 als ein Bus außerhalb des Fahrzeugs verbunden. Ein Datenübertragungskopplerverbinder (DLC-Verbinder) 22, mit dem ein Werkzeug 23 (entsprechend einem Servicewerkzeug) lösbar verbunden ist, ist mit dem sechsten Bus 21 verbunden. Die Busse 14 bis 18 innerhalb des Fahrzeugs und der Bus 21 außerhalb des Fahrzeugs sind mit beispielsweise CAN (Controller Area Network, registrierte Marke) -Bussen verbunden und das CGW 13 führt Datenkommunikation mit dem DCM 12, den unterschiedlichen ECUs 19 und dem Werkzeugt 23 gemäß dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard (Unified Diagnosis Services (UDS): ISO14229) aus. Das DCM 12 und das CGW 13 können miteinander mittels Ethernet verbunden sein und der DLC-Verbinder 22 und das CGW 13 können miteinander mittels Ethernet verbunden sein.
  • Wenn Schreibdaten von dem CGW 13 empfangen werden, schreibt die Umschreibziel-ECU 19 die empfangenen Schreibdaten in einen Flash-Speicher (entsprechend einem nichtflüchtigen Speicher) zum Umschreiben eines Anwendungsprogramms. In der vorstehenden Konfiguration, wenn eine Anforderung zum Erlangen von Schreibdaten von der Umschreibziel-ECU 19 empfangen wird, funktioniert das CGW 13 als ein Umprogrammierungs-Master, der die Schreibdaten an die Umschreibziel-ECU 19 verteilt. Wenn die Schreibdaten von dem CGW 13 empfangen werden, funktioniert die Umschreibziel-ECU 19 als ein Umprogrammierungs-Slave, der die empfangenen Schreibdaten in den Flash-Speicher schreibt, um das Anwendungsprogramm umzuschreiben.
  • Als ein Aspekt des Umschreibens des Anwendungsprogramms gibt es einen Aspekt drahtgebundenen Umschreibens und einen Aspekt drahtlosen Umschreibens. Der Aspekt, in dem das Anwendungsprogramm auf drahtgebundene Weise umgeschrieben wird, ist ein Aspekt, in dem die Umschreibziel-ECU 19 unter Verwendung eines Anwendungsprogramms umgeschrieben wird, das von der Außenseite des Fahrzeugs auf drahtgebundene Weise erlangt wird. Insbesondere, wenn das Werkzeug 23 mit dem DLC-Verbinder 22 verbunden ist, überträgt das Werkzeug 23 die Schreibdaten an das CGW 13. Das CGW 13 funktioniert als ein Gateway, sendet eine Anforderung für drahtgebundenes Umschreiben an die Umschreibziel-ECU 19, weist die Umschreibziel-ECU 19 an, die Schreibdaten zu schreiben (zu installieren), und verteilt die Schreibdaten, die von dem Werkzeug 23 übertragen werden, an die Umschreibziel-ECU 19. Verteilen der Schreibdaten an die Umschreibziel-ECU 19 dient zum Weiterleiten der Schreibdaten.
  • Der Aspekt, in dem das Anwendungsprogramm auf drahtlose Weise umgeschrieben wird, ist ein Aspekt, in dem die Umschreibziel-ECU 19 unter Verwendung eines Anwendungsprogramms umgeschrieben wird, das von der Außenseite des Fahrzeugs auf drahtlose Weise erlangt wird. Insbesondere wenn ein Verteilungspaket von dem Dateiserver 8 heruntergeladen wird, extrahiert das DCM 12 Schreibdaten von dem heruntergeladenen Verteilungspaket und überträgt die Schreibdaten an das CGW 13. Das CGW 13 funktioniert als ein Umschreibungswerkzeug, weist die Umschreibziel-ECU 19 an, die Schreibdaten zu schreiben (zu installieren), und verteilt die Schreibdaten, die von dem DCM 12 übertragen werden, an die Umschreibziel-ECU 19.
  • Aspekte zum Diagnostizieren der ECU 19 beinhalten einen Aspekt drahtgebundener Diagnose und einen Aspekt drahtloser Diagnose. Der Aspekt drahtgebundener Diagnose ist ein Aspekt, in dem die ECU 19 von der Außenseite des Fahrzeugs auf drahtgebundene Weise diagnostiziert wird. Insbesondere, wenn das Werkzeug 23 mit dem DLC-Verbinder 22 verbunden ist, überträgt das Werkzeug 23 eine Diagnoseanforderung an das CGW 13. Das CGW 13 funktioniert als ein Gateway, sendet eine Diagnoseanforderung an die Diagnoseziel-ECU 19 und verteilt einen Diagnosebefehl, der von dem Werkzeug 23 übertragen wird, an eine Diagnoseziel-ECU 19. Die Diagnoseziel-ECU 19 führt eine Diagnoseverarbeitung gemäß dem Diagnosebefehl aus, der von dem CGW 13 empfangen wird.
  • Der Aspekt drahtloser Diagnose ist ein Aspekt, in dem die ECU 19 von der Außenseite des Fahrzeugs auf drahtlose Weise diagnostiziert wird. Insbesondere, wenn ein Diagnosebefehl als eine Diagnoseanforderung von der Zentralvorrichtung 3 an das DCM 12 gesendet wird, überträgt das DCM 12 den Diagnosebefehl an das CGW 13. Das CGW 13 funktioniert als ein Gateway und verteilt den Diagnosebefehl als eine Diagnoseanforderung an die Diagnoseziel-ECU 19. Die Diagnoseziel-ECU führt eine Diagnoseverarbeitung gemäß dem Diagnosebefehl aus, der von dem CGW 13 empfangen wird.
  • Wie in 2 illustriert ist, beinhaltet das CGW 13 einen Mikrocomputer 24, eine Datenübertragungsschaltung 25, eine Energieversorgungsschaltung 26 und eine Energieerfassungsschaltung 27 als elektrische Funktionsblöcke. Der Mikrocomputer 24 beinhaltet eine zentrale Verarbeitungseinheit (CPU) 24a, einen Nur-Lese-Speicher (ROM) 24b, einen Speicher mit wahlfreiem Zugriff (RAM) 24c und einen Flash-Speicher 24d. Der Flash-Speicher 24d beinhaltet einen sicheren Bereich, in dem Informationen nicht von außerhalb des CGW 13 gelesen werden können. Der Mikrocomputer 24 führt unterschiedliche Verarbeitungen durch Ausführen unterschiedlicher Steuerprogramme aus, die in einem nichtflüchtigen greifbaren Speichermedium gespeichert sind, und steuert eine Operation des CGW 13.
  • Die Datenübertragungsschaltung 25 steuert Datenkommunikation mit den Bussen 14 bis 18 und 21 gemäß dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard. Die Energieversorgungsschaltung 26 empfängt Batterieenergie (nachfolgend als +B-Energie bezeichnet), Zubehörenergie (nachfolgend als ACC-Energie bezeichnet) und Zündungsenergie (nachfolgend als IG-Energie bezeichnet). Die Energieerfassungsschaltung 27 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die durch die Energieversorgungsschaltung 26 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 24 aus. Der Mikrocomputer 24 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die dem CGW 13 von der Außenseite zugeführt werden, normal oder abnormal sind, basierend auf den Vergleichsergebnissen, die von der Energieerfassungsschaltung 27 eingegeben werden.
  • Wie in 3 illustriert ist, beinhaltet das DCM 12 einen Mikrocomputer 28, eine Funkschaltung 29, eine Datenübertragungsschaltung 30, eine Energieversorgungsschaltung 31 und eine Energieerfassungsschaltung 32 als elektrische Funktionsblöcke. Der Mikrocomputer 28 beinhaltet eine CPU 28a, ein ROM 28b, ein RAM 28c und einen Flash-Speicher 28d. Der Flash-Speicher 28d beinhaltet einen sicheren Bereich, in dem Informationen nicht von außerhalb des DCM 12 gelesen werden können. Der Mikrocomputer 28 führt unterschiedliche Verarbeitungen durch Ausführen unterschiedlicher Steuerprogramme aus, die in einem nichtflüchtigen greifbaren Speichermedium gespeichert sind, und steuert eine Operation des DCM 12. Der Flash-Speicher, der Daten speichert, die von der Zentralvorrichtung 3 herunterzuladen sind, können in der CGW 13 bereitgestellt werden.
  • Die Funkschaltung 29 steuert Datenkommunikation mit der Zentralvorrichtung 3 mittels des Kommunikationsnetzwerks 2. Die Datenübertragungsschaltung 30 steuert Datenkommunikation mit dem Bus 14 gemäß dem CAN-Datenkommunikationsstandard. Die Energieversorgungsschaltung 31 empfängt +B-Energie, ACC-Energie und IG-Energie. Die Energieerfassungsschaltung 32 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die durch die Energieversorgungsschaltung 31 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 28 aus. Der Mikrocomputer 28 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die dem DCM 12 von der Außenseite zugeführt werden, normal oder abnormal sind, basierend auf den Vergleichsergebnissen die von der Energieerfassungsschaltung 32 eingegeben werden.
  • Das DCM 12 hat eine Fahrzeugpositionserfassungsfunktion zum Erfassen einer Fahrzeugposition beispielsweise unter Verwendung eines globalen Positionsbestimmungssystems (GPS). Der Flash-Speicher 28d des DCM 12 hat eine Speicherkapazität, die ausreicht, um ein Verteilungspaket zu speichern, das von der Zentralvorrichtung 3 heruntergeladen wird, und hat eine Speicherkapazität, die größer als die des Flash-Speicher 24d des CGW 13 ist. Das heißt, da der Flash-Speicher 28d des DCM 12 eine ausreichende Speicherkapazität hat, kann, obwohl der Flash-Speicher 24d des CGW 13 keine ausreichende Speicherkapazität hat, die Mastervorrichtung 11 das Verteilungspaket von der Zentralvorrichtung 3 herunterladen und das heruntergeladene Verteilungspaket in dem DCM 12 speichern.
  • Wie in 4 illustriert ist, beinhaltet das ECU 19 einen Mikrocomputer 33, eine Datenübertragungsschaltung 34, eine Energieversorgungsschaltung 35 und eine Energieerfassungsschaltung 36 als elektrische Funktionsblöcke. Der Mikrocomputer 33 beinhaltet eine CPU 28a, ein ROM 28b, ein RAM 33c und einen Flash-Speicher 28d. Der Flash-Speicher 28d beinhaltet einen sicheren Bereich, in dem Informationen nicht von außerhalb der ECU 19 gelesen werden können. Der Mikrocomputer 33 führt unterschiedliche Verarbeitungen durch Ausführen unterschiedlicher Steuerprogramme aus, die in einem nichtflüchtigen greifbaren Speichermedium gespeichert sind, und steuert eine Operation des ECU 19.
  • Die Datenübertragungsschaltung 34 steuert Datenkommunikation mit den Bussen 15 bis 17 gemäß dem CAN-Datenkommunikationsstandard. Die Energieversorgungsschaltung 35 empfängt +B-Energie, ACC-Energie und IG-Energie. Die Energieerfassungsschaltung 36 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die durch die Energieversorgungsschaltung 35 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 33 aus. Der Mikrocomputer 33 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die der ECU 19 von der Außenseite zugeführt werden, normal oder abnormal sind, basierend auf den Vergleichsergebnissen die von der Energieerfassungsschaltung 27 eingegeben werden. Die ECUs 19 haben grundsätzlich die gleiche Konfiguration, außer dass sich Lasten wie Sensoren oder Aktoren, die damit verbunden sind, unterscheiden.
  • Die Fahrzeugbordanzeige 7 hat die gleiche Konfiguration wie die der ECU 19, die in 4 illustriert ist. Die Energieversorgungsverwaltungs-ECU 20 hat die gleiche Konfiguration wie die der ECU 19, die in 4 illustriert ist. Die Energieversorgungsverwaltungs-ECU 20 ist mit einer Energieversorgungssteuerschaltung 43 verbunden, die später beschrieben wird, um Datenkommunikation zwischen ihnen zu ermöglichen.
  • Wie in 5 illustriert ist, sind die Energieversorgungsverwaltungs-ECU 20, das CGW 13 und die ECU 19 mit einer +B-Energieleitung 37, einer ACC-Energieleitung 38 und einer IG-Energieleitung 39 verbunden, die Energieversorgungsleitungen sind. Die +B-Energieleitung 37 ist mit einer positiven Elektrode einer Fahrzeugbatterie 40 verbunden. Die ACC-Energieleitung 38 ist mit der positiven Elektrode der Fahrzeugbatterie 40 mittels eines ACC-Schalters 41 verbunden. Wenn der Benutzer eine ACC-Operation ausführt, schaltet der ACC-Schalter 41 von einem AUS-Zustand in einen EIN-Zustand und eine Ausgangsspannung der Fahrzeugbatterie 40 wird an die ACC-Energieleitung 38 angelegt. Beispielsweise in einem Fall eines Fahrzeugs des Typs, in dem ein Schlüssel in einen Einführport eingeführt wird, ist die ACC-Operation eine Operation des Drehens des Schlüssels von einer „AUS“-Position in eine „ACC“-Position durch Einführen des Schlüssels in den Einführport und in einem Fall eines Fahrzeugs des Typs, in dem eine Starttaste gedrückt wird, ist die Operation eine Operation des einmaligen Drückens der Starttaste.
  • Die IG-Energieleitung 39 ist mit der positiven Elektrode der Fahrzeugbatterie 40 mittels eines IG-Schalters 42 verbunden. Wenn der Benutzer ein IG-Operation ausführt, schaltet der IG-Schalter 42 von einem AUS-Zustand in einen EIN-Zustand um und eine Ausgangsspannung der Fahrzeugbatterie 40 wird an die IG-Energieleitung 39 angelegt. Beispielsweise in einem Fall eines Fahrzeugs des Typs, in dem ein Schlüssel in einen Einführport eingeführt wird, ist die IG-Operation eine Operation des Drehens des Schlüssels von einer „AUS“-Position in eine „EIN“-Position durch Einführen des Schlüssels in den Einführport und in einem Fall eines Fahrzeugs des Typs, in dem eine Starttaste gedrückt wird, ist die IG-Operation eine Operation des zweimaligen Drückens der Starttaste. Eine negative Elektrode der Fahrzeugbatterie 40 ist geerdet.
  • Wenn sowohl der ACC-Schalter 41 als auch der IG-Schalter 42 in einem AUS-Zustand sind, wird nur die +B-Energie dem fahrzeugseitigen System 4 zugeführt. Der Zustand, in dem nur die +B-Energie dem fahrzeugseitigen System 4 zugeführt wird, wird als ein +B-Energieversorgungszustand bezeichnet. Wenn der ACC-Schalter 41 in einem EIN-Zustand ist und der IG-Schalter 42 in einem AUS-Zustand ist, werden die ACC-Energie und die +B-Energie dem fahrzeugseitigen System 4 zugeführt. Der Zustand, in dem die ACC-Energie und die +B-Energie dem fahrzeugseitigen System 4 zugeführt werden, wird als ein ACC-Energieversorgungszustand bezeichnet. Wenn sowohl der ACC-Schalter 41 als auch der IG-Schalter 42 in einem EIN-Zustand sind, werden die +B-Energie, die ACC-Energie und die IG-Energie dem fahrzeugseitigen System 4 zugeführt. Der Zustand, in dem die +B-Energie, die ACC-Energie und die IG-Energie dem fahrzeugseitigen System 4 zugeführt werden, wird als ein IG-Energieversorgungszustand bezeichnet. Zusätzlich zu jedem der vorstehend beschriebenen Energieversorgungszuständen ist ebenso ein Energieversorgungszustand oder dergleichen zum Bereitstellen von Energie, die geeignet zur Programmaktualisierung auf drahtlose Weise ist, denkbar.
  • Die ECUs 19 haben unterschiedliche Startbedingungen abhängig von Energieversorgungszuständen und sind als eine +B-Energie-ECU, die in dem +B-Energieversorgungszustand gestartet wird, eine ACC-ECU, die in dem ACC-Energieversorgungszustand gestartet wird, und eine IG-ECU klassifiziert, die in dem IG-Energieversorgungszustand gestartet wird. Beispielsweise ist die ECU 19, die in einer Anwendung wie Fahrzeugdiebstahl angesteuert wird, als die +B-Energie-ECU klassifiziert. Beispielsweise ist die ECU 19, die in einer Nicht-Fahrtanwendung wie Audio angesteuert wird, als die ACC-ECU klassifiziert. Beispielweise ist die ECU 19, die in einer Fahranwendung wie Brennkraftmaschinensteuerung angesteuert wird, als die IG-ECU klassifiziert.
  • Die +B-Energie-ECU ist mit der +B-Energieleitung 37, der ACC-Energieleitung 38 und der IG-Energieleitung 39 verbunden und ist konfiguriert, um die +B-Energieleitung 37 in dem +B-Energieversorgungszustand auszuwählen, die ACC-Energieleitung 38 in dem ACC-Energieversorgungszustand auszuwählen und die IG-Energieleitung 39 in dem IG-Energieversorgungszustand auszuwählen. Die ACC-ECU ist mit der ACC-Energieleitung 38 und der IG-Energieleitung 39 verbunden und ist konfiguriert, um die ACC-Energieleitung 38 in dem ACC-Energieversorgungszustand auszuwählen und die IG-Energieleitung 39 in dem IG-Energieversorgungszustand auszuwählen. Die IG-ECU ist mit der IG-Energieleitung 39 verbunden.
  • Das CGW 13 sendet eine Startanforderung an die ECU 19, die in einem Schlafzustand ist, und veranlasst somit die ECU 19, die ein Sendeziel der Startanforderung ist, von dem Schlafzustand in einen Startzustand überzugehen. Das CGW 13 sendet ebenso eine Schlafanforderung an die ECU 19, die in einem Startzustand ist, und veranlasst somit die ECU 19, die ein Sendeziel der Schlafanforderung ist, von dem Startzustand in einen Schlafzustand überzugehen. Das CGW 13 kann eine spezifische ECU 19 beispielsweise veranlassen, in einen Startzustand oder einen Schlafzustand überzugehen, indem Signalverläufe der Sendesignale, die an die Busse 15 bis 17 zu senden sind, unterschiedlich zueinander gemacht werden. Das heißt, ein Startanforderungssignalverlauf und ein Schlafanforderungssignalverlauf sind für jede ECU 19 vordefiniert und die ECU 19 geht von dem Schlafzustand in den Startzustand über, wenn ein Startanforderungssignalverlauf, der damit konform ist, empfangen wird, und geht von dem Startzustand in den Schlafzustand über, wenn ein Schlafanforderungssignalverlauf, der damit konform ist, von der CGW 13 empfangen wird.
  • Beispielsweise in einem Fall, in dem eine ECU (ID1) und eine ECU (ID2) in dem Startzustand sind, sendet die CGW 13 erste Signalverläufe und veranlasst somit die ECU (ID1) von dem Startzustand in den Schlafzustand überzugehen, und behält die ECU (ID2) in dem Startzustand bei. In einem Fall, in dem ECU (ID1) und die ECU (ID2) in dem Startzustand sind, sendet das CGW 13 einen zweiten Signalverlauf und behält somit die ECU (ID1) in dem Startzustand bei und veranlasst die ECU (ID2), von dem Startzustand in den Schlafzustand überzugehen.
  • Die Energieversorgungssteuerschaltung 43 ist parallel mit dem ACC-Schalter 41 und dem IG-Schalter 42 verbunden. Das CGW 13 sendet eine Energieversorgungssteueranforderung an die Energieversorgungsverwaltungs-ECU 20 und veranlasst die Energieversorgungsverwaltungs-ECU 20 zum Steuern der Energieversorgungssteuerschaltung 43. Das heißt, das CGW 13 sendet eine Energieversorgungsstartanforderung als die Energieversorgungssteueranforderung an die Energieversorgungsverwaltungs-ECU 20 zum Verbinden der ACC-Energieleitung 38 oder der IG-Energieleitung 39 mit der positiven Elektrode der Fahrzeugbatterie 40 in der Energieversorgungssteuerschaltung 43. In diesem Zustand wird die ACC-Energie oder IG-Energie dem fahrzeugseitigen System 4 zugeführt, obwohl der ACC-Schalter 41 oder der IG-Schalter 42 ausgeschaltet ist. Das CGW 13 sendet eine Energieversorgungsstoppanforderung als die Energieversorgungssteueranforderung an die Energieversorgungsverwaltungs-ECU 20 zum Trennen der ACC-Energieleitung 38 oder der IG-Energieleitung 39 von der positiven Elektrode der Fahrzeugbatterie 40 in der Energieversorgungssteuerschaltung 43.
  • Jedes des DCM 12, des CGW 13 und der ECU 19 und die Energieversorgungsverwaltungs-ECU 20 hat eine Selbsterhaltungsenergieschaltung und hat eine Selbsterhaltungsenergiefunktion zum Erhalten von Energie, die von der Fahrzeugbatterie 40 zugeführt wird. Das heißt, wenn Fahrzeugenergie von der ACC-Energie oder der IG-Energie in die +B-Energie im Startzustand umschaltet, gehen das DCM 12, das CGW 13, die ECU 19 und die Energieversorgungsverwaltungs-ECU 20 nicht von dem Startzustand in den Stoppzustand oder den Schlafzustand unmittelbar nach dem Umschalten über, sondern setzen den Startzustand für eine vorbestimmte Zeit (beispielsweise ein paar Minuten) mit Energie fort, die von der Fahrzeugbatterie 40 bereitgestellt wird, und selbsterhalten somit Antriebsenergie. Das DCM 12, das CGW 13, die ECU 19 und die Energieversorgungsverwaltungs-ECU 20 gehen von dem Startzustand in den Stoppzustand oder den Schlafzustand über, wenn eine vorbestimmte Zeit unmittelbar, nachdem die Fahrzeugenergie von der ACC-Energie oder IG-Energie zur +B-Energie umschaltet, abgelaufen ist. Beispielsweise wird die ECU 19 des Brennkraftmaschinensteuersystems die Selbsterhaltungsenergiefunktion aktiviert, nachdem die Fahrzeugenergie von der ACC-Energie oder der IG-Energie zur +B-Energie umschaltet, und speichert somit unterschiedliche Stücke von Daten hinsichtlich der Brennkraftmaschinensteuerung, die während Fahrens des Fahrzeugs erlangt werden, als Protokoll.
  • Als nächstes wird ein Verteilungspaket, das von der Zentralvorrichtung 3 an die Mastervorrichtung 11 verteilt wird, beschrieben. Wie in 6 illustriert ist, werden in dem Fahrzeugprogrammumschreibsystem 1 Umprogrammierungsdaten einschließlich Schreibdaten, die von einem Zulieferer als ein Bereitsteller bzw. Anbieter eines Anwendungsprogramms bereitgestellt werden, und Umschreibspezifikationsdaten (entsprechend Spezifikationsdaten), die von einem OEM bereitgestellt werden, erzeugt. Die Umschreibspezifikationsdaten können durch die Zentralvorrichtung 3 erzeugt werden. Die Schreibdaten, die vom Zulieferer bereitgestellt werden, beinhalten Differenzdaten entsprechend einer Differenz zwischen einem alten Anwendungsprogramm und einem neuen Anwendungsprogramm und die gesamten Daten entsprechend der Gesamtheit des neuen Anwendungsprogramms. Die Differenzdaten oder die gesamten Daten können unter Verwendung einer allgemein bekannten Datenkomprimierungstechnik komprimiert werden. 6 stellt beispielhaft einen Fall dar, in dem Differenzdaten als Schreibdaten von Zulieferern A bis C bereitgestellt werden und Umprogrammierungsdaten aus verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID1), die von dem Zulieferer A bereitgestellt werden, verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID2), die von dem Zulieferer B bereitgestellt werden, und verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID3), die von dem Zulieferer C bereitgestellt werden, und Umschreibspezifikationsdaten, die von dem OEM bereitgestellt werden, erzeugt werden.
  • Der Authentifikator sind Daten, die zu jedem Stück von Schreibdaten hinzugefügt werden, um die Integrität der Differenzdaten zu verifizieren, und wird beispielsweise von einer ECU (ID), Schlüsselinformationen, die mit der ECU (ID) verknüpft sind, und Differenzdaten erzeugt. Hierbei können Schreibdaten zum Rollback auf eine alte Version in den Umprogrammierungsdaten in Vorbereitung für einen Fall beinhaltet sein, indem Umschreiben eines Anwendungsprogramms auf halbem Weg aufgehoben (auch als abgebrochen bezeichnet) wird.
  • Die Umschreibspezifikationsdaten, die von dem OEM bereitgestellt werden, beinhalten als Informationen bezüglich Umschreibens des Anwendungsprogramms Informationen zum Spezifizieren der Umschreibziel-ECU 19, Informationen zum Spezifizieren einer Umschreibreihenfolge, wenn es mehrere Umschreibziel-ECUs 19 gibt, Informationen zum Spezifizieren eines später beschriebenen Rollbackverfahrens und dergleichen. Die Umschreibspezifikationsdaten sind Daten, die eine Operation bezüglich Umschreibens in dem DCM 12, dem CGW 13, der Umschreibziel-ECU 19 und dergleichen definieren. Die Umschreibspezifikationsdaten sind in DCM-Umschreibspezifikationsdaten, die durch das DCM 12 verwendet werden, und CGW-Umschreibspezifikationsdaten spezifiziert, die durch das CGW 13 verwendet werden.
  • Wie in 7 illustriert ist, beinhalten die DCM-Umschreibspezifikationsdaten Spezifikationsdateninformationen und ECU-Informationen. Die Spezifikationsdateninformationen beinhalten Adressinformationen und einen Dateinamen. Die ECU-Informationen beinhalten Adressinformationen oder dergleichen, auf die, wenn ein Aktualisierungsprogramm (Schreibdaten) jeder Umschreibziel-ECU 19 an das CGW 13 gesendet wird, durch die Anzahl an Umschreibziel-ECUs 19 Bezug genommen wird. Insbesondere beinhalten die ECU-Informationen mindestens eine ID (ECU (ID)) zum Identifizieren einer ECU, eine Referenzadresse (Aktualisierungsprogrammerlangungsadresse) zum Erlangen eines Aktualisierungsprogramms, eine Aktualisierungsprogrammgröße, eine Referenzadresse (Rollbackprogrammerlangungsadresse) zum Erlangen eines Rollbackprogramms und eine Rollbackprogrammgröße. Das Rollbackprogramm ist ein Programm (Schreibdaten) zum Zurückbringen eines Anwendungsprogramms in eine ursprüngliche Version, wenn Umschreiben des Anwendungsprogramms auf halbem Weg aufgehoben wird.
  • Wie in 8 illustriert ist, beinhalten die CGW-Umschreibspezifikationsdaten Gruppeninformationen, eine Buslasttabelle, eine Batterielast, eine Fahrzeugverfassung während Umschreibens und ECU-Informationen. Die CGW-Umschreibspezifikationsdaten können Umschreibprozedurinformationen, Anzeigeszeneninformationen und dergleichen zusätzlich zu den Informationen beinhalten. Die Gruppeninformationen sind Informationen, die eine Gruppe, zu der eine Umschreibziel-ECU 19 gehört, und eine Umschreibreihenfolge angeben, und definieren beispielsweise, dass Anwendungsprogramme in einer Reihenfolge der ECU (ID1), der ECU (ID2) und der ECU (ID3) umgeschrieben werden, als erste Gruppeninformationen und, dass Anwendungsprogramme in einer Reihenfolge einer ECU (ID4), einer ECU (ID5) und einer ECU (ID6) umgeschrieben werden, als zweite Gruppeninformationen. Die Buslasttabelle ist eine Tabelle, die in 100 illustriert ist, die später beschrieben wird, und Details davon werden später beschrieben. Die Batterielast ist Informationen, die einen Untergrenzwert einer Restbatterieladung der Fahrzeugbatterie 40 angeben, die in dem Fahrzeug zulässig ist. Die Fahrzeugbedingung während Umschreibens sind Informationen, die angeben, in welcher Art von Fahrzeugverfassung Umschreiben ausgeführt wird.
  • Die ECU-Informationen sind Informationen hinsichtlich der Umschreibziel-ECU 19 und beinhalten mindestens eine ECU_ID (entsprechend Vorrichtungsidentifikationsinformationen), einen Verbindungsbus (entsprechend Busidentifikationsinformation), eine Verbindungsenergieversorgung, Sicherheitszugriffsschlüsselinformationen, einen Speichertyp, ein Umschreibverfahren, eine Selbsterhaltungsenergiezeit, Umschreibbankinformationen, eine Aktualisierungsprogrammversion, eine Aktualisierungsprogrammerlangungsadresse, eine Aktualisierungsprogrammgröße, eine Rollbackprogrammversion, eine Rollbackprogrammerlangungsadresse, eine Rollbackprogrammgröße und einen Schreibdatentyp.
  • Der Verbindungsbus gibt einen Bus an, mit dem die ECU 19 verbunden ist. Die Verbindungsenergieversorgung gibt eine Energieleitung an, mit der die ECU 19 verbunden ist. Die Sicherheitszugriffsschlüsselinformationen geben Schlüsselinformationen an, die zur Authentifizierung verwendet werden, die durch das CGW 13 ausgeführt wird, um auf die Umschreibziel-ECU 19 zuzugreifen, und beinhaltet einen Zufallszahlenwert oder eindeutige Informationen, ein Schlüsselmuster und ein Entschlüsselungsoperationsmuster. Der Speichertyp gibt an, ob ein Speicher, der auf der Umschreibziel-ECU 19 montiert ist, ein Einzelbankspeicher, ein Einzelbankaussetzspeicher (ebenso als ein Pseudodoppelbankspeicher bezeichnet) oder ein Doppelbankspeicher ist. Das Umschreibverfahren gibt an, ob das Umschreiben basierend auf Selbsterhaltungsenergie oder Energieversorgungssteuerung ausgeführt wird. Die Selbsterhaltungsenergiezeit gibt eine Zeit zum Fortsetzen der Selbsterhaltungsenergie an, wenn das Umschreibverfahren Umschreiben basierend auf Selbsterhaltungsenergie ist. Die Umschreibbankinformationen geben an, welche Bank eine aktive Bank ist und welche Bank eine inaktive Bank ist. Die aktive Bank wird ebenso als eine Startbank bezeichnet und die inaktive Bank wird ebenso als eine Umschreibbank bezeichnet.
  • Die Aktualisierungsprogrammversion gibt eine Version eines Aktualisierungsprogramms an. Die Aktualisierungsprogrammerlangungsadresse gibt eine Adresse des Aktualisierungsprogramms an. Die Aktualisierungsprogrammgröße gibt eine Datengröße des Aktualisierungsprogramms an. Die Rollbackprogrammversion gibt eine Version eines Rollbackprogramms an. Die Rollbackprogrammerlangungsadresse gibt eine Adresse des Rollbackprogramms an. Die Rollbackprogrammgröße gibt eine Datengröße des Rollbackprogramms an. Der Schreibdatentyp gibt an, ob die Schreibdaten Differenzdaten oder die gesamten Daten sind. Zusätzlich zu diesen Informationsstücken können die Umschreibspezifikationsdaten Informationen beinhalten, die eindeutig durch das System definiert sind.
  • Wenn die DCM-Umschreibspezifikationsdaten erlangt werden, analysiert das DCM 12 die erlangten DCM-Umschreibspezifikationsdaten. Wenn die DCM-Umschreibspezifikationsdaten analysiert werden, steuert das DCM 12 Operationen bezüglich Umschreibens so wie Erlangen von Schreibdaten von einer Adresse, in der ein Aktualisierungsprogramm der Umschreibziel-ECU 19 gespeichert ist, und Übertragen der erlangten Schreibdaten an das CGW 13.
  • Wenn die CGW-Umschreibspezifikationsdaten erlangt werden, analysiert das CGW 13 die erlangten CGW-Umschreibspezifikationsdaten. Wenn die CGW-Umschreibspezifikationsdaten analysiert werden, steuert das CGW 13 Operationen bezüglich Umschreibens so wie Auffordern des DCM 12 eine vorbestimmte Größe eines Aktualisierungsprogramms der Umschreibziel-ECU 19 gemäß dem Analyseergebnis zu übertragen oder Verteilen der Schreibdaten an die Umschreibziel-ECU 19 in einer bestimmten Reihenfolge.
  • In dem Dateiserver 8 sind die vorstehend beschriebenen Umprogrammierungsdaten registriert und die Verteilungsspezifikationsdaten, die von dem OEM bereitgestellt werden, sind registriert. Die Verteilungsspezifikationsdaten, die von dem OEM bereitgestellt werden, sind Daten, die eine Operation bezüglich einer Anzeige unterschiedlicher Bildschirme in dem Anzeigeendgerät 5 definieren. Wie in 9 illustriert ist, beinhalten die Verteilungsspezifikationsdaten Sprachinformationen, einen Anzeigetext, Paketinformationen, Bilddaten, ein Anzeigemuster, ein Anzeigesteuerprogramm und dergleichen.
  • Wenn die Verteilungsspezifikationsdaten von dem CGW 13 erlangt werden, analysiert das Anzeigeendgerät 5 die erlangten Verteilungsspezifikationsdaten und steuert Anzeigen unterschiedlicher Bildschirme gemäß dem Analyseergebnis. Beispielsweise überlagert das Anzeigeendgerät 5 einen Anzeigetext, der von den Verteilungsspezifikationsdaten erlangt wird, auf einem vorab gespeicherten Anzeigerahmen und führt ein Anzeigesteuerprogramm aus, das aus den Verteilungsspezifikationsdaten erlangt wird. Zusätzlich zu diesen Informationsstücken können die Verteilungsspezifikationsdaten Informationen beinhalten, die eindeutig durch das System definiert sind.
  • Wenn die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten registriert sind, verschlüsselt der Dateiserver 8 die registrierten Umprogrammierungsdaten und erzeugt ein Verteilungspaket, das einen Paketauthentifikator zum Authentifizieren des Pakets, die verschlüsselten Umprogrammierungsdaten und die Verteilungsspezifikationsdaten speichert. Der Authentifikator ist Daten, die hinzugefügt sind, um die Integrität der Umprogrammierungsdaten und der Verteilungsspezifikationsdaten zu verifizieren, und wird beispielsweise aus Schlüsselinformation, den Umprogrammierungsdaten und den Verteilungsspezifikationsdaten, die mit dem CGW 13 verknüpft sind, erzeugt. Wenn eine Herunterladeanforderung für das Verteilungspaket von der Außenseite empfangen wird, sendet der Dateiserver 8 das Verteilungspaket an das DCM 12. In 6 ist ein Fall beispielhaft dargestellt, in dem der Dateiserver 8 das Verteilungspaket erzeugt, das die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten speichert, und sendet die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten an das DCM 12 als eine einzelne Datei zusammen, aber die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten können an das DCM 12 als separate Dateien gesendet werden. Das heißt, der Dateiserver 8 kann die Verteilungsspezifikationsdaten als erstes an das DCM 12 senden und kann die Umprogrammierungsdaten später an das DCM 12 senden. In diesem Fall kann ein Authentifikator jeder der Verteilungsspezifikationsdaten und der Umprogrammierungsdaten hinzugefügt werden.
  • Wie in 10 illustriert ist, wenn das Verteilungspaket von dem Dateiserver 8 heruntergeladen wird, verifiziert das DCM 12 die Integrität der verschlüsselten Umprogrammierungsdaten unter Verwendung des Paketauthentifikators, der in dem heruntergeladenen Verteilungspaket gespeichert ist. Das DCM 12 entschlüsselt die verschlüsselten Umprogrammierungsdaten, wenn das Verifizierungsergebnis positiv ist. Wenn die verschlüsselten Umprogrammierungsdaten entschlüsselt werden, entpackt das DCM 12 die entschlüsselten Umprogrammierungsdaten und extrahiert die verschlüsselten Differenzdaten, den Authentifikator, die DCM-Umschreibspezifikationsdaten und die CGW-Umschreibspezifikationsdaten abteilungsweise. 10 illustriert einen Fall, in dem die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID1), die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID2), die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID3), die DCM-Umschreibspezifikationsdaten und die CGW-Umschreibspezifikationsdaten abteilungsweise extrahiert sind.
  • Als nächstes wird der Flash-Speicher 33d der ECU 19 gemäß 11 bis 22 beschrieben. Der Flash-Speicher 33d der ECU 19 ist in einen Einzelbankspeicher mit einer einzelnen Flash-Bank, einen Einzelbankaussetzspeicher mit Pseudodoppel-Flash-Bänken und einen Doppelbankspeicher mit doppelten substantiellen Flash-Bänken abhängig von Speicherkonfigurationen klassifiziert. Danach wird die ECU 19, die mit dem Einzelbankspeicher ausgestattet ist, als die Einzelbankspeicher-ECU bezeichnet, die ECU 19, die mit dem Einzelbankaussetzspeicher ausgestattet ist, wird als eine Einzelbank-Aussetzspeicher-ECU bezeichnet und die ECU 19, die mit dem Doppelbankspeicher ausgestattet ist, wird als eine Doppelbank-Speicher-ECU bezeichnet.
  • Da der Einzelbankspeicher eine einzelne Flash-Bank hat, gibt es kein Konzept einer aktiven Bank und einer inaktiven Bank und ein Anwendungsprogramm kann nicht umgeschrieben werden, während das Anwendungsprogramm ausgeführt wird. Andererseits, da der Einzelbankaussetzspeicher oder der Doppelbankspeicher doppelte Flash-Bänke hat, gibt es ein Konzept einer aktiven Bank und einer inaktiven Bank und ein Anwendungsprogramm in der inaktiven Bank kann umgeschrieben werden, während das Anwendungsprogramm in der aktiven Bank ausgeführt wird. Da der Doppelbankspeicher doppelte Flash-Bänke hat, die komplett voneinander separiert sind, kann ein Anwendungsprogramm zu jedem Zeitpunkt umgeschrieben werden, beispielsweise, wenn das Fahrzeug fährt. Da der Einzelbankaussetzspeicher eine Konfiguration hat, in der der Einzelbankspeicher in Pseudodoppelbänke geteilt ist, gibt es Einschränkungen für einen Zeitpunkt, bei dem Lesen und Schreiben normal ausgeführt werden kann, und ein Anwendungsprogramm kann nicht umgeschrieben werden, während das Fahrzeug fährt, und das Anwendungsprogramm kann umgeschrieben werden, während die IG-Energie ausgeschaltet ist und das Fahrzeug geparkt ist.
  • Jeder des Einzelbankspeichers, des Einzelbankaussetzspeichers und des Doppelbankspeichers beinhaltet einen Typ mit eingebetteter Umprogrammierungs-Firmware (nachfolgend als eingebetteter Typ bezeichnet), in dem Umprogrammierungs-Firmware eingebettet ist, und einen Umprogrammierungs-Firmware-Herunterladetyp (nachfolgend als der Herunterladetyp bezeichnet), in dem die Umprogrammierungs-Firmware von der Außenseite heruntergeladen wird. Die Umprogrammierungs-Firmware ist Firmware zum Umschreiben eines Anwendungsprogramms.
  • Eine Konfiguration jedes Flash-Speichers wird später der Reihe nach beschrieben.
  • (A) Einzelbankspeicher
  • (A-1) Einzelbankspeicher eines eingebetteten Typs
  • Der Einzelbankspeicher eines eingebetteten Typs wird gemäß 11 und 12 beschrieben. Der Einzelbankspeicher eines eingebetteten Typs hat einen Differenzmaschinenarbeitsbereich, einen Anwendungsprogrammbereich und einen Bootprogrammbereich. Versionsinformationen, Parameterdaten, ein Anwendungsprogramm, Firmware und eine Normalzeitvektortabelle befinden sich in dem Anwendungsprogrammbereich. Ein Bootprogramm, ein Fortschrittszustandspunkt 2, ein Fortschrittszustandspunkt 1, Startbestimmungsinformationen, drahtlose Umprogrammierungs-Firmware, drahtgebundene Umprogrammierungs-Firmware, ein Startbestimmungsprogramm und eine Bootzeitvektortabelle befinden sich in dem Bootbereich.
  • Wie in 11 illustriert ist, führt während einer normalen Operation zum Ausführen von Anwendungsverarbeitungen wie einer Fahrzeugsteuerverarbeitung und einer Diagnoseverarbeitung der Mikrocomputer 33 das Startbestimmungsprogramm aus, nimmt Bezug auf die Bootzeitvektortabelle und die Normalzeitvektortabelle zum Suchen nach einer führenden Adresse bzw. Anfangsadresse und führt eine vorbestimmte Adresse eines Anwendungsprogramms aus.
  • Der Mikrocomputer 33 führt drahtlose oder drahtgebundene Umprogrammierungs-Firmware anstelle des Anwendungsprogramms in einer Umschreiboperation zum Ausführen einer Umschreibverarbeitung auf dem Anwendungsprogramm aus. 12 illustriert eine Operation zum Umschreiben eines Anwendungsprogramms unter Verwendung von Differenzdaten als ein Aktualisierungsprogramm. Wie in 12 illustriert ist, sichert der Mikrocomputer 33 temporär das Anwendungsprogramm als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine, die in der Umprogrammierungs-Firmware des eingebetteten Typs beinhaltet ist, wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten in eine vorbestimmte Adresse des Speichers zum Umschreiben des Anwendungsprogramms.
  • (A-2) Einzelbankspeicher eines Herunterladetyps
  • Der Einzelbankspeicher eines Herunterladetyps wird gemäß 13 und 14 beschrieben. Der Herunterladetyp unterscheidet sich von dem eingebetteten Typ, der vorstehend beschrieben ist, darin, dass die drahtlose Umprogrammierungs-Firmware oder die drahtgebundene Umprogrammierungs-Firmware von der Außenseite heruntergeladen wird, das Anwendungsprogramm umgeschrieben wird und dann die drahtlose Umprogrammierungs-Firmware oder die drahtgebundene Umprogrammierungs-Firmware gelöscht wird. Wenn das Anwendungsprogramm drahtlos aktualisiert wird, ist beispielsweise die drahtlose Umprogrammierungs-Firmware, die in jeder ECU 19 auszuführen ist, in den Umprogrammierungsdaten beinhaltet, die in 6 illustriert sind. Die ECU 19 empfängt drahtlose Umprogrammierungs-Firmware zur Verwendung nur durch die ECU von dem CGW 13 und speichert die empfangene drahtlose Umprogrammierungs-Firmware zur Verwendung nur durch die ECU in dem RAM.
  • Wie in 13 illustriert ist, führt während einer normalen Operation zum Ausführen von Anwendungsverarbeitungen wie einer Fahrzeugsteuerverarbeitung und einer Diagnoseverarbeitung auf gleiche Weise wie beim eingebetteten Typ der Mikrocomputer 33 das Startbestimmungsprogramm aus, nimmt auf die Bootzeitvektortabelle und die Normalzeitvektortabelle zum Suchen nach einer führenden Adresse bzw. Anfangsadresse Bezug und führt eine vorbestimmte Adresse eines Anwendungsprogramms aus.
  • Wie in 14 illustriert ist, sichert der Mikrocomputer 33 temporär das Anwendungsprogramm als alte Daten in dem Differenzmaschinenarbeitsbereich während einer Umschreiboperation zum Ausführen einer Umschreibverarbeitung auf dem Anwendungsprogramm. Der Mikrocomputer 33 liest die alten Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung der Differenzmaschine, die in der Umprogrammierungs-Firmware beinhaltet ist, die von außerhalb heruntergeladen wird, wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten zum Umschreiben des Anwendungsprogramms.
  • (B) Einzelbankaussetzspeicher
  • (B-1) Einzelbankaussetzspeicher eines eingebetteten Typs
  • Der Einzelbankaussetzspeicher eines eingebetteten Typs wird gemäß 15 und 16 beschrieben. Der Einzelbankaussetzspeicher eines eingebetteten Typs hat einen Differenzmaschinenarbeitsbereich, einen Anwendungsprogrammbereich und einen Bootprogrammbereich. Umprogrammierungs-Firmware zur Aktualisierung eines Programms befindet sich in dem Bootprogrammbereich auf gleiche Weise wie in dem Einzelbankspeicher und wird keiner Programmaktualisierung unterzogen. Der Anwendungsprogrammbereich der ein Programmaktualisierungsziel ist, hat eine Pseudo-Bank-A und -Bank-B und Versionsinformationen, ein Anwendungsprogramm und eine Normalzeitvektortabelle befinden sich in jeder der Bank-A und der Bank-B. Ein Bootprogramm, Umprogrammierungs-Firmware, eine Umprogrammierungszeitvektortabelle, eine Startbankbestimmungsfunktion, Startbankbestimmungsinformation und eine Bootzeitvektortabelle befinden sich in dem Bootbereich.
  • Wie in 15 illustriert ist, führt während einer normalen Operation zum Ausführen von Anwendungsverarbeitungen wie einer Fahrzeugsteuerverarbeitung und einer Diagnoseverarbeitung der Mikrocomputer 33 das Bootprogramm zum Bestimmen, welche der Bank-A und der Bank-B eine aktive Bank ist, basierend auf den Startbankbestimmungsinformationen der Bank-A und der Bank-B gemäß der Startbankbestimmungsfunktion aus. Wenn bestimmt wird, dass die Bank-A eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Normalzeitvektortabelle der Bank-A zum Suchen nach einer führenden Adresse bzw. Anfangsadresse und führt das Anwendungsprogramm der Bank-A aus. Auf ähnliche Weise, wenn bestimmt wird, dass die Bank-B eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Normalzeitvektortabelle der Bank-B zum Suchen nach einer führenden Adresse und führt das Anwendungsprogramm der Bank-B aus. In 15, obwohl die Umprogrammierungs-Firmware sich in dem Bootprogrammbereich befindet, kann die Umprogrammierungs-Firmware ebenso Programmaktualisierung unterzogen werden und sich in jedem Bereich der Bank-A oder der Bank-B befinden.
  • Wie in 16 illustriert ist, speichert während einer Umschreiboperation zum Ausführen einer Umschreibverarbeitung auf einem Anwendungsprogramm einer inaktiven Bank der Mikrocomputer 33 temporär das Anwendungsprogramm der inaktiven Bank als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine in der Umprogrammierungs-Firmware des eingebetteten Typs wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank zum Umschreiben des Anwendungsprogramms der inaktiven Bank. 16 zeigt beispielhaft einen Fall, in dem die Bank-A eine aktive Bank ist und die Bank-B eine inaktive Bank ist.
  • (B-2) Einzelbankaussetzspeicher eines Herunterladetyps
  • Der Einzelbankaussetzspeicher eines Herunterladetyps wird gemäß 17 und 18 beschrieben. Der Herunterladetyp unterscheidet sich vom eingebetteten Typ, der vorstehend beschrieben ist, darin, dass Umprogrammierungs-Firmware und eine Umprogrammierungszeitvektortabelle von außerhalb heruntergeladen werden, ein Anwendungsprogramm umgeschrieben wird und dann die Umprogrammierungs-Firmware und die Umprogrammierungszeitvektortabelle gelöscht werden.
  • Wie in 17 illustriert ist, führt während einer normalen Operation zum Ausführen von Anwendungsverarbeitungen wie einer Fahrzeugsteuerverarbeitung und einer Diagnoseverarbeitung auf gleiche Weise wie der eingebettete Typ der Mikrocomputer 33 das Bootprogramm zum Bestimmen, ob das Anwendungsprogramm neu oder alt ist, basierend auf den Startbankbestimmungsinformationen jeder der Bank-A und der Bank-B gemäß der Startbankbestimmungsfunktion aus und bestimmt, welche der Bank-A und der Bank-B eine aktive Bank ist. Wenn bestimmt wird, dass die Bank-A eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Normalzeitvektortabelle der Bank-A zum Suchen nach einer führenden Adresse und führt das Anwendungsprogramm der Bank-A aus. Auf ähnliche Weise, wenn bestimmt wird, dass die Bank-B eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Normalzeitvektortabelle der Bank-B zum Suchen nach einer führenden Adresse und führt das Anwendungsprogramm der Bank-B aus.
  • Wie in 18 illustriert ist, speichert während einer Umschreiboperation zum Ausführen einer Umschreibverarbeitung auf einem Anwendungsprogramm der Mikrocomputer 33 temporär das Anwendungsprogramm der inaktiven Bank als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine in der Umprogrammierungs-Firmware, die von außerhalb heruntergeladen wird, wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten zum Umschreiben des Anwendungsprogramms. 18 zeigt beispielhaft einen Fall, in dem die Bank-A eine aktive Bank ist und die Bank-B eine inaktive Bank ist. Wie vorstehend beschrieben ist, kann in dem Einzelbankaussetzspeicher Umschreiben des Anwendungsprogramms der Bank-B im Hintergrund ausgeführt werden, während das Anwendungsprogramm der Bank-A ausgeführt wird.
  • (C) Doppelbankspeicher
  • (C-1) Doppelbankspeicher eines eingebetteten Typs
  • Der Doppelbankspeicher eines eingebetteten Typs wird gemäß 19 und 20 beschrieben. Der Einzelbankspeicher eines eingebetteten Typs beinhaltet einen Anwendungsprogrammbereich und einen Umschreibprogrammbereich der Bank-A, einen Anwendungsprogrammbereich und einen Umschreibprogrammbereich der Bank-B und einen Bootprogrammbereich. Ein Bootprogramm befindet sich in dem Bootbereich als nicht umschreibbar. Das Bootprogramm beinhaltet eine Boot-Swap-Funktion und eine Bootzeitvektortabelle. Versionsinformationen, Parameterdaten, ein Anwendungsprogramm, Firmware und eine Normalzeitvektortabelle befinden sich in jedem Anwendungsprogrammbereich. Ein Programm zum Steuern des Umschreibens, Umprogrammierungsfortschrittsverwaltungsinformationen 2, Umprogrammierungsfortschrittsverwaltungsinformationen 1, Startbankbestimmungsinformation, drahtlose Umprogrammierungs-Firmware, drahtgebundene Umprogrammierungs-Firmware und eine Bootzeitvektortabelle befinden sich in jedem Umschreibprogrammbereich. Ein Bootprogramm, eine Boot-Swap-Funktion und eine Bootzeitvektortabelle befinden sich in dem Bootbereich.
  • Wie in 19 illustriert ist, führt der Mikrocomputer 33 während einer normalen Operation zum Ausführen von Anwendungsverarbeitungen wie einer Fahrzeugsteuerverarbeitung und einer Diagnoseverarbeitung und während einer Umschreiboperation zum Ausführen einer Umschreibverarbeitung auf einem Anwendungsprogramm einer inaktiven Bank das Bootprogramm zum Bestimmen aus, ob das Anwendungsprogramm neu oder alt ist, gemäß der Boot-Swap-Funktion basierend auf jeder der Startbankbestimmungsinformation der Bank-A und der Bank-B und bestimmt, welche der Bank-A und der Bank-B eine aktive Bank ist. Wenn bestimmt wird, dass die Bank-A eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Bootzeitvektortabelle der Bank-A und die Normalzeitvektortabelle der Bank-A zum Suchen nach einer führenden Adresse und führt das Anwendungsprogramm der Bank-A aus. Auf ähnliche Weise, wenn bestimmt wird, dass die Bank-B eine aktive Bank ist, nimmt der Mikrocomputer 33 Bezug auf die Bootzeitvektortabelle der Bank-B und die Normalzeitvektortabelle der Bank-B zum Suchen nach einer führenden Adresse und führt das Anwendungsprogramm der Bank-B aus.
  • Wie in 20 illustriert ist, speichert während einer Umschreiboperation zum Ausführen einer Umschreibverarbeitung auf einem Anwendungsprogramm einer inaktiven Bank der Mikrocomputer 33 temporär das Anwendungsprogramm der inaktiven Bank als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung einer Differenzmaschine in der Umprogrammierungs-Firmware des eingebetteten Typs wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank zum Umschreiben des Anwendungsprogramms der inaktiven Bank. Alte Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, können ein Anwendungsprogramm einer aktiven Bank oder ein Anwendungsprogramm einer inaktiven Bank sein. In diesem Fall werden in einem Fall, in dem das Anwendungsprogramm der aktiven Bank ein Ziel ist, Daten der inaktiven Bank gelöscht, bevor neue Daten geschrieben werden. Hierbei werden in einem Fall, in dem Umprogrammierungsdaten von der Außenseite des Fahrzeugs nicht die Differenzdaten, sondern gesamte Daten (volle Daten, bzw. vollständige Daten) sind, die erlangten Umprogrammierungsdaten als neue Daten in die inaktive Bank geschrieben. 20 zeigt beispielhaft einen Fall, in dem die Bank-A eine aktive Bank ist und die Bank-B eine inaktive Bank ist. Alte Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, können ein Anwendungsprogramm einer aktiven Bank oder ein Anwendungsprogramm einer inaktiven Bank sein. In einem Fall, in dem es erforderlich ist, dass Ausführungsadressen der Anwendungsprogramme übereinstimmen, wird das Anwendungsprogramm der inaktiven Bank als alte Daten gesichert.
  • (C-2) Doppelbankspeicher eines Herunterladetyps
  • Der Doppelbankspeicher eines Herunterladetyps wird gemäß 21 und 22 beschrieben. Der Herunterladetyp unterscheidet sich von dem eingebetteten Typ, der vorstehend beschrieben ist, darin, dass die drahtlose Umprogrammierungs-Firmware oder die drahtgebundene Umprogrammierungs-Firmware von der Außenseite heruntergeladen wird, das Anwendungsprogramm umgeschrieben wird und dann die drahtlose Umprogrammierungs-Firmware oder die drahtgebundene Umprogrammierungs-Firmware gelöscht wird.
  • Wie in 21 illustriert ist, führt während einer normalen Operation zum Ausführen von Anwendungsverarbeitungen wie einer Fahrzeugsteuerverarbeitung und einer Diagnoseverarbeitung und während einer Umschreiboperation zum Ausführen einer Umschreibverarbeitung auf einem Anwendungsprogramm einer inaktiven Bank, auf gleiche Weise wie beim eingebetteten Typ, der Mikrocomputer 33 das Bootprogramm aus, um zu bestimmen, ob das Anwendungsprogramm neu oder alt ist, gemäß der Boot-Swap-Funktion basierend auf jeder der Startbankbestimmungsinformationen der Bank-A und der Bank-B, und um zu bestimmen, welche der Bank-A und der Bank-B eine aktive Bank ist, und führt ein Anwendungsprogramm der aktiven Bank zum Ausführen einer Anwendungsverarbeitung aus.
  • Wie in 22 illustriert ist, speichert während einer Umschreiboperation zum Ausführen einer Umschreibverarbeitung auf dem Anwendungsprogramm der Mikrocomputer 33 temporär das Anwendungsprogramm der inaktiven Bank als alte Daten in dem Differenzmaschinenarbeitsbereich. Der Mikrocomputer 33 liest die alten Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, und stellt neue Daten aus den gelesenen alten Daten und den Differenzdaten, die in dem RAM 33c gespeichert sind, unter Verwendung der Umprogrammierungs-Firmware, die von außerhalb heruntergeladen wird, wieder her. Wenn die neuen Daten aus den alten Daten und den Differenzdaten erzeugt werden, schreibt der Mikrocomputer 33 die neuen Daten in die inaktive Bank zum Umschreiben des Anwendungsprogramms der inaktiven Bank. Alte Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, können ein Anwendungsprogramm einer aktiven Bank oder ein Anwendungsprogramm einer inaktiven Bank sein. In diesem Fall werden in einem Fall, in dem das Anwendungsprogramm der aktiven Bank ein Ziel ist, Daten der inaktiven Bank gelöscht, bevor neue Daten geschrieben werden. Hierbei werden in einem Fall, in dem Umprogrammierungsdaten von der Außenseite des Fahrzeugs nicht die Differenzdaten, sondern gesamte Daten (volle Daten, bzw. vollständige Daten) sind, die erlangten Umprogrammierungsdaten als neue Daten in die inaktive Bank geschrieben. 22 zeigt beispielhaft einen Fall, in dem die Bank-A eine aktive Bank ist und die Bank-B eine inaktive Bank ist. Alte Daten, die temporär in dem Differenzmaschinenarbeitsbereich gesichert sind, können ein Anwendungsprogramm einer aktiven Bank oder ein Anwendungsprogramm einer inaktiven Bank sein. Wie vorstehend beschrieben ist, kann in dem Doppelbankspeicher Umschreiben des Anwendungsprogramms der Bank-B im Hintergrund ausgeführt werden, während das Anwendungsprogramm der Bank-A ausgeführt wird.
  • Wie vorstehend beschrieben ist, befinden sich in beiden Konfigurationen des eingebetteten Typs und des Herunterladetyps das Anwendungsprogramm und die Umschreibprogramme zum Umschreiben des Anwendungsprogramms in jedem Anwendungsbereich. In 20 und 22 wurde das Anwendungsprogramm als ein Umprogrammierungsziel beschrieben, aber das Umschreibprogramm kann auch als ein Umprogrammierungsziel bezeichnet werden. In einem Fall, in dem es gewünscht ist, dass das Umschreibprogramm nicht umgeschrieben werden kann, kann sich das Umschreibprogramm in dem Bootbereich befinden. Beispielsweise kann ein Programm für drahtgebundenes Umschreiben in dem Bootbereich derart angeordnet sein, dass das drahtgebundene Umschreiben unter Verwendung des Werkzeugs 23 verlässlich bei einem Händler oder dergleichen ausgeführt werden kann.
  • Als nächstes wird die Gesamtsequenz zum Umschreiben eines Anwendungsprogramms gemäß 23 bis 25 beschrieben. Hier wird ein Fall beschrieben, in dem ein Benutzer das mobile Endgerät 6 als das Anzeigeendgerät 5 zum Umschreiben eines Anwendungsprogramms während Parkens operiert, aber das gleiche gilt auf einen Fall, in dem das Anwendungsprogramm während Parkens durch Operieren der Fahrzeugbordanzeige 7 umgeschrieben wird. Das Verteilungspaket, das von der Zentralvorrichtung 3 an das DCM 12 gesendet wird, speichert Schreibdaten von einer oder mehreren Umschreibziel-ECUs 19. Das heißt, wenn es eine einzelne Umschreibziel-ECU 19 gibt, wird ein Stück von Schreibdaten für die einzelne Umschreibziel-ECU 19 in dem Verteilungspaket gespeichert und, wenn es mehrere Umschreibziel-ECUs 19 gibt, werden mehrere Stücke von Schreibdaten für die jeweiligen mehreren Umschreibziel-ECU 19 in dem Verteilungspaket gespeichert. Es gibt zwei Umschreibziel-ECUs 19 und die zwei Umschreibziel-ECUs 19 werden als eine Umschreibziel-ECU (ID1) und eine Umschreibziel-ECU (ID2) bezeichnet. Die ECUs 19 außer der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) werden als andere ECUs bezeichnet.
  • Jede der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) bestimmt, dass eine Sendebedingung für ein Versionsmitteilungssignal beispielsweise hergestellt wird, wenn bestimmt wird, dass eine Sendeanforderung für das Versionsmitteilungssignal von der Mastervorrichtung 11 empfangen wurde. Wenn die Sendebedingung für das Versionsmitteilungssignal hergestellt ist, sendet die Umschreibziel-ECU (ID1) das Versionsmitteilungssignal einschließlich Versionsinformationen eines darin gespeicherten Anwendungsprogramms und einer ECU (ID), die die ECU identifizieren kann, an die Mastervorrichtung 11. Wenn das Versionsmitteilungssignal von der Umschreibziel-ECU (ID1) empfangen wird, sendet die Mastervorrichtung 11 das empfangene Versionsmitteilungssignal an die Zentralvorrichtung 3. Auf ähnliche Weise, wenn die Sendebedingung für das Versionsmitteilungssignal hergestellt ist, sendet die Umschreibziel-ECU (ID2) das Versionsmitteilungssignal einschließlich einer Version eines darin gespeicherten Anwendungsprogramms und einer ECU (ID), die die ECU identifizieren kann, an die Mastervorrichtung 11. Wenn das Versionsmitteilungssignal von der Umschreibziel-ECU (ID2) empfangen wird, sendet die Mastervorrichtung 11 das empfangene Versionsmitteilungssignal an die Zentralvorrichtung 3.
  • Wenn die Versionsmitteilungssignale von der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) empfangen werden, spezifiziert die Zentralvorrichtung 3 die Versionen der Anwendungsprogramme, die in den empfangenen Versionsmitteilungssignalen beinhaltet sind, und die ECUs (ID) und bestimmt Verfügbarkeit von Schreibdaten, die an die Umschreibziel-ECU 19 zu verteilen sind, die eine Sendequelle des Versionsmitteilungssignals ist. Die Zentralvorrichtung 3 spezifiziert die Version des gegenwärtigen Anwendungsprogramms der Umschreibziel-ECU 19 von dem Versionsmitteilungssignal, das von dem Umschreibziel empfangen wird, und vergleicht die Version des gegenwärtigen Anwendungsprogramms mit der verwalteten jüngsten Version.
  • Wenn die Version, die aus dem Versionsmitteilungssignal spezifiziert wird, den gleichen Wert wie der der verwalteten jüngsten Version hat, bestimmt die Zentralvorrichtung 3, das Schreibdaten, die an die Umschreibziel-ECU 19 zu verteilen sind, die eine Sendequelle des Versionsmitteilungssignals ist, nicht verfügbar sind, und das Anwendungsprogramm, das in der Umschreibziel-ECU 19 gespeichert ist, nicht aktualisiert werden muss. Andererseits, wenn die Version, die aus dem Versionsmitteilungssignal spezifiziert wird, einen Wert hat, der kleiner als der der verwalteten neuesten Version ist, bestimmt die Zentralvorrichtung 3, das Schreibdaten, die an die Umschreibziel-ECU 19 zu verteilen sind, die eine Sendequelle des Versionsmitteilungssignals ist, verfügbar sind, und das Anwendungsprogramm, das in der Umschreibziel-ECU 19 gespeichert ist, aktualisiert werden muss.
  • Wenn bestimmt wird, dass das Anwendungsprogramm, das in der Umschreibziel-ECU 19 gespeichert ist, aktualisiert werden muss, teilt die Zentralvorrichtung 3 dem mobilen Endgerät 6 Informationen mit, die angeben, dass Aktualisierung erforderlich ist. Wenn dem mobilen Endgerät 6 die Informationen mitgeteilt werden, die angeben, dass Aktualisierung erforderlich ist, zeigt das mobile Endgerät einen Verteilungsdurchführbarkeitsbildschirm (A1) an. Der Verteilungsdurchführbarkeitsbildschirm ist der gleiche wie ein Kampagnenmitteilungsbildschirm, der später beschrieben wird. Der Benutzer kann die Notwendigkeit der Aktualisierung von dem Verteilungsdurchführbarkeitsbildschirm, der auf dem mobilen Endgerät 6 angezeigt wird, auf dem mobilen Endgerät 6 überprüfen und kann somit wählen, ob oder nicht die Aktualisierung auszuführen ist.
  • Wenn der Benutzer wählt, dass die Aktualisierung auf dem mobilen Endgerät 6 (A2) auszuführen ist, teilt das mobile Endgerät 6 der Zentralvorrichtung 3 eine Herunterladeanforderung für ein Verteilungspaket mit. Wenn der Zentralvorrichtung 3 die Herunterladeanforderung für das Verteilungspaket von dem mobilen Endgerät 6 mitgeteilt wird, sendet die Zentralvorrichtung das Verteilungspaket an die Mastervorrichtung 11.
  • Wenn die Mastervorrichtung 11 das Verteilungspaket von der Zentralvorrichtung 3 herunterlädt, initiiert die Mastervorrichtung eine Paketauthentifizierungsverarbeitung für das heruntergeladene Verteilungspaket (B1). Wenn die Mastervorrichtung 11 das Verteilungspaket authentifiziert und die Paketauthentifizierungsverarbeitung abschließt, initiiert die Mastervorrichtung eine Schreibdatenextrahierungsverarbeitung (B2). Wenn die Mastervorrichtung 11 die Schreibdaten von dem Verteilungspaket extrahiert und die Schreibdatenextrahierungsverarbeitung abschließt, sendet die Mastervorrichtung ein Herunterladeabschlussmitteilungssignal an die Zentralvorrichtung 3.
  • Wenn die Zentralvorrichtung 3 das Herunterladeabschlussmitteilungssignal von der Mastervorrichtung 11 empfängt, teilt die Zentralvorrichtung 3 dem mobilen Endgerät 6 den Abschluss des Herunterladens mit. Wenn dem mobilen Endgerät 6 Abschluss des Herunterladens von der Zentralvorrichtung 3 mitgeteilt wird, zeigt das mobile Endgerät 6 einen Herunterladeabschlussmitteilungsbildschirm (A3) an. Der Benutzer kann durch den Herunterladeabschlussmitteilungsbildschirm, der auf dem mobilen Endgerät 6 angezeigt wird, überprüfen, dass das Herunterladen abgeschlossen wurde, und kann somit eine Umschreibungsinitiierungszeit eines Anwendungsprogramms auf der Fahrzeugseite festlegen.
  • Wenn der Benutzer die Umschreibungsinitiierungszeit des Anwendungsprogramms auf der Fahrzeugseite auf dem mobilen Endgerät 6 (A4) festlegt, teilt das mobile Endgerät 6 der Zentralvorrichtung 3 die Umschreibungsinitiierungszeit mit. Wenn der Zentralvorrichtung 3 die Umschreibungsinitiierungszeit von dem mobilen Endgerät 6 mitgeteilt wird, speichert die Zentralvorrichtung 3 die Umschreibungsinitiierungszeit, die durch den Benutzer festgelegt ist, als eine festgelegte Initiierungszeit. Wenn die gegenwärtige Zeit die festgelegte Initiierungszeit (A5) erreicht, sendet die Zentralvorrichtung 3 ein Umschreibungsanweisungssignal an die Mastervorrichtung 11.
  • Wenn das Umschreibungsanweisungssignal von der Zentralvorrichtung 3 empfangen wird, sendet die Mastervorrichtung 11 eine Energieversorgungsstartanforderung an die Energieversorgungsverwaltungs-ECU 20 und veranlasst somit die Umschreibziel-ECU (ID1), die Umschreibziel-ECU (ID2) und die andere ECUs von einem Stoppzustand oder einem Schlafzustand in einen Startzustand (X1) überzugehen.
  • Die Mastervorrichtung 11 initiiert, die Schreibdaten an die Umschreibziel-ECU (ID1) zu verteilen, und weist die Umschreibziel-ECU (ID1) an, die Schreibdaten zu schreiben. Die Umschreibziel-ECU (ID1) initiiert, die Schreibdaten von der Mastervorrichtung 11 zu empfangen, und initiiert, die Schreibdaten zu schreiben, und initiiert eine Programmumschreibverarbeitung, wenn angewiesen wird, die Schreibdaten zu schreiben (C1). Wenn die Umschreibziel-ECU (ID1) Empfangen der Schreibdaten von der Mastervorrichtung 11 abschließt, Schreiben der Schreibdaten abschließt und die Programmumschreibverarbeitung abschließt, sendet die Umschreibziel-ECU (ID1) ein Umschreibabschlussmitteilungssignal an die Mastervorrichtung 11.
  • Wenn das Umschreibabschlussmitteilungssignal von der Umschreibziel-ECU (ID1) empfangen wird, initiiert die Mastervorrichtung 11, die Schreibdaten an die Umschreibziel-ECU (ID2) zu verteilen, und weist die Umschreibziel-ECU (ID2) an, die Schreibdaten zu schreiben. Die Umschreibziel-ECU (ID2) initiiert, die Schreibdaten von der Mastervorrichtung 11 zu empfangen, und initiiert, die Schreibdaten zu schreiben, und initiiert eine Programmumschreibverarbeitung, wenn angewiesen wird, die Schreibdaten zu schreiben (D1). Wenn die Umschreibziel-ECU (ID2) Empfangen der Schreibdaten von der Mastervorrichtung 11 abschließt, Schreiben der Schreibdaten abschließt und die Programmumschreibverarbeitung abschließt, sendet die Umschreibziel-ECU (ID2) ein Umschreibabschlussmitteilungssignal an die Mastervorrichtung 11. Wenn das Umschreibabschlussmitteilungssignal von der Umschreibziel-ECU (ID2) empfangen wird, sendet die Mastervorrichtung 11 das Umschreibabschlussmitteilungssignal an die Zentralvorrichtung 3.
  • Wenn das Umschreibabschlussmitteilungssignal von der Mastervorrichtung 11 empfangen wird, teilt die Zentralvorrichtung 3 dem mobilen Endgerät 6 den Abschluss des Umschreibens des Anwendungsprogramms mit. Wenn dem mobilen Endgerät 6 der Abschluss des Umschreibens des Anwendungsprogramms von der Zentralvorrichtung 3 mitgeteilt wird, zeigt das mobile Endgerät 6 einen Umschreibungsabschlussmitteilungsbildschirm (A6) an. Der Benutzer kann überprüfen, dass Umschreiben des Anwendungsprogramms abgeschlossen wurde, durch den Umschreibungsabschlussmitteilungsbildschirm, der auf dem mobilen Endgerät 6 angezeigt wird, und kann somit Ausführung von Synchronisation als Aktivierung festlegen.
  • Wenn der Benutzer die Ausführung von Synchronisation auf dem mobilen Endgerät 6 (A7) festlegt, das heißt, wenn der Benutzer eine Zustimmung bzw. Genehmigung zur Aktivierung eines neuen Programms festlegt, teilt das mobile Endgerät 6 der Zentralvorrichtung 3 die Ausführung der Synchronisation mit. Wenn die Zentralvorrichtung 3 die Ausführung der Synchronisation von dem mobilen Endgerät 6 mitgeteilt wird, sendet die Zentralvorrichtung ein Synchronisationsschaltanweisungssignal an die Mastervorrichtung 11. Wenn das Synchronisationsschaltanweisungssignal von der Zentralvorrichtung 3 empfangen wird, verteilt die Mastervorrichtung 11 das empfangene Synchronisationsschaltanweisungssignal an die Umschreibziel-ECU (ID1) und die Umschreibziel-ECU (ID2).
  • Wenn das Synchronisationsschaltanweisungssignal von der Mastervorrichtung 11 empfangen wird, initiiert jede der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) eine Programmumschaltverarbeitung zum Umschalten eines Anwendungsprogramms, das das nächste Mal gestartet werden soll, von dem alten Anwendungsprogramm zu dem neuen Anwendungsprogramm (C2 und D2). Wenn die Programmumschaltverarbeitung abgeschlossen wurde, sendet jede der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) ein Umschaltabschlussmitteilungssignal an die Mastervorrichtung 11.
  • Wenn das Umschaltabschlussmitteilungssignal von der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) empfangen wird, verteilt die Mastervorrichtung 11 ein Versionslesesignal an die Umschreibziel-ECU (ID1) und die Umschreibziel-ECU (ID2). Wenn das Versionslesesignal von der Mastervorrichtung 11 empfangen wird, liest jede der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) eine Version eines danach zu operierenden Anwendungsprogramms (C3 und D3) und sendet ein jüngstes Versionsmitteilungssignal einschließlich der gelesenen Version an die Mastervorrichtung 11. Die Mastervorrichtung 11 überprüft eine Softwareversion oder führt Rollback nach Bedarf durch Empfangen des Versionsmitteilungssignals von der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) aus.
  • Wenn das Versionsmitteilungssignal von der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) empfangen wird, sendet die Mastervorrichtung 11 eine Energieversorgungsstoppanforderung an die Energieversorgungsverwaltungs-ECU 20 und veranlasst somit die Umschreibziel-ECU (ID1), die Umschreibziel-ECU (ID2) und die anderen ECUs, von dem Startzustand in den Stoppzustand oder den Schlafzustand (X2) überzugehen.
  • Die Mastervorrichtung 11 sendet das jüngste Versionsmitteilungssignal an die Zentralvorrichtung 3. Wenn das jüngste Versionsmitteilungssignal von der Mastervorrichtung 11 empfangen wird, spezifiziert die Zentralvorrichtung 3 die jüngsten Versionen der Anwendungsprogramme der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) aus dem empfangenen jüngsten Versionsmitteilungssignal und teilt dem mobilen Endgerät 6 die spezifizierten jüngsten Versionen mit. Wenn eine Mitteilung über die jüngsten Versionen von der Zentralvorrichtung 3 gesendet wird, zeigt das mobile Endgerät 6 einen Mitteilungsbildschirm für jüngste Versionen an, der die jüngsten Versionen angibt, von denen die Mitteilung an das mobile Endgerät 6 gesendet wird (A8). Der Benutzer kann die jüngsten Versionen auf dem Mitteilungsbildschirm für jüngste Versionen auf dem mobilen Endgerät 6 überprüfen und kann somit überprüfen, dass die Aktivierung abgeschlossen wurde.
  • Als nächstes werden gemäß 26 bis 29 Zeitdiagramme für Operationen des DCM 12, des CGW 13 und der Umschreibziel-ECU 19 beschrieben, wenn ein Anwendungsprogramm umgeschrieben wird. Es wird ein Fall beschrieben, in dem ein Anwendungsprogramm der Doppelbank-Speicher-ECU während einer Periode umgeschrieben wird, in der der IG-Schalter 42 durch eine Benutzeroperation eingeschaltet wird, das heißt, während das Fahrzeug fahren kann, und Anwendungsprogramme der Einzelbank-Aussetzspeicher-ECU und der Einzelbankspeicher-ECU während Parkens, nachdem der IG-Schalter 42 durch die Benutzeroperation ausgeschaltet ist, umgeschrieben werden. Es wird ein Fall beschrieben, in dem das Anwendungsprogramm unter Verwendung von Energieversorgungssteuerung umgeschrieben wird, und ein Fall, in dem das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie umgeschrieben wird.
  • (a) Fall, in dem Anwendungsprogramm unter Verwendung von Energieversorgungssteuerung umgeschrieben wird
  • Der Fall, in dem das Anwendungsprogramm unter Verwendung von Energieversorgungssteuerung umgeschrieben wird, wird gemäß 26 und 27 beschrieben. Das Umschreiben des Anwendungsprogramms unter Verwendung von Energieversorgungssteuerung gibt eine Konfiguration an, in der eine Umschreiboperation gemäß einem Umschalten einer Energieversorgung ohne Verwenden der Selbsterhaltungsenergieschaltung gesteuert wird. Wenn der Benutzer den IG-Schalter in einem AUS-Zustand schaltet und somit die Fahrzeugenergie von der +B-Energie in die IG-Energie umschaltet, initiiert jedes des DCM 12, des CGW 13, der Doppelbank-Speicher-ECU, der Einzelbank-Aussetzspeicher-ECU und der Einzelbankspeicher-ECU eine normale Operation (t1).
  • Wenn eine Mitteilung über eine Initiierung eines Herunterladens von der Zentralvorrichtung 3 gesendet wird, geht das DCM 12 von der normalen Operation in eine Herunterladeoperation über und initiiert Herunterladen eines Verteilungspakets von der Zentralvorrichtung 3 (t2). Das DCM 12 kann das Verteilungspaket im Hintergrund herunterladen, während die normale Operation ausgeführt wird. Wenn das Herunterladen des Verteilungspakets von der Zentralvorrichtung 3 abgeschlossen wurde, kehrt das DCM 12 von der Herunterladeoperation zur normalen Operation zurück (t3).
  • Wenn eine Mitteilung eines Umschreibungsanweisungssignals (Installationsanweisungssignal) von der Zentralvorrichtung 3 oder dem CGW 13 gesendet wird, geht das DCM 12 von der normalen Operation in eine Datenübertragungs-/Zentrumskommunikationsoperation über und initiiert die Datenübertragungs-/Zentrumskommunikationsoperation (t4). Das heißt, das DCM 12 extrahiert Schreibdaten von dem Verteilungspaket, initiiert, die Schreibdaten an das CGW 13 zu übertragen, erlangt eine Umschreibfortschrittssituation von dem CGW 13 und initiiert, der Zentralvorrichtung 3 die Umschreibfortschrittssituation mitzuteilen.
  • Wenn Erlangen der Schreibdaten von dem DCM 12 initiiert wird, geht das CGW 13 von der normalen Operation in eine Umprogrammierungs-Master-Operation über, initiiert die Umprogrammierungs-Master-Operation, initiiert, die Schreibdaten an die Doppelbank-Speicher-ECU zu verteilen, und weist die Doppelbank-Speicher-ECU an, die Schreibdaten zu schreiben. Wenn die Doppelbank-Speicher-ECU initiiert, Schreibdaten von dem CGW 13 zu empfangen, initiiert die Doppelbank-Speicher-ECU eine Programmierphase (nachfolgend auch als eine Installationsphase bezeichnet) in einer normalen Operation. Das heißt, die Doppelbank-Speicher-ECU führt die Installation des Anwendungsprogramms im Hintergrund aus, während sie die normale Operation ausführt. Die Doppelbank-Speicher-ECU initiiert, die empfangenen Schreibdaten in den Flash-Speicher zu schreiben und initiiert, das Anwendungsprogramm umzuschreiben.
  • Wenn der Benutzer den IG-Schalter in einem EIN-Zustand derart ausschaltet, dass die Fahrzeugenergie von der IG-Energie zur +B-Energie umschaltet, während Umschreibens des Anwendungsprogramms in der Doppelbank-Speicher-ECU, stoppt das DCM 12 die Datenübertragungs-/Zentrumskommunikationsoperation, das CGW 13 stoppt die Umprogrammierungs-Master-Operation und die Doppelbank-Speicher-ECU stoppt die Installationsphase und stoppt Umschreiben des Anwendungsprogramms (t5).
  • Danach, wenn der Benutzer den IG-Schalter in einem AUS-Zustand derart einschaltet, dass die Fahrzeugenergie von der +B-Energie zur IG-Energie umschaltet, nimmt das DCM 12 die Datenübertragungs-/Zentrumskommunikationsoperation wieder auf, das CGW 13 nimmt die Umprogrammierungs-Master-Operation wieder auf und die Doppelbank-Speicher-ECU nimmt die Installationsphase wieder auf und nimmt Umschreiben des Anwendungsprogramms (t6) wieder auf. Das heißt, der Benutzer schaltet den IG-Schalter in einem EIN-Zustand derart aus, dass die Fahrzeugenergie von der IG-Energie in die +B-Energie umschaltet, und dann schaltet der Benutzer den IG-Schalter in einem AUS-Zustand derart ein, dass die Fahrzeugenergie von der +B-Energie zur IG-Energie umschaltet, und jedes Mal, wenn eine Reise bzw. Fahrt auftritt, wiederholt die Doppelbank-Speicher-ECU Stoppen und Wiederaufnehmen des Umschreibens des Anwendungsprogramms (t7 und t8).
  • Wenn die Doppelbank-Speicher-ECU Schreiben der Schreibdaten abschließt und Umschreiben des Anwendungsprogramms abschließt, beendet die Doppelbank-Speicher-ECU die Installationsphase und geht von der normalen Operation zur Aktivierungsbereitschaft über. Das heißt, die Doppelbank-Speicher-ECU wird nicht auf der neuen Bank (Bank-B) gestartet, in der das Anwendungsprogramm zu dem Zeitpunkt umgeschrieben wird, wenn die Aktivierungsphase nicht ausgeführt wird, und bleibt auf der alten Bank (Bank-A) gestartet (t9).
  • Nachdem der Benutzer den IG-Schalter in einem EIN-Zustand derart ausschaltet, dass die Fahrzeugenergie von der IG-Energie zur +B-Energie umschaltet (t10), wenn die Doppelbank-Speicher-ECU Umschreiben des Anwendungsprogramms zu dieser Zeit abschließt, sendet das CGW 13 eine Energieversorgungsstartanforderung an die Energieversorgungsverwaltungs-ECU 20. Wenn die Fahrzeugenergie von der +B-Energie zur IG-Energie dadurch umschaltet, dass das CGW 13 die Energieversorgungsstartanforderung an die Energieversorgungsverwaltungs-ECU 20 sendet, nimmt das DCM 12 die Datenübertragungs-/Zentrumskommunikationsoperation wieder auf und das CGW 13 nimmt die Umprogrammierungs-Master-Operation wieder auf und initiiert, die Schreibdaten an die Einzelbank-Aussetzspeicher-ECU und die Einzelbankspeicher-ECU zu verteilen. Wird Empfangen der Schreibdaten von dem CGW 13 initiiert, gehen die Einzelbank-Aussetzspeicher-ECU und die Einzelbankspeicher-ECU von der normalen Operation in eine Boot-Verarbeitung über und initiieren die Installationsphase in der Boot-Verarbeitung (t11). Das heißt, die Einzelbank-Aussetzspeicher-ECU und die Einzelbankspeicher-ECU führen Installation nicht parallel zur normalen Operation aus und führen Installation in der Boot-Verarbeitung aus, in der das Anwendungsprogramm nicht operiert wird.
  • Wenn Umschreiben des Anwendungsprogramms initiiert wird, stoppt die Einzelbank-Aussetzspeicher-ECU Umschreiben des Anwendungsprogramms in einem Fall, in dem der IG-Schalter 42 von einem AUS-Zustand in einen EIN-Zustand aufgrund der Benutzeroperation, bevor Umschreiben des Anwendungsprogramms abgeschlossen ist, umschaltet. Die Einzelbank-Aussetzspeicher-ECU kehrt zu einer aktiven Bank (Bank-A) als eine Startbank anstelle einer inaktiven Bank (Bank-B) zurück, in der Umschreiben des Anwendungsprogramms gestoppt ist. Wenn Umschreiben des Anwendungsprogramms initiiert wird, stoppt die Einzelbankspeicher-ECU Umschreiben des Anwendungsprogramms, obwohl der IG-Schalter 42 von einem AUS-Zustand in einen EIN-Zustand aufgrund der Benutzeroperation, bevor Umschreiben des Anwendungsprogramms abgeschlossen ist, umschaltet. Der Grund dafür ist, dass die Einzelbankspeicher-ECU nicht zu der normalen Operation zurückkehren kann, wenn Umschreiben des Anwendungsprogramms auf halben Weg gestoppt wird. Bevorzugt ist es, nachdem Umschreiben des Anwendungsprogramms der Einzelbankspeicher-ECU initiiert ist, wünschenswert die Benutzeroperation des IG-Schalters 42 zu deaktivieren, bis Umschreiben des Anwendungsprogramms abgeschlossen ist.
  • Wenn die Einzelbank-Aussetzspeicher-ECU Schreiben der Schreibdaten abschließt und Umschreiben des Anwendungsprogramms abschließt, beendet die Einzelbank-Aussetzspeicher-ECU die Installationsphase in der Boot-Verarbeitung und geht von der Boot-Verarbeitung in Aktivierungsbereitschaft über. Das heißt, die Einzelbank-Aussetzspeicher-ECU wird nicht auf der neuen Bank (Bank-B) gestartet, in der das Anwendungsprogramm zu dem Zeitpunkt umgeschrieben wird, wenn die Aktivierungsphase nicht ausgeführt wird, und bleibt auf der alten Bank (Bank-A) gestartet. Wenn die Einzelbankspeicher-ECU Schreiben der Schreibdaten abschließt und Umschreiben des Anwendungsprogramms abschließt, beendet die Einzelbankspeicher-ECU die Installationsphase in der Boot-Verarbeitung und wartet auf Aktivierung (t12).
  • Wenn die Energieversorgungsverwaltungs-ECU 20 die Fahrzeugenergie von der IG-Energie zur +B-Energie in Antwort auf eine Aktivierungsanweisung von dem CGW 13 umschaltet, schaltet jede der Doppelbank-Speicher-ECU und der Einzelbank-Aussetzspeicher-ECU von der alten Bank zur neuen Bank, um in der neuen Bank gestartet zu werden, und initiiert eine Nachprogrammierungsphase (nachfolgend als eine Aktivierungsphase bezeichnet) beim Start der neuen Bank. Die Einzelbankspeicher-ECU initiiert Neustarten und initiiert die Aktivierungsphase beim Neustarten nachdem die Installation abgeschlossen ist (t13 und t14). Beim der Aktivierung wird beispielsweise überprüft, dass akkurater Start durch das neue Programm ausgeführt wird, oder der CGW 13 werden Versionsinformationen mitgeteilt.
  • Wenn die Aktivierung abgeschlossen wurde und die Energieversorgungsverwaltungs-ECU 20 die Fahrzeugenergie von der IG-Energie in die +B-Energie in Antwort auf eine Aktivierungsabschlussanweisung von dem CGW 13 umschaltet, geht das DCM 12 von der Datenübertragungs-/Zentrumskommunikationsoperation in eine Schlaf-/Stoppoperation über und initiiert die Schlaf-/Stoppoperation. Das CGW 13 geht von der Umprogrammierungs-Master-Operation in die Schlaf-/Stoppoperation über und initiiert die Schlaf-/Stoppoperation. Jede der Doppelbank-Speicher-ECU, Einzelbank-Aussetzspeicher-ECU und Einzelbankspeicher-ECU geht von dem Start der neuen Bank zur Schlaf-/Stoppoperation über (t15).
  • Danach, wenn der Benutzer den IG-Schalter in einem AUS-Zustand derart einschaltet, dass die Fahrzeugenergie von der +B-Energie zur IG-Energie umschaltet, startet jede der Doppelbank-Speicher-ECU und der Einzelbank-Aussetzspeicher-ECU das neue Anwendungsprogramm mit der neuen Bank (Bank-B) als eine Startbank und die Einzelbankspeicher-ECU startet das neue Anwendungsprogramm (t16).
  • (b) Fall, in dem Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie umgeschrieben wird
  • Der Fall, in dem ein Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie umgeschrieben wird, wird gemäß 28 und 29 beschrieben. Umschreiben des Anwendungsprogramms unter Verwendung der Selbsterhaltungsenergie gibt eine Konfiguration an, in der eine Umschreiboperation unter Verwendung der Selbsterhaltungsenergieschaltung gesteuert wird. Wenn der Benutzer den IG-Schalter in einen AUS-Zustand derart einschaltet, dass die Fahrzeugenergie von der +B-Energie in die IG-Energie umschaltet, initiiert jedes des DCM 12, des CGW 13, der Doppelbank-Speicher-ECU, der Einzelbank-Aussetzspeicher-ECU und der Einzelbankspeicher-ECU eine normale Operation (t21).
  • Wenn eine Mitteilung über die Initiierung des Herunterladens von der Zentralvorrichtung 3 gesendet wird, das heißt, wenn eine Mitteilung, dass Aktualisierung aufgrund eines neuen Programms verfügbar ist, gesendet wird, geht das DCM 12 von der normalen Operation in eine Herunterladeoperation über und initiiert Herunterladen eines Verteilungspakets von der Zentralvorrichtung 3 (t22). Wenn das Herunterladen des Verteilungspakets von der Zentralvorrichtung 3 abgeschlossen wurde, kehrt das DCM 12 von der Herunterladeoperation zur normalen Operation zurück (t23).
  • Wenn eine Mitteilung eines Umschreibungsanweisungssignals (Installationsanweisungssignal) von der Zentralvorrichtung 3 oder dem CGW 13 gesendet wird, geht das DCM 12 von der normalen Operation in eine Datenübertragungs-/Zentrumskommunikationsoperation über und initiiert die Datenübertragungs-/Zentrumskommunikationsoperation (t24). Das heißt, das DCM 12 extrahiert Schreibdaten von dem Verteilungspaket, initiiert, die Schreibdaten an das CGW 13 zu übertragen, erlangt eine Umschreibfortschrittssituation von dem CGW 13 und initiiert, der Zentralvorrichtung 3 die Umschreibfortschrittssituation mitzuteilen.
  • Wenn Erlangen der Schreibdaten von dem DCM 12 initiiert wird, geht das CGW 13 von der normalen Operation in eine Umprogrammierungs-Master-Operation über, initiiert die Umprogrammierungs-Master-Operation, initiiert, die Schreibdaten an die Doppelbank-Speicher-ECU zu verteilen, und weist die Doppelbank-Speicher-ECU an, die Schreibdaten zu schreiben. Wenn die Doppelbank-Speicher-ECU initiiert, Schreibdaten von dem CGW 13 zu empfangen, initiiert die Doppelbank-Speicher-ECU eine Programmierphase (nachfolgend auch als eine Installationsphase bezeichnet) in einer normalen Operation. Das heißt, die Doppelbank-Speicher-ECU führt die Installation des Anwendungsprogramms im Hintergrund aus, während sie die normale Operation ausführt. Die Doppelbank-Speicher-ECU initiiert, die empfangenen Schreibdaten in den Flash-Speicher zu schreiben und initiiert, das Anwendungsprogramm umzuschreiben.
  • Wenn der Benutzer den IG-Schalter in einem EIN-Zustand derart ausschaltet, dass die Fahrzeugenergie von der IG-Energie zur +B-Energie während Umschreibens des Anwendungsprogramms in der Doppelbank-Speicher-ECU (t25) umschaltet, setzt das DCM 12 die Datenübertragungs-/Zentrumskommunikationsoperation fort, das CGW 13 setzt die Umprogrammierungs-Master-Operation fort und die Doppelbank-Speicher-ECU setzt die Installationsphase fort und setzt Umschreiben des Anwendungsprogramms fort, unmittelbar, nachdem die Fahrzeugenergie von IG-Energie zur +B-Energie umschaltet. Wenn eine Selbsterhaltungsperiode, die eine vorfestgelegte Periode ist, abläuft, nachdem die Fahrzeugenergie von der IG-Energie zur +B-Energie umschaltet, stoppt das DCM 12 die Datenübertragungs-/Zentrumskommunikationsoperation, das CGW 13 stoppt die Umprogrammierungs-Master-Operation und die Doppelbank-Speicher-ECU stoppt die Installationsphase und stoppt Umschreiben des Anwendungsprogramms (t26). Das heißt, die Installation wird fortgesetzt, indem Energie von der Fahrzeugbatterie 40 zugeführt wird, bis eine vorbestimmte Zeit abläuft, nachdem der IG-Schalter 42 ausgeschaltet ist.
  • Danach, wenn der Benutzer den IG-Schalter in einem AUS-Zustand derart einschaltet, dass die Fahrzeugenergie von der +B-Energie zur IG-Energie umschaltet, nimmt das DCM 12 die Datenübertragungs-/Zentrumskommunikationsoperation wieder auf, das CGW 13 nimmt die Umprogrammierungs-Master-Operation wieder auf und die Doppelbank-Speicher-ECU nimmt die Installationsphase wieder auf und nimmt Umschreiben des Anwendungsprogramms (t27) wieder auf. Das heißt, der Benutzer schaltet den IG-Schalter in einem EIN-Zustand derart aus, dass die Fahrzeugenergie von der IG-Energie in die +B-Energie umschaltet, und dann schaltet der Benutzer den IG-Schalter in einem AUS-Zustand derart ein, dass die Fahrzeugenergie von der +B-Energie zur IG-Energie umschaltet, und jedes Mal, wenn eine Reise bzw. Fahrt auftritt, wiederholt die Doppelbank-Speicher-ECU Stoppen und Wiederaufnehmen des Umschreibens des Anwendungsprogramms (t28 und t30). Jedoch bis die Selbsterhaltungsperiode abläuft, nachdem die Fahrzeugenergie von der IG-Energie zur +B-Energie umschaltet, setzt das DCM 12 die Datenübertragungs-/Zentrumskommunikationsoperation fort, das CGW 13 setzt die Umprogrammierungs-Master-Operation fort und die Doppelbank-Speicher-ECU setzt die Installationsphase und setzt Umschreiben des Anwendungsprogramms fort.
  • Wenn die Doppelbank-Speicher-ECU Schreiben der Schreibdaten abschließt und Umschreiben des Anwendungsprogramms abschließt, beendet die Doppelbank-Speicher-ECU die Installationsphase und geht von der normalen Operation zur Aktivierungsbereitschaft über. Das heißt, die Doppelbank-Speicher-ECU wird nicht auf der neuen Bank (Bank-B) gestartet, in der das Anwendungsprogramm zu dem Zeitpunkt umgeschrieben wird, wenn die Aktivierungsphase nicht ausgeführt wird, und bleibt auf der alten Bank (Bank-A) gestartet (t31).
  • Wenn der Benutzer den IG-Schalter in einem EIN-Zustand derart ausschaltet, dass die Fahrzeugenergie von der IG-Energie zur +B-Energie umschaltet und Umschreiben des Anwendungsprogramms zu der Zeit in der Doppelbank-Speicher-ECU zu dieser Zeit abgeschlossen ist, geht jede der Einzelbank-Aussetzspeicher-ECU und der Einzelbankspeicher-ECU von der normalen Operation in eine Boot-Verarbeitung über, initiiert die Boot-Verarbeitung und initiiert die Installationsphase in der Boot-Verarbeitung (t32).
  • Wenn die Einzelbank-Aussetzspeicher-ECU und die Einzelbankspeicher-ECU Schreiben der Schreibdaten abschließen und Umschreiben des Anwendungsprogramms abschließen, beenden die Einzelbank-Aussetzspeicher-ECU und die Einzelbankspeicher-ECU die Installationsphase in der Boot-Verarbeitung (t33). Wenn die Fahrzeugenergie von der +B-Energie zur IG-Energie durch das CGW 13 umschaltet, das die Energieversorgungsstartanforderung an die Energieversorgungsverwaltungs-ECU 20 sendet, nimmt das DCM 12 die Datenübertragungs-/Zentrumskommunikationsoperation wieder auf (t34).
  • Wenn die Einzelbank-Aussetzspeicher-ECU Schreiben der Schreibdaten abschließt und Umschreiben des Anwendungsprogramms abschließt, geht die Einzelbank-Aussetzspeicher-ECU von der Boot-Verarbeitung in Aktivierungsbereitschaft über. Das heißt, die Einzelbank-Aussetzspeicher-ECU wird nicht auf der neuen Bank (Bank-B) gestartet, in der das Anwendungsprogramm zu dem Zeitpunkt umgeschrieben wird, wenn die Aktivierungsphase nicht ausgeführt wird, und bleibt auf der alten Bank (Bank-A) gestartet. Wenn die Einzelbankspeicher-ECU Schreiben der Schreibdaten abschließt und Umschreiben des Anwendungsprogramms abschließt, beendet die Einzelbankspeicher-ECU die Installationsphase in der Boot-Verarbeitung und wartet auf Aktivierung (t35).
  • Wenn die Energieversorgungsverwaltungs-ECU 20 die Fahrzeugenergie von der IG-Energie zur +B-Energie in Antwort auf eine Aktivierungsanweisung von dem CGW 13 umschaltet, schaltet jede der Doppelbank-Speicher-ECU und der Einzelbank-Aussetzspeicher-ECU von der alten Bank zur neuen Bank, um in der neuen Bank gestartet zu werden, und initiiert eine Aktivierungsphase beim Start der neuen Bank. Die Einzelbankspeicher-ECU initiiert Neustarten und initiiert die Aktivierungsphase beim Neustarten nachdem die Installation abgeschlossen ist (t36 und t37).
  • Wenn die Aktivierung abgeschlossen wurde und die Energieversorgungsverwaltungs-ECU 20 die Fahrzeugenergie von der IG-Energie in die +B-Energie in Antwort auf eine Aktivierungsabschlussanweisung von dem CGW 13 umschaltet, geht das DCM 12 von der Datenübertragungs-/Zentrumskommunikationsoperation in eine Schlaf-/Stoppoperation über und initiiert die Schlaf-/Stoppoperation. Das CGW 13 geht von der Umprogrammierungs-Master-Operation in die Schlaf-/Stoppoperation über und initiiert die Schlaf-/Stoppoperation. Jede der Doppelbank-Speicher-ECU, Einzelbank-Aussetzspeicher-ECU und Einzelbankspeicher-ECU geht von dem Start der neuen Bank zur Schlaf-/Stoppoperation über (t38).
  • Danach, wenn der Benutzer den IG-Schalter in einem AUS-Zustand derart einschaltet, dass die Fahrzeugenergie von der +B-Energie zur IG-Energie umschaltet, startet jede der Doppelbank-Speicher-ECU und der Einzelbank-Aussetzspeicher-ECU das neue Anwendungsprogramm mit der neuen Bank (Bank-B) als eine Startbank und die Einzelbankspeicher-ECU startet das neue Anwendungsprogramm (t39).
  • Vor dem Herunterladen eines Verteilungspakets von der Zentralvorrichtung 3 und Verteilung von Schreibdaten an die Umschreibziel-ECU 19 führt das CGW 13 die folgende Überprüfung aus. Vor dem Herunterladen eines Verteilungspakets von der Zentralvorrichtung 3 überprüft das CGW 13 eine Funkwellenumgebung, eine Restbatterieladung der Fahrzeugbatterie 40 und eine Speicherkapazität des DCM 12, so dass das Verteilungspaket normal heruntergeladen werden kann. Vor der Verteilung von Schreibdaten an die Umschreibziel-ECU 19 führt das CGW 13 Erfassung eines Einbruchsensors, Erfassung einer Türverriegelung, Erfassung einer Gardine und Erfassung von IG-Aus als Überprüfung einer bemannten Umgebung durch, um eine Installationsumgebung nicht instabil zu machen, so dass Schreibdaten normal verteilt werden können, und prüft eine Version und das Auftreten einer Anomalie als eine Überprüfung bezüglich dessen, ob oder nicht die Umschreibziel-ECU 19 beschrieben werden kann. Das CGW 13 führt Fälschungsprüfung, Zugriffsauthentifizierung, eine Versionsprüfung und dergleichen als eine Überprüfung von Schreibdaten, die an die Umschreibziel-ECU 19 zu verteilen sind, vor Initiierung der Installation aus, führt Kommunikationsunterbrechungsprüfung, eine Fehlerauftrittsprüfung und dergleichen während der Installation aus und führt eine Versionsprüfung, eine Integritätsprüfung, eine Diagnosefehlercodeprüfung (DTC-Prüfung, diagnostic trouble code, Fehlercode) und dergleichen aus, nachdem die Installation abgeschlossen ist.
  • Als nächstes wird ein Bildschirm, der auf dem Anzeigeendgerät 5 angezeigt wird, gemäß 30 bis 46 erläutert. Wie in 30 illustriert ist, gibt es in einer Konfiguration, in der ein Anwendungsprogramm der Umschreibziel-ECU 19 durch OTA umgeschrieben wird, Phasen einer Kampagnenmitteilung, Herunterladens, Installation und Aktivierung. Die Kampagnenmitteilung ist eine Mitteilung einer Programmaktualisierung. Beispielsweise ist die Kampagnenmitteilung, dass die Mastervorrichtung 11 Verteilungsspezifikationsdaten oder dergleichen in Antwort auf eine Bestimmung herunterlädt, dass Aktualisierung eines Anwendungsprogramms in der Zentralvorrichtung 3 verfügbar ist. Das Anzeigeendgerät 5 zeigt einen Bildschirm in jeder Phase als Umschreiben der Anwendungsprogrammfortschritte an. Es wird ein Bildschirm beschrieben, der auf der Fahrzeugbordanzeige 7 angezeigt wird.
  • Wie in 31 illustriert ist, zeigt das CGW 13 einen Navigationsbildschirm 501 wie einen allgemein bekannten Routenführungsbildschirm, der eine der Navigationsfunktionen ist, auf der Fahrzeugbordanzeige 7 zu einer normalen Zeit vor einer Kampagnenmitteilung an. Wenn die Kampagnenmitteilung in diesem Zustand auftritt, zeigt das CGW 13 ein Kampagnenmitteilungselement 501 a, das das Auftreten der Kampagnenmitteilung angibt, unten rechts im Navigationsbildschirm 501 an, wie in 32 illustriert ist. Der Benutzer kann das Auftreten der Kampagnenmitteilung hinsichtlich der Aktualisierung des Anwendungsprogramms durch Überprüfen der Anzeige des Kampagnenmitteilungselements 501a überprüfen.
  • Wenn der Benutzer das Kampagnenmitteilungselement 501a in diesem Zustand operiert, wie in 33 illustriert ist, zeigt das CGW 13 einen Kampagnenmitteilungsbildschirm 502 in einem Popup-Formular auf dem Navigationsbildschirm 501 an. Das CGW 13 ist nicht auf Anzeigen des Kampagnenmitteilungsbildschirms 502 in einem Popup-Formular beschränkt und kann unterschiedliche Anzeigeaspekte einsetzen. Auf dem Kampagnenmitteilungsbildschirm 502 zeigt das CGW 13 beispielsweise eine Führung wie „Softwareaktualisierung ist verfügbar“ an, um dem Benutzer das Auftreten der Kampagnenmitteilung mitzuteilen, und zeigt eine „Überprüfung“-Taste 502a und eine „Später“-Taste 502b zum Warten auf die Benutzeroperation an. In diesem Fall kann der Benutzer mit dem nächsten Bildschirm fortfahren, um Umschreiben des Anwendungsprogramms durch Operieren der „Überprüfung“-Taste 502a zu initiieren. Wenn der Benutzer die „Später“-Taste 502b operiert, löscht das CGW 13 die Popup-Anzeige des Kampagnenmitteilungsbildschirms 502 und kehrt zu dem Bildschirm zurück, der das Kampagnenmitteilungselement 501a anzeigt, das in 32 illustriert.
  • Wenn der Benutzer die „Überprüfung“-Taste 502a in diesem Zustand operiert, wie in 34 illustriert ist, schaltet das CGW 13 die Anzeige von dem Navigationsbildschirm 501 zu einem Herunterladegenehmigungsbildschirm 503 um und zeigt den Herunterladegenehmigungsbildschirm 503 auf der Fahrzeugbordanzeige 7 an. In dem Herunterladegenehmigungsbildschirm 503 teilt das CGW 13 dem Benutzer einen Kampagnen-ID oder den Namen der Aktualisierung mit, zeigt einen „Herunterladeinitiierung“-Taste 503a, eine „Details überprüfen“-Taste 503b und eine „Zurück“-Taste 503c an und wartet auf die Benutzeroperation. In diesem Fall kann der Benutzer Herunterladen durch Operieren der „Herunterladeinitiierung“-Taste 503a initiieren, Details des Herunterladens durch Operieren der „Details überprüfen“-Taste 503b anzeigen und Herunterladen ablehnen und zu dem vorherigen Bildschirm zurückkehren, indem die „Zurück“-Taste 503c angezeigt wird. In dem Fall, in dem die „Zurück“-Taste 503c operiert wird, kann der Benutzer mit einem Bildschirm zum Initiieren des Herunterladens durch Operieren des Kampagnenmitteilungselements 501a fortfahren.
  • Wenn der Benutzer die „Details überprüfen“-Taste 503b in einem Zustand operiert, in dem der Herunterladegenehmigungsbildschirm 503 angezeigt wird, wie in 35 illustriert ist, führt das CGW 13 Umschalten von Anzeigeinhalten des Herunterladegenehmigungsbildschirm 503 aus und zeigt Details des Herunterladens auf der Fahrzeugbordanzeige 7 an. Das CGW 13 zeigt einen Inhalt der Aktualisierung, die Zeit, die für die Aktualisierung erforderlich ist, Einschränkung von Fahrzeugfunktionen aufgrund der Aktualisierung und dergleichen unter Verwendung der empfangenen Verteilungsspezifikationsdaten als die Details des Herunterladens an. Wenn der Benutzer die „Herunterladeinitiierung“-Taste 503a operiert, initiiert das CGW 13 Herunterladen eines Verteilungspakets mittels des DCM 12. Parallel zur Initiierung des Herunterladens des Verteilungspakets, wie in 36 illustriert ist, schaltet das CGW 13 die Anzeige von dem Herunterladegenehmigungsbildschirm 503 zum Navigationsbildschirm 501, zeigt den Navigationsbildschirm 501 erneut auf der Fahrzeugbordanzeige 7 an und zeigt ein Herunterladen-in-Bearbeitung-Element 501b, das angibt, dass Herunterladen in Bearbeitung ist, unten rechts im Navigationsbildschirm 501 an. Der Benutzer kann erkennen, dass das Herunterladen des Verteilungspakets in Bearbeitung ist, indem der die Anzeige des Herunterladen-in-Bearbeitung-Elements 501b überprüft.
  • Wenn der Benutzer das Herunterladen-in-Bearbeitung-Element 501b in diesem Zustand operiert, wie in 37 gezeigt ist, schaltet das CGW 13 die Anzeige von dem Navigationsbildschirm 501 zu einem Herunterladen-in-Bearbeitung-Bildschirm 504 um und zeigt den Herunterladen-in-Bearbeitung-Bildschirm 504 auf der Fahrzeugbordanzeige 7 an. Das CGW 13 teilt dem Benutzer mit, dass Herunterladen in Bearbeitung ist, zeigt eine „Details überprüfen“-Taste 504a, eine „Zurück“-Taste 504b und eine „Abbrechen“-Taste 504c auf dem Herunterladen-in-Bearbeitung-Bildschirm 504 an und wartet auf die Benutzeroperation. In diesem Fall kann der Benutzer Details während des Herunterladens anzeigen, indem die „Details überprüfen“-Taste 504a operiert wird, und kann das Herunterladen durch Operieren der „Abbrechen“-Taste 504c stoppen.
  • Wenn das Herunterladen abgeschlossen wurde, zeigt das CGW 13 einen Herunterladeabschlussmitteilungsbildschirm 505 in einem Popup-Formular auf dem Navigationsbildschirm 501 an, wie in 38 illustriert ist. Auf dem Herunterladeabschlussmitteilungsbildschirm 505 zeigt beispielsweise das CGW 13 eine Führung wie „Heruntergeladene Software ist aktualisierbar“ an, um dem Benutzer den Abschluss des Herunterladens mitzuteilen, zeigt eine „Überprüfung“-Taste 505a und eine „Später“-Taste 505b an und wartet auf die Benutzeroperation. In diesem Fall, kann der Benutzer mit einem Bildschirm zum Initiieren von Installation durch Operieren der „Überprüfung“-Taste 505a fortfahren.
  • Wenn der Benutzer die „Überprüfung“-Taste 505a in diesem Zustand operiert, wie in 39 illustriert ist, schaltet das CGW 13 die Anzeige von dem Navigationsbildschirm 501 zu einem Installationsgenehmigungsbildschirm 506 um und zeigt den Installationsgenehmigungsbildschirm 506 auf der Fahrzeugbordanzeige 7 an. Auf dem Installationsgenehmigungsbildschirm 506 teilt das CGW 13 dem Benutzer die Zeit, die zur Installation erforderlich ist, oder Einschränkungen und Festlegung von Zeitplänen mit, zeigt eine „Unmittelbar aktualisieren“-Taste 506a, eine „Aktualisierung reservieren“-Taste 506b und eine „Zurück“-Taste 506c an und wartet auf die Benutzeroperation. In diesem Fall kann der Benutzer unmittelbar die Installation durch Operieren der „Unmittelbar aktualisieren“-Taste 506a initiieren. Der Benutzer kann ebenso die Installation durch Festlegen der Zeit, zu der die Installation auszuführen ist, und operieren der „Aktualisierung reservieren“-Taste 506b reservieren und initiieren. Der Benutzer kann die Installation ablehnen und zum vorherigen Bildschirm durch Operieren der „Zurück“-Taste 506c zurückkehren. In einem Fall, in dem die „Zurück“-Taste 506c operiert wird, kann der Benutzer mit einem Bildschirm zum Initiieren der Installation durch Operieren des Herunterladen-in-Bearbeitung-Elements 501 b fortfahren.
  • Wenn der Benutzer die „Unmittelbar aktualisieren“-Taste 506a in diesem Zustand operiert, wie in 40 illustriert ist, führt das CGW 13 Umschalten von Anzeigeinhalten des Installationsgenehmigungsbildschirms 506 aus und zeigt Details der Installation auf der Fahrzeugbordanzeige 7 an. Das CGW 13 empfängt eine Installationsanforderung auf dem Installationsgenehmigungsbildschirm 506 und teilt dem Benutzer mit, dass die Installation zu initiieren ist.
  • Wenn die Installation initiiert wird, wie in 41 illustriert ist, schaltet das CGW 13 die Anzeige von dem Installationsgenehmigungsbildschirm 506 zum Navigationsbildschirm 501 um, zeigt den Navigationsbildschirm 501 erneut auf der Fahrzeugbordanzeige 7 an und zeigt ein Installation-in-Bearbeitung-Element 501 c, das angibt, dass die Installation in Bearbeitung ist, unten rechts im Navigationsbildschirm 501 an. Der Benutzer kann erkennen, dass die Installation in Bearbeitung ist, durch Überprüfen der Anzeige des Installation-in-Bearbeitung-Elements 501c.
  • Wenn der Benutzer das Installation-in-Bearbeitung-Element 501c in diesem Zustand operiert, wie in 42 gezeigt ist, schaltet das CGW 13 die Anzeige von dem Navigationsbildschirm 501 in einen Installation-in-Bearbeitung-Bildschirm 507 um und zeigt den Installation-in-Bearbeitung-Bildschirm 507 auf der Fahrzeugbordanzeige 7 an. Das CGW 13 teilt dem Benutzer, dass die Installation in Bearbeitung ist, auf dem Installation-in-Bearbeitung-Bildschirm 507 mit. Das CGW 13 kann beispielsweise den Installation-in-Bearbeitung-Bildschirm 507 veranlassen, die verbleibende Zeit oder den Fortschrittsprozentsatz der Installation anzuzeigen.
  • Wenn die Installation abgeschlossen wurde, wie in 43 illustriert ist, schaltet das CGW 13 die Anzeige von dem Navigationsbildschirm 501 zu einem Aktivierungsgenehmigungsbildschirm 508 um und zeigt den Aktivierungsgenehmigungsbildschirm 508 auf der Fahrzeugbordanzeige 7 an. Auf dem Aktivierungsgenehmigungsbildschirm 508 teilt das CGW 13 dem Benutzer einen Inhalt der Aktivierung mit und zeigt eine „Zurück“-Taste 508a und eine „OK“-Taste 508b zum Warten auf die Benutzeroperation an. In diesem Fall kann der Benutzer die Aktivierung ablehnen und zum vorherigen Bildschirm durch Operieren der „Zurück“-Taste 508a zurückkehren. Der Benutzer kann der Aktivierung durch Operieren der „OK“-Taste 508b zustimmen. In einem Fall, in dem die „Zurück“-Taste 508a operiert wird, kann der Benutzer mit einem Bildschirm zum Ausführen der Aktivierung durch Operieren des Installation-in-Bearbeitung-Elements 501c fortfahren. So eine Anzeige oder Genehmigung durch die Benutzerfestlegungen oder Szenen des Programms weggelassen werden und nicht angezeigt werden.
  • Wenn der Benutzer die IG-Energie in dem Zustand einschaltet, nachdem der Benutzer die „OK“-Taste 508b operiert, wie in 44 illustriert ist, zeigt das CGW 13 einen Aktivierungsabschlussmitteilungsbildschirm 509 in einem Popup-Formular auf dem Navigationsbildschirm 501 an. Auf dem Aktivierungsabschlussmitteilungsbildschirm 509 zeigt das CGW 13 beispielsweise eine Führung wie „Softwareaktualisierung wurde abgeschlossen“ an, um dem Benutzer den Abschluss der Aktivierung mitzuteilen, zeigt eine „OK“-Taste 509a und eine „Details überprüfen“-Taste 509b an und wartet auf die Benutzeroperation. In diesem Fall kann der Benutzer die Popup-Anzeige auf dem Aktivierungsabschlussmitteilungsbildschirm 509 durch Operieren der „OK“-Taste 509a löschen und kann Details des Abschlusses der Aktivierung durch Operieren der „Details überprüfen“-Taste 509b anzeigen.
  • Wenn der Benutzer die „OK“-Taste 509a in diesem Zustand operiert, wie in 45 illustriert ist, schaltet das CGW 13 die Anzeige von dem Navigationsbildschirm 501 zu einem Überprüfungsoperationsbildschirm 510 um und zeigt den Überprüfungsoperationsbildschirm 510 auf der Fahrzeugbordanzeige 7 an. Auf dem Überprüfungsoperationsbildschirm 510 teilt das CGW 13 dem Benutzer den Abschluss der Aktivierung mit, zeigt eine „Details überprüfen“-Taste 510a und eine „OK“-Taste 510b an und wartet auf die Benutzeroperation. In diesem Fall kann der Benutzer Details des Abschlusses der Aktivierung durch Operieren der „Details überprüfen“-Taste 510a anzeigen.
  • Wenn der Benutzer die „Details überprüfen“-Taste 510a in diesem Zustand operiert, wie in 46 illustriert ist, führt das CGW 13 Umschalten von Anzeigeinhalten des Überprüfungsoperationsbildschirms 510 aus und zeigt Details des Abschlusses der Aktivierung auf der Fahrzeugbordanzeige 7 an. Das CGW 13 zeigt eine Funktion, die aufgrund der Aktualisierung hinzugefügt oder geändert wurde, an und zeigt die „OK“-Taste 510b an. Wenn der Benutzer die „OK“-Taste 509a und 510b operiert, bestimmt das CGW 13, dass der Benutzer den Softwareaktualisierungsabschluss bestätigt hat.
  • Wie vorstehend beschrieben ist, steuert das fahrzeugseitige System 4 die jeweiligen Operationsphasen wie die Kampagnenmitteilung, das Herunterladen, die Installation, die Aktivierung und den Aktualisierungsabschluss und präsentiert eine Anzeige entsprechend jeder Operationsphase dem Benutzer. In der vorstehenden Beschreibung ist das CGW 13 konfiguriert, um die Anzeige zu steuern, aber die Fahrzeugbordanzeige 7 kann konfiguriert sein, um eine Operationsphase oder Verteilungsspezifikationsdaten von dem CGW 13 zu empfangen und die Anzeige auszuführen.
  • Als nächstes werden charakteristische Verarbeitungen, die durch das Fahrzeugprogrammumschreibsystem 1 ausgeführt werden, gemäß 47 bis 233 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die folgenden charakteristischen Verarbeitungen aus.
    • (1) Verteilungspaketsendungsbestimmungsverarbeitung
    • (2) Verteilungspaketherunterladebestimmungsverarbeitung
    • (3) Schreibdatenübertragungsbestimmungsverarbeitung
    • (4) Schreibdatenerlangungsbestimmungsverarbeitung
    • (5) Installationsanweisungsbestimmungsverarbeitung
    • (6) Sicherheitszugriffsschlüsselverwaltungsverarbeitung
    • (7) Schreibdatenverifizierungsverarbeitung
    • (8) Datenspeicherbankinformationssendesteuerverarbeitung
    • (9) Nicht-Umschreibziel-Energieversorgungsverwaltungsverarbeitung
    • (10) Dateiübertragungssteuerungsverarbeitung
    • (11) Schreibdatenverteilungssteuerverarbeitung
    • (12) Aktivierungsanforderungsanweisungsverarbeitung
    • (13) Aktivierungsausführungssteuerverarbeitung
    • (14) Umschreibzielgruppenverwaltungsverarbeitung
    • (15) Rollbackausführungssteuerverarbeitung
    • (16) Umschreibfortschrittssituationsanzeigesteuerverarbeitung
    • (17) Differenzdatenkonsistenzbestimmungsverarbeitung
    • (18) Umschreibungsausführungssteuerverarbeitung
    • (19) Sitzungsaufbauverarbeitung
    • (20) Wiederholungspunktspezifizierungsverarbeitung
    • (21) Fortschrittszustandssynchronisationssteuerverarbeitung
    • (22) Anzeigesteuerinformationssendesteuerverarbeitung
    • (23) Anzeigesteuerinformationsempfangssteuerverarbeitung
    • (24) Bildschirmanzeigesteuerverarbeitung für Fortschrittsanzeige
    • (25) Programmaktualisierungsmitteilungssteuerverarbeitung
    • (26) Selbsterhaltungsenergieausführungssteuerverarbeitung
    • (27) Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert
    • (28) Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert
    • (29) Umschreibungsanweisungsverarbeitung in spezifischem Modus
  • Jede der Zentralvorrichtung 3, des DCM 12, des CGW 13, der ECU 19 und der Fahrzeugbordanzeige 7 hat die folgenden Funktionsblöcke als Konfigurationen zum Ausführen der charakteristischen Verarbeitungen (1) bis (26), die vorstehend beschrieben sind.
  • Wie in 47 illustriert ist, beinhaltet die Zentralvorrichtung 3 eine Verteilungspaketsendeeinheit 51. Wenn eine Herunterladeanforderung für ein Verteilungspaket von dem DCM 12 empfangen wird, sendet die Verteilungspaketsendeeinheit 51 das Verteilungspaket an das DCM 12. Zusätzlich zur vorstehend beschriebenen Konfiguration beinhaltet die Zentralvorrichtung 3 eine Verteilungspaketsendungsbestimmungseinheit 52, eine Fortschrittszustandssynchronisationssteuereinheit 53, eine Anzeigesteuerinformationssendesteuereinheit 54 und eine Schreibdatenauswahleinheit 55 (entsprechend einer Aktualisierungsdatenauswahleinheit) als eine Konfiguration zum Ausführen der charakteristischen Verarbeitungen. Wenn Datenspeicherbankinformationen von der Mastervorrichtung 11 empfangen werden, wählt die Schreibdatenauswahleinheit 55 (entspricht einer Aktualisierungsdatenauswahleinheit) Schreibdaten entsprechend bzw. konform mit einer inaktiven Bank basierend auf einer Softwareversion und entsprechend bzw. konform mit einer aktiven Bank, die durch die empfangenen Datenspeicherbankinformationen spezifiziert sind, aus. Das heißt die Verteilungspaketsendeeinheit 51 sendet das Verteilungspaket einschließlich der Schreibdaten, die durch die Schreibdatenauswahleinheit 55 ausgewählt werden, an das DCM 12. Die Funktionsblöcke, die die charakteristischen Verarbeitungen ausführen, werden später beschrieben.
  • Wie in 48 illustriert ist, beinhaltet das DCM 12 eine Herunterladeanforderungssendeeinheit 61, eine Verteilungspaketherunterladeeinheit 62, eine Schreibdatenextrahierungseinheit 63, eine Schreibdatenübertragungseinheit 64, eine Umschreibspezifikationsdatenextrahierungseinheit 65 und eine Umschreibspezifikationsdatenübertragungseinheit 66. Die Herunterladeanforderungssendeeinheit 61 sendet eine Herunterladeanforderung für ein Verteilungspaket an die Zentralvorrichtung 3. Die Verteilungspaketherunterladeeinheit 62 lädt das Verteilungspaket von der Zentralvorrichtung 3 herunter. Wenn das Verteilungspaket von der Zentralvorrichtung 3 durch die Verteilungspaketherunterladeeinheit 62 heruntergeladen wird, extrahiert die Schreibdatenextrahierungseinheit 63 Schreibdaten von dem heruntergeladenen Verteilungspaket.
  • Wenn die Schreibdaten von dem Verteilungspaket durch die Schreibdatenextrahierungseinheit 63 extrahiert sind, überträgt die Schreibdatenübertragungseinheit 64 die extrahierten Schreibdaten an das CGW 13. Wenn das Verteilungspaket von der Zentralvorrichtung 3 durch die Verteilungspaketherunterladeeinheit 62 heruntergeladen wird, extrahiert die Umschreibspezifikationsdatenextrahierungseinheit 65 Umschreibspezifikationsdaten von dem heruntergeladenen Verteilungspaket. Wenn Umschreibspezifikationsdaten von dem Verteilungspaket durch die Umschreibspezifikationsdatenextrahierungseinheit 56 extrahiert werden, überträgt die Umschreibspezifikationsdatenübertragungseinheit 66 die extrahierten Umschreibspezifikationsdaten an das CGW 13. Zusätzlich zu der vorstehend beschriebenen Konfiguration beinhaltet das DCM 12 eine Verteilungspaketherunterladebestimmungseinheit 67 und eine Schreibdatenübertragungsbestimmungseinheit 68 als eine Konfiguration zum Ausführen der charakteristischen Verarbeitungen. Die Funktionsblöcke, die die charakteristischen Verarbeitungen ausführen, werden später beschrieben.
  • Wie in 49 und 50 illustriert ist, beinhaltet das CGW 13 eine Erlangungsanforderungssendeeinheit 71, eine Schreibdatenerlangungseinheit 72 (entspricht einer Aktualisierungsdatenspeichereinheit), eine Schreibdatenverteilungseinheit 73 (entspricht einer Aktualisierungsdatenverteilungseinheit), eine Umschreibspezifikationsdatenerlangungseinheit 74 und eine Umschreibspezifikationsdatenanalyseeinheit 75. Die Schreibdatenerlangungseinheit 72 erlangt Schreibdaten von dem DCM 12 aufgrund der Übertragung der Schreibdaten von dem DCM 12. In einem Fall, in dem die Schreibdaten durch die Schreibdatenerlangungseinheit 72 erlangt werden, verteilt die Schreibdatenverteilungseinheit 73 die erlangten Schreibdaten an die Umschreibziel-ECU 19, wenn der Verteilungszeitpunkt der Schreibdaten erreicht ist. Die Umschreibspezifikationsdatenerlangungseinheit 74 erlangt Umschreibspezifikationsdaten von dem DCM 12 aufgrund der Übertragung der Umschreibspezifikationsdaten von dem DCM 12. Wenn die Umschreibspezifikationsdaten durch die Umschreibspezifikationsdatenerlangungseinheit 74 erlangt werden, analysiert die Umschreibspezifikationsdatenanalyseeinheit 75 die erlangten Umschreibspezifikationsdaten.
  • Zusätzlich zu der vorstehend beschriebenen Konfiguration beinhaltet das CGW 13 als eine Konfiguration zum Ausführen der charakteristischen Verarbeitungen eine Schreibdatenerlangungsbestimmungseinheit 76, eine Installationsanweisungsbestimmungseinheit 77, eine Sicherheitszugriffsschlüsselverwaltungseinheit 78, eine Schreibdatenverifizierungseinheit 79, eine Datenspeicherbankinformationssendesteuereinheit 80, eine Nicht-Umschreibziel-Energieversorgungsverwaltungseinheit 81, eine Dateiübertragungssteuereinheit 82, eine Schreibdatenverteilungssteuereinheit 83, eine Aktivierungsanforderungsanweisungseinheit 84, eine Umschreibzielgruppenverwaltungseinheit 85, eine Rollbackausführungssteuereinheit 86, eine Umschreibfortschrittssituationsanzeigesteuereinheit 87, eine Fortschrittszustandssynchronisationssteuereinheit 88, eine Anzeigesteuerinformationsempfangssteuereinheit 89, eine Fortschrittsanzeigebildschirmanzeigesteuereinheit 90, eine Programmaktualisierungsmitteilungssteuereinheit 91, eine Selbsterhaltungsenergieausführungssteuereinheit 92, eine Umschreibanweisungseinheit 93 basierend auf Überschreiben von Konfigurationsfestlegungsinformationen, eine Umschreibanweisungseinheit 94, die auf Rollback von Konfigurationsfestlegungsinformationen basiert, und eine Umschreibanweisungseinheit 95 in einem spezifischen Modus. Die Funktionsblöcke, die die charakteristischen Verarbeitungen ausführen, werden später beschrieben.
  • Wie in 51 illustriert ist, beinhaltet die ECU 19 eine Schreibdatenempfangseinheit 101 und eine Programmumschreibeinheit 102. Die Schreibdatenempfangseinheit 101 empfängt Schreibdaten von dem CGW 13. Wenn die Schreibdaten von dem CGW 13 durch die Schreibdatenempfangseinheit 101 empfangen werden, schreibt die Programmumschreibeinheit 102 die empfangenen Schreibdaten in einen Flash-Speicher und schreibt somit ein Anwendungsprogramm um. Zusätzlich zu der vorstehend beschriebenen Konfiguration beinhaltet die ECU 19 eine Differenzdatenkonsistenzbestimmungseinheit 103, eine Umschreibausführungssteuereinheit 104, eine Sitzungsherstellungseinheit 105, eine Wiederholungspunktspezifizierungseinheit 106, eine Aktivierungsausführungssteuereinheit 107 und eine Selbsterhaltungsenergieausführungssteuereinheit 108 als eine Konfiguration zum Ausführen der charakteristischen Verarbeitungen. Die Funktionsblöcke, die die charakteristischen Verarbeitungen ausführen, werden später beschrieben.
  • Wie in 52 illustriert ist, beinhaltet die Fahrzeugbordanzeige 7 eine Verteilungsspezifikationsdatenempfangssteuereinheit 111. Die Verteilungsspezifikationsdatenempfangssteuereinheit 111 steuert Empfang der Verteilungsspezifikationsdaten.
  • Nachfolgend wird jede der Verarbeitungen (1) bis (29), die vorstehend beschrieben sind, der Reihe nach beschrieben.
  • (1) Verteilungspaketsendungsbestimmungsverarbeitung und (2) Verteilungspaketherunterladebestimmungsverarbeitung
  • Die Verteilungspaketsendungsbestimmungsverarbeitung in der Zentralvorrichtung 3 wird gemäß 53 und 54 beschrieben und die Verteilungspaketherunterladebestimmungsverarbeitung in der Mastervorrichtung 11 werden gemäß 55 und 56 beschrieben.
  • Wie in 53 illustriert ist, beinhaltet die Zentralvorrichtung 3 eine Softwareinformationserlangungseinheit 52a, eine Aktualisierungsverfügbarkeitsbestimmungseinheit 52b, eine Aktualisierungskorrektheitbestimmungseinheit 52c und eine Kampagneninformationssendeeinheit 52d in der Verteilungspaketsendungsbestimmungseinheit 52. Die Softwareinformationserlangungseinheit 52a erlangt Softwareinformationen jeder ECU 19 von der Fahrzeugseite. Insbesondere erlangt die Softwareinformationserlangungseinheit 52a ECU-Konfigurationsinformationen einschließlich Softwareinformationen wie einer Version und einer Schreibbank- und Hardwareinformationen von der Fahrzeugseite. Die Softwareinformationserlangungseinheit 52a kann Fahrzeugverfassungsinformationen wie einen Fehlercode, Einstellung einer Antidiebstahlalarmfunktion und Lizenzvertragsinformationen von der Fahrzeugseite in Kombination mit den ECU-Konfigurationsinformationen.
  • Wenn die Softwareinformationen durch die Softwareinformationserlangungseinheit 52 erlangt werden, bestimmt die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b, ob oder nicht Aktualisierungsdaten für das Fahrzeug verfügbar sind, basierend auf den erlangten Softwareinformationen. Das heißt, die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b vergleicht eine Version der erlangten Softwareinformationen mit einer Version der jüngsten Softwareinformationen, die dadurch zu verwalten sind, um zu bestimmen, ob beide Versionen miteinander übereinstimmen, und bestimmt somit eine Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug. Die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b bestimmt, dass Aktualisierungsdaten für das Fahrzeug nicht verfügbar sind, wenn bestimmt wird, dass beide Versionen übereinstimmen, und bestimmt, dass die Aktualisierungsdaten für das Fahrzeug verfügbar sind, wenn bestimmt wird, dass beide Versionen nicht übereinstimmen.
  • Wenn durch die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b bestimmt wird, dass die Aktualisierungsdaten für das Fahrzeug verfügbar sind, bestimmt die Aktualisierungskorrektheitbestimmungseinheit 52c, ob oder nicht eine Fahrzeugverfassung eine Verfassung ist, die zur Aktualisierung eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Insbesondere bestimmt die Aktualisierungskorrektheitbestimmungseinheit 52c, ob oder nicht ein Lizenzvertrag abgeschlossen ist, ob oder nicht eine Fahrzeugposition innerhalb eines vorbestimmten Bereichs ist, der vorab durch den Benutzer registriert wird, ob oder nicht ein Festlegen einer Alarmfunktion des Fahrzeugs validiert ist, ob oder nicht Fehlerinformationen hinsichtlich der ECU 19 erzeugt sind, und bestimmt, ob oder nicht eine Fahrzeugverfassung eine Verfassung ist, die zum Herunterladen eines Verteilungspakets geeignet ist. Das heißt, die Aktualisierungskorrektheitbestimmungseinheit 52c bestimmt, ob oder nicht das Fahrzeug ein Fahrzeug ist, in dem ein Programm gegen die Intention des Benutzers aktualisiert werden kann, oder ein Fahrzeug ist, in dem Installation nach dem Herunterladen fehlschlagen kann, sogar, wenn das Herunterladen erfolgreich ist.
  • Wenn bestimmt wird, dass der Lizenzvertrag abgeschlossen ist, die Fahrzeugposition innerhalb eines vorbestimmten Bereichs ist, der vorab durch den Benutzer registriert ist, das Festlegen der Alarmfunktion des Fahrzeugs validiert ist und die Fehlerinformationen hinsichtlich der ECU 19 nicht erzeugt sind, bestimmt die Aktualisierungskorrektheitbestimmungseinheit 52c, dass die Fahrzeugverfassung eine Verfassung ist, die zur Aktualisierung eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Die Aktualisierungskorrektheitbestimmungseinheit 52c bestimmt, dass die Fahrzeugverfassung keine Verfassung ist, die zur Aktualisierung eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist, wenn bestimmt wird, dass mindestens einer der folgenden Punkte zutrifft: der Lizenzvertrag ist nicht abgeschlossen, die Fahrzeugposition ist nicht innerhalb eines vorbestimmten Bereichs, der vorab durch den Benutzer registriert wird, das Festlegen der Alarmfunktion des Fahrzeugs ist nicht validiert und die Fehlerinformationen hinsichtlich der ECU 19 werden erzeugt.
  • Die Kampagneninformationssendeeinheit 52d sendet Kampagneninformationen an die Mastervorrichtung 11, wenn die Aktualisierungskorrektheitbestimmungseinheit 52c bestimmt, dass die Fahrzeugverfassung eine Verfassung ist, die zur Aktualisierung eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Die Kampagneninformationssendeeinheit 52 sendet die Kampagneninformationen an die Mastervorrichtung 11 nicht, wenn durch die Aktualisierungskorrektheitbestimmungseinheit 52 bestimmt wird, dass die Fahrzeugverfassung keine Verfassung ist, die zur Aktualisierung eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Die Kampagneninformationssendeeinheit 52d führt die vorstehend beschriebene Bestimmung aus und speichert somit Informationen hinsichtlich eines Fahrzeugs, in dem die Kampagneninformationen nicht an die Mastervorrichtung 11 gesendet werden. Die Zentralvorrichtung 3 kann die Informationen hinsichtlich eines Fahrzeugs anzeigen, in dem die Kampagneninformationen nicht an die Mastervorrichtung 11 gesendet werden.
  • Als nächstes wird eine Operation der Verteilungspaketsendungsbestimmungseinheit 52 in der Zentralvorrichtung 3 gemäß 54 beschrieben. Die Zentralvorrichtung 3 führt ein Verteilungspaketsendebestimmungsprogramm aus und führt eine Verteilungspaketsendungsbestimmungsverarbeitung aus.
  • Wenn die Verteilungspaketsendungsbestimmungsverarbeitung initiiert wird, erlangt die Zentralvorrichtung 3 Softwareinformationen von der Fahrzeugseite (S101; entsprechend einer Softwareinformationserlangungsprozedur). Das heißt, die Zentralvorrichtung 3 bestimmt, ob oder nicht Softwareaktualisierung für das Fahrzeug verfügbar ist. Die Zentralvorrichtung 3 bestimmt Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug basierend auf den erlangten Softwareinformationen (S102, entsprechend einer Aktualisierungsverfügbarkeitsbestimmungsprozedur). Wenn bestimmt wird, dass die Aktualisierungsdaten für das Fahrzeug verfügbar sind (S102: JA), in der Zentralvorrichtung 3, wird bestimmt, ob die Fahrzeugverfassung eine Verfassung ist, die zur Aktualisierung des Programms oder dergleichen unter Verwendung des Verteilungspakets geeignet ist (S 103; entsprechend einer Aktualisierungskorrektheitbestimmungsprozedur). Wenn bestimmt wird, dass die Fahrzeugverfassung eine Verfassung ist, die zur Aktualisierung eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist (S103: JA), sendet die Zentralvorrichtung 3 Kampagneninformationen an die Mastervorrichtung 11 (S104; entsprechend einer Kampagneninformationssendeprozedur) und beendet die Verteilungspaketsendungsbestimmungsverarbeitung.
  • Wenn bestimmt wird, dass die Aktualisierungsdaten für das Fahrzeug nicht verfügbar sind (S102: NEIN), sendet die Zentralvorrichtung 3 an die Mastervorrichtung 11 Informationen, die angeben, dass das Fahrzeug kein Verteilungspaketsendeziel ist, das heißt, Aktualisieren eines Anwendungsprogramms nicht verfügbar ist (S105), und beendet die Sendebestimmungsverarbeitung für das Verteilungspaket. Wenn bestimmt wird, dass die Fahrzeugverfassung keine Verfassung ist, die zur Aktualisierung eines Programms oder dergleichen unter Verwendung des Verteilungspakets geeignet ist (S103: NEIN), sendet die Zentralvorrichtung 3 an die Mastervorrichtung 11 Informationen, die angeben, dass die Fahrzeugverfassung nicht zur Aktualisierung eines Programms oder dergleichen geeignet ist, und den Grund dafür (S106), und beendet die Verteilungspaketsendungsbestimmungsverarbeitung. In diesem Fall zeigt die Mastervorrichtung 11 auf der Fahrzeugbordanzeige 7 die Informationen, die angeben, dass die Fahrzeugverfassung nicht zur Aktualisierung eines Programms oder dergleichen geeignet ist, und den Grund dafür an. Beispielsweise, wenn ein Lizenzvertrag nicht abgeschlossen ist, zeigt die Mastervorrichtung 11 den Inhalt „Das Programm kann nicht aktualisiert werden, da die Lizenz nicht gültig ist. Bitte kontaktieren Sie Ihren Händler.“ auf der Fahrzeugbordanzeige 7 an. Demzufolge ist es möglich, den Grund, warum die Fahrzeugverfassung nicht zur Aktualisierung eines Programms oder dergleichen geeignet, dem Benutzer zu präsentieren und somit dem Benutzer angemessene Informationen zu präsentieren.
  • Wie vorstehend beschrieben ist, kann die Zentralvorrichtung 3 bestimmen, ob oder nicht eine Verfassung zur Aktualisierung eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist, durch Ausführen der Verteilungspaketsendungsbestimmungsverarbeitung vor Senden des Verteilungspakets an die Mastervorrichtung 11 und vor Senden von Kampagneninformationen. Die Zentralvorrichtung 3 kann Kampagneninformationen an die Mastervorrichtung 11 senden, um ein Verteilungspaket an die Mastervorrichtung 11 zu senden, nur in einem Fall, in dem bestimmt wird, dass eine Verfassung zur Aktualisierung eines Programms oder dergleichen unter Verwendung des Verteilungspakets geeignet ist.
  • Die Zentralvorrichtung 3 kann die Kampagneninformation an die Mastervorrichtung 11 in einem Fall senden, in dem ein Lizenzvertrag abgeschlossen ist, eine Fahrzeugposition innerhalb eines vorbestimmten Bereichs ist, der vorab durch den Benutzer registriert wird, ein Festlegen einer Alarmfunktion des Fahrzeugs validiert ist und Fehlerinformationen hinsichtlich der ECU 19 nicht erzeugt werden, als ein Fall, in dem eine Verfassung zur Aktualisierung eines Programms oder dergleichen unter Verwendung eines Verteilungspakets geeignet ist. Das heißt, die Zentralvorrichtung 3 kann eine Situation verhindern, in der die Kampagneninformationen an die Mastervorrichtung 11 in einem Fall gesendet werden, in dem der Lizenzvertrag nicht abgeschlossen ist, die Fahrzeugposition außerhalb eines vorbestimmten Bereichs wie eine Position weit weg von zu Hause ist, das Festlegen der Alarmfunktion des Fahrzeugs ungültig bzw. nicht validiert ist oder die Fehlerinformationen hinsichtlich der ECU 19 erzeugt werden. Wie vorstehend beschrieben ist, kann die Zentralvorrichtung 3 verhindern, dass die Kampagneninformation an die Mastervorrichtung 11 für ein Fahrzeug gesendet werden, in dem ein Programm gegen die Intention des Benutzers aktualisiert werden kann oder Installation nach dem Herunterladen fehlschlagen kann, sogar, wenn das Herunterladen erfolgreich ist.
  • Die Zentralvorrichtung 3 kann die Verteilungspaketsendungsbestimmungsverarbeitung während Sendens eines Verteilungspakets ausführen. In diesem Fall, wenn während des Sendens des Verteilungspakets bestimmt wird, dass eine Fahrzeugverfassung zur Aktualisierung eines Programms unter Verwendung des Verteilungspakets geeignet ist, setzt die Zentralvorrichtung 3 das Senden des Verteilungspakets fort, aber, wenn während des Sendens des Verteilungspakets bestimmt wird, dass die Fahrzeugverfassung nicht zur Aktualisierung eines Programms unter Verwendung des Verteilungspakets geeignet ist, stoppt die Zentralvorrichtung Senden des Verteilungspakets. Das heißt, die Zentralvorrichtung 3 stoppt das Senden des Verteilungspakets beispielsweise, wenn Fehlerinformation hinsichtlich der ECU 19 während Sendens des Verteilungspakets auftreten.
  • Als nächstes erfolgt eine Beschreibung einer Verarbeitung in der Mastervorrichtung 11, die die Kampagneninformationen empfangen hat, die von der Zentralvorrichtung 3 gesendet werden. Die Verteilungspaketherunterladebestimmungsverarbeitung in der Mastervorrichtung 11 wird gemäß 55 und 56 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Verteilungspaketherunterladebestimmungsverarbeitung in der Mastervorrichtung 11 aus. Die vorstehend beschriebene (1) Verteilungspaketsendungsbestimmungsverarbeitung ist eine Bestimmungsverarbeitung, die durch die Zentralvorrichtung 3 in der Kampagnenmitteilungsphase vor der Herunterladephase ausgeführt wird, aber die Verteilungspaketherunterladebestimmungsverarbeitung ist eine Bestimmungsverarbeitung, die durch die Mastervorrichtung 11 in der Herunterladephase ausgeführt wird. In der vorliegenden Ausführungsform wird ein Fall beschrieben, in dem das DCM 12 die Verteilungspaketherunterladebestimmungsverarbeitung in der Mastervorrichtung 11 ausführt, aber das CGW 13 kann die Funktion des DCM 12 zum Ausführen der Verteilungspaketherunterladebestimmungsverarbeitung haben.
  • Wie in 55 illustriert ist, beinhaltet das DCM 12 eine Kampagneninformationsempfangseinheit 67a, eine Herunterladbarkeitsbestimmungseinheit 67b und eine Herunterladeausführungseinheit 67c in der Verteilungspaketherunterladebestimmungseinheit 67. Die Kampagneninformationsempfangseinheit 67a empfängt Kampagneninformationen von der Zentralvorrichtung 3. Wenn die Kampagneninformation von der Zentralvorrichtung 3 empfangen werden, wird das Kampagnenmitteilungselement 501 a, das in 32 illustriert ist, angezeigt. Wenn die Kampagneninformationen durch die Kampagneninformationsempfangseinheit 67a empfangen werden, bestimmt die Herunterladbarkeitsbestimmungseinheit 67b, ob oder nicht eine Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist. Das heißt, die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, ob oder nicht eine Funkwellenumgebung zum Kommunizieren mit der Zentralvorrichtung 3 günstig ist, ob oder nicht eine Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als eine vorbestimmte Kapazität ist und ob oder nicht eine freie Speicherkapazität des DCM 12 gleich oder größer als eine vorbestimmte Kapazität ist, und bestimmt, ob oder nicht eine Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist.
  • Wenn bestimmt wird, dass die Funkwellenumgebung günstig ist, die Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als die vorbestimmte Kapazität ist und die freie Speicherkapazität des DCM 12 gleich oder größer als die vorbestimmte Kapazität ist, bestimmt die Herunterladbarkeitsbestimmungseinheit 67b, dass die Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist. Die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, dass die Fahrzeugverfassung keine Verfassung ist, in der das Verteilungspaket herunterladbar ist, wenn bestimmt wird, dass mindestens einer der folgenden Punkte zutrifft: die Funkwellenumgebung ist nicht günstig und die Restbatterieladung der Fahrzeugbatterie 40 ist nicht gleich oder größer als die vorbestimmte Kapazität und die freie Speicherkapazität des DCM 12 ist nicht gleich oder größer als die vorbestimmte Kapazität.
  • Wie vorstehend erwähnt ist, bestimmt die Herunterladbarkeitsbestimmungseinheit 67b, ob oder nicht es eine Wahrscheinlichkeit gibt, dass das Herunterladen nicht normal abgeschlossen werden kann. Die Bestimmung in der Herunterladbarkeitsbestimmungseinheit 67b wird unter der Bedingung ausgeführt, dass die „Herunterladeinitiierung“-Taste 503a durch den Benutzer auf dem Herunterladegenehmigungsbildschirm 503, der in 34 und 35 illustriert ist, operiert wird. Die Herunterladbarkeitsbestimmungseinheit 67b kann konfiguriert sein, um ein Bestimmungselement in der Zentralvorrichtung 3 zu bestimmen. Das heißt, die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, dass das Fahrzeug in einem Herunterladbarkeitszustand ist, beispielsweise in einem Fall, in dem das Festlegen der Alarmfunktion des Fahrzeugs validiert ist oder die Fehlerinformation hinsichtlich der ECU 19 nicht erzeugt werden.
  • Die Herunterladeausführungseinheit 67c lädt das Verteilungspaket von der Zentralvorrichtung 3 herunter, wenn die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, dass die Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist. Das heißt, die Herunterladeausführungseinheit 67c führt Herunterladen des Verteilungspakets nach Bestätigen aus, dass das Herunterladen normal abgeschlossen werden kann.
  • Die Herunterladeausführungseinheit 67c lädt das Verteilungspaket von der Zentralvorrichtung 3 nicht herunter, wenn die Herunterladbarkeitsbestimmungseinheit 67b bestimmt, dass die Fahrzeugverfassung keine Verfassung ist, in der das Verteilungspaket herunterladbar ist. Das heißt, die Herunterladeausführungseinheit 67c führt Herunterladen des Verteilungspakets in einem Fall, in dem es eine Wahrscheinlichkeit gibt, dass das Herunterladen nicht normal abgeschlossen werden kann, nicht aus. In diesem Fall weist die Herunterladeausführungseinheit 67c die Fahrzeugbordanzeige 7 an einen Popup-Bildschirm, der angibt, dass das Herunterladen nicht initiiert werden kann, und den Grund dafür auf dem Navigationsbildschirm 501 anzuzeigen.
  • Als nächstes erfolgt eine Beschreibung einer Operation der Verteilungspaketherunterladebestimmungseinheit 67 in der Mastervorrichtung 11 gemäß 56. Die Mastervorrichtung 11 führt ein Verteilungspaketherunterladebestimmungsprogramm aus und führt somit die Verteilungspaketherunterladebestimmungsverarbeitung aus.
  • Die Mastervorrichtung 11 empfängt Kampagneninformationen von der Zentralvorrichtung 3, wenn die Verteilungspaketherunterladebestimmungsverarbeitung initiiert wird (S201; entsprechend einer Kampagneninformationsempfangsprozedur). Die Mastervorrichtung 11 bestimmt, ob oder nicht eine Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist (S202; entsprechend einer Herunterladbarkeitsbestimmungsprozedur). Wenn bestimmt wird, dass die Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist (S202: JA), lädt die Mastervorrichtung 11 das Verteilungspaket entsprechend der Kampagne von der Zentralvorrichtung 3 herunter (S203; entsprechend einer Herunterladeausführungsprozedur) und beendet die Verteilungspaketherunterladebestimmungsverarbeitung. Wenn bestimmt wird, dass die Fahrzeugverfassung keine Verfassung ist, in der das Verteilungspaket herunterladbar ist (S202: NEIN), lädt die Mastervorrichtung 11 das Verteilungspaket nicht von der Zentralvorrichtung 3 herunter und beendet die Verteilungspaketherunterladebestimmungsverarbeitung.
  • Wie vorstehend beschrieben ist, kann die Mastervorrichtung 11 bestimmen, ob oder nicht eine Fahrzeugverfassung eine Verfassung ist, in der ein Verteilungspaket herunterladbar ist, durch Ausführen der Verteilungspaketherunterladebestimmungsverarbeitung vor Herunterladen des Verteilungspakets von der Zentralvorrichtung 3. Die Mastervorrichtung 11 kann das Verteilungspaket nur in einem Fall herunterladen, in dem die Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist.
  • Die Mastervorrichtung 11 kann das Verteilungspaket von der Zentralvorrichtung 3 in einem Fall herunterladen, in dem die Funkwellenumgebung günstig ist, die Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als die vorbestimmte Kapazität ist und die freie Speicherkapazität des DCM 12 gleich oder größer als die vorbestimmte Kapazität ist, als ein Fall, der geeignet zum Herunterladen des Verteilungspakets ist. Das heißt, in einem Fall, in dem die Funkwellenumgebung nicht günstig ist, die Restbatterieladung der Fahrzeugbatterie 40 kleiner als die vorbestimmte Kapazität ist oder die freie Speicherkapazität des DCM 12 kleiner als die vorbestimmte Kapazität ist, ist es möglich, eine Situation zu verhindern, in der das Verteilungspaket von der Zentralvorrichtung 3 herunterladen wird.
  • Die Mastervorrichtung 11 kann die Verteilungspaketherunterladebestimmungsverarbeitung während Herunterladens des Verteilungspakets ausführen. In diesem Fall, wenn während Herunterladens des Verteilungspakets bestimmt wird, dass die Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist, setzt die Mastervorrichtung 11 Herunterladen des Verteilungspakets von der Zentralvorrichtung 3 fort, aber, wenn während Herunterladens des Verteilungspakets bestimmt wird, dass die Fahrzeugverfassung keine Verfassung ist, in der das Verteilungspaket herunterladbar ist, stoppt die Mastervorrichtung Herunterladen des Verteilungspakets von der Zentralvorrichtung 3. Das heißt, die Mastervorrichtung 11 stoppt Herunterladen des Verteilungspakets beispielsweise in einem Fall, in dem während Herunterladens des Verteilungspakets die Funkwellenumgebung ungünstig ist, die Restbatterieladung der Fahrzeugbatterie 40 kleiner als die vorbestimmte Kapazität wird oder die freie Speicherkapazität des DCM 12 kleiner als die vorbestimmte Kapazität wird.
  • Auf die vorstehend beschriebene Weise bestimmt die Zentralvorrichtung 3, ob oder nicht das Fahrzeug ein Fahrzeug ist, in dem ein Programm gegen die Intention des Benutzers aktualisiert werden kann oder Installation fehlschlagen kann, und die Mastervorrichtung 11 bestimmt, ob oder nicht es eine Wahrscheinlichkeit gibt, dass das Herunterladen in der Mastervorrichtung 11 fehlschlagen kann, so dass Senden unnötiger Kampagneninformationen und eines Verteilungspakets von der Zentralvorrichtung 3 an die Mastervorrichtung 11 unterdrückt werden kann.
  • Die Zentralvorrichtung 3 hat die folgende Konfiguration. Die Zentralvorrichtung beinhaltet die Softwareinformationserlangungseinheit 52a, die Softwareinformationen einer elektronischen Steuereinheit von einer Fahrzeugseite erlangt, die Aktualisierungsverfügbarkeitsbestimmungseinheit 52b, die Verfügbarkeit von Aktualisierungsdaten für das Fahrzeug basierend auf den Softwareinformationen bestimmt, die durch die Softwareinformationserlangungseinheit erlangt werden, die Aktualisierungskorrektheitbestimmungseinheit 52c, die bestimmt, ob oder nicht eine Fahrzeugverfassung eine Verfassung ist, die für Aktualisierung geeignet ist, in einem Fall, in dem durch die Aktualisierungsverfügbarkeitsbestimmungseinheit bestimmt wird, dass die Aktualisierung verfügbar ist, und die Kampagneninformationssendeeinheit 52d, die Kampagneninformationen hinsichtlich Aktualisierung an eine Fahrzeugmastervorrichtung in einem Fall sendet, in dem durch die Aktualisierungskorrektheitbestimmungseinheit bestimmt wird, dass die Fahrzeugverfassung eine Verfassung ist, die für die Aktualisierung geeignet ist.
  • Die Mastervorrichtung 11 at die folgende Konfiguration. Die Mastervorrichtung beinhaltet die Kampagneninformationsempfangseinheit 67a, die Kampagneninformationen von einer Zentralvorrichtung empfängt, die Herunterladbarkeitsbestimmungseinheit 67b, die bestimmt, ob oder nicht eine Fahrzeugverfassung eine Verfassung ist, in der ein Verteilungspaket in einem Fall herunterladbar ist, in dem die Kampagneninformation durch die Kampagneninformationsempfangseinheit empfangen werden, und die Herunterladeausführungseinheit 67c, die das Verteilungspaket von der Zentralvorrichtung in einem Fall herunterlädt, in dem durch die Herunterladbarkeitsbestimmungseinheit bestimmt wird, dass die Fahrzeugverfassung eine Verfassung ist, in der das Verteilungspaket herunterladbar ist.
  • (3) Schreibdatenübertragungsbestimmungsverarbeitung (4) Schreibdatenerlangungsbestimmungsverarbeitung und (5) Installationsanweisungsbestimmungsverarbeitung
  • Die Schreibdatenübertragungsbestimmungsverarbeitung wird gemäß 57 und 58 beschrieben, die Schreibdatenerlangungsbestimmungsverarbeitung wird gemäß 59 und 60 beschrieben und die Installationsanweisungsbestimmungsverarbeitung wird gemäß 61 bis 64 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Schreibdatenübertragungsbestimmungsverarbeitung in dem DCM 12 aus. Hierbei wird ein Zustand angenommen, in dem ein Verteilungspaket, das von der Zentralvorrichtung 3 an das DCM 12 gesendet wird, entpackt ist und Schreibdaten von dem Verteilungspaket extrahiert sind.
  • Wie in 57 illustriert ist, beinhaltet das DCM 12 eine Erlangungsanforderungsempfangseinheit 68a und eine Kommunikationszustandsbestimmungseinheit 68b in der Schreibdatenübertragungsbestimmungseinheit 68. Die Erlangungsanforderungsempfangseinheit 68a empfängt eine Erlangungsanforderung für Schreibdaten von dem CGW 13. Wenn die Erlangungsanforderung für die Schreibdaten durch die Erlangungsanforderungsempfangseinheit 68a empfangen wird, bestimmt die Kommunikationszustandsbestimmungseinheit 68b einen Zustand einer Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 beispielsweise in einem Fall, in dem ein Übertragungsdurchführbarkeitsbestimmungsflag, das vorab durch den Benutzer gesetzt wird, einen ersten vorbestimmten Wert hat. Das Übertragungsdurchführbarkeitsbestimmungsflag hat beispielsweise 1 (erste vorbestimmter Wert) in einem Fall, in dem eine vorbestimmte Bedingung während Installation überprüft ist, 0 (zweiter vorbestimmter Wert) in einem Fall, in dem die Überprüfung weggelassen wird. Die Schreibdatenübertragungseinheit 64 überträgt die Schreibdaten an das CGW 13 unter der Bedingung, dass die Kommunikationszustandsbestimmungseinheit 68b bestimmt, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 in einem Verbindungszustand ist.
  • Als nächstes wird gemäß 58 eine Operation der Schreibdatenübertragungsbestimmungseinheit 68 in dem DCM 12 beschrieben. Das DCM 12 führt ein Schreibdatenübertragungsbestimmungsprogramm aus und führt somit die Schreibdatenübertragungsbestimmungsverarbeitung aus. Es wird eine Verarbeitung in einem Fall beschrieben, in dem das CGW 13 das DCM 12 auffordert, die Schreibdaten in Antwort auf eine Installationsanweisung von der Zentralvorrichtung 3 zu erlangen.
  • Wenn bestimmt wird, dass eine Erlangungsanforderung für die Schreibdaten von dem CGW 13 empfangen wurden, initiiert das DCM 12 die Schreibdatenbestimmungsverarbeitung. Wenn die Schreibdatenbestimmungsverarbeitung initiiert wird, bestimmt das DCM 12 das Übertragungsdurchführbarkeitsbestimmungsflag (S301 und S302). Wenn bestimmt wird, dass das Übertragungsdurchführbarkeitsbestimmungsflag den ersten vorbestimmten Wert hat (S301: JA), bestimmt das DCM 12 einen Zustand von Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 (S303). Wenn bestimmt wird, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 in einem Verbindungszustand ist (S303: JA), überträgt das DCM 12 die Schreibdaten an das CGW 13 (S304) und beendet die Schreibdatenübertragungsbestimmungsverarbeitung. Wenn bestimmt wird, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 nicht in einem Verbindungszustand, sondern in einem Trennungszustand ist (S303: NEIN), überträgt das DCM 12 die Schreibdaten nicht an das CGW 13 und beendet die Schreibdatenübertragungsbestimmungsverarbeitung.
  • Wenn bestimmt wird, dass das Übertragungsdurchführbarkeitsbestimmungsflag den zweiten vorbestimmten Wert hat (S302: JA), überträgt das DCM 12 die Schreibdaten an das CGW 13, ohne einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 zu bestimmen, und beendet die Schreibdatenübertragungsbestimmungsverarbeitung.
  • Wie vorstehend beschrieben ist, führt das DCM 12 die Schreibdatenübertragungsbestimmungsverarbeitung vor der Übertragung der Schreibdaten an das CGW 13 aus und bestimmt einen Zustand von Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 in einem Fall, in dem das Übertragungsdurchführbarkeitsbestimmungsflag den ersten vorbestimmten Wert hat. Wenn bestimmt wird, dass die Datenkommunikation in einem Verbindungszustand ist, initiiert das DCM 12 Übertragen der Schreibdaten und, wenn bestimmt wird, dass die Datenkommunikation in einem Trennungszustand ist, wartet das DCM 12, ohne Übertragung der Schreibdaten zu initiieren. In einer Situation, in der Datenkommunikation mit der Zentralvorrichtung 3 möglich ist, können die Schreibdaten an das CGW 13 übertragen werden und Installation kann in der Umschreibziel-ECU 19 ausgeführt werden.
  • Beispielsweise in einem Fall, in dem es mehrere Umschreibziel-ECUs 19 gibt und die Installation Zeit braucht, kann das fahrzeugseitige System 4 der Zentralvorrichtung 3 eine Installationsfortschrittssituation mitteilen und das mobile Endgerät 6 kann die Fortschrittssituation nacheinander anzeigen. Das DCM 12 kann die Schreibdatenübertragungsbestimmungsverarbeitung während Übertragens der Schreibdaten ausführen. In diesem Fall, wenn bestimmt wird, dass die Datenkommunikation während der Übertragung der Schreibdaten in einem Verbindungszustand ist, setzt das DCM 12 die Übertragung der Schreibdaten fort, aber, wenn bestimmt wird, dass die Datenkommunikation in einem Trennungszustand während der Übertragung der Schreibdaten ist, stoppt das DCM die Übertragung der Schreibdaten.
  • Als nächstes wird die Schreibdatenerlangungsbestimmungsverarbeitung beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Schreibdatenerlangungsbestimmungsverarbeitung in dem CGW 13 aus. (3) Die Schreibdatenübertragungsbestimmungsverarbeitung ist eine Bestimmungsverarbeitung, die durch das DCM 12 in der Installationsphase ausgeführt wird, und die Schreibdatenerlangungsbestimmungsverarbeitung ist eine Bestimmungsverarbeitung, die durch das CGW 13 in der gleichen Installationsphase ausgeführt wird.
  • Wie in 59 illustriert ist, beinhaltet das CGW 13 eine Ereignisauftrittsbestimmungseinheit 76a und eine Kommunikationszustandsbestimmungseinheit 76b in der Schreibdatenerlangungsbestimmungseinheit 76. Die Ereignisauftrittsbestimmungseinheit 76a bestimmt das Auftreten eines Ereignisses einer Erlangungsanforderung (Installationsanweisung) für die Schreibdaten von der Zentralvorrichtung 3. Wenn das Auftreten des Ereignisses der Erlangungsanforderung für die Schreibdaten durch die Ereignisauftrittsbestimmungseinheit 76a bestimmt wird, bestimmt die Kommunikationszustandsbestimmungseinheit 76b einen Zustand von Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 beispielsweise in einem Fall, in dem ein Erlangungsdurchführbarkeitsbestimmungsflag, das vorab durch den Benutzer festgelegt wird, eine ersten vorbestimmten Wert hat. Das Erlangungsdurchführbarkeitsbestimmungsflag hat beispielsweise 1 (erste vorbestimmter Wert), wenn eine vorbestimmte Bedingung während Installation überprüft ist, 0 (zweiter vorbestimmter Wert) in einem Fall, in dem die Überprüfung weggelassen wird. Hierbei kann die Ereignisauftrittsbestimmungseinheit 76a den Ereignisauftritt basierend darauf bestimmen, dass der Benutzer eine Anweisung zur Installation gegeben hat, und bestimmt, dass ein Ereignis einer Erlangungsanforderung für die Schreibdaten aufgetreten ist, beispielsweise, wenn eine Mitteilung, dass der Benutzer eine Installationsanweisung (vgl. 39) an der Fahrzeugbordanzeige 7 ausgeführt hat, empfangen wird.
  • Als nächstes wird gemäß 60 eine Operation der Schreibdatenerlangungsbestimmungseinheit 76 in dem CGW 13 beschrieben. Das CGW 13 führt ein Schreibdatenerlangungsbestimmungsprogramm aus und führt somit die Schreibdatenerlangungsbestimmungsverarbeitung aus.
  • Wenn bestimmt wird, dass das Ereignis der Anforderung zum Erlangen der Schreibdaten aufgetreten ist, initiiert das CGW 13 die Schreibdatenerlangungsbestimmungsverarbeitung. Wenn die Schreibdatenerlangungsbestimmungsverarbeitung initiiert wird, bestimmt das CGW 13 das Erlangungsdurchführbarkeitsbestimmungsflag (S401 und S402). Wenn bestimmt wird, dass das Erlangungsdurchführbarkeitsbestimmungsflag den ersten vorbestimmten Wert hat (S401: JA), bestimmt das CGW 13 einen Zustand von Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 (S403). Wenn bestimmt wird, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 ein Verbindungszustand ist (S403: JA), sendet das CGW 13 eine Erlangungsanforderung für die Schreibdaten an das DCM 12 (S404) und beendet die Schreibdatenerlangungsbestimmungsverarbeitung. Danach, wenn die Schreibdaten von dem DCM 12 übertragen werden, verteilt das CGW 13 die übertragenen Schreibdaten an die Umschreibziel-ECU 19. Wenn bestimmt wird, dass die Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 nicht in einem Verbindungszustand, aber in einem Trennungszustand ist (S403: NEIN), sendet das CGW 13 die Erlangungsanforderung für die Schreibdaten an das DCM 12 nicht und beendet die Schreibdatenerlangungsbestimmungsverarbeitung.
  • Wenn bestimmt wird, dass das Erlangungsdurchführbarkeitsbestimmungsflag den zweiten vorbestimmten Wert hat (S402: JA), sendet das CGW 13 eine Erlangungsanforderung für die Schreibdaten an das DCM 12, ohne einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 zu bestimmen, und beendet die Schreibdatenerlangungsbestimmungsverarbeitung.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Schreibdatenerlangungsbestimmungsverarbeitung vor dem Erlangen der Schreibdaten von dem DCM 12 aus und bestimmt einen Zustand der Datenkommunikation zwischen der Zentralvorrichtung 3 und dem DCM 12 in einem Fall, in dem das Erlangungsdurchführbarkeitsbestimmungsflag den ersten vorbestimmten Wert hat. Wenn bestimmt wird, dass die Datenkommunikation in einem Verbindungszustand ist, initiiert das CGW 13 Erlangen der Schreibdaten und, wenn bestimmt wird, dass die Datenkommunikation in einem Trennungszustand ist, wartet das CGW, ohne Erlangung der Schreibdaten zu initiieren. In einer Situation, in der Kommunikation mit der Zentralvorrichtung 3 möglich ist, können die Schreibdaten von dem DCM 12 erlangt werden und Installation kann in der Umschreibziel-ECU 19 ausgeführt werden.
  • Beispielsweise in einem Fall, in dem es mehrere Umschreibziel-ECUs 19 gibt und die Installation Zeit braucht, kann das fahrzeugseitige System 4 der Zentralvorrichtung 3 eine Installationsfortschrittssituation mitteilen und das mobile Endgerät 6 kann die Fortschrittssituation nacheinander anzeigen. Das CGW 13 kann die Schreibdatenerlangungsbestimmungsverarbeitung während Erlangens der Schreibdaten ausführen. In diesem Fall, wenn bestimmt wird, dass die Datenkommunikation während der Erlangung der Schreibdaten in einem Verbindungszustand ist, setzt das CGW 13 die Erlangung der Schreibdaten fort, aber, wenn bestimmt wird, dass die Datenkommunikation während der Erlangung der Schreibdaten in einem Trennungszustand ist, stoppt das CGW die Erlangung der Schreibdaten.
  • Als nächstes wird die vorstehend beschriebene Schreibdatenerlangungsbestimmung detaillierter beschrieben. Erlangen der Schreibdaten ist eine der Verarbeitungen bezüglich Installation und die Installationsanweisungsbestimmungsverarbeitung wird hier gemäß 61 bis 64 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Installationsanweisungsbestimmungsverarbeitung in dem CGW 13 aus. (1) Die Verteilungspaketsendungsbestimmungsverarbeitung und (2) die Verteilungspaketherunterladebestimmungsverarbeitung sind Bestimmungsverarbeitungen, die in der Herunterladephase ausgeführt werden, (3) die Schreibdatenübertragungsbestimmungsverarbeitung und (4) die Schreibdatenerlangungsbestimmungsverarbeitung sind Verarbeitungen, die in der Installationsphase, nachdem Herunterladen abgeschlossen ist, ausgeführt werden, und (5) die Installationsanweisungsbestimmungsverarbeitung ist eine Verarbeitung, die in der Installationsphase und der Aktivierungsphase ausgeführt wird. Hierbei wird ein Zustand angenommen, in dem ein Verteilungspaket auf das DCM 12 heruntergeladen wird, und, wie in 10 illustriert ist, sind die Schreibdaten (Aktualisierungsdaten oder Differenzdaten) für die Schreibziel-ECU 19 entpackt.
  • Wie in 61 illustriert ist, beinhaltet das CGW 13 eine Installationsbedingungsbestimmungseinheit 77a, eine Installationsanweisungseinheit 77b, eine Fahrzeugverfassungsinformationserlangungseinheit 77c, eine Aktivierungsbedingungsbestimmungseinheit 77d und eine Aktivierungsanweisungseinheit 77e in der Installationsanweisungsbestimmungseinheit 77. Die Installationsbedingungsbestimmungseinheit 77a bestimmt, ob oder nicht eine erste Bedingung, eine zweite Bedingung, eine dritte Bedingung, eine vierte Bedingung und eine fünfte Bedingung hergestellt sind. Die erste Bedingung ist eine Bedingung, dass die Zustimmung des Benutzers zur Installation erlangt wird. Die Zustimmung des Benutzers zur Installation gibt beispielsweise die Benutzerzustimmungsoperation zur Installation (beispielsweise Drücken der „Unmittelbar aktualisieren“-Taste 506a) auf dem Bildschirm an, der in 39 illustriert ist. Alternativ können Operationen vom Herunterladen bis zur Aktivierung als eine Aktualisierung betrachtet werden und die Benutzerzustimmungsoperation zum Aktualisieren kann als durchgeführt angesehen werden.
  • Die zweite Bedingung ist eine Bedingung, dass das CGW 13 Datenkommunikation mit der Zentralvorrichtung 3 ausführen kann. Die dritte Bedingung ist eine Bedingung, dass eine Fahrzeugverfassung eine Installierbarkeitsverfassung ist. Die vierte Bedingung ist eine Bedingung, dass Installation in der Umschreibziel-ECU 19 ausgeführt werden kann. Hierbei beinhaltet die vierte Bedingung nicht nur, dass Installation in der Umschreibziel-ECU 19, die ein Installationsziel ist, ausgeführt werden kann, aber ebenso, dass Installation in der Umschreibziel-ECU 19 ausgeführt werden kann, die mit der Umschreibziel-ECU 19 kooperiert, die ein Installationsziel ist. Die fünfte Bedingung ist eine Bedingung, dass die Schreibdaten normale Daten sind. Hierbei beinhalten die normalen Daten Daten, die für die Umschreibziel-ECU 19 geeignet sind, Daten die nicht verfälscht sind, und dergleichen.
  • Wenn durch die Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass jede der ersten Bedingung, der zweiten Bedingung, der dritten Bedingung, der vierten Bedingung und der fünften Bedingung hergestellt ist, weist die Installationsanweisungseinheit 77b die Umschreibziel-ECU 19 an, ein Anwendungsprogramm zu installieren. Das heißt, wenn die Installationsanweisungseinheit 77b die Zustimmung des Benutzers zur Installation erlangt, das CGW 13 Datenkommunikation mit der Zentralvorrichtung 3 ausführen kann, die Fahrzeugverfassung eine Installierbarkeitsverfassung ist, die Installation in der Umschreibziel-ECU 19 ausgeführt werden kann und durch die Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass die Schreibdaten normale Daten sind, wird die Umschreibziel-ECU 19 angewiesen, das Anwendungsprogramm zu installieren. Insbesondere erlangt die Installationsanweisungseinheit 77b die Schreibdaten von dem DCM 12 und überträgt die erlangten Schreibdaten an die Umschreibziel-ECU 19. Wenn durch die Installationsbedingungsbestimmungseinheit 77a bestimmt wird, dass mindestens eine der ersten Bedingung, der zweiten Bedingung, der dritten Bedingung, der vierten Bedingung und der fünften Bedingung nicht erfüllt ist, weist die Installationsanweisungseinheit 77b die Umschreibziel-ECU 19 nicht an, das Anwendungsprogramm zu installieren, und wartet oder präsentiert dem Benutzer Informationen, die angeben, dass die Installation nicht initiiert werden kann, und den Grund dafür.
  • Die Fahrzeugverfassungsinformationserlangungseinheit 77c erlangt Fahrzeugverfassungsinformationen von der Zentralvorrichtung 3. Die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt, ob oder nicht eine sechste Bedingung, eine siebte Bedingung und eine achte Bedingung hergestellt sind, in einem Fall, in dem die Installation des Anwendungsprogramms in allen der Umschreibziel-ECUs 19 abgeschlossen wurde. Die sechste Bedingung ist eine Bedingung, dass die Zustimmung des Benutzers zur Aktivierung erlangt wird. Die Benutzerzustimmung zur Aktivierung gibt die Benutzerzustimmungsoperation (beispielsweise Drücken der „OK“-Taste 508b) zur Aktivierung beispielsweise auf dem Bildschirm, der in 43 illustriert ist, an. Alternativ können Operationen vom Herunterladen bis zur Aktivierung als eine Aktualisierung betrachtet werden und die Benutzerzustimmungsoperation zum Aktualisieren kann als durchgeführt angesehen werden. Die siebte Bedingung ist eine Bedingung, dass die Fahrzeugverfassung eine Aktivierbarkeitsverfassung ist. Die achte Bedingung ist eine Bedingung, dass die Umschreibziel-ECU 19 in einer Aktivierbarkeitsverfassung ist.
  • Wenn durch die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt wird, dass jede der sechsten Bedingung, der siebten Bedingung und der achten Bedingung erfüllt ist, weist die Aktivierungsanweisungseinheit 77e die Umschreibziel-ECU 19 an, das Anwendungsprogramm zu aktivieren. Es erfolgt eine detaillierte Beschreibung der (12) Aktivierungsanforderungsanweisungsverarbeitung, die später beschrieben wird. Das heißt, die Aktivierungsanweisungseinheit 77e weist die Umschreibziel-ECU 19 an, das Anwendungsprogramm zu aktivieren, wenn die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt, dass die Benutzerzustimmung zur Aktivierung erlangt wird, die Fahrzeugverfassung eine Aktivierbarkeitsverfassung ist und die Umschreibziel-ECU 19 in einer Aktivierbarkeitsverfassung ist. Die Aktivierung wird ausgeführt und somit wird ein Aktualisierungsprogramm, das in der Umschreibziel-ECU 19 geschrieben ist, validiert. Wenn durch die Aktivierungsbedingungsbestimmungseinheit 77d bestimmt wird, dass mindestens eine der sechsten Bedingung, der siebten Bedingung und der achten Bedingung nicht hergestellt ist, weist die Aktivierungsanweisungseinheit 77e die Umschreibziel-ECU 19 nicht an, das Anwendungsprogramm zu aktivieren und wartet oder präsentiert dem Benutzer Informationen, die angeben, dass die Aktivierung nicht initiiert werden kann, und den Grund dafür.
  • Als nächstes wird eine Operation der Installationsanweisungsbestimmungseinheit 77 in dem CGW 13 gemäß 62 bis 64 beschrieben. Das CGW 13 führt ein Installationsanweisungsbestimmungsprogramm aus und führt somit die Installationsanweisungsbestimmungsverarbeitung aus.
  • Wenn die Installationsanweisungsbestimmungsverarbeitung initiiert wird, bestimmt das CGW 13, ob oder nicht die erste Bedingung hergestellt ist, und bestimmt, ob oder nicht die Zustimmung des Benutzers zur Installation erlangt ist (S501; entsprechend einem Teil einer Installationsbedingungsbestimmungsprozedur). Wenn bestimmt wird, dass die Zustimmung des Benutzers zur Installation erlangt ist (S501: JA), bestimmt das CGW 13, ob oder nicht die zweite Bedingung hergestellt ist, und bestimmt, ob oder nicht Datenkommunikation mit der Zentralvorrichtung 3 möglich ist (S502; entsprechend einem Teil der Installationsbedingungsbestimmungsprozedur). Das CGW 13 bestimmt, ob oder nicht Datenkommunikation mit der Zentralvorrichtung 3 möglich ist, basierend auf einem Kommunikationsfunkwellenstatus in dem DCM 12.
  • Wenn bestimmt wird, dass Datenkommunikation mit der Zentralvorrichtung 3 möglich ist (S502: JA), bestimmt das CGW 13, ob oder nicht die dritte Bedingung hergestellt ist, und bestimmt, ob oder nicht eine Fahrzeugverfassung eine Installierbarkeitsverfassung ist (S503; entsprechend einem Teil der Installationsbedingungsbestimmungsprozedur). Das CGW 13 bestimmt als die Fahrzeugverfassung beispielsweise, ob oder nicht eine Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als eine vorbestimmte Kapazität ist, oder, ob oder nicht das Fahrzeug in einem Parkzustand (IG-AUS-Zustand) ist, in einem Fall, in dem eine Speicherkonfiguration der Umschreibziel-ECU 19 ein Einzelbankspeicher ist, und bestimmt somit, ob oder nicht die Fahrzeugverfassung eine Installierbarkeitsverfassung ist. Die Verfassung der Fahrzeugverfassung kann sich auf empfangene Umschreibspezifikationsdaten beziehen (vgl. 8). Das CGW 13 bestimmt, dass die Fahrzeugverfassung eine Installierbarkeitsverfassung ist, beispielsweise in einem Fall, in dem eine Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als eine vorbestimmte Kapazität ist, die in den Umschreibspezifikationsdaten spezifiziert ist, und die Fahrzeugverfassung mit einer Fahrzeugverfassung übereinstimmt (installierbar nur in einem Parkzustand, installierbar nur in einem Fahrzustand oder installierbar in sowohl dem Parkzustand als auch dem Fahrzustand), die in den Umschreibspezifikationsdaten spezifiziert ist.
  • Wenn bestimmt wird, dass die Fahrzeugverfassung eine Installierbarkeitsverfassung ist (S503: JA), bestimmt das CGW 13, ob oder nicht die vierte Bedingung hergestellt ist, und bestimmt, ob oder nicht die Umschreibziel-ECU 19 in einer Installierbarkeitsverfassung ist (S504; entsprechend einem Teil der Installationsbedingungsbestimmungsprozedur). Das CGW 13 bestimmt, dass die Umschreibziel-ECU 19 in einer Installierbarkeitsverfassung ist, beispielsweise in einem Fall, in dem ein Fehlercode nicht in der Umschreibziel-ECU 19 erzeugt wird und Sicherheitszugriff auf die Umschreibziel-ECU 19 erfolgreich ist. Hierbei kann, ob oder nicht der Fehlercode erzeugt wird, nicht nur für die Umschreibziel-ECU 19, in die Schreibdaten geschrieben werden, aber ebenso für die ECU 19 überprüft werden, die kooperative Steuerung mit der Umschreibziel-ECU 19 ausführt. Das heißt, das CGW 13, bestimmt, ob oder nicht der Fehlercode erzeugt wird, nicht nur für die Umschreibziel-ECU 19, sondern ebenso für die ECU 19, die kooperative Steuerung mit der Umschreibziel-ECU 19 ausführt.
  • Wenn bestimmt wird, dass die Umschreibziel-ECU 19 eine Installierbarkeitsverfassung ist (S504: JA), bestimmt das CGW 13, ob oder nicht die fünfte Bedingung hergestellt ist, und bestimmt, ob oder nicht die Schreibdaten normale Daten sind (S505; entsprechend einem Teil einer Installationsbedingungsbestimmungsprozedur). Das CGW 13 bestimmt, dass die Schreibdaten normale Daten sind, in einem Fall, in dem die Schreibdaten mit einer Schreibbank (inaktive Bank) der Umschreibziel-ECU 19 übereinstimmen und ein Verifizierungsergebnis der Integrität der Schreibdaten normal ist. Wenn bestimmt wird, dass die Schreibdaten normale Daten sind (S505: JA), weist das CGW 13 die Umschreibziel-ECU 19 an, das Anwendungsprogramm zu installieren (S506; entsprechend einer Installationsanweisungsprozedur), und somit führt das CGW 13 Bestimmung der zweiten Bedingung und der nachfolgenden Bedingungen unter der Bedingung aus, dass die erste Bedingung erfüllt ist. Das CGW 13 bestimmt schließlich die fünfte Bedingung. Wenn bestimmt wird, dass alle der ersten bis fünften Bedingung erfüllt sind, weist das CGW 13 die Umschreibziel-ECU 19 zum Installieren des Anwendungsprogramms an.
  • Andererseits, wenn das CGW 13 bestimmt, dass die Zustimmung des Benutzers zur Installation nicht erlangt wird (S501: NEIN), bestimmt, dass Datenkommunikation mit der Zentralvorrichtung 3 nicht möglich ist (S502: NEIN), bestimmt, dass die Fahrzeugverfassung keine Installierbarkeitsverfassung ist (S503: NEIN), bestimmt, dass die Umschreibziel-ECU 19 nicht in einer Installierbarkeitsverfassung ist (S504: NEIN) oder bestimmt, dass die Schreibdaten keine normalen Daten sind (S505: NEIN), weist das CGW die Umschreibziel-ECU 19 nicht an, das Anwendungsprogramm zu installieren. In der vorstehen beschriebenen Verarbeitung wurde eine Konfiguration beschrieben, in der die Bedingung, dass die Zustimmung des Benutzers zur Installation erlangt wird, früher als die anderen Bedingungen bestimmt wird, aber eine Konfiguration, in der die Bedingung später als die anderen Bedingungen bestimmt wird, kann verwendet werden.
  • Wenn das CGW 13 die Umschreibziel-ECU 19 anweist, das Anwendungsprogramm zu installieren, verteilt das CGW die Schreibdaten an die Umschreibziel-ECU 19 (S507) und bestimmt, ob oder nicht die Installation abgeschlossen wurde (S508). Wenn bestimmt wird, dass die Installation abgeschlossen wurde (S508: JA), bestimmt das CGW 13, ob oder nicht die sechste Bedingung erfüllt ist, und bestimmt, ob oder nicht die Benutzerzustimmung zur Aktivierung erlangt wird (S509). Wenn bestimmt wird, dass die Benutzerzustimmung zur Aktivierung erlangt wird (S509: JA), bestimmt das CGW 13, ob oder nicht die siebte Bedingung hergestellt ist, und bestimmt, ob oder nicht die Fahrzeugverfassung eine Aktivierbarkeitsverfassung ist (S510).
  • Wenn bestimmt wird, dass die Fahrzeugverfassung eine Aktivierbarkeitsverfassung ist (S510: JA), bestimmt das CGW 13, ob oder nicht die achte Bedingung hergestellt ist, und bestimmt, ob oder nicht die Umschreibziel-ECU 19 in einer Aktivierbarkeitsverfassung ist (S511). Wenn bestimmt wird, dass die Umschreibziel-ECU 19 in einer Aktivierbarkeitsverfassung ist (511: JA), dann weist das CGW 13 die Umschreibziel-ECU 19 an, Aktivierung auszuführen (S512). Wie vorstehend erwähnt ist, wenn bestimmt wird, dass jede der sechsten bis achten Bedingung hergestellt ist, weist das CGW 13 die Umschreibziel-ECU 19 an, Aktivierung auszuführen.
  • In einem Fall, in dem mehrere Umschreibziel-ECUs 19 vorhanden sind, kann das CGW 13 individuell oder kollektiv eine Anweisung zur Installation geben. In einem Fall, in dem die Umschreibziel-ECUs 19 die ECU (ID1) und die ECU (ID2) sind, bestimmt in einem Aspekt des individuellen Gebens einer Anweisung zur Installation das CGW 13, ob oder nicht Installationsbedingungen für die ECU (ID1) hergestellt sind, wie in 63 illustriert ist. Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID1) hergestellt sind, weist das CGW 13 die ECU (ID1) zum Ausführen der Installation an. Als nächstes bestimmt das CGW 13, ob oder nicht Installationsbedingungen für die ECU (ID2) hergestellt sind. Hierbei kann das CGW 13 bestimmen, ob oder nicht die vierte Bedingung und die fünfte Bedingung für die ECU (ID2) als die Installationsbedingungen hergestellt sind. Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID2) hergestellt sind, weist das CGW 13 die ECU (ID2) zum Ausführen der Installation an.
  • In einem Fall, in dem die Umschreibziel-ECUs 19 die ECU (ID1) und die ECU (ID2) sind, bestimmt in einem Aspekt des kollektiven Gebens einer Anweisung zur Installation das CGW 13, ob oder nicht Installationsbedingungen für die ECU (ID1) hergestellt sind, wie in 64 illustriert ist. Das heißt, das CGW 13 bestimmt die erste bis dritte Bedingung und die vierte und fünfte Bedingung für die ECU (ID1). Wenn bestimmt wird, dass die Installationsbedingungen für die ECU (ID1) hergestellt sind, bestimmt das CGW 13, ob oder nicht Installationsbedingungen für die ECU (ID2) hergestellt sind. Das heißt, das CGW 13 bestimmt die vierte Bedingung und die fünfte Bedingung für die ECU (ID2). Wenn die Installationsbedingungen für die ECU (ID2) hergestellt sind, weist das CGW 13 die ECU (ID1) und die ECU (ID2) zum Ausführen der Installation an. Beispielsweise führt das CGW 13 simultan Übertragung von Umschreibdaten an die ECU (ID1) und Übertragung von Umschreibdaten an die ECU (ID2) parallel aus. Wie vorstehend beschrieben ist, bestimmt in dem Aspekt des kollektiven Gebens einer Anweisung zur Installation das CGW 13 die erste Bedingung bis dritte Bedingung und die vierte Bedingung und die fünfte Bedingung für alle der Umschreibziel-ECUs. Das CGW 13 gibt eine Anweisung zur Installation nachdem alle Bedingungen erfüllt sind.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Installationsanweisungsbestimmungsverarbeitung vor Anweisen der Umschreibziel-ECU 19 zum Installieren eines Anwendungsprogramms aus und weist somit die Umschreibziel-ECU 19 an, das Anwendungsprogramm zu installieren, wenn bestimmt wird, dass alle der ersten Bedingung, dass die Zustimmung (auch als Genehmigung bezeichnet) des Benutzers zur Installation erlangt ist, der zweiten Bedingung, dass Datenkommunikation mit der Zentralvorrichtung 3 möglich ist, der dritten Bedingung, dass eine Fahrzeugverfassung eine Installierbarkeitsverfassung ist, der vierten Bedingung, dass die Umschreibziel-ECU 19 in einer Installierbarkeitsverfassung ist, und der fünften Bedingung, dass die Schreibdaten normale Daten sind, hergestellt bzw. erfüllt sind. Es ist es möglich, die Umschreibziel-ECU 19 angemessen anzuweisen, ein Anwendungsprogramm zu installieren.
  • (6) Sicherheitszugriffsschlüsselverwaltungsverarbeitung
  • Die Sicherheitszugriffsschlüsselverwaltungsverarbeitung wird gemäß 65 bis 69 beschrieben. Ein Sicherheitszugriffsschlüssel wird verwendet, um eine Vorrichtung zu authentifizieren, wenn das CGW 13 auf die Umschreibziel-ECU 19 zugreift, bevor Schreibdaten installiert werden. Das Fahrzeugprogrammumschreibsystem 1 führt die Sicherheitszugriffsschlüsselverwaltungsverarbeitung in dem CGW 13 aus. Es erfolgt eine Beschreibung unter der Annahme, dass das CGW 13 in einem Zustand ist, in dem es die Schreibdaten von dem DCM 12 durch (3) die Schreibdatenübertragungsbestimmungsverarbeitung oder (4) die Schreibdatenerlangungsbestimmungsverarbeitung erlangen kann. Die Vorrichtungsauthentifizierung unter Verwendung des Sicherheitszugriffsschlüssels entspricht der vierten Bedingung (Schritt S505) in (5) der Installationsanweisungsbestimmungsverarbeitung, die vorstehend beschrieben ist.
  • Wenn das CGW 13 die Schreibdaten an die Umschreibziel-ECU 19 verteilt, ist es erforderlich, dass das CGW 13 Sicherheitszugriff (Vorrichtungsauthentifizierung) mit der Umschreibziel-ECU 19 unter Verwendung des Sicherheitszugriffsschlüssels ausführt. In diesem Fall wird ein Verfahren in Betracht gezogen, in dem das CGW 13 die Umschreibziel-ECU 19 auffordert, einen Zufallszahlenwert zu erzeugen, den Zufallszahlenwert, der durch die Umschreibziel-ECU 19 erzeugt wird, von der Umschreibziel-ECU 19 erlangt und einen Sicherheitszugriffsschlüssel durch Berechnen des erlangten Zufallszahlenwerts erzeugt. Jedoch kann in so einem Verfahren in einem Fall, in dem der Zufallszahlenwert von der Umschreibziel-ECU 19 erlangt wird, sogar, wenn ein Anwendungsprogramm nicht umgeschrieben wird, der Sicherheitszugriffsschlüssel gespeichert werden, so dass es ein Risiko eines Sicherheitszugriffsschlüsselleckens geben kann.
  • In einer Konfiguration, in der das CGW 13 einen Zufallszahlenwert, der von der Umschreibziel-ECU 19 erlangt wird, an die Zentralvorrichtung 3 sendet, und die Zentralvorrichtung 3 einen Sicherheitszugriffsschlüssel durch Berechnen des Zufallszahlenwerts erzeugt, ist es nicht erforderlich, den Sicherheitszugriffsschlüssels zu speichern, und somit ist es möglich, das Risiko des Sicherheitszugriffsschlüsselleckens zu reduzieren. Jedoch nimmt in der Konfiguration, in der die Zentralvorrichtung 3 den Zufallszahlenwert berechnet, die Wartezeit, bis die Umschreibziel-ECU 19 den Zufallszahlenwert von der Zentralvorrichtung 3 erlangt, zu und somit ist es schwierig, die Zeitspezifikation für die Diagnosekommunikation zu erfüllen. Hinsichtlich solcher Umstände setzt die vorliegende Ausführungsform die folgende Konfiguration ein.
  • Wie in 65 illustriert ist, erzeugt der Zulieferer einen Zufallszahlenwert durch Verschlüsseln eines Sicherheitszugriffsschlüssels für jede Umschreibziel-ECU 19 unter Verwendung eines Verschlüsselungs-/Entschlüsselungsschlüssels des Sicherheitszugriffsschlüssels. Der Zufallszahlenwert, der hier erwähnt ist, ist ein Zufallswert einschließlich sowohl eines Werts, der sich von dem Wert unterscheidet, der in der Vergangenheit verwendet wurde, oder eines Werts, der gleich dem in der Vergangenheit verwendeten Wert ist. Der Zufallszahlenwert ist ein verschlüsselter Sicherheitszugriffsschlüssel. Der Zulieferer stellt den erzeugten Zufallszahlenwert zusammen mit den Umprogrammierungsdaten bereit. Der Sicherheitszugriffsschlüssel, der Verschlüsselungs-/Entschlüsselungsschlüssel des Sicherheitszugriffsschlüssels und der Zufallszahlenwert sind eindeutige Schlüssel für jede ECU 19.
  • Wenn dem OEM der Zufallszahlenwert zusammen mit den Umprogrammierungsdaten vom Zulieferer bereitgestellt wird, korreliert der OEM den bereitgestellten Zufallszahlenwert mit einer ECU (ID) zum Identifizieren der ECU 19 und speichert den Zufallszahlenwert in die CGW-Umschreibspezifikationsdaten, die in 8 illustriert sind. Der OEM speichert ebenso ein Schlüsselmuster oder ein Entschlüsselungsoperationsmuster, das zum Entschlüsseln des Zufallszahlenwert erforderlich ist, in den CGW-Umschreibspezifikationsdaten. Als das Schlüsselmuster werden ein Verfahren wie ein gemeinsamer Schlüssel/öffentlicher Schlüssel, eine Schlüssellänge und dergleichen gespeichert und als das Entschlüsselungsoperationsmuster wird der Algorithmustyp, der für eine Entschlüsselungsoperation und dergleichen verwendet wird, gespeichert. Wenn der OEM den Zufallszahlenwert, das Schlüsselmuster und das Entschlüsselungsoperationsmuster in den CGW-Umschreibspezifikationsdaten speichert, stellt der OEM die CGW-Umschreibspezifikationsdaten, die den Zufallszahlenwert speichern, der Zentralvorrichtung 3 zusammen mit den Umprogrammierungsdaten bereit. Die Informationen, die von dem Zulieferer bereitgestellt werden, werden in einer ECU-Umprogrammierungs-DB und einer ECU-Metadaten-DB gespeichert, die später beschrieben werden.
  • Wenn Umschreibspezifikationsdaten (DCM-Umschreibspezifikationsdaten und CGW-Umschreibspezifikationsdaten) zusammen mit den Umprogrammierungsdaten von dem OEM bereitgestellt werden, sendet die Zentralvorrichtung 3 ein Verteilungspaket einschließlich der bereitgestellten Umschreibspezifikationsdaten und Umprogrammierungsdaten an die Mastervorrichtung 11. In der Mastervorrichtung 11, wenn das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird, überträgt das DCM 12 die Umschreibspezifikationsdaten und Schreibdaten an das CGW 13.
  • Wie in 66 illustriert ist, beinhaltet das CGW 13 einen sicheren Bereich 78a (entsprechend einer Entschlüsselungsschlüsselspeichereinheit), eine Zufallszahlenwertextrahierungseinheit 78b (entsprechend einer Schlüsselableitungswertextrahierungseinheit), eine Schlüsselmusterextrahierungseinheit 78c, eine Entschlüsselungsoperationsmusterextrahierungseinheit 78d, eine Schlüsselerzeugungseinheit 78e, eine Sicherheitszugriffausführungseinheit 78f, eine Sitzungsübergangsanforderungseinheit 78g und eine Schlüssellöscheinheit 78ha in der Sicherheitszugriffsschlüsselverwaltungseinheit 78. In dem sicheren Bereich 78a können Informationen darin nicht von außerhalb der ECU 19 gelesen werden und ein Verschlüsselungs-/Entschlüsselungsschlüssel eines Sicherheitszugriffsschlüssels und ein Entschlüsselungsoperationsalgorithmus sind darin angeordnet. Die Zufallszahlenwertextrahierungseinheit 78b extrahiert von einem Analyseergebnis der CGW-Umschreibspezifikationsdaten einen Zufallszahlenwert (Schlüsselableitungswert), der in den Umschreibspezifikationsdaten beinhaltet ist. Der Zufallszahlenwert ist ein Wert, der in Korrelation mit der ECU (ID) der Umschreibziel-ECU 19 verschlüsselt ist.
  • Die Schlüsselmusterextrahierungseinheit 78c extrahiert aus einem Analyseergebnis der CGW-Umschreibspezifikationsdaten ein Schlüsselmuster, das in den Umschreibspezifikationsdaten beinhaltet ist. Die Entschlüsselungsoperationsmusterextrahierungseinheit 78d extrahiert aus einem Analyseergebnis der CGW-Umschreibspezifikationsdaten ein Entschlüsselungsoperationsmuster, das in den Umschreibspezifikationsdaten beinhaltet ist.
  • Wenn der Zufallszahlenwert durch die Zufallszahlenwertextrahierungseinheit 78b extrahiert wird, durchsucht die Schlüsselerzeugungseinheit 78e den sicheren Bereich 78a, entschlüsselt den extrahierten Zufallszahlenwert unter Verwendung eines Entschlüsselungsschlüssels entsprechend der ECU (ID) aus einem Bündel Entschlüsselungsschlüssel des Sicherheitszugriffsschlüssels, der sich in dem sicheren Bereich 78a befindet, und erzeugt den Sicherheitszugriffsschlüssel. In diesem Fall entschlüsselt die Schlüsselerzeugungseinheit 78e den Schlüsselableitungswert gemäß einem Entschlüsselungsoperationsverfahren, das durch das Entschlüsselungsoperationsmuster spezifiziert ist, das durch die Entschlüsselungsoperationsmusterextrahierungseinheit 78d unter Verwendung eines Entschlüsselungsschlüssels extrahiert wird, der durch das Schlüsselmuster spezifiziert ist, das durch die Schlüsselmusterextrahierungseinheit 78c extrahiert wird. Das heißt, die mehreren Schlüsselmuster und mehrere Entschlüsselungsoperationsmuster werden vorbereitet und ein Schlüsselmuster und ein Entschlüsselungsoperationsmuster werden durch die CGW-Umschreibspezifikationsdaten spezifiziert und somit erzeugt die Schlüsselerzeugungseinheit 78e einen Sicherheitszugriffsschlüssel unter Verwendung des Schlüsselmusters und des Entschlüsselungsoperationsmusters.
  • Wenn der Sicherheitszugriffsschlüssel durch die Schlüsselerzeugungseinheit 78e erzeugt wird, führt die Sicherheitszugriffausführungseinheit 78f Sicherheitszugriff auf die Umschreibziel-ECU 19 unter Verwendung des erzeugten Sicherheitszugriffsschlüssels aus. Insbesondere sendet die Sicherheitszugriffausführungseinheit 78f verschlüsselte Daten, in denen eine ECU (ID) unter Verwendung beispielsweise eines Sicherheitszugriffsschlüssels verschlüsselt wird, und fordert Zugriff auf die Umschreibziel-ECU 19 an. Werden die verschlüsselten Daten empfangen, entschlüsselt die Umschreibziel-ECU 19 die empfangenen verschlüsselten Daten unter Verwendung des Sicherheitszugriffsschlüssels, der durch sie selbst gehalten wird. Die Umschreibziel-ECU 19 vergleicht entschlüsselte Daten, die durch die Entschlüsselung erzeugt werden, mit einer ECU (ID) davon und erlaubt Zugriff auf die Umschreibziel-ECU in einem Fall, in dem die Daten mit der ECU (ID) übereinstimmen, und erlaubt Zugriff darauf nicht in einem Fall, in dem die Daten nicht mit der ECU (ID) übereinstimmen.
  • Die Sitzungsübergangsanforderungseinheit 78g fordert den Übergang zu einer Umschreibsitzung an. Nach Übergang von einer Standardsitzung zur Umschreibsitzung führt die Sicherheitszugriffausführungseinheit 78f Sicherheitszugriff aus. Nach dem Übergang zu einer Sitzung (beispielsweise einer Diagnosesitzung) außer der Standardsitzung kann Sicherheitszugriff ausgeführt werden und dann kann der Übergang zur Umschreibsitzung auftreten. Die Schlüssellöscheinheit 78h löscht den Sicherheitszugriffsschlüssel, der durch die Schlüsselerzeugungseinheit 78e erzeugt wird, nachdem der Sicherheitszugriff auf die Umschreibziel-ECU 19 durch die Sicherheitszugriffausführungseinheit 78f ausgeführt ist und Umschreiben eines Anwendungsprogramms in der Umschreibziel-ECU 19 abgeschlossen ist.
  • Als nächstes wird eine Operation der Sicherheitszugriffsschlüsselverwaltungseinheit 78 in dem CGW 13 gemäß 67 bis 69 beschrieben. Das CGW 13 führt ein Sicherheitszugriffsschlüsselverwaltungsprogramm aus und führt somit die Sicherheitszugriffsschlüsselverwaltungsverarbeitung aus. Das CGW 13 führt eine Sicherheitszugriffsschlüsselerzeugungsverarbeitung und eine Sicherheitszugriffsschlüssellöschverarbeitung als die Sicherheitszugriffsschlüsselverwaltungsverarbeitung aus. Nachfolgend wird jede Verarbeitung der Reihe nach beschrieben.
  • (6-1) Sicherheitszugriffsschlüsselerzeugungsverarbeitung
  • Wenn die Sicherheitszugriffsschlüsselerzeugungsverarbeitung initiiert wird, analysiert das CGW 13 Umschreibspezifikationsdaten, die von dem DCM 12 erlangt werden (S601; entsprechend einer Umschreibspezifikationsdatenanalyseprozedur) und extrahiert einen Zufallszahlenwert, ein Schlüsselmuster und ein Entschlüsselungsoperationsmuster aus CGW-Umschreibspezifikationsdaten (S602; entsprechend einer Schlüsselableitungswertextrahierungsprozedur).
  • Das CGW 13 durchsucht den sicheren Bereich 78a, entschlüsselt den Zufallszahlenwert, der aus den CGW-Umschreibspezifikationsdaten extrahiert wird, unter Verwendung eines Entschlüsselungsschlüssels entsprechend einer ECU (ID) aus einem Bündel von Entschlüsselungsschlüsseln eines Sicherheitszugriffsschlüssels, der sich in dem sicheren Bereich 78a befindet, und erzeugt den Sicherheitszugriffsschlüssel (S603, entsprechend einer Schlüsselerzeugungsprozedur).
  • Wie in 68 illustriert ist, erzeugt das CGW 13 den Sicherheitszugriffsschlüssel aus den CGW-Umschreibspezifikationsdaten. Das CGW 13 tätigt eine Sitzungsübergangsanforderung zum Übergang zu einer Umschreibsitzung, die Schreibdaten schreibbar macht (S604), und führt den Sicherheitszugriff auf die Umschreibziel-ECU 19 unter Verwendung des Sicherheitszugriffsschlüssels aus (S605). Wenn die Ausführung des Sicherheitszugriffs abgeschlossen wurde, verteilt das CGW 13 die Schreibdaten an die Umschreibziel-ECU 19 (S606) und tätigt eine Sitzungsaufrechterhaltungsanforderung (S607). Wenn bestimmt wird, dass Installation abgeschlossen wurde (S608: JA), beendet das CGW 13 die Sicherheitszugriffsschlüsselerzeugungsverarbeitung.
  • (6.2) Sicherheitszugriffsschlüssellöschverarbeitung
  • Wenn die Sicherheitszugriffsschlüssellöschverarbeitung initiiert wird, bestimmt das CGW 13, ob oder nicht Umschreiben des Anwendungsprogramms in der Umschreibziel-ECU 19 abgeschlossen wurde (S611). Wenn bestimmt wird, dass Umschreiben des Anwendungsprogramms in der Umschreibziel-ECU 19 abgeschlossen wurde (S611: JA), führt das CGW 13 die Sicherheitszugriffsschlüsselerzeugungsverarbeitung zum Löschen des erzeugten Sicherheitszugriffsschlüssels (S612) aus und beendet die Sicherheitszugriffsschlüssellöschverarbeitung.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Sicherheitszugriffsschlüsselverwaltungsverarbeitung aus und extrahiert einen Zufallszahlenwert entsprechend der Umschreibziel-ECU 19 aus einem Analyseergebnis von Umschreibspezifikationsdaten, entschlüsselt den Zufallszahlenwert unter Verwendung eines Entschlüsselungsschlüssels entsprechend der Umschreibziel-ECU 19, der in dem sicheren Bereich 78a gespeichert ist, und erzeugt einen Sicherheitszugriffsschlüssel. Das CGW 13 erzeugt einen Sicherheitszugriffsschlüssel ohne Erlangen des Sicherheitszugriffsschlüssels von der Außenseite und somit kann Sicherheitszugriff auf die Umschreibziel-ECU 19 angemessen ausgeführt werden, während das Risiko von Sicherheitszugriffsschlüssellecken reduziert wird.
  • Wenn es mehrere Umschreibziel-ECUs 19 gibt, ist es wünschenswert für das CGW 13 einen Sicherheitszugriffsschlüssel unmittelbar, bevor jedes Stück von Schreibdaten installiert wird, zu erzeugen. In anderen Worten in einem Fall, in dem Umschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, ist es für das CGW 13 wünschenswert, Verarbeitungen zum Erzeugen eines Sicherheitszugriffsschlüssel der ECU (ID1) auszuführen, Schreibdaten in die ECU (ID1) zu installieren, einen Sicherheitszugriffsschlüssel der ECU (ID2) zu erzeugen, Schreibdaten in die ECU (ID2) zu installieren, einen Sicherheitszugriffsschlüssel der ECU (ID3) zu erzeugen und Schreibdaten in die ECU (ID3) zu installieren, in dieser Reihenfolge. Beispielsweise, wie in 63 illustriert ist, führt das CGW 13 eine Sicherheitszugriffsverarbeitung aus, bei der es darum geht, ob oder nicht Installationsbedingungen für die ECU (ID1) hergestellt sind, und weist die ECU (ID1) an, Installation in einem Fall auszuführen, in einem Fall, in dem Zugriff normal zulässig ist. Danach führt das CGW 13 eine Sicherheitszugriffsverarbeitung aus, bei der es darum geht, ob oder nicht Installationsbedingungen für die ECU (ID2) hergestellt sind, und weist die ECU (ID2) an, Installation in einem Fall auszuführen, in einem Fall, in dem Zugriff normal zulässig ist.
  • Wenn das CGW 13 Sicherheitszugriff auf die Umschreibziel-ECU 19 ausführt, die dann Zugriff darauf erlaubt, entsperrt die Umschreibziel-ECU den Sicherheitszugriff durch Empfangen einer Sitzungsübergangsanforderung von dem CGW 13 und mach somit Schreibdaten in den Flash-Speicher schreibbar. Die Sitzungsübergangsanforderung ist beispielsweise eine „Umschreibsitzungsübergangsanforderung“ in einem zweiten Zustand, der in 155 illustriert ist. Sofern die Umschreibziel-ECU 19 nicht die Sitzungsübergangsanforderung von dem CGW 13 innerhalb einer vorbestimmten Zeit (beispielsweise 5 Sekunden) nach Erlauben des Zugriffs darauf empfängt, läuft die Zeit der Umschreibziel-ECU ab, sie sperrt den Sicherheitszugriff und akzeptiert Empfangen der Sitzungsübergangsanforderung nicht. In einem Fall, in dem das CGW 13 die Sitzungsübergangsanforderung an die Umschreibziel-ECU 19 innerhalb einer vorbestimmten Zeit nach Spezifizieren der Erlaubnis zum Zugriff auf die Umschreibziel-ECU 19 nicht sendet, ist es erforderlich, dass das CGW eine Sitzungsaufrechterhaltungsanforderung an die Umschreibziel-ECU 19 sendet, die Umschreibziel-ECU 19 zu halten, so dass ihre Zeit nicht abläuft, und die Sitzungsübergangsanforderung an die Umschreibziel-ECU 19 zu senden.
  • Wenn beispielsweise eine Kampagnenmitteilung für die Version 2.0 auftritt, wird durch Aufheben (ebenso als Abbrechen bezeichnet) einer Operation inmitten des Umschreibens in einem Zustand, in dem ein Anwendungsprogramm der Version 1.0 in einer aktiven Bank A geschrieben ist, ein Anwendungsprogramm der Version 2.0 in einer inaktiven Bank geschrieben und ausgehend von diesem Zustand ist es bevorzugt, dann nur Aktivierung ausgeführt wird, ohne Installation auszuführen, und somit kann die Sicherheitszugriffsverarbeitung weggelassen werden.
  • (7) Schreibdatenverifizierungsverarbeitung
  • Die Schreibdatenverifizierungsverarbeitung wird gemäß 70 bis 78 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 verifiziert Schreibdaten in dem CGW 13. Das CGW 13 kann die in der vorliegenden Ausführungsform beschriebene Schreibdatenverifizierungsverarbeitung vor Erlangen einer Zugriffserlaubnis in (6) der Sicherheitszugriffsschlüsselverwaltungsverarbeitung ausführen oder kann die Schreibdatenverifizierungsverarbeitung nach Erlangen der Zugriffserlaubnis ausführen.
  • Wie in 70 illustriert ist, wenn die Schreibdaten erzeugt werden, erzeugt der Zulieferer oder der OEM einen Datenverifizierungswert durch Anwenden eines Datenverifizierungswertberechnungsalgorithmus auf die erzeugten Schreibdaten. Hierbei können die Schreibdaten ein neues zu aktualisierendes Programm sein oder können Differenzdaten zwischen einem alten Programm und einem neuen Programm sein. Der Zulieferer oder OEM erzeugt einen Authentifikator durch Anwenden von Verschlüsselung unter Verwendung eines vorbestimmten Schlüssels (Schlüsselwert) auf den Datenverifizierungswert und registriert die Schreibdaten und den Authentifikator in der Zentralvorrichtung 3 in Korrelation miteinander. Insbesondere werden die Daten für jede ECU 19 in der Umprogrammierungsdaten-DB gespeichert, die später beschrieben wird. Die Zentralvorrichtung 3 erzeugt ein Verteilungspaket einschließlich der Schreibdaten und des Authentifikators und speichert das Verteilungspaket in die Paket-DB.
  • Wenn eine Herunterladeanforderung für das Verteilungspaket von der Mastervorrichtung 11 erzeugt wird, sendet die Zentralvorrichtung 3 das Verteilungspaket einschließlich der Schreibdaten und des Authentifikators an die Mastervorrichtung 11 in Antwort auf die Herunterladeanforderung. In diesem Fall sind die Schreibdaten, die von der Zentralvorrichtung 3 an die Mastervorrichtung 11 gesendet werden, verschlüsselter Text und der Authentifikator, der von der Zentralvorrichtung 3 an die Mastervorrichtung 11 gesendet wird, ist ebenso verschlüsselter Text. Der Authentifikator, der von der Zentralvorrichtung 3 an die Mastervorrichtung 11 gesendet wird, kann Klartext sein. Wenn der Authentifikator, der von der Zentralvorrichtung 3 an die Mastervorrichtung 11 gesendet wird, Klartext ist, ist eine Entschlüsselungsverarbeitung, die später beschrieben wird, nicht erforderlich.
  • Wenn das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird, extrahiert die Mastervorrichtung 11 die Schreibdaten für die Umschreibziel-ECU 19 aus dem heruntergeladenen Verteilungspaket und verifiziert Gültigkeit der Schreibdaten vor Verteilen der Schreibdaten an die Umschreibziel-ECU 19. Das heißt, die Mastervorrichtung 11 führt sequentiell eine Entschlüsselungsverarbeitung, eine erste Verifizierungswertberechnungsverarbeitung, eine zweite Verifizierungswertberechnungsverarbeitung, eine Vergleichsverarbeitung und eine Bestimmungsverarbeitung aus und verifiziert somit die Schreibdaten. Die Entschlüsselungsverarbeitung ist eine Verarbeitung zum Entschlüsseln des Authentifikators, der im verschlüsselten Text gesendet wird. Die erste Verifizierungswertberechnungsverarbeitung ist eine Verarbeitung zum Berechnen eines ersten Datenverifizierungswerts, der ein erwarteter Wert ist, aus dem entschlüsselten Authentifikator unter Verwendung des Schlüssels (Schlüsselwert). Die erste Verifizierungswertberechnungsverarbeitung ist eine Verarbeitung zum Berechnen eines zweiten Datenverifizierungswerts aus den Schreibdaten unter Verwendung des Datenverifizierungswertberechnungsalgorithmus. Die Vergleichsverarbeitung ist eine Verarbeitung zum Vergleichen des ersten Datenverifizierungswerts mit dem zweiten Datenverifizierungswert. Die Bestimmungsverarbeitung ist eine Verarbeitung zum Bestimmen von Gültigkeit der Schreibdaten basierend auf einem Vergleichsergebnis in der Vergleichsverarbeitung.
  • Wie in 71 illustriert ist, beinhaltet das CGW 13 eine Schreibbarkeitsbestimmungseinheit 79a, eine Verarbeitungsausführungsanforderungseinheit 79b, eine Verarbeitungsergebniserlangungseinheit 79c und eine Verifizierungseinheit 79d in der Schreibdatenverifizierungseinheit 79. Die Schreibbarkeitsbestimmungseinheit 79a bestimmt, ob oder nicht Schreibdaten in der Umschreibziel-ECU 19 geschrieben werden können. Wenn durch die Schreibbarkeitsbestimmungseinheit 69a bestimmt wird, dass die Schreibdaten in der Umschreibziel-ECU 19 geschrieben werden können, teilt die Verarbeitungsausführungsanforderungseinheit 79b dem DCM 12 eine Verarbeitungsausführungsanforderung mit und fordert somit das DCM 12 auf, eine Verarbeitung auszuführen. Die Verarbeitungsausführungsanforderungseinheit 68b teilt dem DCM 12 eine Anforderung zum Ausführen mindestens einer der Entschlüsselungsverarbeitung, der ersten Verifizierungswertberechnungsverarbeitung, der zweiten Verifizierungswertberechnungsverarbeitung, der Vergleichsverarbeitung und der Bestimmungsverarbeitung mit. Der Verarbeitungsergebniserlangungseinheit 68c wird ein Verarbeitungsergebnis von dem DCM 12 mitgeteilt und somit erlangt sie das Verarbeitungsergebnis von dem DCM 12. Wenn das Verarbeitungsergebnis durch die Verarbeitungsergebniserlangungseinheit 68c erlangt wird, verifiziert die Verifizierungseinheit 79d die Schreibdaten unter Verwendung des Verarbeitungsergebnisses. Das heißt, in der Konfiguration entspricht das CGW 13 einer ersten Vorrichtung und einer ersten Funktionseinheit und das DCM 12 entspricht einer zweiten Vorrichtung und einer zweiten Funktionseinheit.
  • Als nächstes wird eine Operation der Schreibdatenverifizierungseinheit 79 in dem CGW 13 gemäß 72 bis 77 beschrieben. Das CGW 13 führt das Verifizierungsprogramm der Schreibdaten aus und führt die Verifizierungsverarbeitung der Schreibdaten aus.
  • Wenn die Schreibdatenverifizierungsverarbeitung initiiert wird, teilt das CGW 13 dem DCM 12 eine Verarbeitungsausführungsanforderung mit und fordert somit das DCM 12 auf, eine Verarbeitung auszuführen (S701; entsprechend einer Verarbeitungsausführungsanforderungsprozedur). Das CGW 13 teilt dem DCM 12 eine Verarbeitungsausführungsanforderung für mindestens eine der Entschlüsselungsverarbeitung, der ersten Verifizierungswertberechnungsverarbeitung, der zweiten Verifizierungswertberechnungsverarbeitung, der Vergleichsverarbeitung und der Bestimmungsverarbeitung mit. Wenn ein Verarbeitungsergebnis von dem DCM 12 erlangt wird (S702; entsprechend einer Verarbeitungsergebniserlangungsprozedur), verifiziert das CGW 13 die Schreibdaten unter Verwendung des erlangten Verarbeitungsergebnisses (S703; entsprechend einer Verifizierungsprozedur).
  • Nachfolgend werden manche Fälle beispielhaft beschrieben, in denen das CGW 13 dem DCM 12 eine Verarbeitungsausführungsanforderung mitteilt. In einem Beispiel, das in 73 illustriert ist, teilt das CGW 13 dem DCM 12 Verarbeitungsausführungsanforderungen für die Entschlüsselungsverarbeitung, die erste Verifizierungswertberechnungsverarbeitung und die zweite Verifizierungswertberechnungsverarbeitung mit. Wenn dem DCM 12 die Verarbeitungsausführungsanforderungen für die Entschlüsselungsverarbeitung von dem CGW 13, die erste Verifizierungswertberechnungsverarbeitung und die zweite Verifizierungswertberechnungsverarbeitung mitgeteilt werden, führt das DCM sequentiell die Entschlüsselungsverarbeitung, die erste Verifizierungswertberechnungsverarbeitung und die zweite Verifizierungswertberechnungsverarbeitung aus. Das DCM 12 führt eine Verarbeitungsergebnismitteilungsverarbeitung aus und teilt dem CGW 13 einen ersten Datenverifizierungswert, der durch die erste Verifizierungswertberechnungsverarbeitung berechnet wird, und einen zweiten Datenverifizierungswert, der durch die zweite Verifizierungswertberechnungsverarbeitung berechnet wird, als Verarbeitungsergebnisse mit. Wenn das CGW 13 eine Verarbeitungsergebniserlangungsverarbeitung ausführt und den ersten Datenverifizierungswert und den zweiten Datenverifizierungswert von dem DCM 12 erlangt, führt das CGW sequentiell die Vergleichsverarbeitung und die Bestimmungsverarbeitung unter Verwendung des ersten Datenverifizierungswerts und des zweiten Datenverifizierungswerts aus. Das CGW 13 verifiziert Schreibdaten basierend auf der Korrektheit eines Bestimmungsergebnisses in der Bestimmungsverarbeitung. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizierungswerts.
  • In einem Beispiel, das in 74 illustriert ist, teilt das CGW 13 dem DCM 12 Verarbeitungsausführungsanforderungen für die Entschlüsselungsverarbeitung und die zweite Verifizierungswertberechnungsverarbeitung mit. Wenn dem DCM 12 die Verarbeitungsausführungsanforderungen für die Entschlüsselungsverarbeitung und die zweite Verifizierungswertberechnungsverarbeitung von dem CGW 13 mitgeteilt werden, führt das DCM sequentiell die Entschlüsselungsverarbeitung und die zweite Verifizierungswertberechnungsverarbeitung aus und teilt dem CGW 13 einen zweiten Datenverifizierungswert mit, der durch die zweite Verifizierungswertberechnungsverarbeitung berechnet wird. Wenn das CGW 13 eine Verarbeitungsergebniserlangungsverarbeitung ausführt und den zweiten Datenverifizierungswert von dem DCM 12 erlangt, führt das CGW die erste Verifizierungswertberechnungsverarbeitung aus und führt sequentiell die Vergleichsverarbeitung und die Bestimmungsverarbeitung unter Verwendung des ersten Datenverifizierungswerts, der durch die erste Verifizierungswertberechnungsverarbeitung berechnet wird, und dem zweiten Datenverifizierungswert aus. Das CGW 13 verifiziert Schreibdaten basierend auf der Korrektheit eines Bestimmungsergebnisses in der Bestimmungsverarbeitung. In diesem Beispiel speichert das CGW 13 einen Schlüssel zum Berechnen des ersten Datenverifizierungswerts.
  • In dem Beispiel, das in 75 illustriert ist, teilt das CGW 13 dem DCM 12 Verarbeitungsausführungsanforderungen für die Entschlüsselungsverarbeitung, die erste Verifizierungswertberechnungsverarbeitung, die zweite Verifizierungswertberechnungsverarbeitung und die Vergleichsverarbeitung mit. Wenn dem DCM 12 die Verarbeitungsausführungsanforderungen für die Entschlüsselungsverarbeitung, die erste Verifizierungswertberechnungsverarbeitung, die zweite Verifizierungswertberechnungsverarbeitung und die Vergleichsverarbeitung von dem CGW 13 mitgeteilt werden, führt das DCM sequentiell die Entschlüsselungsverarbeitung, die erste Verifizierungswertberechnungsverarbeitung, die zweite Verifizierungswertberechnungsverarbeitung und die Vergleichsverarbeitung aus. Das DCM 12 führt eine Verarbeitungsergebnismitteilungsverarbeitung aus und teilt dem CGW 13 ein Vergleichsergebnis in der Vergleichsverarbeitung als ein Verarbeitungsergebnis mit. Wenn das CGW 13 eine Verarbeitungsergebniserlangungsverarbeitung ausführt und das Vergleichsergebnis von dem DCM 12 erlangt, führt das CGW die Bestimmungsverarbeitung unter Verwendung des Vergleichsergebnisses aus. Das CGW 13 verifiziert Schreibdaten basierend auf der Korrektheit eines Bestimmungsergebnisses in der Bestimmungsverarbeitung. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizierungswerts.
  • In einem Beispiel, das in 76 illustriert ist, teilt das CGW 13 dem DCM 12 Verarbeitungsausführungsanforderungen für die Entschlüsselungsverarbeitung, die erste Verifizierungswertberechnungsverarbeitung, die zweite Verifizierungswertberechnungsverarbeitung, die Vergleichsverarbeitung und die Bestimmungsverarbeitung mit. Wenn dem DCM 12 die Verarbeitungsausführungsanforderungen für die Entschlüsselungsverarbeitung, die erste Verifizierungswertberechnungsverarbeitung, die zweite Verifizierungswertberechnungsverarbeitung, die Vergleichsverarbeitung und die Bestimmungsverarbeitung von dem CGW 13 mitgeteilt werden, führt das DCM sequentiell die Entschlüsselungsverarbeitung, die erste Verifizierungswertberechnungsverarbeitung, die zweite Verifizierungswertberechnungsverarbeitung, die Vergleichsverarbeitung und die Bestimmungsverarbeitung aus. Das DCM 12 führt eine Verarbeitungsergebnismitteilungsverarbeitung aus und teilt dem CGW 13 ein Bestimmungsergebnis in der Bestimmungsverarbeitung als ein Verarbeitungsergebnis mit. Wenn das CGW 13 eine Verarbeitungsergebniserlangungsverarbeitung ausführt und das Verarbeitungsergebnis von dem DCM 12 erlangt, verifiziert das CGW die Schreibdaten basierend auf der Korrektheit des Bestimmungsergebnisses, das durch das Verarbeitungsergebnis angegeben wird. In diesem Beispiel speichert das DCM 12 einen Schlüssel zum Berechnen des ersten Datenverifizierungswerts.
  • In einem Fall, in dem es mehrere Umschreibziel-ECUs 19 gibt, führt das CGW 13 eine Verifizierungsverarbeitung für Schreibdaten für zwei oder mehr Umschreibziel-ECUs 19 wie folgt aus. In einem Fall, in dem es mehrere Umschreibziel-ECU 19 gibt, hat das CGW 13 ein Verfahren zum kollektiven Verifizieren von Schreibdaten für die mehreren Umschreibziel-ECUs 19 und ein Verfahren zum individuellen Verifizieren von Schreibdaten.
  • Bei dem Verfahren zum kollektiven Verifizieren der Schreibdaten für mehrere Umschreibziel-ECUs 19, wie in 77 illustriert ist, verifiziert das CGW 13 kollektiv Schreibdaten der ECU (ID1)), Schreibdaten der ECU (ID2) und Schreibdaten der ECU (ID3), verteilt die Schreibdaten der ECU (ID1) an die Schreibziel-ECU (ID1), verteilt die Schreibdaten der ECU (ID2) an die Schreibziel-ECU (ID2) und verteilt die Schreibdaten der ECU (ID3) an die Schreibziel-ECU (ID3). In diesem Fall werden die Stücke von Schreibdaten der mehreren Umschreibziel-ECUs 19 kollektiv verifiziert und somit ist es möglich, die Zeit zu reduzieren, die vom Initiieren von Verifizierung der Schreibdaten der mehreren Umschreibziel-ECUs 19 bis zum Abschluss des Umschreibens eines Programms erforderlich ist. Das heißt, es ist es möglich, die Zeit, die von der Initiierung der Verifizierung der Stücke von Schreibdaten von mehreren Umschreibziel-ECUs 19 bis zum Abschluss des Umschreibens eines Programms erforderlich ist, mehr als in einer Konfiguration zu reduzieren, in der die Stücke von Schreibdaten der mehreren Umschreibziel-ECUs 19 individuell verifiziert werden.
  • Bei dem Verfahren zum individuellen Verifizieren der Schreibdaten mehrerer Umschreibziel-ECUs 19, wie in 78 illustriert ist, verifiziert das CGW 13 Schreibdaten der ECU (ID1), verteilt die Schreibdaten der ECU (ID1) an die Schreibziel-ECU (ID1), verifiziert Schreibdaten der ECU (ID2), verteilt die Schreibdaten der ECU (ID2) an die Schreibziel-ECU (ID2), verifiziert Schreibdaten der ECU (ID3) und verteilt die Schreibdaten der ECU (ID3) an die Schreibziel-ECU (ID2). In diesem Fall werden die Schreibdaten unmittelbar verifiziert, bevor die Schreibdaten verteilt werden, und es ist es demnach möglich illegalen Zugriff zu verhindern und somit Verlässlichkeit zu erhöhen. In anderen Worten, variiert in der Konfiguration, in der die Schreibdaten kollektiv für mehrere Umschreibziel-ECUs 19 verifiziert werden, die Zeit vom Abschluss der Verifizierung gemäß einer Umschreibreihenfolge bis zur Verteilung der Schreibdaten abhängig von der Umschreibreihenfolge und, wenn die Zeit vom Abschluss der Verifizierung bis zur Verteilung der Schreibdaten zunimmt, gibt es Bedenken, dass es ein Risiko von Fälschung aufgrund illegalen Zugriffs zu dieser Zeit gibt, aber so eine Situation kann verhindert werden, indem die Schreibdaten unmittelbar bevor die Schreibdaten verteilt werden, verifiziert werden.
  • Wie vorstehend beschrieben ist, führt das CGW 13 Schreibdatenverifizierungsverarbeitung aus und veranlasst somit das DCM 12, das ein Verteilungspaket von der Zentralvorrichtung 3 herunterlädt, mindestens manche der Verarbeitungen bezüglich Verifizierung der Schreibdaten auszuführen. Obwohl ein Bereich zum Speichern von Schreibdaten nicht zugeordnet werden kann oder ein Verifizierungsberechnungsprogramm nicht in dem CGW 13 oder der Umschreibziel-ECU 19 installiert werden kann, können die Schreibdaten angemessen verifiziert werden, bevor die Schreibdaten in die Umschreibziel-ECU 19 geschrieben werden.
  • In der Konfiguration, in der das CGW 13, das in 74 illustriert ist, die erste Verifizierungswertberechnungsverarbeitung ausführt, da das CGW 13 den Schlüssel (Schlüsselwert) speichert und die Verifizierungsverarbeitung ausführt, ohne den Schlüssel an das DCM 12 zu senden, kann Sicherheit verglichen mit einer Konfiguration erhöht werden, in der das DCM 12 die erste Verifizierungswertberechnungsverarbeitung ausführt. In einem Fall, in dem es mehrere Umschreibziel-ECUs 19 gibt, kann die erste Verifizierungswertberechnungsverarbeitung unter Verwendung eines gemeinsamen Schlüssels (Schlüsselwert) ausgeführt werden, der mehreren Umschreibziel-ECUs 19 gemein ist, und die erste Verifizierungswertberechnungsverarbeitung kann unter Verwendung unterschiedlicher individueller Schlüssel (Schlüsselwert) in den mehreren Umschreibziel-ECUs 19 ausgeführt werden.
  • Wie vorstehend beschrieben ist, obwohl die Konfiguration, in der das CGW 13 dem DCM 12 die Verarbeitungsausführungsanforderung mitteilt, beispielhaft beschrieben wurde, kann beispielsweise in einem Fall, in dem eine Verarbeitungslast in dem DCM 12 zunimmt und somit ein Problem in einer ursprünglichen Verarbeitung auftritt, eine Navigationsvorrichtung oder eine ECU außer der Umschreibziel-ECU 19 anstelle des DCM 12 verwendet werden, um der Navigationsvorrichtung oder der ECU außer der Umschreibziel-ECU 19 die Verarbeitungsausführungsanforderung mitzuteilen.
  • In einem Fall, in dem das DCM 12 und das CGW 13 miteinander integriert sind und mit einer ursprünglichen Verarbeitung umgehen können, ohne ein Problem zu verursachen, kann die Verarbeitungsausführungsanforderung bei der Verarbeitungsausführungseinheit der Verarbeitungsausführungseinheit selbst angefordert werden. Beispielsweise kann die Verarbeitung zwischen unterschiedlichen Softwarekomponenten in der gleichen ECU ausgeführt werden. Die vorstehend beschriebene Offenbarung kann auf die Mastervorrichtung 11 angewendet werden, die als eine integrierte ECU konfiguriert ist, die Funktionen des DCM 12 und des CGW 13 hat. Beispielsweise ist in 73 bis 76 die Verarbeitungsfunktion in dem CGW 13 als eine erste Funktionseinheit festgelegt und die Verarbeitungsfunktion in dem DCM 12 ist als eine zweite Funktionseinheit festgelegt und die erste Funktionseinheit teilt der zweiten Funktionseinheit eine Verarbeitungsausführungsanforderung mit und ein Ausführungsergebnis wird von der zweiten Funktionseinheit an die erste Funktionseinheit zurückgegeben. In der Mastervorrichtung 11, die als eine integrierte ECU konfiguriert ist, in einem Fall, in dem eine Verarbeitungslast zunimmt und somit ein Problem in einer Kommunikationsverarbeitung oder einer Relaisverarbeitung auftritt, kann der Navigationsvorrichtung oder einer ECU außer der Umschreibziel-ECU 19 eine Verarbeitungsausführungsanforderung anstelle der zweiten Funktionseinheit mitgeteilt werden.
  • Als der Datenverifizierungswert kann ein einzelner Wert für das gesamte Anwendungsprogramm berechnet werden und mehrere Werte können für jeweilige Blöcke des Anwendungsprogramms berechnet werden. Wenn die Schreibdaten gesamte Daten sind, kann der Datenverifizierungswert zur Integritätsverifizierung verwendet werden, nachdem die Schreibdaten abgeschlossen sind.
  • Während der Sicherheitszugriff ein Verfahren zur Verifizierung ist, ob oder nicht das CGW 13 und die Umschreibziel-ECU 19 verbindbar sind, beinhaltet Verifizierung der Schreibdaten die Konzepte, dass die Zentralvorrichtung 3, die ein Verteilungsziel der Schreibdaten ist, genehmig ist (Verbindung und wechselseitige Authentifizierung durch TLS-Kommunikation), ein Kommunikationskanal zum Herunterladen der Schreibdaten von der Zentralvorrichtung 3 genehmigt ist (Kommunikationskanalverschleierung oder -verschlüsselung), die Schreibdaten, die von der Zentralvorrichtung 3 heruntergeladen werden, nicht gefälscht sind (Fälschungserfassung) und die Schreibdaten, die von der Zentralvorrichtung 3 heruntergeladen werden, nicht gefälscht werden können (Verschlüsselung).
  • Die Schreibdaten zur Zeit des Umschreibens eines neuen Programms wurden beschrieben, aber das gleiche gilt für Schreibdaten während Rollback zur Zeit eines Rollbacks auf ein altes Programm. In diesem Fall kann das CGW 13 die Schreibdaten während des Rollbacks zur Zeit des Herunterladens der Schreibdaten von der Zentralvorrichtung 3 verifizieren, aber kann die Rollbackschreibdaten unmittelbar, bevor die Rollbackschreibdaten an die Umschreibziel-ECU 19 verteilt werden, wenn eine Schreibabbruchanforderung erzeugt wird, verifizieren.
  • (8) Datenspeicherbankinformationssendesteuerverarbeitung
  • Die Datenspeicherbankinformationssendesteuerverarbeitung wird gemäß 79 bis 81 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Datenspeicherbankinformationssendesteuerverarbeitung in dem CGW 13 aus.
  • Wie in 79 illustriert ist, beinhaltet das CGW 13 eine Datenspeicherbankinformationserlangungseinheit 80a, eine Datenspeicherbankinformationssendeeinheit 80b, eine Umschreibverfahrenspezifizierungseinheit 80c und eine Umschreibverfahrenanweisungseinheit 80d in der Datenspeicherbankinformationssendesteuereinheit 80. Die Datenspeicherbankinformationserlangungseinheit 80a erlangt Informationen hinsichtlich Hardware und Software von den jeweiligen ECUs 19 als ECU-Konfigurationsinformationen. Insbesondere in einem Fall einer Doppelbank-Speicher-ECU und einer Einzelbank-Aussetzspeicher-ECU mit mehreren Datenspeicherbänken werden eine Software-ID einschließlich Versionsinformationen jeder der Datenspeicherbänke und Informationen, die eine aktive Bank-A spezifizieren können, als Doppelbankumschreibinformationen erlangt (nachfolgend als Bankinformationen bezeichnet).
  • Wenn die ECU-Konfigurationsinformationen, die die Bankinformationen beinhalten, durch die Datenspeicherbankinformationserlangungseinheit 80a erlangt werden, sendet die Datenspeicherbankinformationssendeeinheit 80b die erlangten Bankinformationen von dem DCM 12 an die Zentralvorrichtung 3 als einer der ECU-Konfigurationsinformationen. Die Datenspeicherbankinformationssendeeinheit 80b kann die ECU-Konfigurationsinformationen an die Zentralvorrichtung 3 jedes Mal senden, wenn der IG-Schalter 42 zwischen einem Ein-Zustand und einem AUS-Zustand umschaltet und kann die ECU-Konfigurationsinformationen an die Zentralvorrichtung 3 in Antwort auf eine Anforderung von der Zentralvorrichtung 3 senden. Die Datenspeicherbankinformationssendeeinheit 80b kann die ECU-Konfigurationsinformationen nicht nur an eine Doppelbank-Speicher-ECU und eine Einzelbank-Aussetzspeicher-ECU senden, sondern ebenso an eine Einzelbankspeicher-ECU zusammen mit einer ECU-Konfiguration einschließlich der Bankinformationen.
  • Die Umschreibverfahrenspezifizierungseinheit 80c spezifiziert ein Umschreibverfahren basierend auf einem Analyseergebnis von Umschreibspezifikationsdaten für das CGW 13. Das Umschreibverfahren gibt ein Energieversorgungsschaltverfahren während Installation in der Umschreibziel-ECU 19 an. Wenn das Umschreibverfahren durch die Umschreibverfahrenspezifizierungseinheit 80c spezifiziert wird, weist die Umschreibverfahrenanweisungseinheit 80d die Umschreibziel-ECU 19 an, ein Anwendungsprogramm gemäß dem spezifizierten Umschreibverfahren umzuschreiben. Das heißt, wenn ein Umschreibverfahren basierend auf Selbsterhaltungsenergie durch die Umschreibverfahrenspezifizierungseinheit 80c spezifiziert ist, weist die Umschreibverfahrenanweisungseinheit 80d die Umschreibziel-ECU 19 an, ein Anwendungsprogramm basierend auf der Selbsterhaltungsenergie umzuschreiben. Wenn ein Umschreibverfahren basierend auf Energieversorgungssteuerung durch die Umschreibverfahrenspezifizierungseinheit 80c spezifiziert wird, weist die Umschreibverfahrenanweisungseinheit 80d die Umschreibziel-ECU 19 an, ein Anwendungsprogramm basierend auf der Energieversorgungssteuerung ohne Verwenden der Selbsterhaltungsenergie umzuschreiben.
  • Als nächstes wird gemäß 80 und 81 eine Operation der Datenspeicherbankinformationssendesteuereinheit 80 in dem CGW 13 beschrieben. Das CGW 13 führt ein Datenspeicherbankinformationssendesteuerprogramm aus und führt somit die Datenspeicherbankinformationssendesteuerverarbeitung aus.
  • Wenn die Datenspeicherbankinformationssendesteuerverarbeitung initiiert wird, sendet das CGW 13 eine ECU-Konfigurationsinformationsanforderung einschließlich der Bankinformationen an alle der ECUs 19 (S801) und erlangt ECU-Konfigurationsinformationen einschließlich der Bankinformationen von allen der ECUs 19 (S802; entsprechend einer Datenspeicherbankinformationserlangungsprozedur). Wenn die ECU-Konfigurationsinformationen von jeder Umschreibziel-ECU 19 erlangt werden, sendet das CGW 13 die erlangten ECU-Konfigurationsinformationen an das DCM 12 (S803; entsprechend einer Datenspeicherbankinformationssendeprozedur) und wartet darauf, dass Schreibdaten und Umschreibspezifikationsdaten von dem DCM 12 erlangt werden (S804). Hierbei kann in einem Fall, in dem die Umschreibziel-ECU 19 vorab spezifiziert wird, das CGW 13 Bankinformationen oder dergleichen von nur der spezifizierten Umschreibziel-ECU 19 erlangen.
  • Wenn die ECU-Konfigurationsinformationen von dem CGW 13 empfangen werden, speichert das DCM 12 temporär die empfangenen ECU-Konfigurationsinformationen und sendet die ECU-Konfigurationsinformationen an die Zentralvorrichtung 3 zu einem Zeitpunkt des Sendens (Aktualisierens) der ECU-Konfigurationsinformationen an die Zentralvorrichtung 3. Wenn die ECU-Konfigurationsinformationen von dem DCM 12 empfangen werden, speichert und analysiert die Zentralvorrichtung 3 die empfangenen ECU-Konfigurationsinformationen.
  • Die Zentralvorrichtung 3 spezifiziert eine Version eines Anwendungsprogramms auf jeder Bank jeder ECU 19, die eine Sendequelle der Bankinformationen ist, und deren Bank eine aktive Bank ist, und spezifiziert Schreibdaten konform mit der Version des Anwendungsprogramms und die aktive Bank entsprechend den spezifizierten Doppelbänken bestätigen (entsprechend einer Aktualisierungsdatenauswahlprozedur). Beispielsweise in einem Fall, in dem die Bank-A eine aktive Bank ist, das Anwendungsprogramm, das in der aktiven Bank gespeichert ist, die Version 2.0 hat, die Bank-B eine inaktive Bank ist und das Anwendungsprogramm, das in der inaktiven Bank gespeichert ist, die Version 1.0 hat, spezifiziert die Zentralvorrichtung 3 Schreibdaten der Version 3.0 für die Bank-B als die Schreibdaten. In einem Fall, in dem die Schreibdaten Differenzdaten sind, spezifiziert die Zentralvorrichtung 3 die Differenzdaten zur Aktualisierung von der Version 1.0 auf die Version 3.0. Wenn die Schreibdaten spezifiziert werden, sendet die Zentralvorrichtung 3 ein Verteilungspaket einschließlich der spezifizierten Schreibdaten und Umschreibspezifikationsdaten an das DCM 12 (entsprechend einer Verteilungspaketsendeprozedur).
  • Die Zentralvorrichtung 3 kann ein Verteilungspaket, das an das DCM 12 zu senden ist, statisch auswählen oder dynamisch erzeugen. In einem Fall, in dem die Zentralvorrichtung 3 statisch das Verteilungspaket auswählt, das an das DCM 12 zu senden ist, verwaltet die Zentralvorrichtung mehrere Verteilungspakete, in denen die Schreibdaten gespeichert sind, wählt Schreibdaten konform mit einer inaktiven Bank aus, wählt ein Verteilungspaket, in dem die ausgewählten Schreibdaten gespeichert sind, unter den mehreren Verteilungspaketen aus und sendet das ausgewählte Verteilungspaket an das DCM 12. In einem Fall, in dem die Zentralvorrichtung 3 dynamisch ein Verteilungspaket erzeugt, das an das DCM 12 zu senden ist, wenn Schreibdaten entsprechend der bzw. konform mit der inaktiven Bank spezifiziert werden, erzeugt die Zentralvorrichtung ein Verteilungspaket, in dem die spezifizierten Schreibdaten gespeichert werden, und sendet das erzeugte Verteilungspaket an das DCM 12.
  • Wenn das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird, extrahiert das DCM 12 die Schreibdaten und die Umschreibspezifikationsdaten von dem heruntergeladenen Verteilungspaket und überträgt die extrahierten Schreibdaten und Umschreibspezifikationsdaten an das CGW 13.
  • Wenn bestimmt wird, dass die Schreibdaten und die Umschreibspezifikationsdaten von dem DCM 12 erlangt werden (S804: JA), analysiert das CGW 13 die erlangten Umschreibspezifikationsdaten (S805) und bestimmt Umschreibverfahren für die Umschreibziel-ECU 19 basierend auf einem Analyseergebnis der Umschreibspezifikationsdaten (S806 und S807).
  • Wenn bestimmt wird, dass das Umschreibverfahren ein Umschreibverfahren unter Verwendung von Selbsterhaltungsenergie ist (S806: JA), sendet das CGW 13 eine Schreibdatenerlangungsanforderung an das DCM 12 unter der Bedingung in einer installierbaren Fahrzeugverfassung zu sein, erlangt die Schreibdaten von dem DCM 12, verteilt die erlangten Schreibdaten an die Umschreibziel-ECU 19, schreibt das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie (S808) um und beendet die Datenspeicherbankinformationssendesteuerverarbeitung. Das Verfahren zum Umschreiben des Anwendungsprogramms unter Verwendung der Selbsterhaltungsenergie ist das gleiche, dass in dem (b) Fall beschrieben ist, in dem das Anwendungsprogramm unter Verwendung von Selbsterhaltungsenergie gemäß 28 und 29 umgeschrieben wird, der vorstehend beschrieben ist.
  • Wenn bestimmt wird, dass ein Umschreibverfahren Umschreiben basierend auf Energieversorgungssteuerung ist (S807: JA), sendet das CGW 13 eine Schreibdatenerlangungsanforderung an das DCM 12 unter der Bedingung, dass das Fahrzeug geparkt ist, erlangt Schreibdaten von dem DCM 12, verteilt die erlangten Schreibdaten an die Umschreibziel-ECU 19, schreibt das Anwendungsprogramm unter Verwendung der Energieversorgungssteuerung (S809) um und beendet die Datenspeicherbankinformationssendesteuerverarbeitung. Das Verfahren zum Umschreiben des Anwendungsprogramms unter Verwendung der Energieversorgungssteuerung ist das gleiche, das in (a) einem Fall beschrieben ist, in dem das Anwendungsprogramm unter Verwendung von Energieversorgungssteuerung gemäß 26 und 27 umgeschrieben wird.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Datenspeicherbankinformationssendesteuerverarbeitung aus und teilt somit der Zentralvorrichtung 3 die ECU-Konfigurationsinformationen einschließlich Bankinformationen mit und lädt ein Verteilungspaket einschließlich Schreibdaten entsprechend der bzw. konform mit den ECU-Konfigurationsinformationen von der Zentralvorrichtung 3 an das DCM 12 herunter. Das CGW 13 erlangt Schreibdaten entsprechend den bzw. konform mit den Bankinformationen von dem DCM 12 und verteilt die Schreibdaten an die Umschreibziel-ECU 19. In einem Fall, in dem die ECU 19, die mit einem Flash-Speicher mit doppelten Datenspeicherbänken ausgestattet ist und montiert ist, ein Umschreibziel ist, kann ein Anwendungsprogramm angemessen umgeschrieben werden.
  • Als ein Aspekt, in dem die Zentralvorrichtung 3 das Verteilungspaket verteilt, gibt es die folgenden ersten bis dritten Verteilungsaspekte. In dem ersten Verteilungsaspekt verteilt die Zentralvorrichtung 3 ein einzelnes Verteilungspaket, das beispielsweise Schreibdaten der Version 2.0 für die Bank-A und Schreibdaten der Version 2.0 für die Bank-B speichert. Das DCM 12 extrahiert die Schreibdaten der Version 2.0 für die Bank-A und die Schreibdaten der Version 2.0 für die Bank-B von dem Verteilungspaket, das von der Zentralvorrichtung 3 heruntergeladen wird, und überträgt die extrahierten Schreibdaten an das CGW 13. Wenn die Schreibdaten der Version 2.0 für die Bank-A und die Schreibdaten der Version 2.0 für die Bank-B von dem DCM 12 übertragen wird, wählt das CGW 13 eines der zwei Stücke von Schreibdaten aus und verteilt die ausgewählten Schreibdaten an die Umschreibziel-ECU 19. Das heißt, es gibt eine Konfiguration, in der Schreibdaten entsprechend jeder Datenspeicherbank in einem Verteilungspaket beinhaltet sind, und Umschreibdaten, die für die Umschreibziel-ECU 19 geeignet sind, in der Mastervorrichtung 11 ausgewählt werden.
  • In dem zweiten Verteilungsaspekt wählt und verteilt die Zentralvorrichtung 3 beispielsweise entweder ein Verteilungspaket, das Schreibdaten der Version 2.0 für die Bank-A speichert, oder ein Verteilungspaket, das Schreibdaten der Version 2.0 für die Bank-B speichert. Das DCM 12 extrahiert die Schreibdaten von dem Verteilungspaket, das von der Zentralvorrichtung 3 heruntergeladen wird, und überträgt die extrahierten Schreibdaten an das CGW 13. Das CGW 13 verteilt die Schreibdaten, die von dem DCM 12 übertragen werden, an die Umschreibziel-ECU 19. Das heißt, es gibt eine Konfiguration, in der die Zentralvorrichtung 3 ein Verteilungspaket einschließlich Inaktive-Bank-Schreibdaten basierend auf Bankinformationen auswählt, die von dem DCM 12 hochgeladen werden.
  • In dem dritten Verteilungsaspekt verteilt die Zentralvorrichtung 3 ein Verteilungspaket, das beispielsweise Schreibdaten der Version 2.0 speichert, die durch die Bank-A und die Bank-B gemeinsam genutzt werden. Das DCM 12 extrahiert die Schreibdaten der Version 2.0, die durch die Bank-A und die Bank-B gemeinsam genutzt werden, von dem Verteilungspaket, das von der Zentralvorrichtung 3 heruntergeladen wird, und überträgt die extrahierten Schreibdaten an das CGW 13. Das CGW 13 verteilt die Schreibdaten der Version 2.0, die durch die Bank-A und die Bank-B gemeinsam genutzt werden und von dem DCM 12 übertragen werden, an die Umschreibziel-ECU 19. Wenn die Schreibdaten der Version 2.0, die durch die Bank-A und die Bank-B gemeinsam genutzt werden, von dem CGW 13 empfangen werden, schreibt die Umschreibziel-ECU 19 die empfangenen Schreibdaten entweder in die Bank-A oder die Bank-B. In diesem Fall, wenn ein Anwendungsprogramm in der Umschreibziel-ECU 19 ausgeführt wird, arbeitet eine Adresslösungsfunktion des Mikrocomputers, so dass die Umschreibziel-ECU 19 angemessen operiert wird, sogar, wenn die Schreibdaten entweder in die Bank-A oder die Bank-B geschrieben werden. Das heißt, der Mikrocomputer der Schreibziel-ECU 19 löst Differenzen zwischen Ausführungsadressen aufgrund einer Differenz zwischen den Bänken derart, dass die Zentralvorrichtung 3 und die Mastervorrichtung 11 operiert werden können, ohne die Bänke zu kennen.
  • Die ECU-Konfigurationsinformationen einschließlich der Bankinformationen, die von der CGW 13 an die Zentralvorrichtung 3 mittels des DCM 12 gesendet werden, können nicht nur Informationen zum Spezifizieren einer Version eines Anwendungsprogramms und einer aktiven Bank entsprechend den Doppelbänken, sondern ebenso Fahrzeugspezifizierungsinformationen, Systemspezifizierungsinformationen, ECU-Spezifizierungsinformationen, Verwendungsumgebungsinformationen und dergleichen beinhalten.
  • Die Fahrzeugspezifizierungsinformationen sind eindeutige Informationen zum Spezifizieren eines Fahrzeugs, das ein Verteilungsziel eines Verteilungspakets ist, und sind beispielsweise eine Fahrzeugidentifikationsnummer (VIN). In Fahrzeugen, die unter die Vorschriften für die On-Bord-Diagnose-Vorschriften (OBD) fallen, kann eine VIN gemäß den Bestimmungen der OBD-Vorschriften verwendet werden, aber in Fahrzeugen, die nicht unter die OBD-Vorschriften fallen, wie z. B. EV-Fahrzeuge (Elektrofahrzeug), ist die VIN nicht verfügbar, und somit können individuelle Fahrzeugidentifikationsinformationen anstelle der VIN verwendet werden.
  • Die Systemspezifizierungsinformationen sind eindeutige Informationen zum Identifizieren des Umprogrammierungssystemtyps. Das CGW 13 kann drahtloses Umschreiben für ein System ausführen, in dem drahtgebundenes Umschreiben unter Verwendung von Diagnosekommunikation, die durch das CGW verwaltet wird, ausgeführt werden kann, aber drahtloses Umschreiben für andere individuelle Systeme nicht ausführen kann. Der Grund dafür ist, dass das System ein Programm, das auf drahtlose Weise unter Verwendung eines Aktualisierungsmechanismus eines Programms erlangt wird, das auf drahtgebundene Weise erlangt wird, aktualisiert. Das heißt, es ist für die Zentralvorrichtung 3 erforderlich, zu bestimmen, welches Verteilungspaket an welches System zu verteilen ist, und es ist es möglich, zu verwalten, welches System an dem Fahrzeug montiert ist, indem die Systemspezifizierungsinformationen verwendet werden. Das Zentralvorrichtung 3 kann ein Umschreibverfahren für jedes System, eine Umschreibreihenfolge in einem Fall, in dem mehrere Systeme Umschreibziele sind, und dergleichen durch Bestimmen der Systemspezifizierungsinformationen bestimmen.
  • Die ECU-Spezifizierungsinformationen sind eindeutige Informationen zum Spezifizieren der Umschreibziel-ECU 19 und sind Informationen einschließlich einer Softwareversion zum eindeutigen Spezifizieren der Umschreibziel-ECU und eines Anwendungsprogramms, das in der Umschreibziel-ECU 19 geschrieben ist, und einer Hardwareversion. Die ECU-Spezifizierungsinformationen entsprechen ebenso einer ECU-Teilenummer. In einem Fall, in dem die jüngste Software mit gesamten Daten geschrieben ist, ist nur die Hardwareversion erforderlich. Es ist ebenso möglich Informationen zu definieren, die durch ein Anwendungsprogramm spezifiziert werden können, wie eine Spezifikationsversion oder eine Konfigurationsversion, und ferner eine Mikrocomputer-ID, eine Sub-Mikrocomputer-ID, eine Flash-ID, eine Software-Kind-Version, eine Software-Enkel-Version und dergleichen zu definieren.
  • Die Verwendungsumgebungsinformationen sind eindeutige Informationen zum Spezifizieren einer Umgebung, in der der Benutzer das Fahrzeug verwendet. Wenn die Verwendungsumgebungsinformationen von dem CGW 13 an die Zentralvorrichtung 3 mittels des DCM 12 gesendet werden, kann die Zentralvorrichtung 3 ein Anwendungsprogramm, das für die Umgebung geeignet ist, in der der Benutzer die Fahrzeuge verwendet, verteilen. Es ist es möglich, Anwendungsprogramme zu verteilen, die für Umgebungen geeignet sind, in denen der Benutzer Fahrzeuge verwendet, beispielsweise Anwendungsprogramme, die für Beschleunigung spezialisiert sind, werden an Benutzer verteilt, die plötzliche Beschleunigungsfahrt ausgehend von der Zeit des Stoppens bevorzugen, und Anwendungsprogramme die in Beschleunigungsleistung unterlegen sind, aber für umweltfreundliches Fahren spezialisiert sind, werden an Benutzer verteilt, die umweltfreundliches Fahren bevorzugen.
  • Wie vorstehend beschrieben ist, wurde der Fall beschrieben, in dem der Flash-Speicher an dem Mikrocomputer der Umschreibziel-ECU 19 montiert ist, aber, in einem Fall, in dem ein externer Speicher mit dem Mikrocomputer der Umschreibziel-ECU 19 verbunden ist, wird der externe Speicher als der gleiche wie ein Doppelbankspeicher verarbeitet und Schreibdaten werden durch Unterteilen eines Schreibbereichs in zwei Bereiche geschrieben. In einem Fall, in dem der Flash-Speicher auf dem Mikrocomputer der Umschreibziel-ECU 19 montiert ist und der externe Speicher verbunden ist, kann ein Programm, das in dem externen Speicher gespeichert ist, in manchen Fällen temporär in einen Speicher des Mikrocomputers kopiert werden. Da der externe Speicher im Allgemeinen als ein Speicherbereich eines Operationsprotokolls der ECU verwendet werden kann, ist es wünschenswert, Speichern des Operationsprotokolls in einem Fall zu stoppen, in dem Schreiben der Schreibdaten in den externen Speicher initiiert wird, und Speichern des Operationsprotokolls in einem Fall wiederaufzunehmen, in dem Schreiben der Schreibdaten in den externen Speicher abgeschlossen wurde.
  • Das gleiche gilt für einen Fall des Umschreibens von Kartendaten, da es ein Konzept von Doppelbänken und eine Version nicht nur in einem Fall des Umschreibens eines Anwendungsprogramms aber ebenso in einem Fall von Daten mit der Eigenschaft, nacheinander zu aktualisiert werden, wie die Kartendaten gibt.
  • (9) Nicht-Umschreibziel-Energieversorgungsverwaltungsverarbeitung
  • Die Energieversorgungsverwaltungsverarbeitung für die Nicht-Umschreibziel-ECU 19 wird gemäß 82 bis 87 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Energieversorgungsverwaltungsverarbeitung für die Nicht-Umschreibziel-ECU 19 in der CGW 13 aus. In der vorliegenden Ausführungsform wird eine Situation angenommen, in der Herunterladen eines Verteilungspakets durch das DCM 12 abgeschlossen wurde, das CGW 13 Umschreibspezifikationsdaten erlangt und das CGW 13 Schreibdaten an die Umschreibziel-ECU 19 verteilt, während das Fahrzeug in einem Parkzustand ist. In einem Fall, in dem die Schreibdaten an die Umschreibziel-ECU 19 verteilt werden, fordert das CGW 13 die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie einzuschalten, um alle der ECUs 19 in einen Startzustand zu bringen.
  • Wie in 82 illustriert ist, beinhaltet das CGW 13 eine Umschreibzielspezifizierungseinheit 81a, eine Installierbarkeitsbestimmungseinheit 81b, eine Zustandsübergangssteuereinheit 81c und eine Umschreibreihenfolgespezifizierungseinheit 81d in der Energieversorgungsverwaltungseinheit 81 der Nicht-Umschreibziel-ECU 19. Die Umschreibzielspezifizierungseinheit 81a spezifiziert die Umschreibziel-ECU 19 und die Nicht-Umschreibziel-ECU 19 basierend auf einem Analyseergebnis der Umschreibspezifikationsdaten. Die Installierbarkeitsbestimmungseinheit 81b bestimmt, ob oder nicht Installation in der Umschreibziel-ECU 19 durchführbar ist.
  • Die Zustandsübergangssteuereinheit 81c kann einen Zustand der ECU 19 zum Übergehen veranlassen und veranlasst die ECU 19 in einem Stoppzustand oder einem Schlafzustand, in einen Startzustand (Aufwachzustand) überzugehen, oder veranlasst die ECU 19 in dem Startzustand, in den Stoppzustand oder den Schlafzustand überzugehen. Die Zustandsübergangssteuereinheit 81c veranlasst die ECU 19 in einem normalen Operationszustand, in einen Energiesparoperationszustand überzugehen, oder veranlasst die ECU 19 in dem Energiesparoperationszustand, in den normalen Operationszustand überzugehen. Wenn durch die Installierbarkeitsbestimmungseinheit 81b bestimmt wird, dass die Installation durchführbar ist, steuert die Zustandsübergangssteuereinheit 81c mindestens eine Nicht-Umschreibziel-ECU 19, in dem Stoppzustand, dem Schlafzustand oder dem Energiesparoperationszustand zu sein. Die Umschreibreihenfolgespezifizierungseinheit 81d spezifiziert eine Umschreibreihenfolge der Umschreibziel-ECU 19 basierend auf dem Analyseergebnis der Umschreibspezifikationsdaten.
  • Als nächstes erfolgt eine Beschreibung einer Operation der Energieversorgungsverwaltungseinheit 81 der Nicht-Umschreibziel-ECU 19 in dem CGW 13 gemäß 83 bis 87 beschrieben. Das CGW 13 führt ein Nicht-Überschreibungsziel-Energieversorgungsverwaltungsprogramm aus und führt somit eine Nicht-Umschreibziel-Energieversorgungsverwaltungsverarbeitung aus. Hierbei erfolgt eine Beschreibung eines Falls, in dem die ECUs 19, die Verwaltungsziele sind, durch das CGW 13 in den Startzustand gebracht werden.
  • Wenn die Energieversorgungsverwaltungsverarbeitung für die Nicht-Umschreibziel-ECU 19 initiiert wird, spezifiziert das CGW 13 die Umschreibziel-ECU 19 und die Nicht-Umschreibziel-ECU 19 basierend auf einem Analyseergebnis der CGW-Umschreibspezifikationsdaten (S901) und spezifiziert eine Umschreibreihenfolge von einer oder mehreren Umschreibziel-ECUs 19 basierend auf dem Analyseergebnis der Umschreibspezifikationsdaten (S902). Wenn das CGW 13 bestimmt, ob oder nicht Schreibdaten geschrieben werden können (S903; entsprechend einer Schreibbarkeitsbestimmungsprozedur) und bestimmt, dass die Schreibdaten geschrieben werden können (S903: JA), sendet das CGW eine Energie-aus-Anforderung (Stoppanforderung) an die Nicht-Umschreibziel-ECU 19 des ACC-Systems und die Nicht-Umschreibziel-ECU 19 des IG-Systems und veranlasst somit die Nicht-Umschreibziel-ECU 19 des ACC-Systems und die Nicht-Umschreibziel-ECU 19 des IG-Systems, von dem Startzustand in den Stoppzustand überzugehen (S904; entsprechend einer Zustandsübergangssteuerprozedur).
  • Wenn das CGW 13 bestimmt, ob oder nicht Senden der Energie-aus-Anforderung an alle der entsprechenden ECUs 19 abgeschlossen wurde (S905), und bestimmt, dass Senden der Energie-aus-Anforderung an all die entsprechenden ECUs 19 abgeschlossen wurde (S905: JA), sendet das CGW eine Schlafanforderung an die Nicht-Umschreibziel-ECU 19 des +B-Energiesystems und veranlasst somit die Nicht-Umschreibziel-ECU 19 des +B-Energiesystems von dem Startzustand in den Schlafzustand überzugehen (S906; entsprechend einer Zustandsübergangssteuerprozedur).
  • Wenn das CGW 13 bestimmt, ob oder nicht Senden der Schlafanforderung an alle der entsprechenden ECUs 19 abgeschlossen wurde (S907), und bestimmt, dass das Senden der Schlafanforderung an alle der entsprechenden ECUs 19 abgeschlossen wurde (S907: JA), bestimmt das CGW, ob oder nicht Umschreiben eines Anwendungsprogramms in allen der Umschreibziel-ECUs 19 abgeschlossen wurde (S908). Wenn bestimmt wird, dass Umschreiben des Anwendungsprogramms in allen der Umschreibziel-ECUs 19 abgeschlossen wurde (S908: JA), beendet das CGW 13 die Energieversorgungsverwaltungsverarbeitung für die Nicht-Umschreibziel-ECU 19. Wenn bestimmt wird, dass Umschreiben des Anwendungsprogramms nicht in allen der Umschreibziel-ECUs 19 abgeschlossen werden (S908: NEIN), kehrt das CGW 13 zu Schritt S904 zurück und führt wiederholt Schritt S904 und die nachfolgenden Schritte aus.
  • In einem Fall, in dem es mehrere Umschreibziel-ECUs 19 gibt, kann das CGW 13 individuell veranlassen, dass Zustände der mehreren Umschreibziel-ECUs 19 übergehen, oder kann kollektiv veranlassen, dass die Zustände der mehreren Umschreibziel-ECUs 19 übergehen. Das heißt, 83 illustriert eine Verarbeitung, in der das CGW 13 eine Energie-aus-Anforderung oder eine Schlafanforderung an die Nicht-Umschreibziel-ECU 19 sendet. In 84 und 85, die als nächstes beschrieben werden, erfolgt eine Beschreibung eines Falls, in dem die Energieversorgungsverwaltungsverarbeitung für die Umschreibziel-ECU 19 zusätzlich zur Energieversorgungsverwaltungsverarbeitung für die Nicht-Umschreibziel-ECU 19 ausgeführt wird.
  • Als erstes erfolgt eine Beschreibung eines Falls, in dem das CGW 13 individuell veranlasst, dass Zustände mehrerer Umschreibziel-ECUs 19 gemäß 84 übergehen. Wie beispielsweise in 84 illustriert ist, wird ein Fall beschrieben, in dem die Umschreibziel-ECUs 19 eine ECU (ID1), eine ECU (ID2) und eine ECU (ID3) sind und die Umschreibziel-ECUs 19 sequentiell Umschreiben während Parkens in einer bestimmten Umschreibreihenfolge der ECU (ID1), der ECU (ID2) und der ECU (ID3) ab der frühesten der Umschreibreihenfolge unterzogen werden.
  • Das CGW 13 veranlasst jede der ECU (ID1), ECU (ID2) und ECU (ID3) von dem Stoppzustand oder dem Schlafzustand in den Startzustand überzugehen. Das CGW 13 behält die erste Umschreibziel-ECU (ID1) in dem Startzustand, veranlasst die ECU (ID2) und die ECU (ID3) von dem Startzustand in den Stoppzustand oder den Schlafzustand überzugehen, und verteilt die Schreibdaten an die ECU (ID1). Wenn die Verteilung der Schreibdaten an die ECU (ID1) abgeschlossen wurde, veranlasst das CGW 13 die ECU (ID1) von dem Startzustand in den Stoppzustand oder den Schlafzustand überzugehen, veranlasst die zweite Umschreibziel-ECU (ID2) von dem Stoppzustand oder dem Schlafzustand in den Startzustand überzugehen, behält die ECU (ID3) in dem Stoppzustand oder dem Schlafzustand und verteilt die Schreibdaten an die ECU (ID2).
  • Wenn die Verteilung der Schreibdaten an die ECU (ID2) abgeschlossen wurde, behält das CGW 13 die ECU (ID1) in dem Stoppzustand oder dem Schlafzustand bei, veranlasst das CGW 13 die ECU (ID2) von dem Startzustand in den Stoppzustand oder den Schlafzustand überzugehen, veranlasst die dritte Umschreibziel-ECU (ID3), von dem Stoppzustand oder dem Schlafzustand in den Startzustand überzugehen, und verteilt die Schreibdaten an die ECU (ID3). Wenn das Verteilen der Schreibdaten an die ECU (ID3) abgeschlossen wurde, behält das CGW 13 die ECU (ID1) und die ECU (ID2) in dem Stoppzustand oder dem Schlafzustand und veranlasst die ECU (ID3) von dem Startzustand in den Stoppzustand oder den Schlafzustand überzugehen. Wie vorstehend erwähnt ist, steuert das CGW 13 nur die ECU 19, die ein gegenwärtiges Umschreibziel aus den mehreren Umschreibziel-ECUs 19 ist, um im Startzustand zu sein.
  • Als nächstes wird ein Fall gemäß 85 beschrieben, in dem das CGW 13 kollektiv veranlasst, dass Zustände mehrerer Umschreibziel-ECUs 19 übergehen. Wie beispielsweise in 85 illustriert ist, wird ein Fall beschrieben, in dem die Umschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind und die Umschreibziel-ECUs 19 sequentiell Umschreiben während Parkens in einer bestimmten Umschreibreihenfolge der ECU (ID1), der ECU (ID2) und der ECU (ID3) ab der frühesten der Umschreibreihenfolge unterzogen werden.
  • Das CGW 13 veranlasst jede der ECU (ID1), ECU (ID2) und ECU (ID3) von dem Stoppzustand oder dem Schlafzustand in den Startzustand überzugehen. Das CGW 13 behält alle der ECU (ID1), ECU (ID2) und ECU (ID3) in dem Startzustand und verteilt die Schreibdaten an die ECU (ID1). Wenn die Verteilung der Schreibdaten an die ECU (ID1) abgeschlossen wurde, verteilt das CGW 13 die Schreibdaten an die ECU (ID2). Wenn die Verteilung der Schreibdaten an die ECU (ID2) abgeschlossen wurde, verteilt das CGW 13 die Schreibdaten an die ECU (ID3). Wenn die Verteilung der Schreibdaten an die ECU (ID3) abgeschlossen wurde, veranlasst das CGW 13 alle der ECU (ID1), ECU (ID2) und ECU (ID3) von dem Startzustand in den Stoppzustand oder den Schlafzustand überzugehen. Wie vorstehend erwähnt ist, steuert das CGW 13 mehrere Umschreibziel-ECUs 19, um in dem Startzustand zu sein, bis Installation in allen der Umschreibziel-ECUs abgeschlossen wurde. Hierbei kann das CGW 13 simultan Schreibdaten parallel an die ECU (ID1), die ECU (ID2) und die ECU (ID3) verteilen.
  • In einem Fall, in dem die Umschreibziel-ECU 19 ein Anwendungsprogramm während Parkens umschreibt, ist eine Spannung, die der Umschreibziel-ECU 19 zugeführt wird, nicht notwendigerweise in einer stabilen Umgebung und es besteht ein Bedenken, dass Erschöpfung der Fahrzeugbatterie 40 während des Umschreibens des Anwendungsprogramms auftreten kann. Insbesondere, wenn es mehrere Umschreibziel-ECUs 19 gibt, nimmt die Zeit, die zum Umschreiben des Anwendungsprogramms erforderlich ist, zu und somit besteht eine hohe Wahrscheinlichkeit, dass Erschöpfung der Fahrzeugbatterie 40 während des Umschreibens des Anwendungsprogramms auftreten kann. In Bezug auf diese Tatsache wird die Nicht-Umschreibziel-ECU 19 in den Stoppzustand oder den Schlafzustand gebracht, wie vorstehend beschrieben ist, und somit wird eine Situation, in der eine Restbatterieladung der Fahrzeugbatterie 40 während Umschreibens eines Programms unzureichend wird, vorab verhindert. Die ECU 19, die kein gegenwärtiges Umschreibziel unter den Umschreibziel-ECUs 19 ist, wird in den Stoppzustand oder den Schlafzustand gebracht und somit kann Energieverbrauch weiter reduziert werden.
  • Die vorstehende Beschreibung betrifft einen Fall, in dem ein Anwendungsprogramm der Umschreibziel-ECU 19 während Parkens umgeschrieben wird, und es wird ein Fall beschrieben, in dem ein Anwendungsprogramm der Umschreibziel-ECU 19 umgeschrieben wird, während das Fahrzeug fährt. In einem Fall, in dem die Umschreibziel-ECU 19 das Anwendungsprogramm umschreibt, während das Fahrzeug fährt, ist eine Spannung, die der Umschreibziel-ECU 19 bereitgestellt wird, in einer stabilen Umgebung und somit gibt es kein Bedenken, dass Erschöpfung der Fahrzeugbatterie 40 während des Umschreibens des Anwendungsprogramms auftreten kann, wobei jedoch eine Restbatterieladung der Fahrzeugbatterie 40 klein sein kann. Angesichts solcher Umstände ist es wünschenswert, die ECU 19, die keine Operation ausführen muss, zu veranlassen, in den Stoppzustand oder den Schlafzustand überzugehen, während das Fahrzeug fährt. Wie in 86 illustriert ist, obwohl eine ECU 44, die eine Operation nicht ausführen muss, mit der +B-Energieleitung 37 verbunden ist, während das Fahrzeug fährt, in einem Fall einer Konfiguration, in der die ECU 44 nicht mit der ACC-Energieleitung 38 und der IG-Energieleitung 39 verbunden ist, veranlasst das CGW 13 die ECU 44, die keine Operation ausführen muss, während das Fahrzeug fährt, von dem Startzustand in den Stoppzustand oder den Schlafzustand überzugehen. Die ECU 44 ist beispielsweise eine ECU mit einer Funktion zum Verhindern von Diebstahl. Das heißt, die CGW 13 veranlasst die ECU 44, die keine Operation ausführen muss und kein Umschreibziel aus allen der ECUs 19 in dem Startzustand ist, während das Fahrzeug fährt, in den Stoppzustand oder den Schlafzustand überzugehen. Demzufolge ist es möglich, eine Zunahme von Energieverbrauch aufgrund der Installation, während das Fahrzeug fährt, zu unterdrücken.
  • Das CGW 13 überwacht eine Restbatterieladung der Fahrzeugbatterie 40 und führt die vorstehend beschriebene Nicht-Umschreibziel-Energieversorgungsverwaltungsverarbeitung aus. Eine Restbatterieladungsüberwachungsverarbeitung wird gemäß 87 beschrieben. Wenn die Restbatterieladungsüberwachungsverarbeitung initiiert wird, überwacht das CGW 13 eine Restbatterieladung während Schreibdaten an die Umschreibziel-ECU 19 verteilt werden (S911) und bestimmt, ob die Restbatterieladung gleich oder größer als eine erste vorbestimmte Kapazität ist, ob die Restbatterieladung kleiner als die erste vorbestimmte Kapazität ist und gleich oder größer als eine zweite vorbestimmte Kapazität ist, und ob die Restbatterieladung kleiner als die zweite vorbestimmte Kapazität ist (S912 bis S914).
  • Wenn bestimmt wird, dass die Restbatterieladung gleich oder größer als die erste vorbestimmte Kapazität ist (S912: JA), behält das CGW 13 die Nicht-Umschreibziel-ECU 19 in dem Startzustand und setzt die Verteilung der Schreibdaten an die Umschreibziel-ECU 19 fort (S915). Wenn bestimmt wird, dass die Restbatterieladung kleiner als die erste vorbestimmte Kapazität ist und gleich oder größer als die zweite vorbestimmte Kapazität ist (S913: JA), veranlasst das CGW 13 eine ECU, die keine Operation während Fahrens ausführen muss, aus den Nicht-Umschreibziel-ECUs 19 in den Stoppzustand oder den Schlafzustand überzugehen, und setzt die Verteilung der Schreibdaten an die Umschreibziel-ECU 19 fort (S916). Wenn bestimmt wird, dass die Restbatterieladung kleiner als die zweite vorbestimmte Kapazität ist (S914: JA), bestimmt das CGW 13, ob oder nicht Umschreiben gestoppt werden kann (S917).
  • Wenn bestimmt wird, dass Umschreiben gestoppt werden kann (S917: JA), stoppt das CGW 13 die Verteilung der Schreibdaten (S918). Wenn bestimmt wird, dass Umschreiben nicht gestoppt werden kann (S917: NEIN), veranlasst das CGW 13 alle ECUs aus den Nicht-Umschreibziel-ECU 19, die in den Stoppzustand oder den Schlafzustand übergehen können, in den Stoppzustand oder den Schlafzustand überzugehen (S919).
  • Wenn das CGW 13 bestimmt, ob oder nicht Umschreiben abgeschlossen wurde (S920), und bestimmt wird, dass Umschreiben nicht abgeschlossen ist (S920: NEIN), kehrt das CGW zu Schritt S911 zurück und führt wiederholt Schritt S911 und die nachfolgenden Schritte aus. Wenn bestimmt wird, dass das Umschreiben abgeschlossen wurde (S920: Ja), veranlasst das CGW 13 die Umschreibziel-ECU 19 in dem Stoppzustand oder dem Schlafzustand, in den Startzustand überzugehen (S921), und beendet die Restbatterieladungsüberwachungsverarbeitung. Hierbei können Werte der ersten vorbestimmten Kapazität und der zweiten vorbestimmten Kapazität vorab durch das CGW 13 gespeichert werden, oder Werte, die durch Umschreibspezifikationsdaten bestimmt sind, verwendet werden.
  • Bei Schritt S919 kann das CGW 13 die ECU 19, die eine spezifische Funktion wie eine Alarmfunktion hat, als eine Alarmfunktion von Zielen ausschließen, die in den Stoppzustand oder den Schlafzustand übergehen, und kann die Nicht-Umschreibziel-ECU 19 veranlassen, von dem Startzustand in den Stoppzustand oder den Schlafzustand mit Ausnahme der ECU 19 mit der spezifischen Funktion überzugehen. In einem Fall, in dem die Umschreibziel-ECU 19 Anwendungssteuerung ausführen kann, während ein Anwendungsprogramm umgeschrieben wird, kann das CGW 13 die Nicht-Umschreibziel-ECU 19 in den Stoppzustand oder den Schlafzustand mit Ausnahme der ECU 19, die mit der Umschreibziel-ECU 19 kommunizieren kann, bringen. Das CGW 13 kann die Umschreibziel-ECU 19 veranlassen, von dem Stoppzustand oder dem Schlafzustand in den Startzustand in einem Fall überzugehen, in dem Umschreibbedingungen hergestellt sind, wenn alle der ECUs 19 in dem Stoppzustand oder dem Schlafzustand sind, beispielsweise, wenn eine Fahrzeugposition eine vorbestimmte Position wird oder die gegenwärtige Zeit eine vorbestimmte Zeit erreicht.
  • Das CGW 13 kann die Umschreibziel-ECUs 19 oder die Nicht-Umschreibziel-ECUs 19 basierend auf irgendeiner Startenergie (eine +B-Energie-ECU, eine ACC-ECU oder eine IG-ECU), einer Domänengruppe (ein Karosseriesystem, ein Fahrsystem oder ein Multimediasystem) und einer Synchronisationszeitgebung gruppieren und kann die Umschreibziel-ECU 19 in der Gruppeneinheit in den Startzustand bringen oder kann die Nicht-Umschreibziel-ECU 19 in der Gruppeneinheit in den Stoppzustand oder Schlafzustand bringen.
  • Das CGW 13 kann konfiguriert sein, um die Energieversorgung in der Buseinheit zu steuern. Das heißt, wenn bestimmt wird, dass alle der ECUs 19, die mit einem spezifischen Bus verbunden sind, die Nicht-Umschreibziel-ECUs 19 sind, kann das CGW 13 Energie des spezifischen Busses ausschalten, um alle der Nicht-Umschreibziel-ECUs 19, die mit dem spezifischen Bus verbunden sind, zu veranlassen, in den Stoppzustand oder den Schlafzustand überzugehen.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Nicht-Umschreibziel-Energieversorgungsverwaltungsverarbeitung aus und bringt somit mindestens eine Nicht-Umschreibziel-ECU 19 in den Stoppzustand, den Schlafzustand oder den Energiesparoperationszustand, wenn bestimmt wird, dass Installation in der Umschreibziel-ECU 19 ausgeführt werden kann. Es ist es möglich, eine Situation zu verhindern, in der eine Restbatterieladung der Fahrzeugbatterie 40 während Umschreibens eines Anwendungsprogramms unzureichend wird. Da die Nicht-Umschreibziel-ECU 19 in den Stoppzustand, den Schlafzustand oder den Energiesparoperationszustand gebracht wird, ist es möglich, eine Zunahme von Kommunikationslasten zu unterdrücken.
  • (10) Dateiübertragungssteuerungsverarbeitung
  • Die Dateiübertragungssteuerungsverarbeitung wird gemäß 88 bis 97 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt Dateiübertragungssteuerungsverarbeitung in dem CGW 13 aus. Die vorliegende Ausführungsform entspricht einer Verarbeitung zum Senden von Umschreibdaten, die in dem DCM 12 (entsprechend einer ersten Vorrichtung) gespeichert sind, an die Umschreibziel-ECU 19 (entsprechend einer dritten Vorrichtung) mittels dem CGW 13 (entsprechend einer zweiten Vorrichtung).
  • Wie in 88 illustriert ist, beinhaltet das CGW 13 eine Übertragungszieldateispezifizierungseinheit 82a, eine erste Datengrößespezifizierungseinheit 82b, eine Erlangungsinformationsspezifizierungseinheit 82c, eine zweite Datengrößespezifizierungseinheit 82d und eine Unterteilte-Datei-Übertragungsanforderungseinheit 82e in der Dateiübertragungssteuereinheit 82. Die Übertragungszieldateispezifizierungseinheit 82a spezifiziert eine Datei einschließlich Schreibdaten, die in die Umschreibziel-ECU 19 zu schreiben sind, als eine Übertragungszieldatei unter Verwendung eines Analyseergebnisses von Umschreibspezifikationsdaten. Beispielsweise in einem Fall, in dem die Umschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, erlangt die Übertragungszieldateispezifizierungseinheit 82a ECU-Informationen der ECU (ID1), der ECU (ID2) und der ECU (ID3) aus den CGW-Umschreibspezifikationsdaten, die in 8 illustriert sind, und spezifiziert die Datei einschließlich der Schreibdaten aus den erlangten ECU-Informationen als eine Übertragungszieldatei. Als die Übertragungszieldatei kann eine Adresse oder ein Index zum Erlangen der Datei spezifiziert werden oder ein Dateiname der Datei kann spezifiziert werden.
  • Wenn die Übertragungszieldatei durch die Übertragungszieldateispezifizierungseinheit 82a spezifiziert wird, spezifiziert die erste Datengrößespezifizierungseinheit 82b eine erste Datengröße zum Erlangen der Übertragungszieldatei. Wenn die Übertragungszieldatei durch die Übertragungszieldateispezifizierungseinheit 82a spezifiziert wird, spezifiziert die Erlangungsinformationsspezifizierungseinheit 82c eine Adresse als Erlangungsinformationen zum Erlangen der Übertragungszieldatei. In der vorliegenden Ausführungsform wird die Adresse als die Erlangungsinformationen zum Erlangen der Übertragungszieldatei spezifiziert, aber, solange die Erlangungsinformationen zum Erlangen der Übertragungszieldatei verwendet werden, kann nicht nur eine Adresse, sondern ebenso ein Dateiname oder eine ECU (ID) verwendet werden. Die zweite Datengrößespezifizierungseinheit 82d spezifiziert eine zweite Datengröße zum Verteilen von Schreibdaten an die Umschreibziel-ECU 19. Das heißt, die erste Datengröße ist eine Datenübertragungsgröße von dem DCM 12 an das CGW 13 und die zweite Datengröße ist eine Datenübertragungsgröße von dem CGW 13 an die Umschreibziel-ECU 19.
  • Wenn die Adresse durch die Erlangungsinformationsspezifizierungseinheit 82c spezifiziert wird und die erste Datengröße durch die erste Datengrößespezifizierungseinheit 82b spezifiziert wird, bestimmt die Unterteilte-Datei-Übertragungsanforderungseinheit 82e die Adresse und die erste Datengröße in dem DCM 12 und fordert das DCM 12 auf, eine geteilte Datei zu übertragen. Beispielsweise in einem Fall, in dem eine Datenmenge einer Schreibdatei, die an die ECU (ID1) zu verteilen ist, 1 Megabyte ist, fordert die Unterteilte-Datei-Übertragungsanforderungseinheit 82e an, dass die Schreibdaten von der Adresse 0x10000000 alle 1 Kilobyte übertragen werden.
  • Als nächstes wird eine Operation der Dateiübertragungssteuereinheit 82 in dem CGW 13 gemäß 89 bis 97 beschrieben. Das CGW 13 führt ein Dateiübertragungssteuerungsprogramm aus und führt somit die Dateiübertragungssteuerungsverarbeitung aus.
  • Wenn bestimmt wird, dass ein Entpackungsabschlussmitteilungssignal von dem DCM 12 empfangen wird, initiiert das CGW 13 die Dateiübertragungssteuerungsverarbeitung. Wie in 10 illustriert ist, ist das Entpacken eine Verarbeitung zum Unterteilen einer Verteilungspaketdatei in Daten für jede ECU und jedes Stück von Umschreibspezifikationsdaten. Wenn die Dateiübertragungssteuerungsverarbeitung initiiert wird, sendet das CGW 13 eine vorbestimmte Adresse an das DCM 12 (S1001). Wenn die vorbestimmte Adresse von dem CGW 13 empfangen wird, überträgt das DCM 12 die CGW-Umschreibspezifikationsdaten an das CGW 13 mit dem Empfangen der vorbestimmten Adresse als ein Auslöser. Das CGW 13 erlangt die CGW-Umschreibspezifikationsdaten aufgrund Übertragens der CGW-Umschreibspezifikationsdaten von dem DCM 12 (S1002).
  • Wenn die CGW-Umschreibspezifikationsdaten von dem DCM 12 erlangt werden, analysiert das CGW 13 die erlangten CGW-Umschreibspezifikationsdaten (S1003) und spezifiziert eine Übertragungszieldatei basierend auf einem Analyseergebnis der Umschreibspezifikationsdaten (S1004; entsprechend einer Übertragungszieldateispezifizierungsprozedur). Das CGW 13 spezifiziert eine Adresse entsprechend der Übertragungszieldatei (S1005; entsprechend einer Erlangungsinformationsspezifizierungsprozedur) und spezifiziert die erste Datengröße entsprechend der Übertragungszieldatei (S1006; entsprechend einer ersten Datengrößespezifizierungsprozedur). Das CGW 13 sendet die spezifizierte Adresse und Datengröße an das DCM 12 gemäß den Bereitstellungen eines Dienstidentifizierers (Service Identifier, SID) 35, bestimmt die Adresse und die Datengröße in einem Speicherbereich und fordert das DCM 12 auf, eine unterteilte Datei zu übertragen (S1007).
  • Wenn die Adresse und die Datengröße von dem CGW 13 empfangen werden, analysiert das DCM 12 die DCM-Umschreibspezifikationsdaten und überträgt eine Datei entsprechend der Adresse und der Datengröße an das CGW 13 als die unterteilte Datei. Das CGW 13 erlangt die unterteilte Datei aufgrund der Übertragung der unterteilten Datei von dem DCM 12 (S1008). In diesem Fall kann das CGW 13 die erlangte Datei in einem RAM speichern und dann die erlangte Datei in einem Flash-Speicher speichern.
  • Das CGW 13 bestimmt, ob oder nicht Erlangen aller unterteilten Dateien, die zu erlangen sind, abgeschlossen wurde (S1009). Beispielsweise in einem Fall, in dem eine Datenmenge einer Schreibdatei, die an die ECU (ID1) zu verteilen ist, 1 Megabyte ist, erlangt das CGW 13 alle 1 Kilobyte eine unterteilte Datei und bestimmt, ob oder nicht Erlangen der Datenmenge von 1 Megabyte abgeschlossen wurde, indem die Erlangung der unterteilten Dateien alle 1 Kilobyte wiederholt wird. Wenn bestimmt wird, dass Erlangen aller unterteilter Dateien, die zu erlangen sind, nicht abgeschlossen ist (S1009: NEIN), kehrt das CGW 13 zu Schritt S1004 zurück und führt wiederholt Schritt S1004 und die nachfolgenden Schritte aus. Wenn bestimmt wird, dass Erlangen von all den Dateien, die zu erlangen sind, abgeschlossen wurde (S1009: JA), beendet das CGW 13 die Dateiübertragungssteuerungsverarbeitung. In einem Fall, in dem es mehrere Umschreibziel-ECUs 19 gibt, führt das CGW 13 wiederholt die Dateiübertragungssteuerungsverarbeitung an jeder Umschreibziel-ECU 19 aus.
  • Das heißt, beispielsweise in einem Fall, in dem die Umschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, führt das CGW 13 die Dateiübertragungssteuerungsverarbeitung auf der ECU (ID2) aus, wenn Verteilung von Schreibdaten an die ECU (ID1) abgeschlossen wurde, und führt die Dateiübertragungssteuerungsverarbeitung auf der ECU (ID3) aus, wenn Verteilung von Schreibdaten an die ECU (ID2) abgeschlossen wurde. Das CGW 13 kann sequentiell die Übertragungssteuerverarbeitung auf mehreren Umschreibziel-ECUs 19 ausführen und kann die Übertragungssteuerverarbeitung parallel ausführen.
  • 90 illustriert beispielsweise einen Fall, in dem eine Schreibdatendatei der ECU (ID1) an Adressen „1000“ bis „3999“, eine Schreibdatendatei der ECU (ID2) an Adressen „4000“ bis „6999“ und eine Schreibdatendatei der ECU (ID3) an Adressen „7000“ ... in dem Speicher des DCM 12 gespeichert ist.
  • In diesem Fall, wie in 91 illustriert ist, wenn ein Entpackungsabschlussmitteilungssignal von dem DCM 12 empfangen wird, sendet das CGW 13 die Adresse „0000“ an das DCM 12 und erlangt Umschreibspezifikationsdaten von dem DCM 12. Das heißt, das DCM 12 bestimmt, dass Empfangen der Adresse „0000“ eine Anforderung zum Erlangen der CGW-Umschreibdaten ist, und sendet die CGW-Umschreibspezifikationsdaten an das CGW 13. Das CGW 13 bestimmt die ECU (ID1) als ein Übertragungsziel von Schreibdaten, bestimmt die Adresse „1000“ und die Datengröße „1 Kilobyte“ und erlangt eine unterteilte Datei einschließlich Schreibdaten der ECU (ID1), die an den Adressen „1000“ bis „1999“ gespeichert sind, von dem DCM 12. Wenn die unterteilte Datei von dem DCM 12 erlangt wird, verteilt das CGW 13 die Schreibdaten, die in der unterteilten Datei beinhaltet sind, an die ECU (ID1).
  • Anschließend bestimmt das CGW 13 auf ähnliche Weise die ECU (ID1) als ein Übertragungsziel von Schreibdaten, bestimmt die Adresse „2000“ und die Datengröße „1 Kilobyte“ und erlangt eine unterteilte Datei einschließlich Schreibdaten der ECU (ID1), die an den Adressen „2000“ bis „2999“ gespeichert sind, von dem DCM 12. Wenn die unterteilte Datei von dem DCM 12 erlangt wird, verteilt das CGW 13 die Schreibdaten, die in der unterteilten Datei beinhaltet sind, an die ECU (ID1). Das CGW 13 erlangt wiederholt die unterteilte Datei alle 1 Kilobyte von dem DCM 12, bis Schreiben aller Stücke von Schreibdaten in die ECU (ID1) abgeschlossen ist, und verteilt wiederholt die Schreibdaten, die in der unterteilten Datei beinhaltet sind, an die ECU (ID1). Das heißt, wenn die Schreibdaten von 1 Kilobyte von dem DCM 12 erlangt werden, sendet das CGW 13 die Schreibdaten von 1 Kilobyte an die Umschreibziel-ECU 19 und erlangt die nächsten Schreibdaten von 1 Kilobyte von dem DCM 12, wenn Senden an die Umschreibziel-ECU 19 abgeschlossen wurde. Das CGW 13 führt wiederholt diese Verarbeitungen aus, bis Schreiben aller Stücke von Schreibdaten abgeschlossen ist.
  • Wenn Schreiben der Schreibdaten in der ECU (ID1) normal abgeschlossen ist, bestimmt das CGW 13 die ECU (ID2) als ein Übertragungsziel von Schreibdaten, bestimmt die Adresse „4000“ und die Datengröße „1 Kilobyte“ und erlangt eine unterteilte Datei einschließlich Schreibdaten der ECU (ID2), die an der Adresse „4000“ bis „4999“ gespeichert ist, von dem DCM 12. Wenn die unterteilte Datei von dem DCM 12 erlangt wird, verteilt das CGW 13 die Schreibdaten, die in der unterteilten Datei beinhaltet sind, an die ECU (ID2).
  • Wenn Schreiben der Schreibdaten in der ECU (ID2) normal abgeschlossen ist, bestimmt das CGW 13 die ECU (ID3) als ein Übertragungsziel von Schreibdaten, bestimmt die Adresse „7000“ und die Datengröße „1 Kilobyte“ und erlangt eine unterteilte Datei einschließlich Schreibdaten der ECU (ID2), die an der Adresse „7000“ bis „7999“ gespeichert ist, von dem DCM 12. Wenn die unterteilte Datei von dem DCM 12 erlangt wird, verteilt das CGW 13 die Schreibdaten, die in der unterteilten Datei beinhaltet sind, an die ECU (ID2).
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Dateiübertragungssteuerungsverarbeitung aus und spezifiziert somit eine Übertragungszieldatei basierend auf einem Analyseergebnis von Umschreibspezifikationsdaten und spezifiziert eine Adresse und eine Datengröße entsprechend der Übertragungszieldatei. Das CGW 13 bezeichnet die Adresse und die Datengröße in dem DCM 12, fordert das DCM 12 auf, eine unterteilte Datei zu übertragen, die durch Unterteilen der Übertragungszieldatei erlangt wird, und erlangt die unterteilte Datei von dem DCM 12. Demzufolge ist es möglich, Schreibdaten an die ECU 19 zu verteilen, während eines großes Volumen von Schreibdaten in dem Speicher des DCM 12 gespeichert wird. Das heißt, in dem CGW 13 ist es nicht erforderlich, einen Speicher zum Speichern eines großen Volumens einer Datei vorzubereiten und somit eine Speicherkapazität des CGW 13 zu reduzieren.
  • Es erfolgt eine Beschreibung einer Beziehung zwischen einer Datenmenge einer unterteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, und einer Datenmenge einer Schreibdatei, die von dem CGW 13 an die Umschreibziel-ECU 19 verteilt wird. In dem vorstehenden Beispiel, wie in 92 illustriert ist, wurde ein Fall beschrieben, in dem eine Datenmenge einer unterteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, 1 Kilobyte ist. Jedoch kann irgendeine Beziehung zwischen einer Datenmenge der unterteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, und einer Datenmenge der Schreibdatei, die von dem CGW 13 an die Umschreibziel-ECU 19 verteilt wird, eingesetzt werden.
  • Das heißt, beispielsweise, wenn die Umschreibziel-ECU 19 eine Spezifikation des Empfangens der Schreibdaten in 4 Kilobyte aus Gründen der CAN-Kommunikation hat, verteilt das CGW 13 eine Datenmenge einer Schreibdatei an die Umschreibziel-ECU 19 in der Einheit von 4 Kilobyte. Wenn in diesem Fall eine Datenmenge der geteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, 1 Kilobyte beträgt, erlangt das CGW 13 vier unterteilte Dateien von dem DCM 12 und verteilt dann 4 Kilobyte an die Umschreibziel-ECU 19. Das heißt, eine Datenmenge einer unterteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, ist kleiner als eine Datenmenge einer Schreibdatei, die von dem CGW 13 an die Umschreibziel-ECU 19 verteilt wird. In einer solchen Beziehung ist es im CGW 13 möglich, eine unterteilte Datei von dem DCM 12 zu erlangen und Schreibdaten parallel an die Umschreibziel-ECU 19 zu verteilen, während eine Erhöhung einer Speicherkapazität unterdrückt wird.
  • Das heißt, wenn eine Datenmenge einer geteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, 4 Kilobyte beträgt, muss eine Speicherkapazität des CGW 13 auf 8 Kilobyte festgelegt werden, um die geteilte Datei von dem DCM 12 zu erlangen und Schreibdaten parallel an die Umschreibziel-ECU 19 zu verteilen. Eine Datenmenge der geteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, wird auf 1 Kilobyte festgelegt, und somit ist es möglich, die geteilte Datei von dem DCM 12 zu erlangen und Schreibdaten parallel an die Umschreibziel-ECU 19 zu verteilen, ohne die Speicherkapazität des CGW 13 auf 8 Kilobyte zu ändern. Zum Beispiel wird die Speicherkapazität des CGW 13 5 Kilobyte zugeordnet und das CGW 13 erlangt die nächsten 1 Kilobyte von dem DCM 12, während 4 Kilobyte, die von dem DCM 12 erlangt wurden, an die Umschreibziel-ECU 19 verteilt werden. Das CGW 13 erlangt ferner die nächsten 1 Kilobyte von dem DCM 12, nachdem die Verteilung von 4 Kilobyte an die Umschreibziel-ECU 19 abgeschlossen ist.
  • Wenn andererseits die Umschreibziel-ECU 19 eine Spezifikation zum Empfangen der Schreibdaten in 128 Bytes aus Gründen der CAN-Kommunikation hat, verteilt das CGW 13 die Schreibdaten in 128 Bytes an die Umschreibziel-ECU 19. Wenn in diesem Fall eine Datenmenge einer geteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, 1 Kilobyte beträgt, erlangt das CGW 13 vier geteilte Dateien von dem DCM 12 und verteilt dann 128 Byte an die Umschreibziel-ECU 19 zu einer Zeit. Das heißt, eine Datenmenge einer geteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, ist größer als eine Datenmenge der Schreibdatei, die von dem CGW 13 an die Umschreibziel-ECU 19 verteilt wird. Zum Beispiel werden einer Speicherkapazität des CGW 13 2 Kilobyte zugeordnet und das CGW 13 erlangt die nächsten 1 Kilobyte von dem DCM 12, während es 1 Kilobyte, die von dem DCM 12 erlangt wurden, an die Umschreibziel-ECU 19 in der Einheit von 128 Byte verteilt. Das CGW 13 erlangt ferner die nächsten 1 Kilobyte von dem DCM 12, nachdem die achtmalige Verteilung von 128 Byte an die Umschreibziel-ECU 19 abgeschlossen ist.
  • Auf die vorstehend beschriebene Weise kann eine Datenmenge einer geteilten Datei, die von dem DCM 12 an das CGW 13 übertragen wird, auf einen festen Wert (zum Beispiel 1 Kilobyte) festgelegt werden, und eine Datenmenge einer Schreibdatei, die von dem CGW 13 an die Umschreibziel-ECU 19 verteilt wird, kann auf einen variablen Wert in Übereinstimmung mit einer Spezifikation der Umschreibziel-ECU 19 festgelegt werden. Das CGW 13 kann eine Menge von Daten, die an die Umschreibziel-ECU 19 zu verteilen ist, beispielsweise unter Verwendung einer Datenübertragungsgröße jeder ECU, die in den Umschreibspezifikationsdaten spezifiziert ist, bestimmen.
  • Das CGW 13 sendet eine Übertragungsanforderung an das DCM 12 und fordert das DCM 12 auf, eine geteilte Datei zu übertragen, und es gibt einen ersten Anforderungsaspekt und einen zweiten Anforderungsaspekt als Aspekte der Aufforderung des DCM 12, die geteilte Datei zu übertragen. Wenn der Empfang von Schreibdaten abgeschlossen ist, sendet die Umschreibziel-ECU 19 eine Empfangsabschlussmitteilung, die angibt, dass der Empfang der Schreibdaten abgeschlossen ist, an das CGW 13 und, wenn das Schreiben der Schreibdaten abgeschlossen ist, sendet die Umschreibziel-ECU eine Schreibabschlussmitteilung, die angibt, dass das Schreiben der Schreibdaten abgeschlossen wurde, an das CGW 13.
  • Der erste Verteilungsaspekt wird gemäß 93 beschrieben. Wenn eine unterteilte Datei von dem DCM 12 erlangt wird, verteilt das CGW 13 die erlangte unterteilte Datei als Schreibdaten an die Umschreibziel-ECU 19. Wenn Empfangen der Schreibdaten abgeschlossen wurde, sendet die Umschreibziel-ECU 19 eine Empfangsabschlussmitteilung an das CGW 13 und initiiert eine Schreibverarbeitung an den Schreibdaten. Wenn die Empfangsabschlussmitteilung der Schreibdaten von der Umschreibziel-ECU 19 empfangen wird, sendet das CGW 13 eine Übertragungsanforderung an das DCM 12 und fordert das DCM 12 auf, die nächste geteilte Datei zu übertragen. Wenn die nächste unterteilte Datei von dem DCM 12 erlangt wird, verteilt das CGW 13 die erlangte nächste unterteilte Datei als Schreibdaten an die Umschreibziel-ECU 19.
  • Wie vorstehend beschrieben ist, erlangt das CGW 13 im ersten Verteilungsaspekt die nächsten Schreibdaten von dem DCM 12 und verteilt die nächsten Schreibdaten an die Umschreibziel-ECU 19, ohne auf den Abschluss des Schreibens der Schreibdaten in die Umschreibziel-ECU 19 zu warten. Somit besteht in dem ersten Verteilungsaspekt in dem CGW 13 in einem Fall, in dem die Umschreibziel-ECU 19 das Schreiben der Schreibdaten nicht abgeschlossen hat, die Sorge, dass die nächsten Schreibdaten von der Umschreibziel-ECU 19 nicht empfangen werden können, obwohl die nächste geteilte Datei vom DCM 12 erlangt wird und die nächsten Schreibdaten an die Umschreibziel-ECU 19 verteilt werden. In einem Fall jedoch, in dem die Umschreibziel-ECU 19 das Schreiben der Schreibdaten abgeschlossen hat, kann die nächste geteilte Datei schnell von dem DCM 12 erlangt werden und die nächsten Schreibdaten können schnell an die Umschreibziel-ECU 19 verteilt werden.
  • Der zweite Verteilungsaspekt wird gemäß 94 beschrieben. Wenn eine unterteilte Datei von dem DCM 12 erlangt wird, verteilt das CGW 13 die erlangte unterteilte Datei als Schreibdaten an die Umschreibziel-ECU 19. Wenn Empfangen der Schreibdaten abgeschlossen wurde, sendet die Umschreibziel-ECU 19 eine Empfangsabschlussmitteilung an das CGW 13 und initiiert eine Schreibverarbeitung an den Schreibdaten. Wenn das Schreiben abgeschlossen ist, sendet die Umschreibziel-ECU 19 eine Schreibabschlussmitteilung an das CGW 13. Wenn die Schreibabschlussmitteilung von der Umschreibziel-ECU 19 empfangen wird, sendet das CGW 13 eine Übertragungsanforderung an das DCM 12 und fordert das DCM 12 auf, die nächste geteilte Datei zu übertragen. Wenn die nächste unterteilte Datei von dem DCM 12 erlangt wird, verteilt das CGW 13 die erlangte nächste unterteilte Datei als Schreibdaten an die Umschreibziel-ECU 19.
  • Wie vorstehend beschrieben ist, wartet das CGW 13 im zweiten Verteilungsaspekt auf den Abschluss des Schreibens der Schreibdaten in die Umschreibziel-ECU 19, erlangt dann die nächsten Schreibdaten vom DCM 12 und verteilt die nächsten Schreibdaten an die Umschreibziel-ECU 19. Somit benötigt das CGW 13 im zweiten Verteilungsaspekt Zeit, um die nächste geteilte Datei von dem DCM 12 zu erlangen, aber es ist möglich, das DCM 12 aufzufordern, eine geteilte Datei in einem Zustand zu übertragen, in dem die Umschreibziel-ECU 19 das Schreiben der Schreibdaten abgeschlossen hat. Daher können, wenn die nächste geteilte Datei vom DCM 12 erlangt wird und die nächsten Schreibdaten an die Umschreibziel-ECU 19 verteilt werden, die nächsten Schreibdaten zuverlässig an die Umschreibziel-ECU 19 verteilt werden.
  • Das CGW 13 verteilt Schreibdaten an die Umschreibziel-ECU 19 gemäß SID 34, 36 und 37, und es gibt einen ersten Verteilungsaspekt und einen zweiten Verteilungsaspekt als Aspekte des Verteilens der Schreibdaten an die Umschreibziel-ECU 19. Im ersten Verteilungsaspekt teilt das CGW 13, wie in 95 dargestellt, zu verteilende Schreibdaten durch eine vorbestimmte Datenmenge (zum Beispiel 1 Kilobyte) und verteilt die geteilten Schreibdaten. Im zweiten Verteilungsaspekt verteilt, wie in 96 dargestellt, das CGW 13 kollektiv zu verteilende Schreibdaten, ohne die Schreibdaten zu teilen. Das CGW 13 wählt entweder den ersten Verteilungsaspekt oder den zweiten Verteilungsaspekt gemäß der SID 34 aus, die zuerst an die Umschreibziel-ECU 19 zu verteilen ist. Wie in 97 illustriert ist, spezifiziert das CGW 13 den Empfang von Schreibdaten in der Umschreibziel-ECU 19 durch Empfangen von ACK (SID 74) für die SID 37, um schließlich an die Umschreibziel-ECU19 verteilt zu werden. ACK für diese SID 37 entspricht der vorstehend gemäß 93 und 94 beschriebenen Empfangsabschlussmitteilung der Schreibdaten. Das heißt, in dem ersten Verteilungsaspekt, wenn ACK für SID 37, die schließlich an die Umschreibziel-ECU 19 zu verteilen ist, empfangen wird, inkrementiert das CGW 13 eine Adresse der nächsten Schreibdaten zum Verteilen der nächsten Schreibdaten an die Umschreibziel-ECU 19 und ebenso, um ferner die nächsten Schreibdaten von dem DCM 12 zu erlangen.
  • Obwohl eine Adresse und eine Datei in den DCM-Umschreibspezifikationsdaten miteinander korreliert sind, kann als Verfahren zum Korrelieren einer Adresse mit einer Datei beispielsweise eine Ordnerkonfiguration entwickelt werden, Spezifikationsdaten können in einem Ordner 1 gespeichert und verwaltet werden, eine Datei 1 kann in einem Ordner 2 gespeichert und verwaltet werden, eine Datei 2 kann in einem Ordner 3 gespeichert und verwaltet werden und die Dateien können in einer Reihenfolge von Dateinamen verwaltet werden. Bei dem in 10 illustrierten Entpacken werden beispielsweise die DCM-Umschreibspezifikationsdaten und die CGW-Umschreibspezifikationsdaten im Ordner 1 gespeichert und verwaltet, der Authentifikator und die Differenzdaten der ECU (ID1) werden im Ordner 2 gespeichert und verwaltet und der Authentifikator und die Differenzdaten der ECU (ID2) werden im Ordner 3 gespeichert und verwaltet.
  • In einem Fall, in dem die Verteilung von Schreibdaten an die Umschreibziel-ECU 19 aus irgendeinem Grund, wie beispielsweise einer Kommunikationsunterbrechung, gestoppt wird, erlangt das CGW 13 Informationen, die eine Adresse spezifizieren können, an der das Schreiben der Schreibdaten von der Umschreibziel-ECU 19 abgeschlossen wurde, und fordert das DCM 12 auf, eine geteilte Datei einschließlich der Schreibdaten ab einem Zeitpunkt zu übertragen, zu dem deren Schreiben nicht abgeschlossen ist. Alternativ kann das CGW 13 das DCM 12 auffordern, eine geteilte Datei zu übertragen, die Schreibdaten von Anfang an beinhaltet.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Dateiübertragungssteuerungsverarbeitung durch, spezifiziert somit eine Datei einschließlich der Schreibdaten, die in die Umschreibziel-ECU19 zu schreiben sind, als eine Übertragungszieldatei, spezifiziert eine Adresse zum Erlangen der Übertragungszieldatei und die erste Datengröße, fordert das DCM 12 auf, eine geteilte Datei zu übertragen, und verteilt die Schreibdaten an die Umschreibziel-ECU, wenn die geteilte Datei von dem DCM 12 übertragen wird. Die Übertragung von Schreibdaten vom DCM 12 an das CGW 13 und die Verteilung der Schreibdaten vom CGW 13 an die Umschreibziel-ECU 19 können effizient durchgeführt werden.
  • (11) Schreibdatenverteilungssteuerverarbeitung
  • Die Schreibdatenverteilungssteuerverarbeitung wird gemäß 98 bis 108 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt Schreibdatenverteilungssteuerverarbeitung im CGW 13 durch. Da das CGW 13 über den Bus im Fahrzeug Schreibdaten an die ECU 19 sendet, wird die Schreibdatenverteilungssteuerverarbeitung so durchgeführt, dass eine Buslast während der Verteilung der Schreibdaten nicht unnötig hoch wird.
  • Wie in 98 illustriert ist, wird ein Fall angenommen, in dem die +B-Energie-ECU, die ACC-ECU und die IG-ECU mit demselben Bus verbunden sind. Da in diesem Fall im +B-Energieversorgungszustand nur die +B-Energie-ECU gestartet wird und die ACC-ECU und die IG-ECU gestoppt werden, werden Fahrzeugsteuerdaten nur der +B-Energie-ECU an den Bus gesendet. Da im ACC-Energieversorgungszustand die +B-Energie-ECU und die ACC-ECU gestartet werden und die IG-ECU gestoppt wird, werden Fahrzeugsteuerdaten der +B-Energie-ECU und der ACC-ECU an den Bus gesendet. Da im IG-Energieversorgungszustand die +B-Energie-ECU, die ACC-ECU und die IG-ECU gestartet werden, werden Fahrzeugsteuerdaten der +B-Energie-ECU, der ACC-ECU und der IG-ECU an den Bus gesendet. Das heißt, eine Sendemenge der Fahrzeugsteuerdaten nimmt in der Reihenfolge des IG-Energieversorgungszustands, des ACC-Energieversorgungszustands und des +B-Energieversorgungszustands ab.
  • Wie in 99 illustriert ist, beinhaltet das CGW 13 eine erste Korrespondenzbeziehungsspezifizierungseinheit 83a, eine zweite Korrespondenzbeziehungsspezifizierungseinheit 83b, eine Spezifizierungseinheit 83c für eine zulässige Sendemenge, eine Verteilungshäufigkeitsspezifizierungseinheit 83d, eine Buslastmesseinheit 83e und eine Verteilungssteuereinheit 83f in der Schreibdatenverteilungssteuereinheit 83.
  • Die erste Korrespondenzbeziehungsspezifizierungseinheit 83a spezifiziert eine erste Korrespondenzbeziehung, die eine Beziehung zwischen einem Energieversorgungszustand und einer zulässigen Sendemenge für einen Bus basierend auf einem Analyseergebnis von Umschreibspezifikationsdaten angibt, und spezifiziert eine Buslasttabelle, die in 100 illustriert ist. Die zulässige Sendemenge ist ein Wert einer Sendemenge, mit der Daten in einer Situation gesendet und empfangen werden können, in der keine Datenkollision oder Verzögerung auftritt. Die Buslasttabelle ist eine Tabelle, die eine Korrespondenzbeziehung zwischen dem Energieversorgungszustand und einer zulässigen Sendemenge für einen Bus angibt, und ist für jeden Bus definiert. Die zulässige Sendemenge ist eine Summe einer Sendemenge von Fahrzeugsteuerdaten und Schreibdaten, die hinsichtlich der maximal zulässigen Sendemenge gesendet werden können.
  • Da in dem in 100 illustrierten Beispiel eine zulässige Sendemenge „80%“ hinsichtlich der maximal zulässigen Sendemenge für den ersten Bus beträgt, erlaubt das CGW 13 im IG-Energieversorgungszustand „50%“ hinsichtlich der maximal zulässigen Sendemenge als zulässige Sendemenge von Fahrzeugsteuerdaten und „30%“ hinsichtlich der maximal zulässigen Sendemenge als zulässige Sendemenge von Schreibdaten. Für den ersten Bus erlaubt das CGW 13 im ACC-Energieversorgungszustand „30%“ hinsichtlich der maximal zulässigen Sendemenge als eine zulässige Sendemenge der Fahrzeugsteuerdaten und „50%“ hinsichtlich der maximal zulässigen Sendemenge als zulässige Sendemenge der Schreibdaten. Für den ersten Bus erlaubt das CGW 13 im +B-Energieversorgungszustand „20%“ hinsichtlich der maximal zulässigen Sendemenge als eine zulässige Sendemenge der Fahrzeugsteuerdaten und erlaubt „60%“ hinsichtlich der maximal zulässigen Sendemenge als zulässige Sendemenge der Schreibdaten. Wie in 100 illustriert ist, sind der zweite Bus und der dritte Bus auf die gleiche Weise definiert.
  • Die zweite Korrespondenzbeziehungsspezifizierungseinheit 83b spezifiziert eine zweite Korrespondenzbeziehung, die eine Beziehung zwischen einem Bus, zu dem die Umschreibziel-ECU 19 gehört, und einem Energieversorgungssystem basierend auf einem Analyseergebnis von Umschreibspezifikationsdaten angibt, und spezifiziert eine Umschreibziel-ECU-Zugehörigkeitstabelle, die in 101 illustriert ist. Die Umschreibziel-ECU-Zugehörigkeitstabelle ist eine Tabelle, die einen Bus, zu dem die Umschreibziel-ECU 19 gehört, und ein Energieversorgungssystem angibt.
  • In einem in 101 illustrierten Beispiel spezifiziert das CGW 13 die erste Umschreibziel-ECU 19 als eine +B-Energie-ECU, da die erste Umschreibziel-ECU 19 mit dem ersten Bus verbunden ist und in irgendeinem des +B-Energieversorgungszustands, des ACC-Energieversorgungszustands und des IG-Energieversorgungszustands gestartet wird. Das CGW 13 spezifiziert die zweite Umschreibziel-ECU 19 als eine ACC-ECU, da die zweite Umschreibziel-ECU mit dem zweiten Bus verbunden ist und im +B-Energieversorgungszustand gestoppt wird, aber im ACC-Energieversorgungszustand und im IG-Energieversorgungszustand gestartet wird. Das CGW 13 spezifiziert die dritte Umschreibziel-ECU 19 als eine IG-ECU, da die dritte Umschreibziel-ECU 19 mit dem dritten Bus verbunden ist und im +B-Energieversorgungszustand und dem ACC-Energieversorgungszustand gestoppt wird, aber im IG-Energieversorgungszustand gestartet wird.
  • Das CGW 13 verwendet die Daten des „Verbindungsbusses“ und der „Verbindungsenergieversorgung“ in den Umschreibspezifikationsdaten, die in 8 illustriert sind, um einen Bus, mit dem die Umschreibziel-ECU 19 verbunden ist, und ein diesem entsprechendes Energieversorgungssystem zu spezifizieren. Wenn solche Informationen spezifiziert werden können, müssen die Informationen nicht zwingend in einer Tabellenform gespeichert werden.
  • Die Spezifizierungseinheit 83c für eine zulässige Sendemenge spezifiziert eine zulässige Sendemenge für einen Bus, zu dem die Umschreibziel-ECU 19 gehört, wobei die zulässige Sendemenge einem Energieversorgungszustand des Fahrzeugs entspricht, wenn ein Programm aktualisiert wird, gemäß dem Spezifizierungsergebnis der ersten Korrespondenzbeziehung und dem Spezifizierungsergebnis der zweiten Korrespondenzbeziehung. Insbesondere spezifiziert die Spezifizierungseinheit 83c für eine zulässige Sendemenge einen Bus, zu dem die Umschreibziel-ECU 19 gehört, unter Verwendung der Umschreibziel-ECU-Zugehörigkeitstabelle, die die zweite Korrespondenzbeziehung ist, und spezifiziert eine zulässige Sendemenge in jedem Energieversorgungszustand für den spezifizierten Bus unter Verwendung der Buslasttabelle, die die erste Korrespondenzbeziehung ist.
  • Die Verteilungshäufigkeitsspezifizierungseinheit 83d spezifiziert eine Verteilungshäufigkeit von Schreibdaten entsprechend einem Energieversorgungszustand zum Zeitpunkt der Installation unter Verwendung einer vordefinierten Korrespondenzbeziehung zwischen einem Energieversorgungszustand und einer Verteilungshäufigkeit von Schreibdaten. Insbesondere spezifiziert die Verteilungshäufigkeitsspezifizierungseinheit 83d unter Verwendung der Buslasttabelle eine zulässige Sendemenge, die zum Verteilen von Schreibdaten zugeordnet ist, aus zulässigen Sendemengen, die durch die Spezifizierungseinheit 83c für eine zulässige Sendemenge spezifiziert sind, und spezifiziert eine Verteilungshäufigkeit der Schreibdaten. Beispielsweise, wenn spezifiziert ist, dass ein Bus, zu dem die Umschreibziel-ECU 19 gehört, der erste Bus ist, wenn ein Energieversorgungszustand zur Zeit der Installation der IG-Energieversorgungszustand ist, spezifiziert die Verteilungshäufigkeitsspezifizierungseinheit 83d eine zulässige Sendemenge als „80%“, spezifiziert eine zulässige Sendemenge, die zum Verteilen der Schreibdaten zugeordnet ist, als 30% von 80% und spezifiziert somit einer Verteilungshäufigkeit der Schreibdaten. Die zulässige Sendemenge, die zum Verteilen der Schreibdaten zugeordnet ist, entspricht Sendebeschränkungsinformationen.
  • Die Buslastmesseinheit 83e misst eine Buslast eines Busses, zu dem die Umschreibziel-ECU 19 gehört. Die Buslastmesseinheit 83e misst die Buslast, indem sie beispielsweise die Anzahl der Rahmen oder die Anzahl der pro Zeiteinheit empfangenen Bits zählt. Die Verteilungssteuereinheit 83f steuert die Verteilung der Schreibdaten in Abhängigkeit von der Verteilungshäufigkeit, die durch die Verteilungshäufigkeitsspezifizierungseinheit 83d spezifiziert wird.
  • Als nächstes wird eine Operation der Schreibdatenverteilungssteuereinheit 83 in dem CGW 13 gemäß 102 bis 108 beschrieben. Das CGW 13 führt ein Schreibdatenverteilungssteuerprogramm aus und führt somit den Schreibdatenverteilungssteuerverarbeitung durch.
  • Wenn vom DCM 12 ein Entpackungsabschlussmitteilungssignal empfangen wird, initiiert das CGW 13 die Schreibdatenverteilungssteuerverarbeitung. Das CGW 13 erlangt die CGW-Umschreibspezifikationsdaten von dem DCM 12 (S1 101) und spezifiziert eine Buslasttabelle und eine Umschreibziel-ECU-Zugehörigkeitstabelle unter Verwendung der CGW-Umschreibspezifikationsdaten (S1 102). Das CGW 13 spezifiziert einen Bus, zu dem die Umschreibziel-ECU 19 gehört, unter Verwendung der Umschreibziel-ECU-Zugehörigkeitstabelle (S1 103). Das CGW 13 spezifiziert eine zulässige Sendemenge für den Bus, zu dem die Umschreibziel-ECU 19 gehört, wobei die zulässige Sendemenge einem Energieversorgungszustand des Fahrzeugs entspricht, wenn eine Aktualisierung unter Verwendung der Buslasttabelle durchgeführt wird. Das CGW 13 spezifiziert eine Verteilungshäufigkeit der Schreibdaten unter Berücksichtigung der spezifizierten zulässigen Sendemenge (S1104; entsprechend einer Verteilungshäufigkeitsspezifizierungsprozedur). Das CGW 13 nimmt Bezug auf die zulässige Sendemenge für den ersten Bus im IG-Energieversorgungszustand, zum Beispiel in einem Fall, in dem die Schreibdaten an die ECU (ID1) als die erste Umschreibziel-ECU 19 verteilt werden, während das Fahrzeug fährt. In dem Beispiel, das in 100 illustriert ist, beträgt die zulässige Sendemenge für den ersten Bus im IG-Energieversorgungszustand „80%“, wovon Senden von „50%“ in den Fahrzeugsteuerdaten zulässig ist und Senden von „30%“ in den Schreibdaten zulässig ist. Die zulässige Sendemenge ist nur ein Wert für ein Beispiel und ein numerischer Wert wird in Übereinstimmung mit der anzuwendenden Kommunikationsspezifikation innerhalb eines zulässigen Bereichs festgelegt.
  • Da ein Rahmen in der Spezifikation auf 500 kbps CAN etwa 250 µs lang ist, werden vier Frames erzeugt, wenn eine Unterbrechung viermal für eine Sekunde auftritt, und die Buslast beträgt 100 %. Das CGW 13 spezifiziert eine Verteilungshäufigkeit der Schreibdaten durch Bestimmen der Unterbrechung, die in dem Bus auftritt. Das CGW 13 initiiert Messen der Anzahl der in der Zeiteinheit empfangenen Rahmen, initiiert Messen einer Buslast (S1105), bestimmt, ob oder nicht die gemessene Buslast die zulässige Sendemenge überschreitet (S1106), und legt ein Verteilungsintervall fest. Das Verteilungsintervall ist ein Zeitintervall, bis das CGW 13 Schreibdaten an die Umschreibziel-ECU 19 verteilt, eine Schreibabschlussmitteilung (ACK) von der Umschreibziel-ECU 19 empfängt und die nächsten Schreibdaten an die Umschreibziel-ECU 19 sendet.
  • Wenn bestimmt wird, dass die gemessene Buslast die zulässige Sendemenge nicht überschreitet (S1106: NEIN), legt das CGW 13 das Verteilungsintervall der Schreibdaten auf das kürzeste vorab festgelegte Intervall fest und initiiert die Verteilung der Schreibdaten an die Umschreibziel-ECU 19, wie in 103 illustriert ist (S1107; entsprechend einer Verteilungssteuerprozedur). Das heißt, das CGW 13 stellt das Verteilungsintervall eines Rahmens auf dem CAN auf das kürzeste vorab festgelegte Intervall fest und initiiert Verteilen der Schreibdaten an die Umschreibziel-ECU 19. Ein Rahmen auf dem CAN beinhaltet Schreibdaten mit einer Datenmenge von 8 Byte. Ein Rahmen auf dem CAN mit flexibler Datenrate (CAN FD) beinhaltet Schreibdaten mit einer Datenmenge von 64 Byte.
  • Andererseits, wenn bestimmt wird, dass die gemessene Buslast die zulässige Sendemenge überschreitet (S1106: JA), berechnet das CGW 13 ein Intervall, in dem die Busbelastung die zulässige Sendemenge nicht überschreitet (S1108), legt das Verteilungsintervall der Schreibdaten auf das berechnete Intervall fest und initiiert das Verteilen der Schreibdaten an die Umschreibziel-ECU 19, wie in 104 illustriert ist (S1109; entsprechend einer Verteilungssteuerprozedur).
  • Beispielsweise bestimmt das CGW 13 im IG-Energieversorgungszustand, ob oder nicht die Buslast die zulässige Übertragungsmenge von „80%“ für den ersten Bus überschreitet, und, wenn bestimmt wird, dass die Buslast die zulässige Sendemenge nicht überschreitet, legt sie ein Verteilungsintervall T1 fest, bei dem eine zulässige Sendemenge der Schreibdaten „30%“ beträgt. Das heißt, wie in der Buslasttabelle von 100 gezeigt ist, legt das CGW 13 das Verteilungsintervall T1 unter Verwendung von „30%“ fest, das eine zulässige Sendemenge von Schreibdaten für den ersten Bus im IG-Energieversorgungszustand ist. Das CGW 13 legt das Verteilungsintervall T1 so fest, dass die maximale Sendemenge erlaubt ist. Das CGW 13 kann eine Buslast messen, indem es ein Messziel auf einen Rahmen von Schreibdaten eingrenzt, und bestimmen, ob die Buslast abhängig von den Schreibdaten die zulässige Sendemenge „30%“ der Schreibdaten überschreitet oder nicht. Wenn bestimmt wird, dass die Buslast die zulässige Sendemenge überschreitet, ändert das CGW 13 das Verteilungsintervall in ein Verteilungsintervall T2 (> T1), bei dem die Buslast die zulässige Sendemenge nicht überschreitet, gemäß der Menge, um die die Buslast die zulässige Sendemenge überschreitet. Nachdem Schreibdaten von dem DCM 12 erlangt wurden, wartet das CGW 13 auf die vorstehend beschriebene Weise, bis das festgelegte Verteilungsintervall erreicht ist, und verteilt die Schreibdaten an die Umschreibziel-ECU 19.
  • Wenn die Verteilung der Schreibdaten an die Umschreibziel-ECU 19 initiiert wird, bestimmt das CGW 13, ob oder nicht die Verteilung der Schreibdaten an die Umschreibziel-ECU 19 abgeschlossen ist, und bestimmt kontinuierlich, ob oder nicht die gemessene Buslast die zulässige Sendemenge überschreitet (S1110 und S1011). Wenn bestimmt wird, dass die gemessene Buslast die zulässige Sendemenge nicht überschreitet (S1111: NEIN), legt das CGW 13 ein Verteilungsintervall der Schreibdaten auf das kürzeste Intervall fest, das vorab festgelegt wurde, und ändert das Verteilungsintervall der Schreibdaten an die Umschreibziel-ECU 19 (S1 112). Wenn andererseits bestimmt wird, dass die gemessene Buslast die zulässige Sendemenge überschreitet (S1111: JA), berechnet das CGW 13 ein Intervall, in dem die Buslast die zulässige Sendemenge nicht überschreitet (S1113), legt ein Verteilungsintervall der Schreibdaten auf das berechnete Intervall fest und ändert das Verteilungsintervall der Schreibdaten an die Umschreibziel-ECU 19 (S1 114).
  • Wenn bestimmt wird, dass die Verteilung der Schreibdaten an die Umschreibziel-ECU 19 abgeschlossen ist (S1110: JA), stoppt das CGW 13 Messen der Anzahl der pro Zeiteinheit empfangenen Rahmen, stoppt das Messen der Buslast (S1115) und beendet die Schreibdatenverteilungssteuerverarbeitung. Hier führt das CGW 13 in einem Fall, in dem mehrere Umschreibziel-ECUs 19 vorhanden sind, die Schreibdatenverteilungssteuerverarbeitung für die Installation in allen Umschreibziel-ECUs 19 durch.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Schreibdatenverteilungssteuerverarbeitung durch, spezifiziert somit eine Verteilungshäufigkeit von Schreibdaten an die Umschreibziel-ECU 19 unter Verwendung einer Korrespondenzbeziehung zwischen einem vorbestimmten Energieversorgungszustand und einer Verteilungshäufigkeit von Schreibdaten und steuert Verteilung der Schreibdaten gemäß der Verteilungshäufigkeit. So können beispielsweise Datenkollisionen oder Verzögerungen während Installation reduziert werden. Die Verteilung von Schreibdaten kann koexistieren, ohne die Verteilung von Fahrzeugsteuerdaten auf demselben Bus zu behindern.
  • In der vorstehenden Beschreibung wurde die Konfiguration beispielhaft dargestellt, bei der die Buslasttabelle basierend auf einem Analyseergebnis der Umschreibspezifikationsdaten im CGW 13 spezifiziert wird, aber die Buslasttabelle kann vorab gespeichert werden. Es wurde beispielhaft die Konfiguration dargestellt, in der die Umschreibziel-ECU-Zugehörigkeitstabelle basierend auf einem Analyseergebnis der Umschreibspezifikationsdaten in dem CGW 13 spezifiziert wird, aber die Umschreibziel-ECU-Zugehörigkeitstabelle kann vorab gespeichert werden.
  • In einem Energieversorgungszustand, in dem das Fahrzeug fährt, kann eine Verteilungsmenge von Schreibdaten relativ reduziert werden und in einem Energieversorgungszustand, in dem das Fahrzeug geparkt ist, kann die Verteilungsmenge der Schreibdaten relativ erhöht werden. Das heißt, in dem CGW 13, wie in 105 illustriert ist, wenn die IG-Energie während der Fahrt des Fahrzeugs in einem EIN-Zustand ist, senden die IG-ECU, die ACC-ECU und die +B-Energie-ECU einen CAN-Rahmen, so dass eine Sendemenge von Anwendungsdaten, wie beispielsweise einer Fahrzeugsteuerung oder -diagnose, relativ groß wird, und somit wird eine Verteilungsmenge von Schreibdaten relativ reduziert. In dem CGW 13 sendet, wie in 106 illustriert, wenn sich die IG-Energie in einem AUS-Zustand befindet, während das Fahrzeug geparkt ist, nur die +B-Energie-ECU einen CAN-Rahmen, so dass eine Sendemenge von Anwendungsdaten, wie Fahrzeugsteuerung oder - diagnose, relativ klein wird, und somit wird eine Verteilungsmenge von Schreibdaten relativ erhöht. Das heißt, das CGW 13 passt eine Verteilungsmenge von Schreibdaten innerhalb einer freien Kapazität an, die das Senden von Anwendungsdaten, wie beispielsweise Fahrzeugsteuerung oder -diagnose, nicht behindert.
  • Wie in 107 illustriert ist, kann in dem CGW 13 in einem Fall, in dem ein Ereignisrahmen von der Umschreibziel-ECU 19 gesendet wird, da die Häufigkeit der Unterbrechung durch den Empfang des Ereignisrahmens zunimmt und somit eine Buslast zunimmt, eine Verteilungsmenge von Schreibdaten relativ reduziert werden und in einem Fall, in dem der Ereignisrahmen nicht mehr von der Umschreibziel-ECU 19 gesendet wird, die Verteilungsmenge der Schreibdaten relativ erhöht werden.
  • Wie in 108 illustriert ist, kann in dem Fahrzeugsystem in einem Fall, in dem spezifiziert ist, dass das CGW 13 Schreibdaten verteilt, eine Buslast reduziert werden, indem ein Sendeintervall von Anwendungsdaten, wie etwa Fahrzeugsteuerung oder - diagnose, auf das zulässige maximale Intervall erhöht wird. In dem CGW 13 kann eine Verteilungsmenge von Schreibdaten relativ erhöht werden, da die Buslast dadurch verringert wird, dass das Fahrzeugsystem das Sendeintervall der Anwendungsdaten erhöht.
  • Die in den Umschreibspezifikationsdaten beinhaltete Buslasttabelle wird einheitlich und gemeinsam von beispielsweise einem Fahrzeughersteller ungeachtet eines Fahrzeugmodells, einer Klasse oder dergleichen festgelegt. Der Grund dafür ist, dass sich beispielsweise die Buslast stark ändert, wenn sich die Ausstattung einer ECU je nach Fahrzeugmodell, Klasse oder dergleichen stark ändert, und wenn die optimale Buslasttabelle individuell abhängig vom Fahrzeugmodell, der Klasse oder dergleichen festgelegt wird, ist eine komplizierte Arbeit, wie etwa eine Arbeit zum Verifizieren der Buslasttabelle, erforderlich, so dass eine solche komplizierte Arbeit reduziert wird.
  • Wie vorstehend beschrieben ist, wird ähnlich zu dem Fall, in dem die Installation durchgeführt wird, während das Fahrzeug fährt, auch in einem Fall, in dem die Installation durchgeführt wird, während das Fahrzeug geparkt wird, die Schreibdatenverteilungssteuerverarbeitung durchgeführt. Wenn die Umschreibziel-ECU 19 eine +B-Energie-ECU ist, kann eine Aktualisierung im +B-Energieversorgungszustand durchgeführt werden und somit wird auf eine zulässige Sendemenge im +B-Energieversorgungszustand in der Buslasttabelle Bezug genommen. Andererseits wird in einem Fall, in dem die Umschreibziel-ECU 19 eine IG-ECU ist, die Installation im IG-Energieversorgungszustand durchgeführt und somit wird auf eine zulässige Sendemenge im IG-Energieversorgungszustand in der Buslasttabelle Bezug genommen. Hier kann beispielsweise in einem Fall, in dem die Umschreibziel-ECU 19 eine ACC-ECU ist, die Installation im IG-Energieversorgungszustand durchgeführt werden. In diesem Fall wird auf eine zulässige Sendemenge im IG-Energieversorgungszustand in der Buslasttabelle Bezug genommen. Die Konfiguration des Speicherns der Buslasttabelle und der Umschreibziel-ECU-Zugehörigkeitstabelle wurde beschrieben, jedoch kann jede beliebige Tabelle gespeichert werden, solange eine Verteilungshäufigkeit von Schreibdaten in jedem Energieversorgungszustand spezifiziert werden kann.
  • (12) Aktivierungsanforderungsanweisungsverarbeitung
  • Die Aktivierungsanforderungsanweisungsverarbeitung wird gemäß 109 bis 111 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt im CGW 13 Aktivierungsanforderungsanweisungsverarbeitung durch. Das CGW 13 stellt Aktivierungsanforderungen an mehrere Umschreibziel-ECUs 19, in denen das Umschreiben eines Anwendungsprogramms abgeschlossen wurde, um das umgeschriebene Programm zu validieren. In der vorliegenden Ausführungsform wird ein Zustand angenommen, in dem das CGW 13 die CGW-Umschreibspezifikationsdaten analysiert, um eine Gruppe der Umschreibziel-ECUs 19 zu erkennen. Das CGW 13 tätigt nur während des Parkens eine Aktivierungsanforderung und tätigt während der Fahrt des Fahrzeugs keine Aktivierungsanforderung.
  • Wie in 109 illustriert ist, beinhaltet das CGW 13 eine Umschreibzielspezifizierungseinheit 84a, eine Umschreibabschlussbestimmungseinheit 84b, eine Aktivierungsausführbarkeitsbestimmungseinheit 84c und eine Aktivierungsanforderungsanweisungseinheit 84d in der Aktivierungsanforderungsanweisungseinheit 84. Die Umschreibzielspezifizierungseinheit 84a spezifiziert mehrere Umschreibziel-ECUs 19 unter mehreren Umschreibziel-ECUs 19, die eine kooperative Steuerung durchführen. Wenn die mehreren Umschreibziel-ECUs 19 durch die Umschreibzielspezifizierungseinheit 84a spezifiziert sind, bestimmt die Umschreibabschlussbestimmungseinheit 84b, ob oder nicht das Umschreiben von Programmen in allen der mehreren spezifizierten Umschreibziel-ECUs 19 abgeschlossen wurde.
  • Wenn durch die Umschreibabschlussbestimmungseinheit 84b bestimmt wird, dass das Umschreiben der Programme in allen der mehreren Umschreibziel-ECUs 19 abgeschlossen wurde, bestimmt die Aktivierungsausführbarkeitsbestimmungseinheit 84c, ob oder nicht eine Aktivierung ausführbar ist. Die Aktivierungsausführbarkeitsbestimmungseinheit 84c bestimmt, dass die Aktivierung ausführbar ist, in einem Fall, in dem die Aktivierung durch den Benutzer genehmigt wird und sich das Fahrzeug in einem Parkzustand befindet.
  • Die Aktivierungsanforderungsanweisungseinheit 84d gibt eine Anweisung für eine Aktivierungsanforderung in einem Fall, in dem durch die Aktivierungsausführbarkeitsbestimmungseinheit 84c bestimmt wird, dass die Aktivierung ausführbar ist. Insbesondere gibt die Aktivierungsanforderungsanweisungseinheit 84d die Anweisung für die Aktivierungsanforderung durch Geben einer Anweisung für eine Rücksetzanforderung, Überwachen einer Sitzungsübergangszeitüberschreitung oder Überwachen des internen Rücksetzens der Umschreibziel-ECU 19 nach Geben einer Anweisung für eine Anforderung zum Umschalten auf eine neue Bank. In einer Doppelbank-Speicher-ECU oder einer Einzelbank-Aussetzspeicher-ECU wird ein Anwendungsprogramm aktiviert, indem das Anwendungsprogramm auf einer neuen Bank (inaktive Bank) gestartet wird, in der das Anwendungsprogramm geschrieben ist. Andererseits wird in einer Einzelbankspeicher-ECU das Anwendungsprogramm durch Neustart aktiviert. Die Umschreibziel-ECU 19 kann so konfiguriert sein, dass sie ungeachtet von einer Aktivierungsanforderung durch sich selbst zurückgesetzt wird, nachdem eine Anweisung für eine Anforderung zum Umschalten zu einer neuen Bank empfangen wurde.
  • Als nächstes wird gemäß 110 und 111 eine Operation der Aktivierungsanforderungsanweisungseinheit im CGW 13 beschrieben. Das CGW 13 führt ein Aktivierungsanforderungsanweisungsprogramm aus und führt somit die Aktivierungsanforderungsanweisungsverarbeitung aus.
  • Wenn die Aktivierungsanforderungsanweisungsverarbeitung initiiert wird, spezifiziert das CGW 13 mehrere Umschreibziel-ECUs 19 (S1201; entsprechend einer Umschreibzielspezifizierungsprozedur). Insbesondere spezifiziert das CGW 13 die Umschreibziel-ECUs 19 unter Bezugnahme auf ECUs (IDs), die in den Umschreibspezifikationsdaten beschrieben sind. Das CGW 13 bestimmt, ob oder nicht das Umschreiben von Anwendungsprogrammen in allen der mehreren spezifizierten Umschreibziel-ECUs 19 abgeschlossen wurde (S1202; entsprechend einer Umschreibabschlussbestimmungsprozedur). Zum Beispiel führt das CGW 13 sequentiell die Installation auf den Umschreibziel-ECUs 19 gemäß der Reihenfolge der ECUs (IDs) durch, die in den Umschreibspezifikationsdaten beschrieben sind, und bestimmt, dass das Schreiben in allen Umschreibziel-ECUs 19 abgeschlossen ist, wenn die Installation für eine zuletzt beschriebene ECU (ID) abgeschlossen ist.
  • Wenn bestimmt wird, dass Umschreiben des Anwendungsprogramms in allen der mehreren spezifizierten Umschreibziel-ECUs 19 abgeschlossen wurde (S1202: JA), bestimmt das CGW 13, ob oder nicht Aktivierung ausführbar ist (S1203; entsprechend einer Aktivierungsausführbarkeitsbestimmungsprozedur). Insbesondere bestimmt das CGW 13, ob oder nicht die Benutzerzustimmung für die Aktualisierung bis jetzt erlangt wurde, ob oder nicht das Fahrzeug in einem Parkzustand ist, und dergleichen und bestimmt, dass die Aktivierung ausführbar wird, wenn diese Bedingungen erfüllt sind. Die Benutzerzustimmung kann eine Zustimmung für die gesamte Aktualisierungsverarbeitung oder eine Zustimmung für die Aktivierung sein. Wenn bestimmt wird, dass die Aktivierung ausführbar ist (S1203: JA), gibt das CGW 13 anschließend Anweisungen für Aktivierungsanforderungen an die mehreren Umschreibziel-ECUs 19 zur gleichen Zeit (entsprechend einer Aktivierungsanforderungsanweisungsprozedur). Es erfolgt eine Beschreibung unter der Annahme, dass die ECU (ID1), die ECU (ID2) und die ECU (ID3) die Umschreibziel-ECUs 19 derselben Gruppe sind.
  • Wenn bestimmt wird, dass die Aktivierung für die ECU (ID1), die ECU (ID2) und die ECU (ID3) ausführbar ist, initiiert das CGW 13 die Aktivierungsanforderungsanweisungsverarbeitung. Wenn die Aktivierungsanforderungsanweisungsverarbeitung initiiert ist, gibt das CGW 13 eine Anweisung für eine Anforderung zum Umschalten auf eine neue Bank an die Umschreibziel-ECU 19 (S1204). Das CGW 13 fordert die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie in einen AUS-Zustand einzuschalten (S1205). Das CGW 13 schaltet die IG-Energie in einen AUS-Zustand, um Aktivierung auszuführen, obwohl das Fahrzeug in einem Parkzustand ist und der IG-Schalter 42 in einem AUS-Zustand ist. In einem Fall, in dem das CGW 13 Installation ausführt und anschließend Aktivierung ausführt, da die IG-Energie in einem EIN-Zustand ist, wird S1205 nicht ausgeführt und eine Startanforderung (Aufwachanforderung) wird an die Umschreibziel-ECU 19 in dem Schlafzustand gestellt.
  • Das CGW 13 sendet eine Softwarerücksetzanforderung an die Umschreibziel-ECU 19 und gibt eine Anweisung für die Softwarerücksetzanforderung an die Umschreibziel-ECU 19 (S1206). In einem Fall, in dem die Umschreibziel-ECU 19 eine Spezifikation zum Umgehen mit der Softwarerücksetzanforderung hat, wird, wenn die Softwarerücksetzanforderung von dem CGW 13 empfangen wird, die Umschreibziel-ECU 19 durch Zurücksetzen der Software neugestartet und aktiviert ein Anwendungsprogramm. In einem Fall, in dem die Umschreibziel-ECU 19 eine Einzelbankspeicher-ECU ist, wird die Umschreibziel-ECU 19 durch das neue Anwendungsprogramm neugestartet und schaltet somit von dem alten Programm zu dem neuen Anwendungsprogramm um. In einem Fall, in dem die Umschreibziel-ECU 19 eine Einzelbank-Aussetzspeicher-ECU oder eine Doppelbank-Speicher-ECU ist, aktualisiert die Umschreibziel-ECU 19 die Informationen über die aktive bzw. die Aktive-Bank-Informationen Bank (die Bank-A oder die Bank-B), die in dem Flash-Speicher gespeichert sind, veranlasst eine Bank, in die das neue Anwendungsprogramm geschrieben wird, auf eine aktive Bank umzuschalten, und schaltet somit von dem alten Anwendungsprogramm zu dem neuen Anwendungsprogramm um.
  • Das CGW 13 fordert die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie in einem Ein-Zustand auszuschalten und die IG-Energie in einen AUS-Zustand einzuschalten, gibt eine Anweisung für eine Energierücksetzanforderung an die Umschreibziel-ECU 19 und weist die Umschreibziel-ECU 19 an, neugestartet zu werden (S1207). Sogar in einem Fall, in dem die Umschreibziel-ECU 19 keine Spezifikation zum Umgehens mit der Softwarerücksetzanforderung hat, wenn die IG-Energie von einem EIN-Zustand in einen AUS-Zustand schaltet und die IG-Energie von einem AUS-Zustand in einen EIN-Zustand schaltet, wird die Umschreibziel-ECU zurückgesetzt und neugestartet, um das Anwendungsprogramm zu aktivieren. Ebenso in diesem Fall, in einem Fall, in dem die Umschreibziel-ECU 19 eine Einzelbankspeicher-ECU ist, wird die Umschreibziel-ECU 19 durch das neue Anwendungsprogramm neugestartet und schaltet somit von dem alten Programm zu dem neuen Anwendungsprogramm um. In einem Fall, in dem die Umschreibziel-ECU 19 eine Einzelbank-Aussetzspeicher-ECU oder eine Doppelbank-Speicher-ECU ist, aktualisiert die Umschreibziel-ECU 19 die Informationen über die aktive bzw. die Aktive-Bank-Informationen Bank (die Bank-A oder die Bank-B), die in dem Flash-Speicher gespeichert sind, veranlasst eine Bank, in die das neue Anwendungsprogramm geschrieben wird, auf eine aktive Bank umzuschalten, und schaltet somit von dem alten Anwendungsprogramm zu dem neuen Anwendungsprogramm um. Das CGW 13 überwacht Sitzungsübergangszeitüberschreitung (S1208) und überwacht das interne Zurücksetzen der Umschreibziel-ECU 19 (S1209).
  • Das heißt, in einem Fall, in dem die Umschreibziel-ECU 19 keine Spezifikation zum Umgehen mit der Softwarerücksetzanforderung hat, kann das CGW 13 keine Anweisung zur Aktivierung geben, sogar, wenn die Softwarerücksetzanforderung an die Umschreibziel-ECU 19 gesendet wird. Demnach wird eine Anweisung für die Energierücksetzanforderung an die Umschreibziel-ECU 19 gegeben und somit wird Aktivierung in der Umschreibziel-ECU 19 ausgeführt, die nicht die Spezifikation zum Umgehen mit der Softwarerücksetzanforderung hat. Zum Beispiel ist eine IG-ECU wie etwa eine Brennkraftmaschinen-ECU konfiguriert, um fehlerfrei zurückgesetzt zu werden, wenn die Energie ein- oder ausgeschaltet wird, und daher kann in vielen Fällen eine Konfiguration nicht mit der Softwarerücksetzanforderung umgehen. Aus der Sicht der Umschreibziel-ECU 19 wird Aktivierung durch einen Empfang einer Anweisung für die Softwarerücksetzanforderung von dem CGW 13, Empfang einer Anweisung für die Energierücksetzanforderung von dem CGW 13, die Sitzungsübergangszeitüberschreitung oder das interne Zurücksetzen ausgeführt (gestartet durch das neue Programm).
  • Wenn eine Anweisung für die Softwarerücksetzanforderung von dem CGW 13 empfangen wird, wird die Umschreibziel-ECU 19, die mit der Softwarerücksetzanforderung umgeht, gezwungen, zurückgesetzt zu werden, um Aktivierung auszuführen. Die Umschreibziel-ECU 19, die eine ACC-ECU oder eine IG-ECU ist, wird zurückgesetzt, um Aktivierung auszuführen, wenn als nächstes Energie zugeführt wird, da erzwungen wird, dass die Energie nicht zugeführt wird, in einem Fall, in dem eine Anweisung für die Energierücksetzanforderung von dem CGW 13 empfangen wird. Anders als die Umschreibziel-ECU 19, die eine ACC-ECU oder eine IG-ECU ist, wird die Umschreibziel-ECU 19, die eine +B-Energie-ECU ist, jederzeit mit Energie versorgt und somit wird Aktivierung durch die Sitzungsübergangszeitüberschreitung oder das interne Zurücksetzen ausgeführt. Ein Aktivierungsverfahren für jede Umschreibziel-ECU 19 wird durch die Umschreibspezifikationsdaten spezifiziert.
  • Wenn dem CGW 13 mitgeteilt wird, dass das neue Anwendungsprogramm von allen der Umschreibziel-ECUs 19 normal gestartet wird, sendet das CGW eine Umschaltabschlussmitteilung an das DCM 12 (S1210). Das DCM 12 teilt der Zentralvorrichtung 3 mit, dass Aktivierung der Aktualisierungsprogramme abgeschlossen wurde. Das CGW 13 fordert die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie in einem AUS-Zustand einzuschalten, und beendet eine Anwendungsprogrammaktivierungssynchronisationsanweisungsverarbeitung. Wenn die IG-Energie von einem AUS-Zustand in einen EIN-Zustand durch die Benutzeroperation umschaltet, sendet das CGW 13 eine Programmversion, eine Startbank und dergleichen der ECU an das DCM 12. Das DCM 12 teilt der Zentralvorrichtung 3 die Informationen jeder ECU 19 mit, die von dem CGW 13 empfangen werden. Wenn hierbei das DCM 12 der Zentralvorrichtung 3 den Abschluss der Aktivierung mitteilt, können die ECU-Konfigurationsinformationen einschließlich einer Programmversion und Bankinformationen jeder ECU an die Zentralvorrichtung 3 gesendet werden. 111 illustriert einen Fall, in dem die Umschreibziel-ECU 19 eine Doppelbank-Speicher-ECU oder eine Einzelbank-Aussetzspeicher-ECU ist.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Aktivierungsanforderungsanweisungsverarbeitung aus, verhindert somit eine Situation, in der mehrere Umschreibziel-ECUs 19, die Umschreiben von Anwendungsprogrammen abgeschlossen haben, von alten Programmen auf neue Programme zu ihren eigenen Zeitpunkten umschalten, und gleicht Zeitpunkte des Umschaltens von den alten Programmen auf die neuen Programme in den mehreren Umschreibziel-ECUs 19 angemessen an. Das heißt, es wird eine Situation vermieden, in der Programmversionen mehrerer Umschreibziel-ECUs 19, die miteinander kooperieren, nicht übereinstimmen und somit ein Problem in einer kooperativen Verarbeitung auftritt.
  • (13) Aktivierungsausführungssteuerverarbeitung
  • Die Aktivierungsausführungssteuerverarbeitung wird gemäß 112 bis 114 beschrieben. Die Aktivierungsausführungssteuerverarbeitung ist eine Verarbeitung, die durch die Umschreibziel-ECU 19 ausgeführt wird, der eine Anweisung für eine Aktivierungsanforderung durch das CGW 13 gegeben wird, weil das CGW 13 die vorstehend beschriebene (12) Aktivierungsanforderungsanweisungsverarbeitung ausführt. Das Fahrzeugprogrammumschreibsystem 1 führt die Aktivierungsausführungssteuerverarbeitung in der Umschreibziel-ECU 19 aus. Hierbei hat die Umschreibziel-ECU 19 mehrere Datenspeicherbänke wie einen Einzelbankaussetzspeicher oder einen Doppelbankspeicher. Es wird ein Zustand angenommen, in dem die Umschreibziel-ECU 19 eine erste Datenspeicherbank und eine zweite Datenspeicherbank hat und Installation von Umschreibdaten in einer inaktiven Bank (neuen Bank) abgeschlossen wurde.
  • Wie in 112 illustriert ist, beinhaltet die ECU 19 eine Aktive-Bank-Informationsaktualisierungseinheit 107a, eine Ausführungsbedingungsbestimmungseinheit 107b, eine Ausführungssteuereinheit 107c und eine Mitteilungseinheit 107d in der Aktivierungsausführungssteuereinheit 107. Wenn eine Anweisung für eine Aktivierungsanforderung von dem CGW 13 empfangen wird, aktualisiert die Aktive-Bank-Informationsaktualisierungseinheit 107a Startbankbestimmungsinformationen (Aktive-Bank-Informationen) des Flash-Speichers in Vorbereitung für den nächsten Neustart. Beispielsweise wird die Aktive-Bank-Informationsaktualisierungseinheit 107a gegenwärtig in der Bank-A gestartet und aktualisiert die Aktive-Bank-Informationen von der Bank-A zur Bank-B, wenn ein neues Programm in die Bank-B geschrieben wird.
  • Die Ausführungsbedingungsbestimmungseinheit 107b bestimmt, ob oder nicht eine Anweisung für eine Softwarerücksetzanforderung von dem CGW 13 empfangen wird, ob oder nicht eine Anweisung für eine Energierücksetzanforderung von dem CGW 13 an die Energieversorgungsverwaltungs-ECU 20 gegeben wird und ob oder nicht Unterbrechung von Kommunikation mit dem CGW 13 eine vorbestimmte Zeit dauert, als Aktivierungsausführungsbedingungen. Wenn irgendeine der Bedingungen erfüllt ist, bestimmt die Ausführungsbedingungsbestimmungseinheit 107b, dass die Aktivierungsausführungsbedingungen erfüllt sind. Ob oder nicht eine Anweisung für die Energierücksetzanforderung empfangen wird, kann durch die Energieerfassungsschaltung 36 anstelle einer Anweisung von dem CGW 13 erfasst werden. Wenn durch die Ausführungsbedingungsbestimmungseinheit 107b bestimmt wird, dass die Aktivierungsausführungsbedingung erfüllt ist, führt die Ausführungssteuereinheit 107c Umschalten auf eine neue Bank (Aktivierung) aus, um die Startbank zu veranlassen, von der alten Bank (die gegenwärtig operierte Bank) auf die neue Bank (die Bank, die nicht gegenwärtig operiert wird) gemäß den Aktive-Bank-Informationen umzuschalten. Die Mitteilungseinheit 107d teilt dem CGW 13 Mitteilungsinformationen wie die Aktive-Bank-Informationen und Versionsinformationen mit.
  • Als nächstes wird eine Operation der Aktivierungsausführungssteuereinheit 107 in der Umschreibziel-ECU 19 gemäß 113 und 114 beschrieben. Die Umschreibziel-ECU 19 führt ein Aktivierungsausführungssteuerprogramm aus und führt somit die Aktivierungsausführungssteuerverarbeitung aus.
  • (13-1) Umschreibverarbeitung
  • Wenn die Umschreibverarbeitung initiiert wird, führt die Umschreibziel-ECU 19 Verarbeitungen bis unmittelbar vor dem Speicherlöschen aus, wie Teilenummernlesen oder Authentifizieren als eine Vor-Umschreibverarbeitung (S1301). Die Umschreibziel-ECU 19 bestimmt, ob oder nicht Umschreibbankinformationen von der Zentralvorrichtung 3 empfangen wurden (S1302). Die Umschreibziel-ECU 19 bestimmt, ob oder nicht die Umschreibbankinformationen empfangen wurden, basierend beispielsweise darauf, ob oder nicht die Umschreibbankinformationen, die in Umschreibspezifikationsdaten beschrieben sind, die in einem Verteilungspaket beinhaltet sind, von dem CGW 13 erlangt wurden. Wenn bestimmt wird, dass die Umschreibbankinformationen von der Zentralvorrichtung 3 empfangen wurden (S1302: JA), vergleicht die Umschreibziel-ECU 19 die Umschreibbankinformationen mit Umschreibbankinformationen (Aktive-Bank-Informationen), die dadurch verwaltet werden, und bestimmt somit, ob oder nicht die zwei Informationsstücke übereinstimmen (S1303). Hierbei werden die Umschreibbankinformationen in den Umschreibspezifikationsdaten, die beispielsweise von der Zentralvorrichtung 3 gesendet werden, beschrieben. Beispielsweise in einem Fall, in dem die Umschreibbankinformationen, die durch die Umschreibziel-ECU verwaltet werden, angeben, dass eine aktive Bank die Bank-A ist und eine inaktive Bank die Bank-B ist, wenn die Umschreibbankinformationen, die in den Umschreibspezifikationsdaten beschrieben sind, die inaktive Bank (Bank-B) angeben, wird bestimmt, dass beide Informationsstücke übereinstimmen, und, wenn die Umschreibbankinformationen, die in den Spezifikationsdaten beschrieben sind, die aktive Bank (Bank-A) angeben, wird bestimmt, dass beide Informationsstücke nicht übereinstimmen.
  • Wenn bestimmt wird, dass beide Informationsstücke übereinstimmen (S1303: JA), führt die Umschreibziel-ECU 19 als die Umschreibverarbeitung Speicherlöschen, Schreiben von Schreibdaten und Verifizierung aus (S 1304) und beendet die Umschreibverarbeitung. Die Verifizierung dient beispielsweise zur Verifizierung der Integrität von Daten, die in den Flash-Speicher geschrieben werden. Wenn bestimmt wird, dass beide Informationsstücke nicht übereinstimmen (S1303: NEIN), sendet die Umschreibziel-ECU 19 eine negative Bestätigung an das CGW 13 (S1305) und beendet die Umschreibverarbeitung.
  • (13-2) Aktivierungsausführungssteuerverarbeitung
  • Wenn die Aktivierungsausführungssteuerverarbeitung initiiert wird, legt die Umschreibziel-ECU 19 eine inaktive Bank als eine Umschreibbank fest und bestimmt, ob oder nicht Umschreiben eines Anwendungsprogramms in die Umschreibbank abgeschlossen wurde (S1311). Wenn bestimmt wird, dass Umschreiben des Anwendungsprogramms in die Umschreibbank abgeschlossen wurde (S1311: JA), verifiziert die Umschreibziel-ECU 19 die Integrität des Anwendungsprogramms, das in dem Flash-Speicher geschrieben ist, und bestimmt, ob oder nicht Datenverifizierung nach dem Umschreiben positiv ist (S1312). Wenn bestimmt wird, dass die Datenverifizierung nach dem Umschreiben positiv ist (S1312: JA), setzt die Umschreibziel-ECU 19 ein Umschreib-Abschluss-Flag der neuen Bank auf „OK“ und speichert das Umschreibabschluss-Flag (S1313).
  • Danach bestimmt die Umschreibziel-ECU 19, ob oder nicht eine Anweisung für eine Aktivierungsanforderung von dem CGW 13 empfangen wurde (S1314). Wenn bestimmt wird, dass die Anweisung für die Aktivierungsanforderung empfangen wurde (S1314: JA), bestimmt die Umschreibziel-ECU 19, ob oder nicht die Umschreibabschluss-Flag der neuen Bank „OK“ ist (S1315), und aktualisiert die Aktive-Bank-Informationen, wenn bestimmt wird, dass das Umschreibabschluss-Flag der neuen Bank „OK“ ist (S1315: JA) (S1316; entsprechend einer Aktive-Bank-Informationen-Aktualisierungsprozedur). Das heißt, beispielsweise in einem Fall, in dem eine aktive Bank die Bank-A ist und eine inaktive Bank die Bank-B ist, wenn Umschreiben des Anwendungsprogramms in die Umschreibbank unter Verwendung der Bank-B als die Umschreibbank abgeschlossen wurde, aktualisiert die Umschreibziel-ECU 19 die Aktive-Bank-Informationen, die angeben, dass eine aktive Bank die Bank-A ist und eine inaktive Bank die Bank-B ist, auf die Aktive-Bank-Informationen, die angeben, dass eine aktive Bank die Bank-B ist und eine inaktive Bank die Bank-A ist.
  • Wenn die Aktive-Bank-Informationen aktualisiert werden, bestimmt die Umschreibziel-ECU 19, ob oder nicht eine Softwarerücksetzanforderung von dem CGW 13 empfangen wurde, ob oder nicht eine Anweisung für eine Energierücksetzanforderung von dem CGW 13 an die Energieversorgungsverwaltungs-ECU 20 gegeben wurde, und ob oder nicht Unterbrechung von Kommunikation mit dem CGW 13 eine vorbestimmte Zeit dauert, nachdem die Anweisung für die Softwarerücksetzanforderung empfangen wird, und bestimmt somit, ob oder nicht die Aktivierungsausführungsbedingung erfüllt ist (S1317; entsprechend einer Ausführungsbedingungsbestimmungsprozedur). Hierbei wird die Umschreibziel-ECU 19 neugestartet, wenn irgendeine der Aktivierungsausführungsbedingungen erfüllt ist und Neustartbedingungen für jede ECU definiert sind.
  • Die Umschreibziel-ECU 19 bestimmt, ob eine Anweisung für die Softwarerücksetzanforderung von dem CGW 13 empfangen wurde, die Anweisung für die Energierücksetzanforderung von dem CGW 13 an die Energieversorgungsverwaltungs-ECU 20 gegeben wurde oder die vorbestimmte Zeit abgelaufen ist, nachdem die Anweisung für die Softwarerücksetzanforderung empfangen wurde, und führt Neustarten (Rücksetzen) aus, wenn bestimmt wird, dass die Aktivierungsausführungsbedingung erfüllt ist (S1317: JA). Die Umschreibziel-ECU 19 führt das Neustarten aus und wird unter Verwendung der neuen Bank (Bank-B) als eine Startbank (S1318; entsprechend einer Startsteuerprozedur) gemäß den aktualisierten Aktive-Bank-Informationen gestartet und beendet die Aktivierungsausführungssteuerverarbeitung. Das heißt, nachdem die Umschreibziel-ECU 19 neugestartet ist, wird die Umschreibziel-ECU in der Bank-B gestartet, in der das Anwendungsprogramm installiert ist.
  • Wenn bestimmt wird, dass Umschreiben des Anwendungsprogramms in die neue Bank nicht abgeschlossen ist (S1311: NEIN) oder bestimmt wird, dass die Datenverifizierung nach dem Umschreiben negativ ist (S1312: NEIN), bestimmt die Umschreibziel-ECU 19, ob oder nicht eine Anweisung für eine Aktivierungsanforderung empfangen wurde (S1319), sendet eine negative Bestätigung an das CGW 13 (S1320), wenn bestimmt wird, dass die Anweisung für die Aktivierungsanforderung empfangen wurde (S1319: JA) und kehrt zu Schritt S1311 zurück. Wenn bestimmt wird, dass die Datenverifizierung nach dem Umschreiben negativ ist, kann die Umschreibziel-ECU 19 die Aktivierungsausführungssteuerverarbeitung beenden und einer Verarbeitung wie Rollback ausführen. Wenn bestimmt wird, dass das Umschreibabschluss-Flag der neuen Bank nicht „OK“ ist (S1315: NEIN), sendet die Umschreibziel-ECU 19 eine negative Bestätigung an das CGW 13 (S1321) und kehrt zu Schritt S1311 zurück.
  • Wie vorstehend beschrieben ist, führt die Umschreibziel-ECU 19 die Aktivierungsausführungssteuerverarbeitung aus und aktualisiert somit die Aktive-Bank-Informationen in Vorbereitung auf den nächsten Neustart, wenn eine Anweisung für eine Aktivierungsanforderung von dem CGW 13 empfangen wird, und führt Umschalten auf eine neue Bank aus, um zu veranlassen, dass eine Startbank von der alten Bank auf die neue Bank gemäß den Aktive-Bank-Informationen nach Neustarten umschaltet, wenn die Aktivierungsausführungsbedingung hergestellt ist. Das heißt, die Umschreibziel-ECU 19 wird nicht durch ein Aktualisierungsprogramm gestartet, es sei denn, das CGW 13 gibt eine Anweisung zur Aktivierung an sie, obwohl Installation des Aktualisierungsprogramms abgeschlossen wurde. Beispielsweise, sogar, wenn die Umschreibziel-ECU 19 neugestartet wird, da der Benutzer den IG-Schalter 42 in einem AUS-Zustand einschaltet, wird, wenn nicht eine Anweisung zur Aktivierung von dem CGW 13 empfangen wird, die Umschreibziel-ECU in der gleichen aktiven Bank gestartet. Das CGW 13 gibt simultan Anweisungen zur Aktivierung an mehrere Umschreibziel-ECUs 19 und dann können Aktualisierungsprogramme der mehreren Umschreibziel-ECUs 19 simultan validiert werden, wenn sie durch Softwarerücksetzen, Energierücksetzen oder Sitzungszeitüberschreitung neugestartet werden. In der vorstehenden Beschreibung wurde der Fall beschrieben, in dem die Datenspeicherbänke Doppelbänke sind, aber das gleiche gilt für einen Fall, in dem Datenspeicherbänke drei oder mehr Bänke sind.
  • In (12) der Aktivierungsanforderungsanweisungsverarbeitung in dem CGW 13 führt das CGW 13 die Aktivierungsanforderungsanweisungsverarbeitung auf mehreren Umschreibziel-ECUs 19 aus, die Umschreiben von Anwendungsprogrammen abgeschlossen haben, und somit ist es möglich, eine Situation zu verhindern, in der die mehreren Umschreibziel-ECUs 19, die Umschreiben der Anwendungsprogramme abgeschlossen haben, von alten Programmen auf neue Programme zu ihren eigenen Zeitpunkten umschalten, und angemessen Zeitpunkte zum Umschalten von den alten Programmen auf die neuen Programme in den mehreren Umschreibziel-ECUs 19 aufeinander abzustimmen.
  • (14) Umschreibzielgruppenverwaltungsverarbeitung
  • Die Umschreibzielgruppenverwaltungsverarbeitung wird gemäß 115 bis 118 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Umschreibzielgruppenverwaltungsverarbeitung in dem CGW 13 aus. Das CGW 13 weist simultan eine oder mehrere Umschreibziel-ECUs 19 an, die zur selben Gruppe gehören, Anwendungsprogramme zu aktivieren. Das CGW 13 führt Steuerung von einer Installation bis zur Aktivierung in der Gruppeneinheit aus. Es erfolgt eine Beschreibung unter der Annahme, dass die ECU (ID1) und die ECU (ID2) die Umschreibziel-ECUs 19 einer ersten Gruppe sind und eine ECU (ID11), eine ECU (ID12) und eine ECU (ID13) die Umschreibziel-ECUs 19 einer zweiten Gruppe sind.
  • Wie in 115 illustriert ist, beinhaltet das CGW 13 eine Gruppenerzeugungseinheit 85a und eine Anweisungsausführungseinheit 85b in der Umschreibzielgruppenverwaltungseinheit 85. Die Gruppenerzeugungseinheit 85a gruppiert die Umschreibziel-ECUs 19, die zusammen gemäß einem Analyseergebnis der CGW-Umschreibspezifikationsdaten aufgerüstet werden sollen, und erzeugt somit eine Gruppe. In einem Fall, in dem die Gruppe durch die Gruppenerzeugungseinheit 85 erzeugt wird, gibt die Anweisungsausführungseinheit 85b eine Anweisung zur Installation in einer vorbestimmten Reihenfolge in der Einheit der Gruppe ab und gibt eine Anweisung zur Aktivierung in der Einheit der Gruppe ab, wenn die Installation abgeschlossen wurde.
  • Als nächstes wird gemäß 116 bis 118 eine Operation der Umschreibzielgruppenverwaltungseinheit 85 in dem CGW 13 beschrieben. Das CGW 13 führt ein Umschreibzielgruppierungsprogramm aus und führt somit die Umschreibzielgruppenverwaltungsverarbeitung aus. Wenn die Umschreibzielgruppenverwaltungsverarbeitung initiiert wird, erlangt das CGW 13 die CGW-Umschreibspezifikationsdaten vom DCM 12 (S1401; entsprechend einer Umschreibspezifikationsdatenerlangungsprozedur), analysiert die erlangten Umschreibspezifikationsdaten (S1402; entsprechend einer Umschreibspezifikationsdatenanalyseprozedur) und bestimmt eine Gruppe, zu der die gegenwärtige Umschreibziel-ECU 19 gehört. Beispielsweise kann das CGW 13 spezifizieren, zu welcher Gruppe die Umschreibziel-ECU gehört, durch Bezugnahme auf Informationen hinsichtlich der ECU der Umschreibspezifikationsdaten und kann spezifizieren, zu welcher Gruppe die ECU gehört, durch Bezugnahme auf Informationen hinsichtlich der Gruppe der Umschreibspezifikationsdaten. Das CGW 13 bestimmt, ob oder nicht die Umschreibziel-ECU 19 anfänglich Umschreiben für eine bestimmte Gruppe unterzogen wird (S1403), bestimmt, ob oder nicht die Umschreibziel-ECU 19, die zur selben Gruppe wie die vorherige Umschreibziel-ECU 19 gehört, Umschreiben unterzogen wird (S1404), und bestimmt, ob oder nicht die Umschreibziel-ECU 19, die zu einer Gruppe gehört, die sich von der der vorherigen Umschreibziel-ECU 19 unterscheidet, Umschreiben unterzogen wird (S1405; entsprechend einer Gruppenerzeugungsprozedur).
  • Wenn bestimmt wird, dass die Umschreibziel-ECU 19 anfänglich Umschreiben unterzogen wird (S1403: JA), oder bestimmt wird, dass die Umschreibziel-ECU 19, die zur selben Gruppe wie die vorherige Umschreibziel-ECU 19 gehört, Umschreiben unterzogen wird (S1404: Ja), weist das CGW 13 die Umschreibziel-ECU 19 an, ein Anwendungsprogramm derart umzuschreiben, dass das Anwendungsprogramm der Umschreibziel-ECU 19 umgeschrieben wird (S1406). Das CGW 13 bestimmt, ob oder nicht es die nächste Umschreibziel-ECU 19 gibt (S1407). Wenn bestimmt wird, dass es die nächste Umschreibziel-ECU 19 in derselben Gruppe gibt (S1407: JA), kehrt das CGW 13 zu den vorstehenden Schritten S1403 bis S1405 zurück und führt wiederholt S1403 bis S1405 aus.
  • Wenn bestimmt wird, dass die Umschreibziel-ECU 19, die zu einer Gruppe gehört, die sich von der der vorherigen Umschreibziel-ECU 19 unterscheidet, Umschreiben unterzogen wird (S1405: JA), fährt das CGW 13 mit einer Aktivierungsanforderungsanweisungsverarbeitung fort (S1408; entsprechend einer Anweisungsausführungsprozedur).
  • Wenn die Aktivierungsanforderungsanweisungsverarbeitung initiiert wird, bestimmt das CGW 13, ob oder nicht es die nächste Umschreibziel-ECU 19 gibt (S141 1). Das heißt, das CGW 13 bestimmt, ob oder nicht es eine Gruppe gibt, in der Installation nicht abgeschlossen ist. Wenn bestimmt wird, dass es die nächste Umschreibziel-ECU 19 gibt (S1411; JA), gibt das CGW 13 eine Anweisung für eine Aktivierungsanforderung an die Umschreibziel-ECU 19, die zu der Gruppe gehört, in der das Umschreiben abgeschlossen wurde (S1412). Das heißt, in einem Fall, in dem Installation noch nicht auf der Umschreibziel-ECU 19 ausgeführt wurde, die zur zweiten Gruppe gehört, gibt das CGW 13 eine Anweisung zur Aktivierung an die Umschreibziel-ECU (ID1) und die Umschreibziel-ECU (ID2) der ersten Gruppe, in der Umschreiben bereits abgeschlossen ist.
  • Das CGW 13 gibt eine Anweisung für eine Softwarerücksetzanforderung an die Umschreibziel-ECU 19 und weist die Umschreibziel-ECU 19 an, neugestartet zu werden, indem Energie mittels der Energieversorgungsverwaltungs-ECU 20 in einem AUS-Zustand eingeschaltet wird und Energie in einem EIN-Zustand ausgeschaltet wird, und somit werden die Anwendungsprogramme der Umschreibziel-ECU (ID1) und der Umschreibziel-ECU (ID2) zusammen gestartet.
  • Das CGW 13 bestimmt einen Umschreibzeitpunkt für die nächste Umschreibziel-ECU 19 (S1413 und S1314). Das heißt, das CGW 13 bestimmt Umschreibzeitpunkte für die Umschreibziel-ECU 19, die zur zweiten Gruppe gehören. Wenn bestimmt wird, dass der Umschreibzeitpunkt für die nächste Umschreibziel-ECU 19 ein Zeitpunkt ist, zu dem der Benutzer von der nächsten Fahrt zum Aussteigen wechselt (S1413: JA), schaltet das CGW 13 die IG-Energie in einen EIN-Zustand aus (S1415), beendet die Aktivierungsanforderungsanweisungsverarbeitung und kehrt zur Umschreibzielgruppenverwaltungsverarbeitung zurück. Beispielsweise, wenn eine Zeitperiode, in der Umschreiben eines Anwendungsprogramms aktualisiert werden darf, durch den Benutzer vorab festgelegt wird, und vorhergesagt wird, dass Installation in der Umschreibziel-ECU 19, die zur zweiten Gruppe gehört, nicht während der Zeitperiode abgeschlossen ist, führt das CGW 13 Installation in dem nächsten Parkzustand aus. In diesem Fall weist das CGW 13 die Energieversorgungsverwaltungs-ECU 20 an, die IG-Energie auszuschalten, um zum ursprünglichen Parkzustand zurückzukehren.
  • Wenn bestimmt wird, dass der Umschreibzeitpunkt für die nächste Umschreibziel-ECU 19 das gegenwärtige Aussteigen (Parkzustand) ist (S1414: JA), bestimmt das CGW 13, ob oder nicht eine Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als ein Schwellenwert ist (S1417). Hierbei kann der Schwellenwert ein Wert sein, der vorab festgelegt wird, oder ein Wert, der aus den CGW-Umschreibspezifikationsdaten erlangt wird. Wenn bestimmt wird, dass die Restbatterieladung der Fahrzeugbatterie 40 nicht gleich oder größer als der Schwellenwert ist (S1416: NEIN), weist das CGW 13 die Energieversorgungsverwaltungs-ECU 20 an, die IG-Energie in einem EIN-Zustand auszuschalten (S1415), beendet die Aktivierungsanforderungsanweisungsverarbeitung und kehrt zur Umschreibzielgruppenverwaltungsverarbeitung zurück. Wenn bestimmt wird, dass die Restbatterieladung der Fahrzeugbatterie 40 gleich oder größer als der Schwellenwert ist (S1416: JA), behält das CGW 13 die IG-Energie in einem EIN-Zustand (S1417), beendet die Aktivierungsanforderungsanweisungsverarbeitung und kehrt zur Umschreibzielgruppenverwaltungsverarbeitung zurück. Wie in 116 illustriert ist, schreibt das CGW 13 das Anwendungsprogramm der Umschreibziel-ECU 19 um, die zur zweiten Gruppe gehört.
  • Wenn bestimmt wird, dass es keine nächste Umschreibziel-ECU 19 gibt (S1411: NEIN), gibt das CGW 13 eine Anweisung für eine Aktivierungsanforderung an die Umschreibziel-ECU 19, die zur Gruppe gehört, in der Umschreiben abgeschlossen wurde (S1418), schaltet die IG-Energie in einem EIN-Zustand aus (S1419), beendet die Anweisungsverarbeitung der Aktivierungsanforderung und kehrt zur Gruppenverwaltungsverarbeitung des Umschreibziels zurück. Wenn beispielsweise Umschreiben in der Umschreibziel-ECU (ID11), ECU (ID12) und ECU (ID13), die zur zweiten Gruppe gehören, abgeschlossen ist, ist die nächste Umschreibziel-ECU 19, das heißt, die nächste Gruppe nicht anwesend. In diesem Fall weist das CGW 13 die ECU (ID11), die ECU (ID12) und die ECU (ID12) an, die Aktualisierungsprogramme zu aktivieren, und weist die Energieversorgungsverwaltungs-ECU 20 an, die IG-Energie auszuschalten, nachdem die Aktivierung abgeschlossen wurde.
  • Wie in 118 illustriert ist, in einem Fall, in dem die Anwendungsprogramme der ECU (ID1) und der ECU (ID2) und der ECU (ID11) bis ECU (ID13) umgeschrieben sind, wenn die ECU (ID1) und ECU (ID2) eine kooperative Steuerbeziehung haben und die ECU (ID11), die ECU (ID12) und die ECU (ID13) eine kooperative Steuerbeziehung haben, gehören in einem Verteilungspaket die ECU (ID1) und die ECU (ID2) zur ersten Gruppe, die die Umschreibziel-ECUs 19 darstellt, und die ECU (ID11), die ECU (ID12) und die ECU (ID13) zur zweiten Gruppe, die die Umschreibziel-ECUs 19 darstellt. Wenn Umschreiben des Anwendungsprogramms in der ECU (ID1) und der ECU (ID2), die zur ersten Gruppe gehören, abgeschlossen wurde, gibt das CGW 13 simultan eine Anweisung für eine Aktivierungsanforderung an die ECU (ID1) und die ECU (ID2). Danach führt das CGW 13 Umschreiben des Anwendungsprogramms in der ECU (ID11), der ECU (ID12) und der ECU (ID13), die zur zweiten Gruppe gehören, aus und gibt eine Anweisung für eine Aktivierungsanforderung an die ECU (ID11), die ECU (ID12) und die ECU (ID13), wenn das Umschreiben in allen der ECUs abgeschlossen wurde. Die Umschreibziel-ECU 19, die ein Einzelbankspeicher ist, wird angewiesen, neugestartet zu werden, und wird somit angewiesen, Aktivierung auszuführen.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Gruppenverwaltungsverarbeitung auf den Umschreibziel-ECUs 19 aus, an die eine Aktivierungsanforderung gegeben ist, und gibt somit eine Anweisung für eine Aktivierungsanforderung an sie in der Einheit der Gruppe. Mehrere ECUs mit einer kooperativen Steuerbeziehung können simultan aufgerüstet werden. Das heißt, es ist es möglich, das Auftreten eines Problems in einer kooperativen Steuerverarbeitung aufgrund Nichtübereinstimmung unter Versionen von Anwendungsprogrammen der mehreren Umschreibziel-ECUs 19, die eine kooperative Steuerbeziehung haben, zu verhindern. Das CGW 13 führt Installation in einer vorbestimmten Reihenfolge in der Einheit der Gruppe aus. Das heißt, das CGW 13 führt Steuerung derart aus, dass Verarbeitungen von der Installation bis zur Aktivierung in der Gruppeneinheit ausgeführt werden.
  • Die vorliegende Ausführungsform betrifft eine Konfiguration, in der, nachdem Installation in der Umschreibziel-ECU 19, die zur ersten Gruppe gehört, abgeschlossen wurde, Aktivierung in den Umschreibziel-ECU 19, die zur ersten Gruppe gehört, ausgeführt wird, und anschließend, nachdem Installation in dem Umschreibziel-ECU 19, die zur zweiten Gruppe gehört, abgeschlossen wurde, Aktivierung in der Umschreibziel-ECU 19, die zur zweiten Gruppe gehört, ausgeführt wird. Jedoch kann Aktivierung in der Umschreibziel-ECU 19, die zur ersten Gruppe gehört, und Aktivierung in der Umschreibziel-ECU 19, die zur zweiten Gruppe gehört, sukzessive ausgeführt werden. Das heißt, Installation in der Umschreibziel-ECU 19, die zur ersten Gruppe gehört, kann abgeschlossen werden, Installation in der Umschreibziel-ECU 19, die zur zweiten Gruppe gehört, kann abgeschlossen werden und dann kann Aktivierung in der Umschreibziel-ECU 19, die zur ersten Gruppe gehört, ausgeführt werden und Aktivierung in der Umschreibziel-ECU 19, die zur zweiten Gruppe gehört, kann ausgeführt werden. In diesem Fall kann Aktivierung in den Umschreibziel-ECUs 19, die zur ersten Gruppe und zweiten Gruppe gehören, simultan ausgeführt werden.
  • In einem Fall, in dem die Umschreibziel-ECU 19 eine Einzelbankspeicher-ECU beinhaltet, kann eine Anweisung zur Installation in der Einzelbankspeicher-ECU als letztes in einer Gruppe gegeben werden. In einem Fall, in dem eine Anweisung zur Installation an die Umschreibziel-ECUs 19 mit einer kooperativen Operationsbeziehung gegeben wird, kann die Installationsanweisung als erstes an die Umschreib-Ziel-ECU 19 gegeben werden, die als eine Datensendeseite operiert, und die Installationsanweisung kann später an die Umschreibziel-ECU gegeben werden, die als Datenempfangsseite operiert.
  • Das CGW 13 nimmt Bezug auf den Speichertyp in Umschreibspezifikationsdaten und bestimmt die Installationsreihenfolge gemäß dem Speichertyp der Umschreibziel-ECU 19. Beispielsweise wird Installation in einer Reihenfolge eines Doppelbankspeichers, eines Einzelbankaussetzspeichers und eines Einzelbankspeichers ausgeführt. Das CGW 13 speichert vorab, welche einer Datensendeseite und einer Datenempfangsseite die ECU ist, als Information bezüglich der ECUs 19, die eine kooperative Operationsbeziehung haben, und bestimmt eine Installationsreihenfolge der Umschreibziel-ECUs 19 basierend auf den Informationen.
  • In einem Fall, in dem es mehrere Gruppen gibt, kann eine Installationsreihenfolge basierend auf beispielsweise dem Dringlichkeitsgrad, dem Sicherheitsgrad, einer Funktion oder einer Zeit bestimmt werden. Der Dringlichkeitsgrad ist ein Index, der angibt, ob oder nicht es erforderlich ist, sofortige Installation auszuführen. Der Dringlichkeitsgrad ist hoch in einem Fall, in dem eine hohe Wahrscheinlichkeit besteht, dass von Menschen verursachte Katastrophen oder Unfälle auftreten können, wenn die ECU ohne Installation belassen wird. Der Dringlichkeitsgrad ist niedrig in einem Fall, in dem eine niedrige Wahrscheinlichkeit besteht, dass von Menschen verursachte Katastrophen oder Unfälle auftreten können, sogar, wenn die ECU ohne Installation belassen wird. Installation wird bevorzugt an einer Gruppe ausgeführt, die einen hohen Dringlichkeitsgrad hat. Der Sicherheitsgrad ist ein Index der Beschränkung aufgrund des Typs des Mikrocomputers zur Zeit der Installation und Installation wird in einer aufsteigenden Beschränkungsreihenfolge ausgeführt, das heißt, einer Reihenfolge eines Doppelbankspeichers, eines Einzelbankaussetzspeichers und eines Einzelbankspeichers. Die Funktion ist ein Index eines Benutzerkomforts und Installation wird bevorzugt an einer Gruppe ausgeführt, die für einen Benutzer komfortabler ist. Die Zeit ist ein Index der Zeit, die zur Installation erforderlich ist, und Installation wird bevorzugt an einer Gruppe ausgeführt, die eine kurze Installationszeit erfordert.
  • In einem Fall, in dem das CGW 13 die erste Umschreibziel-ECU 19 und die zweite Umschreibziel-ECU 19, die zur selben Gruppe gehören, anweist, Installation auszuführen, wenn die erste Umschreibziel-ECU 19 mit ihrer Installation erfolgreich war und die zweite Umschreibziel-ECU 19 bei der Installation fehlschlägt, weist das CGW 13 die zweite Umschreibziel-ECU 19 an, Rollback auszuführen, und weist die erste Umschreibziel-ECU 19 an, Rollback auszuführen.
  • In einem Fall, in dem das CGW 13 die Umschreibziel-ECU 19, die zur ersten Gruppe gehört, und die Umschreibziel-ECU 19, die zur zweiten Gruppe gehört, anweist, Installation auszuführen, wenn die Umschreibziel-ECU 19, die zur ersten Gruppe gehört, bei der Installation fehlschlägt, weist das CGW 13 die Umschreibziel-ECU 19, die zur zweiten Gruppe gehört, an, Installation auszuführen. Beispielsweise in 116, in einem Fall, in dem Umschreiben in der zweiten Gruppe in einem Zustand ausgeführt wird (S1405: JA), in dem die Umschreibziel-ECU 19, die zur ersten Gruppe gehört, bei der Installation fehlschlägt, überspringt das CGW 13 die Aktivierungsanforderungsanweisungsverarbeitung (S1408) für die erste Gruppe und fährt mit Schritt S1407 fort. Das CGW 13 kehrt zu Schritt S1403 zurück und initiiert, Installation in der zweiten Gruppe auszuführen, und führt die Aktivierungsanforderungsanweisungsverarbeitung in der zweiten Gruppe in einem Fall aus, in dem die Installation abgeschlossen wurde (S1408). Das heißt, obwohl die erste Gruppe bei der Installation fehlschlägt, führt das CGW 13 Aktualisierung an der zweiten Gruppe aus.
  • In einem Fall, in dem es zwei Gruppen in einer einzelnen Kampagne gibt (innerhalb eines einzelnen Verteilungspakets), werden die Benutzerzustimmungsoperation für die Kampagne und die Benutzerzustimmungsoperation zum Herunterladen einmal ausgeführt und die Benutzerzustimmungsoperation zur Installation und die Benutzerzustimmungsoperation zur Aktivierung werden zweimal für jede Gruppe ausgeführt. Das heißt, in einem Fall, in dem sich eine Funktion, die sich aufgrund von Aktualisierung geändert hat, für jede Gruppe unterscheidet, ist es wünschenswert, die Zustimmungsoperation des Benutzers zur Installation und die Zustimmungsoperation zur Aktivierung für jede Funktion auszuführen. Da manche Benutzer die Benutzerzustimmungsoperation zur Installation und die Benutzerzustimmungsoperation zur Aktivierung für jede Gruppe kompliziert finden, kann die Benutzerzustimmungsoperation zur Installation und die Benutzerzustimmungsoperation zur Aktivierung einmal für alle Gruppen ausgeführt werden.
  • Obwohl die Konfiguration, in der eine Gruppe, zu der die Umschreibziel-ECU 19 gehört, unter Verwendung der Umschreibspezifikationsdaten bestimmt wird, beispielhaft dargestellt wurde, kann es eine Konfiguration geben, in der eine Gruppe, zu der die Umschreibziel-ECU 19 gehört, in dem CGW 13 gespeichert ist.
  • (15) Rollbackausführungssteuerverarbeitung
  • Die Rollbackausführungssteuerverarbeitung wird gemäß 119 bis 130 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Rollbackausführungssteuerverarbeitung in dem CGW 13 aus. Das Rollback gibt Schreiben zum Zurückbringen des Speichers der Umschreibziel-ECU 19 in einen vorbestimmten Zustand wie Zurückbringen eines Anwendungsprogramms in eine ursprüngliche Version in einem Fall an, in dem Umschreiben des Anwendungsprogramms gestoppt ist, und dient zum Zurückbringen eines Zustands der Umschreibziel-ECU 19 in einen Zustand, bevor Schreiben der Schreibdaten initiiert ist, aus der Sicht des Benutzers.
  • Wie in 119 illustriert ist, beinhaltet das CGW 13 eine Aufhebungsanforderungsbestimmungseinheit 86a, eine Rollbackverfahrensspezifizierungseinheit 86b und eine Rollbackausführungseinheit 86c in der Rollbackausführungssteuereinheit 86. Die Aufhebungsanforderungsbestimmungseinheit 86a bestimmt, ob oder nicht eine Umschreibaufhebungsanforderung während Umschreibens eines Anwendungsprogramms erzeugt wird. Beispielsweise, wenn der Benutzer das tragbare Endgerät 6 operiert und Aufheben des Programmumschreibens auswählt, teilt die Zentralvorrichtung 3, die Informationen hinsichtlich der Aufhebung erlangt, dem CGW 13 eine Programmumschreibaufhebungsanforderung mittels des DCM 12 mit.
  • In einem Fall, in dem eine Abnormalität in dem System auftritt, wenn der Zentralvorrichtung 3 die Anomalie in dem System mitgeteilt wird, teilt die Zentralvorrichtung 3 dem CGW 13 die Programmumschreibaufhebungsanforderung mittels des DCM 12 mit. Die Anomalie in dem System ist beispielsweise ein Fall, in dem eine bestimmte Umschreibziel-ECU 19 beim Schreiben erfolgreich ist, aber eine andere Umschreibziel-ECU 19, die kooperative Steuerung mit der bestimmten Umschreibziel-ECU 19 ausführt, beim Schreiben fehlschlägt. Wie vorstehend erwähnt ist, wenn mindestens eine mehrerer Umschreibziel-ECUs 19, die kooperative Steuerung ausführt, beim Schreiben fehlschlägt, wird bestimmt, dass das System abnormal ist, und die Zentralvorrichtung 3 teilt dem CGW 13 die Programmumschreibaufhebungsanforderung mittels des DCM 12 bezüglich der Umschreibziel-ECU 19 mit, die beim Schreiben erfolgreich war. Das heißt, Ursachen für die Erzeugung der Aufhebungsanforderung beinhalten eine Operation, die durch den Benutzer ausgeführt wird, und das Auftreten einer Anomalie in dem System.
  • Die Rollbackverfahrensspezifizierungseinheit 86b spezifiziert ein Rollbackverfahren zum Zurückbringen eines Zustands der Umschreibziel-ECU 19 in einen Zustand, bevor Schreiben von Schreibdaten initiiert ist, gemäß dem Speichertyp des Flash-Speichers, der auf der Umschreibziel-ECU 19 montiert ist, und dem Datentyp von Schreibdaten eines neuen Programms oder eines alten Programms. Das heißt, die Rollbackverfahrensspezifizierungseinheit 86b spezifiziert, ob der Flash-Speicher ein Einzelbankspeicher, ein Einzelbankaussetzspeicher oder ein Doppelbankspeicher ist, als den Speichertyp der Umschreibziel-ECU 19 und spezifiziert, ob die Schreibdaten die gesamten Differenzdaten sind, als den Datentyp der Schreibdaten.
  • Die Rollbackverfahrensspezifizierungseinheit 86b spezifiziert eine erste Rollbackverarbeitung, eine zweite Rollbackverarbeitung oder eine dritte Rollbackverarbeitung gemäß dem Speichertyp und dem Datentyp. Wenn das Rollbackverfahren durch die Rollbackverfahrensspezifizierungseinheit 86b spezifiziert wird, weist die Rollbackausführungseinheit 86c die Umschreibziel-ECU 19 an, Rollback gemäß dem Rollbackverfahren auszuführen, und operiert die Umschreibziel-ECU 19 mit dem alten Programm. Das heißt, die Rollbackausführungseinheit 86c führt Rollback zum Zurückbringen eines Operationszustands der Umschreibziel-ECU 19 in einen Zustand, bevor Umschreiben des Anwendungsprogramms initiiert wurde, aus.
  • Als nächstes wird eine Operation der Rollbackausführungssteuereinheit 86 in dem CGW 13 gemäß 120 bis 130 beschrieben. Das CGW 13 führt ein Rollbackausführungssteuerprogramm aus und führt somit Rollbackausführungssteuerverarbeitung aus. Das CGW 13 führt eine Rollbackverfahrenspezifizierungsverarbeitung und eine Aufhebungsanforderungsbestimmungsverarbeitung als die Rollbackausführungssteuerverarbeitung aus. Jede Verarbeitung wird nachfolgend beschrieben.
  • (15-1) Rollbackverfahrenspezifizierungsverarbeitung
  • Wenn die Rollbackverfahrenspezifizierungsverarbeitung initiiert wird, analysiert das CGW 13 die CGW-Umschreibspezifikationsdaten, die von dem DCM 12 erlangt werden (S1501), spezifiziert ein Rollbackverfahren basierend auf diesem Analyseergebnis (S1502) und beendet die Rollbackverfahrenspezifizierungsverarbeitung. Das CGW 13 erlangt den Speichertyp und den Datentyp eines Rollbackprogramms aus den Umschreibspezifikationsdaten, die in 8 illustriert sind, und spezifiziert ein Rollbackverfahren. Das Rollbackverfahren kann unter Verwendung des Datentyps des neuen Programms spezifiziert werden, wenn der Datentyp der gleiche wie der des alten Programms ist (Rollbackprogramm).
  • Das heißt, in einem Fall, in dem der Flash-Speicher der Umschreibziel-ECU 19 ein Einzelbankspeicher ist und die Schreibdaten die gesamten Daten sind, stoppt als ein Rollbackverfahren, wenn eine Aufhebungsanforderung erzeugt wird, das CGW 13 unmittelbar Verteilen der gesamten Daten und spezifiziert ein erstes Verfahren (erste Rollbackverarbeitung), in dem Daten des alten Anwendungsprogramms in einen Umschreibbereich in der Umschreibziel-ECU 19 geschrieben werden, um in das alte Anwendungsprogramm umgeschrieben zu werden. Das alte Anwendungsprogramm (Rollbackumschreibdaten) für einen Einzelbankspeicher ist in einem Verteilungspaket zusammen mit einem Aktualisierungsprogramm beinhaltet und das CGW 13 verteilt das alte Anwendungsprogramm an die Umschreibziel-ECU 19 auf gleiche Weise wie beim neuen Anwendungsprogramm.
  • Wenn der Flash-Speicher der Umschreibziel-ECU 19 ein Einzelbankspeicher ist und Schreibdaten Differenzdaten sind, setzt als ein Rollbackverfahren, wenn eine Aufhebungsanforderung erzeugt wird, das CGW 13 Verteilung der Differenzdaten fort und spezifiziert ein Verfahren (zweite Rollbackverarbeitung), in dem Differenzdaten in einen Umschreibbereich in der Umschreibziel-ECU 19 geschrieben werden, die in das neue Anwendungsprogramm umzuschreiben ist, dann werden die Differenzdaten des alten Anwendungsprogramms verteilt und die alten Daten werden in den Umschreibbereich in der Umschreibziel-ECU 19 geschrieben, die in das alte Anwendungsprogramm umzuschreiben ist.
  • In einem Fall, in dem Schreibdaten Differenzdaten sind, stellt die Umschreibziel-ECU 19 das neue Anwendungsprogramm unter Verwendung des gegenwärtigen Anwendungsprogramms, das in dem Flash-Speicher geschrieben ist, und der Differenzdaten, die von dem CGW 13 erlangt werden, wieder her und schreibt das neue Anwendungsprogramm. In einem Zustand, in dem ein unterschiedliches Anwendungsprogramm in dem Flash-Speicher geschrieben ist, kann die Schreibziel-ECU 19 das neue Anwendungsprogramm nicht unter Verwendung der Differenzdaten wiederherstellen. Somit ist es in einem Einzelbankspeicher erforderlich, eine Verarbeitung zum Umschreiben von Daten in das neue Anwendungsprogramm auszuführen. Wenn hierbei beispielsweise eine Version des gegenwärtigen Anwendungsprogramms 1.0 ist und eine Version des neuen Anwendungsprogramms 2.0 ist, ist ein Umschreibprogramm (Umschreibdaten) Differenzdaten zur Aktualisierung der Version 1.0 auf die Version 2.0 und Rollbackumschreibdaten sind Differenzdaten zur Aktualisierung der Version 2.0 auf die Version 1.0.
  • Wenn der Flash-Speicher der Umschreibziel-ECU 19 ein Einzelbankaussetzspeicher oder ein Doppelbankspeicher ist, setzt das CGW 13 Verteilung der Schreibdaten fort und spezifiziert ein Verfahren (dritte Rollbackverarbeitung), in dem, wenn eine aktive Bank die Bank-A und eine inaktive Bank die Bank-B in der Umschreibziel-ECU 19 sind, die Schreibdaten in die Bank-B geschrieben werden, die die inaktive Bank ist, so dass das neue Anwendungsprogramm installiert wird, aber Umschalten der aktiven Bank von Bank-A zu Bank-B wird unterdrückt.
  • (15-2) Aufhebungsanforderungsbestimmungsverarbeitung
  • Wenn spezifiziert wird, dass Umschreiben eines Anwendungsprogramms in der Umschreibziel-ECU 19 initiiert ist, initiiert das CGW 13 die Aufhebungsanforderungsbestimmungsverarbeitung, bestimmt, ob oder nicht das Umschreiben des Anwendungsprogramms abgeschlossen wurde (S1511), und bestimmt, ob oder nicht eine Aufhebungsanforderung erzeugt wurde (S1512). Das heißt, wie vorstehend beschrieben ist, bestimmt das CGW 13, ob oder nicht die Aufhebungsanforderung aufgrund einer Operation, die durch den Benutzer ausgeführt wird, des Auftretens von Anomalie in dem System oder dergleichen erzeugt wurde.
  • Wenn bestimmt wird, dass die Aufhebungsanforderung erzeugt wurde, bevor das Umschreiben des Anwendungsprogramms abgeschlossen wurde, das heißt, die Aufhebungsanforderung während Installation erzeugt wird (S1512: JA), spezifiziert das CGW 13 die Umschreibziel-ECU 19, die ein Rollbackziel ist (S1513). Es wird angenommen, dass die Umschreibziel-ECUs 19, die zur selben Gruppe gehören, die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, die ECU (ID1) ein Einzelbankspeicher ist, die ECU (ID2) und die ECU (ID3) Doppelbankspeicher sind, Installation in der ECU (ID1) abgeschlossen wurde und eine Aufhebungsanforderung während Installation in der ECU (ID2) erzeugt wird. In diesem Fall bestimmt das CGW 13 bei S1413, ob oder nicht Rollback für alle der Umschreibziel-ECUs 19 erforderlich ist, die zur ersten Gruppe gehören.
  • Das CGW 13 spezifiziert die ECU (ID1), in der das gesamte Anwendungsprogramm umgeschrieben wird, und die ECU (ID2), in der ein Teil des Anwendungsprogramms umgeschrieben wird, als Rollbackziele. Das CGW 13 bestimmt den Speichertyp der Flash-Speicher der Umschreibziel-ECUs 19, die die spezifizierten Rollbackziele sind, und bestimmt, ob jeder Flash-Speicher ein Einzelbankspeicher, ein Einzelbankaussetzspeicher oder ein Doppelbankspeicher ist (S1514 und S1515). Wenn bestimmt wird, dass der Flash-Speicher ein Einzelbankspeicher ist (S1514: JA), bestimmt das CGW 13 den Datentyp des Rollbackprogramms und bestimmt, ob die Rollbackschreibdaten die gesamten Daten oder Differenzdaten sind (S1516 und S1517).
  • Wenn bestimmt wird, dass die Rollbackschreibdaten die gesamten Daten sind (S1516: JA), fährt das CGW 13 mit der ersten Rollbackverarbeitung fort (S1518; entsprechend einer Rollbackausführungsprozedur). Wenn die erste Rollbackverarbeitung initiiert wird, stoppt das CGW 13 unmittelbar Verteilen der Schreibdaten, die das neue Programm sind (S1531). Das CGW 13 erlangt die Rollbackschreibdaten (altes Programm), die die gesamten Daten sind, von dem DCM 12 und verteilt die Rollbackschreibdaten an die Umschreibziel-ECU 19. Die Umschreibziel-ECU 19 schreibt die Daten des alten Anwendungsprogramms, die von dem CGW 13 erlangt werden, in den Flash-Speicher so, dass die Schreibdaten in das alte Anwendungsprogramm umgeschrieben werden (S1532), beendet die erste Rollbackverarbeitung und kehrt zur Aufhebungsanforderungsbestimmungsverarbeitung zurück.
  • Wenn bestimmt wird, dass die Rollbackschreibdaten Differenzdaten sind (S1517: JA), fährt das CGW 13 mit der zweiten Rollbackverarbeitung fort (S1519; entsprechend einer Rollbackausführungsprozedur). Wenn die zweite Rollbackverarbeitung initiiert wird, setzt das CGW 13 Verteilung von Schreibdaten, die ein neues Programm sind, fort (S1541), stellt die Differenzdaten in der Umschreibziel-ECU 19 wieder her und schreibt die Differenzdaten in den Flash-Speicher so, dass die Differenzdaten in das neue Anwendungsprogramm umgeschrieben werden (S1542). Das CGW 13 verteilt die Schreibdaten des alten Anwendungsprogramms, die von dem DCM 12 erlangt werden, an die Umschreibziel-ECU 19, nachdem Umschreiben in das neue Anwendungsprogramm abgeschlossen wurde (S1543). Die Differenzdaten, die die Schreibdaten des alten Anwendungsprogramms sind, werden in der Umschreibziel-ECU 19 wiederhergestellt und den Flash-Speicher geschrieben, der in das alte Anwendungsprogramm umzuschreiben ist (S1544), und das CGW 13 beendet die zweite Rollbackverarbeitung und kehrt zur Aufhebungsanforderungsbestimmungsverarbeitung zurück.
  • Wenn bestimmt wird, dass die Umschreibziel-ECU 19 ein Einzelbank-Aussetzspeicher-ECU oder eine Doppelbank-Speicher-ECU ist (S1515: JA), fährt das CGW 13 mit der dritten Rollbackverarbeitung fort (S1520; entsprechend einer Rollbackausführungsprozedur). In diesem Fall fährt das CGW 13 mit der dritten Rollbackverarbeitung ungeachtet des Umschreibdatentyps fort. Wenn die dritte Rollbackverarbeitung initiiert wird, setzt das CGW 13 Verteilung von Schreibdaten fort (S1551), schreibt die Schreibdaten in eine inaktive Bank (Bank-B) in der Umschreibziel-ECU 19, so dass die Schreibdaten in das neue Anwendungsprogramm umgeschrieben werden (S1552). Das CGW 13 unterdrückt Umschalten einer aktiven Bank von der alten Bank (aktive Bank: Bank-A) auf die neue Bank (inaktive Bank: Bank-B) (S1553), beendet die dritte Rollbackverarbeitung und kehrt zur Aufhebungsanforderungsbestimmungsverarbeitung zurück. Zusätzlich zum Unterdrücken des Umschaltens der aktiven Bank kann das CGW 13 die inaktive Bank, in der die Version 2.0 geschrieben wird, auf einen Zustand vor Umschreiben in das neue Anwendungsprogramm (beispielsweise die Version 1.0) zurückrollen, wie in 126 illustriert ist.
  • Wenn das CGW 13 zur Aufhebungsanforderungsbestimmungsverarbeitung zurückkehrt, bestimmt das CGW 13, ob oder nicht die Rollbackverarbeitung auf all den Umschreibziel-ECUs 19, die die Rollbackziele sind (S1521), ausgeführt wurde. Beispielsweise führt in dem beispielhaften Fall, in dem die Umschreibziel-ECUs 19 die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, als erstes das CGW 13 die erste Rollbackverarbeitung oder die zweite Rollbackverarbeitung auf der Einzelbankspeicher-ECU (ID1), in der Installation ausgeführt wurde, gemäß dem Rollbackdatentyp aus. Danach führt das CGW 13 die dritte Rollbackverarbeitung auf der Doppelbank-Speicher-ECU (ID2) aus, in der Installation abgeschlossen wurde.
  • Das CGW 13 führt die erste Rollbackverarbeitung oder die zweite Rollbackverarbeitung auf der Einzelbankspeicher-ECU (ID1) gemäß dem Umschreibdatentyp aus. Wenn bestimmt wird, dass die Rollbackverarbeitung nicht auf allen der Umschreibziel-ECUs 19 ausgeführt wurde, die die Rollbackziele sind (S1521: NEIN), kehrt das CGW 13 zu Schritt S1513 zurück und führt wiederholt Schritt S1513 und die nachfolgenden Schritte aus. Wenn bestimmt wird, dass die Rollbackverarbeitung auf all den Umschreibziel-ECUs 19 ausgeführt wurde, die die Rollbackziele sind (S1521: JA), beendet das CGW 13 die Aufhebungsanforderungsbestimmungsverarbeitung. Das CGW 13 weist simultan die ECU (ID1), die ECU (ID2) und die ECU (ID3), die zur ersten Gruppe gehören, auf der die Rollbackverarbeitung ausgeführt wurde, an, die alten Anwendungsprogramme zu aktivieren. Die ECU (ID1), die einen Einzelbankspeicher hat, schaltet durch Neustart auf das alte Anwendungsprogramm. Die ECU (ID2) und die ECU (ID3), die Doppelbankspeicher haben, werden in derselben aktiven Bank (Bank-A) wie zuvor anstatt in der inaktiven Bank (Bank-B), in der das Aktualisierungsprogramm geschrieben ist, gestartet. Wenn sich die Benutzerintention ändert und die Programmaktualisierung erneut ausgeführt wird, wird das neue Anwendungsprogramm in der ECU (ID1) und der ECU (ID3) geschrieben. Da jedoch das neue Anwendungsprogramm bereits in der inaktiven Bank der ECU (ID2) installiert wurde, entfällt das Schreiben.
  • Wenn bestimmt wird, dass Umschreiben des Anwendungsprogramms abgeschlossen wurde, ohne das die Aufhebungsanforderung erzeugt wird (S1511: JA), bestimmt das CGW 13, ob Aktivierung abgeschlossen wurde (S1522), und bestimmt, ob die Aufhebungsanforderung erzeugt wurde (S1523).
  • Wenn bestimmt wird, dass die Aufhebungsanforderung vor Abschluss der Aktivierung erzeugt wurde, das heißt, die Aufhebungsanforderung während der Aktivierung erzeugt wurde (S1523: JA), bestimmt das CGW 13, ob oder nicht eine Aktivierungsanweisung die Umschreibziel-ECU 19 erreicht hat, und bestimmt, ob oder nicht Umschalten der aktiven Bank abgeschlossen wurde (S1524).
  • Wenn bestimmt wird, dass die Aktivierungsanweisung die Umschreibziel-ECU 19 nicht erreicht hat und das Umschalten auf die aktive Bank nicht abgeschlossen ist (S1524: NEIN), führt das CGW 13 eine vierte Rollbackverarbeitung aus (S1525). Es wird angenommen, dass das CGW 13 die aktive Bank nicht als die vierte Rollbackverarbeitung umschaltet. Alternativ kann das CGW 13 die inaktive Bank in einen Zustand vor Umschreiben in das neue Anwendungsprogramm zurückbringen, ohne die aktive Bank umzuschalten. Wenn die aktive Bank nicht umgeschaltet wird, verwendet das CGW 13 eine Bank, in der die Version 1.0 geschrieben ist, als die aktive Bank und verwendet eine Bank, in der die Version 2.0 geschrieben ist, als die inaktive Bank, wie in 127 illustriert ist. Wenn die inaktive Bank zu dem Zustand vor Umschreiben in das neue Anwendungsprogramm ohne Umschalten der aktiven Bank zurückgebracht wird, verwendet das CGW 13 die Bank, in der die Version 1.0 geschrieben ist, als die aktive Bank und rollt die inaktive Bank, die eine Bank ist, in der die Version 2.0 geschrieben ist, auf einen Zustand (Version 1.0) vor Umschreiben in das neue Anwendungsprogramm zurück, wie in 128 illustriert ist.
  • Wenn bestimmt wird, dass die Aktivierungsanweisung die Umschreibziel-ECU 19 erreicht hat und Umschalten der aktiven Bank abgeschlossen wurde (S1524: JA), führt das CGW 13 eine fünfte Rollbackverarbeitung aus. Der Abschluss des Umschaltens der aktiven Bank gibt einen Zustand an, in dem eine Bank, in der die Version 2.0 geschrieben ist, von der inaktiven Bank zur aktiven Bank umschaltet, und eine Bank der Version 1.0 von der aktiven Bank zur inaktiven Bank umschaltet, wie in 129 illustriert ist. Als eine fünfte Rollbackverarbeitung schaltet das CGW 13 die aktive Bank um oder schaltet die aktive Bank nach Zurückbringen der inaktiven Bank in den Zustand vor Umschreiben in das neue Anwendungsprogramm um. In einem Fall, in dem die aktive Bank umgeschaltet wird, schaltet das CGW 13 die Bank, in der die Version 2.0 geschrieben ist, von der aktiven Bank zur inaktiven Bank um und schaltet die Bank, in der die Version 1.0 geschrieben ist, von der inaktiven Bank zur aktiven Bank um, wie in 129 illustriert ist. In einem Fall des Umschaltens der aktiven Bank nach Zurückbringen der inaktiven Bank in den Zustand vor Umschreiben in das neue Anwendungsprogramm, wie in 130 illustriert ist, rollt das CGW 13 die aktive Bank, die die Bank ist, in der die Version 2.0 geschrieben ist, in den Zustand (beispielsweise die Version 1.0) vor Umschreiben in das neue Anwendungsprogramm zurück, schaltet die Bank, die in den Zustand vor Umschreiben zurückgebracht wird, in das neue Anwendungsprogramm von der aktiven Bank zur inaktiven Bank um und schaltet die Bank, in der die Version 1.0 geschrieben ist, von der inaktiven Bank in die aktive Bank um.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Rollbackausführungssteuerverarbeitung aus und somit, wenn eine Umschreibaufhebungsanforderung während Umschreibens eines Anwendungsprogramms erzeugt wird, bringt das CGW 13 einen Operationszustand der Umschreibziel-ECU 19 in einen Zustand zurück, bevor Umschreiben des Anwendungsprogramms initiiert ist, aus der Sicht des Benutzers. Somit können alle der Umschreibziel-ECUs 19, die zu derselben Gruppe gehören, zusammen zu ursprünglichen Programmversionen zurückgebracht werden. Sogar in einem Fall, in dem Differenzdaten in der nächsten Programmaktualisierung verwendet werden, können Schreibdaten korrekt wiederhergestellt werden.
  • (16) Umschreibfortschrittssituationsanzeigesteuerverarbeitung
  • Die Umschreibfortschrittssituationsanzeigesteuerverarbeitung wird gemäß 131 bis 143 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Umschreibfortschrittssituationsanzeigesteuerverarbeitung in dem CGW 13 aus. Um den Benutzer über eine Anwendungsprogrammumschreibfortschrittssituation zu informieren, zeigen das mobile Endgerät 6 und die Fahrzeugbordanzeige 7 als das Anzeigeendgerät 5 eine Fortschrittssituation an. Die Fortschrittssituation, die anzuzeigen ist, beinhaltet nicht nur einen Fall, in dem ein Programm aktualisiert wird, aber ebenso einen Fall, in dem das Programm beispielsweise aufgrund einer Aufhebungsoperation, die durch den Benutzer ausgeführt wird, oder eines Aktualisierungsfehlers zurückgerollt wird.
  • Wie in 131 illustriert ist, beinhaltet das CGW 13 eine Aufhebungserfassungseinheit 87a, eine Schreibanweisungseinheit 87b und eine Mitteilungsanweisungseinheit 87c in der Umschreibfortschrittssituationsanzeigesteuereinheit 87. Die Aufhebungserfassungseinheit 87a erfasst Aufhebung hinsichtlich Umschreibens eines Programms zum Umschreiben erster Schreibdaten, die in der Umschreibziel-ECU 19 gespeichert sind, mit zweiten Schreibdaten, die von der Zentralvorrichtung 3 erlangt werden. Die Aufhebungserfassungseinheit 87a erfasst eine Aufhebungsoperation, die durch den Benutzer ausgeführt wird, oder einen Fehler beim Schreiben in die Umschreibziel-ECU 19. Die Aufhebungserfassungseinheit 87a führt eine Rollbackverarbeitung sogar in einem Fall aus, in dem eine vorbestimmte Anomalie erfasst wird, wie beispielsweise einem Fall, in dem Schreibdaten mit der Umschreibziel-ECU 19 nicht kompatibel sind, einem Fall, in dem Fälschung der Schreibdaten erfasst wird, oder einem Fall, in dem ein Fehler des Schreibens in die Umschreibziel-ECU 19 auftritt, und somit wird Erfassung der Anomalien ebenso als Erfassung von Aufhebung behandelt wird.
  • Die Schreibanweisungseinheit 87b verteilt die zweiten Schreibdaten an die Umschreibziel-ECU 19 und weist die Umschreibziel-ECU 19 an, die zweiten Schreibdaten zu schreiben. Die Mitteilungsanweisungseinheit 87c gibt eine Anweisung für eine Mitteilung einer Fortschrittssituation bezüglich Umschreibens eines Anwendungsprogramms ab. Die Mitteilungsanweisungseinheit 87c gibt eine Anweisung für eine Mitteilung der Fortschrittssituation bezüglich Umschreibens des Anwendungsprogramms in einem ersten Aspekt ab, während die zweiten Schreibdaten durch die Schreibanweisungseinheit 87b verteilt werden, und gibt eine Anweisung für eine Mitteilung der Fortschrittssituation bezüglich des Umschreibens des Anwendungsprogramms in einem zweiten Aspekt ab, wenn die Aufhebungserfassungseinheit 87a Aufhebung erfasst. Wenn Aufhebung durch die Aufhebungserfassungseinheit 87a erfasst wird, während die zweiten Schreibdaten verteilt werden, setzt die Schreibanweisungseinheit 87b Verteilung der zweiten Schreibdaten fort.
  • Das CGW 13 spezifiziert Umschreiben der Anwendungsprogramme in der Umschreibziel-ECU 19 durch Spezifizieren eines internen Zustands der Umschreibziel-ECU 19, Spezifizieren einer Anweisung von der Zentralvorrichtung 3 oder Spezifizieren der Benutzeroperation. Wenn das Umschreiben des Anwendungsprogramms spezifiziert wird, bestimmt das CGW 13, ob Umschreiben Umschreiben (Installation) während der normalen Zeit oder Umschreiben (Deinstallation) während Rollbacks ist. Wenn bestimmt wird, ob das Umschreiben Umschreiben während der normalen Zeit ist oder Umschreiben während Rollbacks ausgeführt wird, durch Spezifizieren des internen Zustand der Umschreibziel-ECU 19, Spezifizieren der Anweisung von der Zentralvorrichtung 3 und Spezifizieren der Benutzeroperation, berechnet das CGW 13 eine Fortschrittssituation des Umschreibens während der normalen Zeit oder während Rollbacks basierend auf dem Bestimmungsergebnis und weist das Anzeigeendgerät 5 an, die berechnete Fortschrittssituation anzuzeigen.
  • Das CGW 13 weist das Anzeigeendgerät 5 an, die Fortschrittssituation während der normalen Zeit oder die Fortschrittssituation während Rollbacks gemäß dem Umschreibbestimmungsergebnis, das angibt, ob das Umschreiben Umschreiben während der normalen Zeit oder Umschreiben während Rollbacks ist, anzuzeigen. Das CGW 13 gibt eine Anweisung derart aus, dass Fortschrittsanzeige, die die Fortschrittssituation des Umschreibens während der normalen Zeit angibt, angezeigt wird, um von einer Fortschrittsanzeige unterschiedlich gemacht zu werden, die die Fortschrittssituation des Umschreibens während Rollbacks angibt. Das heißt, das CGW 13 zeigt die Fortschrittssituation in dem ersten Aspekt in einem Fall des Umschreibens während der normalen Zeit an und zeigt die Fortschrittssituation in dem zweiten Aspekt, der sich von dem ersten Aspekt unterscheidet, in einem Fall des Umschreibens während Rollbacks an. Das CGW 13 unterscheidet die Fortschrittsanzeige während der normalen Zeit von der Fortschrittsanzeige während Rollbacks durch Unterscheiden von Zeichen, Elementen, Farben, numerischen Werten, Blinken und dergleichen auf dem Anzeigebildschirm zwischen der normalen Zeit und der Rollbackzeit als einen Aspekt bezüglich einer Anzeige, wenn eine Fortschrittssituation angezeigt wird. Das CGW 13 unterscheidet die Fortschrittsanzeige während der normalen Zeit von der Fortschrittsanzeige während Rollbacks, indem Klänge, Vibrationen und dergleichen zwischen der normalen Zeit und der Rollbackzeit unterschiedlich gemacht werden, als ein Aspekt außer der Anzeige zur Zeit des Anzeigens der Fortschrittsanzeige.
  • Als nächstes wird eine Operation des CGW 13 gemäß 132 bis 143 beschrieben. Das CGW 13 führt ein Umschreibfortschrittssituationsanzeigesteuerprogramm aus und führt somit die Umschreibfortschrittssituationsanzeigesteuerverarbeitung aus.
  • Wenn ein Umschreibinitiierungssignal, das angibt, dass Umschreiben eines Programms in der Umschreibziel-ECU 19 initiiert wurde, empfangen wird (wenn Installation des Programms in der Umschreibziel-ECU 19 initiiert wird), initiiert das CGW 13 die Umschreibfortschrittssituationsanzeigesteuerverarbeitung. Wenn Umschreibfortschrittssituationsanzeigesteuerverarbeitung initiiert wird, analysiert das CGW 13 die CGW-Umschreibspezifikationsdaten, spezifiziert den Speichertyp und den Schreibdatentyp des Flash-Speichers der Umschreibziel-ECU 19 und spezifiziert die Umschreibziel-ECU 19 während der normalen Zeit (S1601). Wenn der Speichertyp und der Schreibdatentyp des Flash-Speichers der Umschreibziel-ECU 19 und eine Größe eines Aktualisierungsprogramms spezifiziert sind (S1602), berechnet das CGW 13 eine Umschreibfortschrittssituation während der normalen Zeit gemäß dem spezifizierten Ergebnis und gibt eine Anweisung zur Anzeige der Umschreibfortschrittssituation während der normalen Zeit ab (S1603). Das Anzeigeendgerät 5 zeigt die Umschreibfortschrittssituation in einem Umschreibanzeigeaspekt während der normalen Zeit in Antwort auf die Anweisung von dem CGW 13 an.
  • Das CGW 13 bestimmt, ob oder nicht Umschreiben des Anwendungsprogramms abgeschlossen wurde (S1604), und bestimmt, ob oder nicht eine Aufhebungsanforderung erzeugt wurde (S1605; entsprechend einer Aufhebungserfassungsprozedur). Das CGW 13 führt wiederholt S1604 und S1605 aus und aktualisiert und zeigt eine Fortschrittssituation zu jeder Zeit beispielsweise während Installation in der Umschreibziel-ECU (ID1) an.
  • Wenn ein Umschreibabschlusssignal, das angibt, dass das Umschreiben des Anwendungsprogramms in der Umschreibziel-ECU 19 abgeschlossen wurde, empfangen wird und bestimmt wird, dass das Umschreiben des Anwendungsprogramms abgeschlossen wurde, ohne dass eine Aufhebungsanforderung erzeugt wird (S1604: JA), beendet das CGW 13 die Anzeige der Umschreibfortschrittssituation während des Normalzustands (S1606) und bestimmt, ob oder nicht Umschreiben in allen der Umschreibziel-ECUs 19 abgeschlossen wurde (S1607). Beispielsweise, wenn die Installation in der Umschreibziel-ECU (ID1) abgeschlossen wurde, zeigt das CGW 13 die Fortschrittssituation der ECU (ID1) als 100% an. Wenn bestimmt wird, dass Umschreiben noch nicht in allen der Umschreibziel-ECUs 19 abgeschlossen ist (S1607: NEIN), kehrt das CGW 13 zu Schritt S1601 zurück und führt wiederholt Schritt S1601 und die nachfolgenden Schritte aus. Das CGW 13 führt Fortschrittsanzeige bezüglich der Umschreibziel-ECU (ID2), die der nächsten Installation unterzogen wird, beispielsweise nach S1601 aus.
  • Wenn bestimmt wird, dass die Aufhebungsanforderung vor Abschluss des Umschreibens des Anwendungsprogramms erzeugt wurde (S1605: JA), beendet das CGW 13 die Anzeige der Umschreibfortschrittssituation während der normalen Zeit (S1608) und fährt mit einer Anzeigesteuerungsverarbeitung während Rollbacks fort (S1609; entsprechend einer Mitteilungsanweisungsprozedur). Hierbei beinhaltet die Aufhebungsanforderung eine Aufhebungsanforderung, die durch den Benutzer getätigt wird, und eine Aufhebungsanforderung, die durch das System basierend auf einem Fehler beim Schreiben in die Umschreibziel-ECU 19 oder dergleichen getätigt wird.
  • Wenn die Anzeigesteuerungsverarbeitung währende Rollbacks initiiert ist, spezifiziert das CGW 13 die Umschreibziel-ECU 19 während Rollbacks (S1611) und spezifiziert den Speichertyp des Flash-Speichers der Umschreibziel-ECU 19 während Rollbacks und den Datentyp und eine Größe eines Rollbackprogramms (S1612). Das CGW 13 führt eine Verarbeitung beispielsweise unter der Annahme aus, dass die Umschreibziel-ECU 19, die zur selben Gruppe gehört, die ECU (ID1), die ECU (ID2) und die ECU (ID3) sind, Installation in der ECU (ID1) und der ECU (ID2) abgeschlossen wurde und eine Aufhebungsanforderung während Installation in der ECU (ID3) erzeugt wurde. In diesem Fall spezifiziert das CGW 13, ob oder nicht Rollback erforderlich ist, und ein Rollbackverfahren gemäß dem Speichertyp und dem Schreibdatentyp jeder Umschreibziel-ECU 19.
  • Das CGW 13 spezifiziert den Speichertyp und den Schreibdatentyp des Flash-Speichers der Umschreibziel-ECU 19, die ein Rollbackziel ist, und spezifiziert, ob oder nicht Rollback erforderlich ist, und ein Rollbackverfahren (die erste Rollbackverarbeitung bei S1518, die zweite Rollbackverarbeitung bei S1519 und die dritte Rollbackverarbeitung bei S1520). Das CGW 13 berechnet eine Fortschrittssituation gemäß dem spezifizierten Ergebnis, zeigt die Fortschrittssituation an und gibt eine Anweisung zur Anzeige einer Umschreibfortschrittssituation während Rollbacks an (S1613). Eine Menge von Schreibdaten in dem CGW 13 unterscheidet sich abhängig von der ersten bis dritten Rollbackverarbeitung. Somit bestimmt das CGW 13 eine Gesamtmenge von Schreibdaten gemäß der ersten bis dritten Rollbackverarbeitung und berechnet den Fortschritt (wie viele Daten geschrieben wurden) basierend auf einem Verhältnis einer Menge geschriebener Daten. Das CGW 13 bestimmt, ob oder nicht Umschreiben als die Rollbackverarbeitung des Anwendungsprogramms abgeschlossen wurde (S1614).
  • Das CGW 13 verteilt die Schreibdaten an die Umschreibziel-ECU 19, bis das Umschreiben als die Rollbackverarbeitung abgeschlossen wurde, und führt wiederholt die vorstehend beschriebene Fortschrittsberechnung und Anzeigeanweisung aus. Bei S1613 zeigt das CGW 13 die berechnete Fortschrittssituation in einem Anzeigeaspekt während Rollbacks an. Bei S1614 bestimmt das CGW 13, ob oder nicht der Rollback für die ECU (ID3), in der Umschreiben ausgeführt wurde, normal abgeschlossen ist.
  • Wenn bestimmt wird, dass der Rollback für die Umschreibziel-ECU 19, die ein Rollbackziel ist, abgeschlossen wurde (S1614: JA), beendet das CGW 13 Anzeigen der Umschreibfortschrittssituation während des Rollbacks (S1615). Beispielsweise zeigt das CGW 13 weiterhin an, dass Rollback zu 100% für die ECU (ID3) abgeschlossen ist.
  • Das CGW 13 bestimmt, ob oder nicht Umschreiben während Rollbacks in allen Rollbackziel-ECUs 19 abgeschlossen ist (S1616). Wenn bestimmt wird, dass Umschreiben während Rollbacks nicht für all der Rollbackziel-ECUs 19 abgeschlossen ist (S1616: NEIN), kehrt das CGW 13 zu Schritt S1611 zurück und führt wiederholt Schritt S1611 und die nachfolgenden Schritte aus.
  • Beispielsweise in einem Fall, in dem die ECU (ID1), in der Installation abgeschlossen wurde, ein Einzelbankspeicher ist, zeigt das CGW 13 die Umschreibfortschrittssituation während Rollbacks an (S1613). Andererseits wird beispielsweise in einem Fall, in dem die ECU (ID2), in der Installation abgeschlossen wurde, ein Doppelbankspeicher ist und Rollback nicht erfordert, wird die ECU (ID2) von einem Umschreibziel während Rollbacks ausgeschlossen. Wenn des Rollback für die ECU (ID3) und die ECU (ID1) abgeschlossen wurde, wurde Umschreiben in den Umschreibziel-ECUs 19, die alle Rollbackziele sind, abgeschlossen (S1616: JA) und das CGW 13 beendet die Anzeigesteuerungsverarbeitung während Rollback.
  • In der vorstehenden Beschreibung führt das CGW 13 die Anzeigesteuerungsverarbeitung während Rollbacks aus, aber die ECU der Fahrzeugbordanzeige 7 oder die Zentralvorrichtung 3 kann konfiguriert sein, um Anzeigesteuerungsverarbeitung während Rollbacks auszuführen, während erforderliche Informationen von dem CGW 13 erlangt werden. Es kann eine Konfiguration geben, in der das CGW 13 Umschreiben während des Rollbacks, Fortschrittsberechnung und dergleichen ausführt und die ECU der Fahrzeugbordanzeige 7 oder die Zentralvorrichtung 3 Anzeigesteuerung während des Rollbacks ausführt. Das heißt, es gibt keine Beschränkung auf die Konfiguration, in der nur das CGW 13 die Funktion der Anzeigesteuervorrichtung hat, und die Funktion der Anzeigesteuervorrichtung kann zwischen dem CGW 13 und der ECU der Fahrzeugbordanzeige 7 verteilt werden oder die Funktion der Anzeigesteuervorrichtung kann zwischen dem CGW 13 und der Zentralvorrichtung 3 verteilt werden.
  • Nachfolgend wird eine Anzeige einer Umschreibfortschrittssituation gemäß 134 bis 142 beschrieben. Wie in 134 illustriert ist, zeigt das Anzeigeendgerät 5 die Gesamtfortschrittssituation als „Normales Umschreiben“ bei der Anzeige der Umschreibfortschrittssituation während der normalen Zeit an und ermöglicht somit dem Benutzer zu erkennen, dass die Anzeige eine Anzeige der Umschreibfortschrittssituation während der normalen Zeit ist. Das „normale Umschreiben“ kann als „Installation“ angezeigt werden. Als ein erster Aspekt zeigt das Anzeigeendgerät 5 die Umschreibfortschrittssituation während der normalen Zeit an.
  • Das Anzeigeendgerät 5 zeigt den Fortschrittszustand als „Warten auf Synchronisationsanweisung“ für die Umschreibziel-ECU 19 an, die Umschreiben eines Anwendungsprogramms abschließt und auf eine Synchronisationsanweisung zum Aktivieren des Aktualisierungsprogramms wartet, und zeigt den Fortschrittszustand als „Normales Umschreiben“ für die Umschreibziel-ECU 19 an, die ein Anwendungsprogramm umschreibt. Das „Warten auf Synchronisationsanweisung“ kann als „Warten auf Aktivierung“ angezeigt werden. Das „Normales Umschreiben in Bearbeitung“ kann als „Installation in Bearbeitung“ angezeigt werden. 134 zeigt beispielhaft einen Fall, in dem die ECU (ID0001) und die ECU (ID0002) Umschreiben von Anwendungsprogrammen abgeschlossen haben und auf eine Synchronisationsanweisung warten und die ECU (ID0003) in einem Normales-Umschreiben-in-Bearbeitung-Zustand ist.
  • Wenn eine Aufhebungsanforderung in diesem Zustand erzeugt wird, beispielsweise, wie in 135 illustriert ist, zeigt das Anzeigeendgerät 5 eine Popup-Nachricht „Aufhebung wurde empfangen; der Zustand vor dem Umschreiben wird wiederhergestellt; bitte warten Sie eine Weile“ an und ermöglicht somit dem Benutzer zu erkennen, dass die Aufhebung empfangen wurde. Als ein zweiter Aspekt führt das Anzeigeendgerät 5 eine Anzeige aus, die angibt, das Aufhebung empfangen wurde.
  • Wenn sich das CGW 13 auf das Umschreiben während des Rollbacks vorbereitet, zeigt das Anzeigeendgerät 5 die gesamte Fortschrittssituation als „Umschreiben rückgängig machen“ an, wie in 136 illustriert ist, und ermöglicht dem Benutzer zu erkennen, dass die Anzeige eine Anzeige der Umschreibfortschrittssituation während des Rollbacks ist. Das „Umschreiben rückgängig machen“ kann als „Deinstallation“ angezeigt werden. Das Anzeigeendgerät 5 zeigt die Fortschrittssituation von all den Umschreibziel-ECUs 19 als „Warten auf Rollback“ an und zeigt einen numerischen Wert eines Fortschrittsgraphen an, der die Umschreibfortschrittssituation als „0%“ angibt. Das „Warten auf Rollback“ kann als „Warten auf Deinstallation“ angezeigt werden. Hierbei sind die ECU (ID0001) und die ECU (ID0002) Beispiele von Einzelbankspeicher-ECUs und die ECU (ID0003) ist ein Beispiel einer Doppelbank-Speicher-ECU und Rollback ist für die ECU (ID0001) und die ECU (ID0002) erforderlich, in der Installation abgeschlossen wurde, zusätzlich zu der ECU (ID0003) in der Umschreiben ausgeführt wurde. 136 illustriert einen Aspekt, in dem eine Gesamtfortschrittssituation angezeigt wird, und die Fortschrittssituation jeder Umschreibziel-ECU 19 wird angezeigt.
  • Wenn Umschreiben während Rollbacks initiiert wird, zeigt das CGW 13 den Fortschrittszustand der Umschreibziel-ECU 19 in einem Umschreibzustand als „Rollbackumschreiben in Bearbeitung“ (oder „Deinstallation in Bearbeitung)“ an, wie in 137 illustriert ist. Als ein dritter Aspekt zeigt das Anzeigeendgerät 5 die Umschreibfortschrittssituation während Rollbacks an. 137 zeigt beispielhaft einen Fall, in dem die ECU (ID0003) in einem Rollbackumschreiben-in-Bearbeitung-Zustand ist. Wenn der Rollback für die Umschreibziel-ECU 19 abgeschlossen wurde, zeigt das Anzeigeendgerät 5 den Fortschrittszustand als „Rollback abgeschlossen“ an und zeigt die Fortschrittssituation als 100% für die Umschreibziel-ECU 19 an, die das Umschreiben abgeschlossen hat, wie in 138 illustriert ist.
  • In einem Fall, in dem die Rollbackziel-ECU 19 eine Einzelbankspeicher-ECU ist und die gesamten Daten umzuschreiben sind, veranlasst das Anzeigeendgerät 5 die Anzeige des Fortschrittsgraphen überzugehen, wie in 139 illustriert ist. Das heißt, in einem Fall, in dem die Rollbackziel-ECU 19 eine Einzelbankspeicher-ECU ist und die gesamten Daten umzuschreiben sind, wird Verteilung der gesamten Daten unmittelbar gestoppt und Daten des alten Anwendungsprogramms werden in den Flash-Speicher in der Umschreibziel-ECU 19, die in das alte Anwendungsprogramm umzuschreiben ist, geschrieben (erste Rollbackverarbeitung).
  • Beispielsweise, wenn eine Aufhebungsanforderung in einer Stufe erzeugt wird, in der normales Umschreiben bis zu „50%“ abgeschlossen wurde (139 (a)), zeigt das Anzeigeendgerät 5 den numerischen Wert des Fortschrittsgraphen als „0%“ an ( 139 (b)), erhöht einen numerischen Wert des Fortschrittsgraphen gemäß dem Fortschritt des Schreibens der Daten des alten Anwendungsprogramms und schreibt die Daten in das alte Anwendungsprogramm um (139 (c), 139 (d) und 139 (e). Wenn das Umschreiben in das alte Anwendungsprogramm zu 100% abgeschlossen ist, zeigt das Anzeigeendgerät 5 an, dass die Umschreibziel-ECU 19 „Hat Rollback abgeschlossen“. 139 und 140 bis 142, die später beschrieben sind, illustrieren Fortschrittsanzeige der einzelnen ECUs.
  • Wenn die Rollbackziel-ECU 19 eine Einzelbankspeicher-ECU ist und die Differenzdaten umzuschreiben sind, veranlasst das Anzeigeendgerät 5 die Anzeige des Fortschrittsgraphen überzugehen, wie in 140 oder 141 illustriert ist. Das heißt, wenn die Rollbackziel-ECU 19 ein Einzelbankspeicher ist und die Differenzdaten umzuschreiben sind, setzt das CGW 13 Verteilen der Differenzdaten fort, schreibt die Differenzdaten in den Flash-Speicher in der Umschreibziel-ECU 19 und schreibt somit die Differenzdaten in das neue Anwendungsprogramm um. Das CGW 13 verteilt die Daten des alten Anwendungsprogramms an die Umschreibziel-ECU 19, schreibt die alten Daten in den Flash-Speicher der Umschreibziel-ECU 19 und schreibt somit die alten Daten in das alte Anwendungsprogramm um (zweite Rollbackverarbeitung).
  • Beispielsweise, wenn eine Aufhebungsanforderung in einer Stufe erzeugt wird, in der normales Umschreiben (Installation) bis zu 50% abgeschlossen wurde (140 (a) und 141 (a)), zeigt das Anzeigeendgerät 5 einen numerischen Wert des Fortschrittsgraphen als „0%“ an (140 (b) und 141 (b)). Die Umschreibziel-ECU 19 validiert die Differenzdaten, die bisher geschrieben wurden, und fährt fort, die Differenzdaten zu schreiben, die von dem CGW 13 verteilt werden. Das heißt, die Fortschrittsanzeige, die angibt, dass Installation abgeschlossen wurde, schaltet von der Anzeige von „0%“ zu einem Verhältnis entsprechend den validierten „50%“ um (140 (c) und 141 (c)). Das Anzeigeendgerät 5 erhöht den numerischen Wert des Fortschrittsgraphen gemäß dem Fortschritt, mit dem die Umschreibziel-ECU 19 die Differenzdaten des neuen Programms schreibt, das von dem CGW 13 verteilt wird ( 140(d), 140(e), 141(d) und 141(e)). Nachdem die Umschreibziel-ECU 19 Umschreiben des neuen Anwendungsprogramms abschließt, erhöht das Anzeigeendgerät 5 anschließend den numerischen Wert des Fortschrittsgraphen gemäß dem Fortschritt, mit dem die Umschreibziel-ECU 19 die Differenzdaten des alten Anwendungsprogramms schreibt, die von dem CGW 13 verteilt werden (140 (f), 140 (g), 141 (f) und 141 (g)). Das heißt, das Anzeigeendgerät 5 zeigt die Fortschrittssituation des Schreibens des neuen Programms und die Fortschrittssituation des Schreibens des alten Programms gemäß dem Auftreten kontinuierlicher Installation des neuen Programms und Installation des alten Programms als die Rollbackverarbeitung an.
  • In diesem Fall, wie in 140 illustriert ist, kann das Anzeigeendgerät 5 einen Umschreibabschnitt des neuen Anwendungsprogramms als „100%“ in dem Fortschrittsgraphen auf der linken Seite und einen Umschreibabschnitt des alten Anwendungsprogramms als „100%“ in dem Fortschrittsgraphen auf der rechten Seite anzeigen, so dass die gesamte Breite des Fortschrittsgraphen „200%“ sein kann. In diesem Fall berechnet das Anzeigeendgerät 5 einen Fortschrittsprozentsatz des neuen Anwendungsprogramms basierend auf einer Dateigröße des neuen Anwendungsprogramms und eine kumulative Datengröße des geschriebenen neuen Anwendungsprogramms, berechnet einen Fortschrittsprozentsatz des alten Anwendungsprogramms basierend auf einer Dateigröße des alten Anwendungsprogramms und eine kumulative Datengröße des geschriebenen alten Anwendungsprogramms und zeigt somit die Fortschrittssituation an.
  • Ferner, wie in 141 illustriert ist, kann das Anzeigeendgerät 5 die gesamte Breite des Fortschrittsgraphen auf „100%“ durch Festlegen eines Umschreibabschnitts des neuen Anwendungsprogramms auf „50%“ und Festlegen eines Umschreibabschnitts des alten Anwendungsprogramms auf „50%“ festlegen. In diesem Fall berechnet und zeigt das Anzeigeendgerät 5 einen Fortschrittsprozentsatz basierend auf einem Summenwert der Dateigröße des geschriebenen neuen Anwendungsprogramms und der Dateigröße des alten Anwendungsprogramms und einem Summenwert der kumulativen Datengröße des neuen Anwendungsprogramms und der kumulativen Datengröße des alten Anwendungsprogramms an.
  • In einem Fall, in dem die Rollbackziel-ECU 19 Umschreiben in eine Einzelbank-Aussetzspeicher-ECU oder eine Doppelbank-Speicher-ECU unterzogen wird, wie in 142 illustriert ist, veranlasst das Anzeigeendgerät 5 die Anzeige des Fortschrittsgraphen, überzugehen. Das heißt, in einem Fall des Umschreibens, wenn die Rollbackziel-ECU 19 eine Einzelbank-Aussetzspeicher-ECU oder eine Doppelbank-Speicher-ECU ist, setzt das CGW 13 fort, Schreibdaten an die Umschreibziel-ECU 19 zu verteilen, schreibt Daten in die inaktive Bank in der Umschreibziel-ECU 19 und schreibt die Schreibdaten in das neue Anwendungsprogramm um (dritte Rollbackverarbeitung).
  • Beispielsweise, wenn eine Aufhebungsanforderung in einer Stufe erzeugt wird, in der normales Umschreiben (Installation) bis zu 50% abgeschlossen wurde (142 (a)), zeigt das Anzeigeendgerät 5 den numerischen Wert des Fortschrittsgraphen als „0%“ an (142 (b)). Die Umschreibziel-ECU 19 validiert die Differenzdaten, die bisher geschrieben wurden, und fährt fort, die Differenzdaten zu schreiben, die von dem CGW 13 verteilt werden. Das heißt, die Fortschrittsanzeige, die angibt, dass Installation abgeschlossen wurde, schaltet von der Anzeige von „0%“ zu einem Verhältnis entsprechend den validierten „50%“ um (142 (c)). Das Anzeigeendgerät 5 erhöht den numerischen Wert des Fortschrittsgraphen gemäß dem Fortschritt, mit dem die Umschreibziel-ECU 19 die Schreibdaten schreibt, die von dem CGW 13 verteilt werden (142 (d) und 142 (e)). In der vorliegenden Ausführungsform wurde ein Fall beschrieben, in dem das CGW 13 die Umschreibfortschrittssituationsanzeigesteuerverarbeitung ausführt, aber das Anzeigeendgerät 5 kann die Umschreibfortschrittssituationsanzeigesteuerverarbeitung ausführen.
  • Wie vorstehend beschrieben ist, da die Umschreibfortschrittssituationsanzeigesteuerverarbeitung ausgeführt wird, zeigt das Anzeigeendgerät 5 eine Fortschrittssituation in einem Anzeigeaspekt an, in dem beim Umschreiben eines Anwendungsprogramms zwischen Umschreiben (Installation) während der normalen Zeit und Umschreiben (Deinstallation) während Rollbacks basierend auf der Rollbackverarbeitung unterschieden wird. Der Benutzer kann erkennen, dass Rollback in Bearbeitung ist, durch Empfangen einer Aufhebung eines Aktualisierungsprogramms. Obwohl die Konfiguration zum Anzeigen einer Fortschrittssituation für jede Umschreibziel-ECU 19 vorstehend beschrieben wurde, wie in 143a illustriert ist, kann eine Konfiguration zum kollektiven Anzeigen einer Fortschrittssituation für die Umschreibziel-ECU 19 verwendet werden. In diesem Fall zeigt das Anzeigeendgerät 5 einen einzelnen Fortschrittszustand an, anstatt individuell Fortschrittszustände für die drei Umschreibziel-ECUs 19 anzuzeigen. Das CGW 13 berechnet den Fortschritt basierend auf einem Verhältnis einer Menge geschriebener Daten zu einer Gesamtmenge von Schreibdaten, die in den drei Umschreibziel-ECUs 19 als die Rollbackverarbeitung erzeugt werden.
  • (17) Differenzdatenkonsistenzbestimmungsverarbeitung
  • Die Differenzdatenkonsistenzbestimmungsverarbeitung wird gemäß 144 bis 147 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Differenzdatenkonsistenzbestimmungsverarbeitung aus, bevor Installation in der Umschreibziel-ECU 19 initiiert wird.
  • Wie in 144 illustriert ist, beinhaltet die ECU 19 in der Differenzdatenkonsistenzbestimmungseinheit 103 eine Differenzdatenerlangungseinheit 103a, eine Konsistenzbestimmungseinheit 103b, eine Schreibdatenwiederherstellungseinheit 103c, eine Datenschreibeinheit 103d, eine Datenverifizierungswertberechnungseinheit 103e, eine Umschreibspezifikationsdatenerlangungseinheit 103f, eine Datenidentifikationsinformationserlangungseinheit 103g und eine Umschreibbankinformationserlangungseinheit 103h.
  • Die Differenzdatenerlangungseinheit 103a erlangt Differenzdaten, die zum Umschreiben eines Datenspeicherbereichs einer elektronischen Steuereinheit verwendet werden, die die Umschreibziel-ECU 19 ist, und die eine Differenz zwischen alten Daten und neuen Daten angibt. Die Konsistenzbestimmungseinheit 103b bestimmt, ob oder nicht die Differenzdaten konsistent mit einem Datenspeicherbereich oder gespeicherten Daten sind, basierend auf ersten Bestimmungsinformationen bezüglich der gespeicherten Daten, die in dem Datenspeicherbereich des Flash-Speicher gespeichert sind, und zweiten Bestimmungsinformationen, die auf eine mit den Differenzdaten verknüpfte Weise erlangt werden. Beispielsweise sind die ersten Bestimmungsinformationen ein erster Datenverifizierungswert für die gespeicherten Daten und die zweiten Bestimmungsinformationen sind ein Datenverifizierungswert für alte Daten oder ein Datenverifizierungswert für neue Daten. Die Schreibdatenwiederherstellungseinheit 103c stellt Schreibdaten unter Verwendung der Differenzdaten und der gespeicherten Daten wieder her, wenn durch die Konsistenzbestimmungseinheit 103b bestimmt wird, dass die Konsistenz der Differenzdaten positiv ist, und stellt die Schreibdaten nicht wieder her, wenn durch die Konsistenzbestimmungseinheit 103b bestimmt wird, dass die Konsistenz der Differenzdaten negativ ist. Wenn die Schreibdaten durch die Schreibdatenwiederherstellungseinheit 103c wiederhergestellt werden, speichert die Datenschreibeinheit 103c die wiederhergestellten Daten in den Datenspeicherbereich. Die Datenverifizierungswertberechnungseinheit 103e berechnet einen Datenverifizierungswert für jeden von Blöcken, die durch Teilen der gespeicherten Daten in einen oder mehr Blöcke erlangt werden. Die Datenverifizierungswertberechnungseinheit 103e erlangt den Datenverifizierungswert für jeden Block, der zusammen mit den Differenzdaten empfangen wird.
  • Die Umschreibspezifikationsdatenerlangungseinheit 103f erlangt Umschreibspezifikationsdaten, die den in den CGW-Umschreibspezifikationsdaten entsprechen, von dem CGW 13. Die Datenidentifikationsinformationserlangungseinheit 103 erlangt Datenidentifikationsinformationen, die in den Differenzdaten gespeichert sind, und Datenidentifikationsinformationen eines alten Anwendungsprogramms, das heißt, die alten Daten. Die Datenidentifikationsinformationen sind Informationen zum Identifizieren, ob oder nicht die Differenzdaten Daten für die ECU sind, und sind beispielsweise Daten, die durch Anwenden eines vorbestimmten Algorithmus auf die alten Daten berechnet werden.
  • Die Umschreibbankinformationserlangungseinheit 103h erlangt Umschreibbankinformationen, die in den Umschreibspezifikationsdaten gespeichert sind, die von dem CGW 13 erlangt werden, und Umschreibbankinformationen des alten Anwendungsprogramms, das heißt, alte Daten. Die Umschreibbankinformationen sind Informationen, die angeben, welche Bank des Flash-Speicher mit den Differenzdaten, die die Schreibdaten sind, zu beschreiben ist. In einem Fall, in dem die Umschreibziel-ECU 19 ein Doppelbankspeicher oder ein Einzelbankaussetzspeicher ist, wird die Bank-A oder die Bank-B bestimmt. In einem Fall, in dem die Umschreibziel-ECU 19 ein Einzelbankspeicher ist, werden die Umschreibbankinformationen nicht verwendet. Wenn die Differenzdaten, die von dem CGW 13 verteilt werden, durch die Schreibdatenempfangseinheit 101 empfangen werden, bestimmt die Konsistenzbestimmungseinheit 103b die Konsistenz der Differenzdaten unter Verwendung mindestens einer der Datenidentifikationsinformationen, des Datenverifizierungswerts und der Umschreibbankinformationen.
  • Als nächstes wird eine Operation der Differenzdatenkonsistenzbestimmungseinheit 103 in der Umschreibziel-ECU 19 gemäß 145 bis 147 beschrieben. Die Umschreibziel-ECU 19 führt ein Differenzdatenkonsistenzbestimmungsprogramm aus und führt somit die Differenzdatenkonsistenzbestimmungsverarbeitung aus. Wenn die Differenzdatenkonsistenzbestimmungsverarbeitung initiiert wird, erlangt die Umschreibziel-ECU 19 Datenidentifikationsinformationen, einen Datenverifizierungswert und Umschreibbankinformationen bezüglich Differenzdaten als erste Bestimmungsinformationen zum Bestimmen der Konsistenz der Differenzdaten (S1701). Die Umschreibziel-ECU 19 erlangt Datenidentifikationsinformationen, einen Datenverifizierungswert von alten Daten, einen Datenverifizierungswert von neuen Daten und Umschreibbankinformationen als zweite Bestimmungsinformationen (S1702).
  • Die Umschreibziel-ECU 19 bestimmt, ob oder nicht die Datenidentifikationsinformationen der ersten Bestimmungsinformationen mit den Datenidentifikationsinformationen der zweiten Bestimmungsinformationen übereinstimmen und ob oder nicht die Umschreibbankinformationen der ersten Bestimmungsinformationen mit den Umschreibbankinformationen der zweiten Bestimmungsinformationen übereinstimmen (S1703). Wenn bestimmt wird, dass die Datenidentifikationsinformationen der ersten Bestimmungsinformationen nicht mit den Datenidentifikationsinformationen der zweiten Bestimmungsinformationen übereinstimmen oder die die Umschreibbankinformationen der ersten Bestimmungsinformationen nicht mit den Umschreibbankinformationen der zweiten Bestimmungsinformationen übereinstimmen (S1703: NEIN), bestimmt die Umschreibziel-ECU 19, dass die Schreibdaten ungeeignet sind, teilt dem CGW 13 Fehlerinformationen mit und beendet die Differenzdatenkonsistenzbestimmungsverarbeitung.
  • Wenn bestimmt wird, dass die Datenidentifikationsinformationen der ersten Bestimmungsinformationen mit den Datenidentifikationsinformationen der zweiten Bestimmungsinformationen übereinstimmen und dass die Umschreibbankinformationen der ersten Bestimmungsinformationen mit den Umschreibbankinformationen der zweiten Bestimmungsinformationen übereinstimmen (S1703: JA), vergleicht die Umschreibziel-ECU 19 den Datenverifizierungswert der ersten Bestimmungsinformationen mit dem Datenverifizierungswert der neuen Daten der zweiten Bestimmungsinformationen und bestimmt, ob oder nicht beide der Datenverifizierungswerte übereinstimmen (S1704; entsprechend einer Konsistenzbestimmungsprozedur). Wenn bestimmt wird, dass beide der Datenverifizierungswerte nicht übereinstimmen (S1704: NEIN), vergleicht die Umschreibziel-ECU 19 den Datenverifizierungswert der ersten Bestimmungsinformationen mit dem Datenverifizierungswert der alten Daten der zweiten Bestimmungsinformationen und bestimmt, ob beide der Datenverifizierungswerte übereinstimmen (S1705; entsprechend einer Konsistenzbestimmungsprozedur).
  • Wenn bestimmt wird, dass beide der Datenverifizierungswerte übereinstimmen (S1705: JA), stellt die Umschreibziel-ECU 19 Schreibdaten wieder her (S1706; entsprechend einer Schreibdatenwiederherstellungsprozedur), schreibt die wiederhergestellten Daten in den Flash-Speicher (S1707; entsprechend einer Datenschreibprozedur) und bestimmt, ob oder nicht Schreiben der gesamten Schreibdaten abgeschlossen wurde (S1708). Wenn bestimmt wird, dass Schreiben der gesamten Schreibdaten nicht abgeschlossen wurde (S1708: NEIN), kehrt die Umschreibziel-ECU 19 zu Schritt S1703 zurück und führt wiederholt Schritt S1703 und die nachfolgenden Schritte aus. Wenn bestimmt wird, dass das gesamte Schreiben der gesamten Schreibdaten abgeschlossen wurde (S1708: JA), beendet die Umschreibziel-ECU 19 die Differenzdatenkonsistenzbestimmungsverarbeitung.
  • Wenn bestimmt wird, dass der Datenverifizierungswert der ersten Bestimmungsinformationen nicht mit dem Datenverifizierungswert der neuen Daten der zweiten Bestimmungsinformationen übereinstimmt (S1704: NEIN) und bestimmt wird, dass der Datenverifizierungswert der ersten Bestimmungsinformationen nicht mit dem Datenverifizierungswert der alten Daten der zweiten Bestimmungsinformationen übereinstimmt (S1705: NEIN), bestimmt die Umschreibziel-ECU 19, ob oder nicht Schreiben für einen ersten Block ausgeführt wird (S1709).
  • Wenn bestimmt wird, dass das Schreiben für den ersten Block ausgeführt wird (S1709: JA), bestimmt die Umschreibziel-ECU 19, ob oder nicht Schreiben der gesamten Schreibdaten abgeschlossen wurde, da Schreiben des ersten Blocks nicht abgeschlossen wurde (S1708). Wenn bestimmt wird, dass Schreiben des ersten Blocks nicht ausgeführt wird, das heißt, Schreiben für einen zweiten Block und die nachfolgenden Blöcke ausgeführt wird (S1709: NEIN), versucht die Umschreibziel-ECU 19 das Schreiben erneut (S1710) und bestimmt, ob oder nicht Schreiben der gesamten Schreibdaten abgeschlossen wurde (S1708).
  • Es erfolgt eine Beschreibung eines Falls, in dem die Umschreibziel-ECU 19 eine Einzelbankspeicher-ECU gemäß 146 ist. Datenidentifikationsinformationen (alt) und ein CRC-Wert (Datenverifizierungswert), die für jeden Block alter Daten berechnet werden, sind an Differenzdaten angehängt, die von dem CGW 13 verteilt werden. Die Datenidentifikationsinformationen (alt) sind Daten, die durch Anwenden eines vorbestimmten Algorithmus auf die alten Daten (altes Anwendungsprogramm) berechnet werden. Wenn die Datenidentifikationsinformationen als Bestimmungsinformationen verwendet werden, vergleicht die Umschreibziel-ECU 19 die Datenidentifikationsinformationen (alt), die an die Differenzdaten angehängt sind, mit den Datenidentifikationsinformationen (alt) des Programms (alte Daten), die in dem Flash-Speicher gespeichert sind, und bestimmt die Konsistenz der Differenzdaten. Die Datenidentifikationsinformationen (alt), die in dem Flash-Speicher gespeichert sind, sind Informationen, die zusammen gespeichert sind, wenn das Programm in den Flash-Speicher der Umschreibziel-ECU 19 geschrieben wird. Alternativ kann eine vorbestimmte Anzahl von Bits ausgehend von einer führenden Adresse des Programms, das in dem Flash-Speicher geschrieben ist, als Datenidentifikationsinformationen (alt) betrachtet werden.
  • Wenn der Datenverifizierungswert als Bestimmungsinformationen verwendet wird, berechnet die Umschreibziel-ECU 19 einen CRC-Wert für jeden Block des Programms, das in dem Flash-Speicher gespeichert ist, vergleicht einen CRC-Wert (CRC (B1 bis Bn)) für die alten Daten, der an die empfangenen Differenzdaten angehängt ist, und einen CRC-Wert (CRC (B1' bis Bn')) für die neuen Daten mit dem berechneten CRC-Wert und bestimmt die Konsistenz der Differenzdaten. Wenn kein neues Programm in dem Flash-Speicher geschrieben ist, stimmt der empfangene CRC-Wert in allen Blöcken mit dem berechneten CRC-Wert überein. In einem Fall, in dem Schreiben in einem Zustand gestoppt ist, in dem das neue Programm in bis zu m (<n) Blöcke des Flash-Speichers geschrieben wird und das Schreiben wiederaufgenommen wird, stimmt der berechnete CRC-Wert mit dem CRC-Wert (CRD (B1' bis Bn') der neuen Daten in den Blöcken 1 bis m überein und somit überspringt die Umschreibziel-ECU 19 eine Schreibverarbeitung (S1706 und S1707). Die Umschreibziel-ECU 19 führt die Schreibverarbeitung (S1706 und S1707) von dem Block m+1 durch Überprüfen der Übereinstimmung mit dem CRC-Wert (CRC (B1 bis Bn)) für die alten Daten aus.
  • Datenidentifikationsinformationen (neu) eines neuen Programms (neue Daten) und ein CRC-Wert (CRC (B1' bis Bn')) für jeden Block können an die Differenzdaten angehängt werden. Die Umschreibziel-ECU 19 schreibt die Differenzdaten in den Flash-Speicher, speichert die Datenidentifikationsinformationen (neu) zusammen, wenn das neue Programm installiert wird, und verwendet die Differenzdaten zum Bestimmen der Konsistenz in der nächsten Programmaktualisierung. Wenn die Installation des neuen Programms abgeschlossen ist, liest die Umschreibziel-ECU 19 das neue Programm, das in dem Flash-Speicher gespeichert ist, für jeden Block, berechnet einen CRC-Wert, vergleicht den CRC-Wert mit dem CRC-Wert, der an die Differenzdaten angehängt ist, und verifiziert, ob oder nicht das neue Programm korrekt geschrieben wurde.
  • Es erfolgt eine Beschreibung eines Falls, in dem die Umschreibziel-ECU 19 eine Doppelbank-Speicher-ECU ist, gemäß 147. Ebenso in diesem Fall, wenn der Datenverifizierungswert als Bestimmungsinformationen verwendet werden, berechnet die Umschreibziel-ECU 19 einen CRC-Wert für jeden Block des Programms, das in dem Flash-Speicher gespeichert ist, vergleicht den CRC-Wert (CRC (B1 bis Bn)) für die alten Daten, der an den empfangenen Differenzdaten angehängt sind, und den CRC-Wert (CRC (B1' bis Bn')) für die neuen Daten mit dem berechneten CRC-Wert und bestimmt die Konsistenz der Differenzdaten. Wenn kein neues Programm in dem Flash-Speicher geschrieben ist, stimmt der empfangene CRC-Wert in allen Blöcken mit dem berechneten CRC-Wert überein. In einem Fall, in dem Schreiben in einem Zustand gestoppt ist, in dem das neue Programm in bis zu m (<n) Blöcke des Flash-Speichers geschrieben wird und das Schreiben wiederaufgenommen wird, stimmt der berechnete CRC-Wert mit dem CRC-Wert (CRD (B1' bis Bn') der neuen Daten in den Blöcken 1 bis m überein und somit überspringt die Umschreibziel-ECU 19 eine Schreibverarbeitung (S1706 und S1707). Die Umschreibziel-ECU 19 führt die Schreibverarbeitung (S1706 und S1707) von dem Block m+1 durch Überprüfen der Übereinstimmung mit dem CRC-Wert (CRC (B1 bis Bn)) für die alten Daten aus.
  • Es wird angenommen, dass die Bank-A des Flash-Speichers eine aktive Bank ist und die Version 2.0 hat, seine Bank-B eine inaktive Bank ist und die Version 1.0 hat und die Differenzdaten Differenzdaten (Differenzdaten zwischen der Version 1.0 und der Version 3.0) zur Aktualisierung der Bank-B auf die Version 3.0 sind. Den Differenzdaten, die von dem CGW 13 verteilt werden, werden die Datenidentifikationsinformationen (Informationen, die die alte Version angeben (Version 1.0)), ein CRC-Wert, der für jeden Block der alten Daten berechnet wird (altes Programm (Version 1.0)), und ein CRC-Wert angehängt, der für jeden Block der neuen Daten (neues Programm (Version 3.0)) berechnet wird.
  • Die Umschreibspezifikationsdaten beinhalten Umschreibbankinformationen, die angeben, in welche Bank des Flash-Speichers die Differenzdaten für die Umschreibziel-ECU 19 zu schreiben sind. In einem Fall, in dem die Umschreibbankinformationen als Bestimmungsinformationen verwendet werden, vergleicht die Umschreibziel-ECU 19 die Umschreibbankinformationen, die von den Umschreibspezifikationsdaten erlangt werden, mit Inaktive-Bank-Informationen (Bank-B) der Umschreibziel-ECU 19 erlangt werden, und bestimmt die Konsistenz der Differenzdaten. In einem Fall, in dem die Datenidentifikationsinformationen als Bestimmungsinformationen verwendet werden, vergleicht die Umschreibziel-ECU 19 die Datenidentifikationsinformationen (alt (Version 1.0), die an die Differenzdaten angehängt sind, mit den Datenidentifikationsinformationen (alt) des alten Programms (Version 1.0), die in der inaktiven Bank (Bank-B) des Flash-Speichers gespeichert sind, und bestimmt die Konsistenz der Differenzdaten. In einem Fall, in dem der Datenverifizierungswert als Bestimmungsinformationen verwendet wird, berechnet die Umschreibziel-ECU 19 einen CRC-Wert für jeden Block des alten Programms (Version 1.0), das in der inaktiven Bank (Bank-B) des Flash-Speichers gespeichert ist, vergleicht den CRC-Wert (CRC (B1 bis Bn)), der an die Differenzdaten angehängt ist, mit dem berechneten CRC-Wert und bestimmt die Konsistenz der Differenzdaten.
  • In den Beispielen, die in 143 und 144 illustriert sind, die vorstehend beschrieben sind, wurde beschrieben, dass die Datenidentifikationsinformationen und der Datenverifizierungswert an die Differenzdaten angehängt sind und von dem CGW 13 zusammen mit den Differenzdaten verteilt werden. Jedoch können die Datenidentifikationsinformationen und der Datenverifizierungswert als Header-Informationen der Differenzdaten angehängt werden und die Header-Informationen können an die Umschreibziel-ECU 19 verteilt werden, bevor das CGW 13 die Differenzdaten an die Umschreibziel-ECU 19 verteilt. Wenn die Header-Informationen von dem CGW 13 empfangen werden, bestimmt die Umschreibziel-ECU 19 die Konsistenz der Differenzdaten unter Verwendung der Datenidentifikationsinformationen und des Datenverifizierungswerts.
  • In 143 und 144 wurde der Fall beschrieben, in dem Umschreibdaten die Differenzdaten sind, als ein Beispiel beschrieben, aber das gleiche gilt für einen Fall, in dem Umschreibdaten die gesamten Daten sind. In einem Fall, in dem die Umschreibziel-ECU 19 einen Einzelbankspeicher hat, wird die gleiche Konsistenzbestimmung ausgeführt, wenn die Rollback-Differenzdaten verwendet werden, um den Speicher wieder zu einer ursprünglichen Version zurückzubringen.
  • Wie vorstehend beschrieben ist, führt die Umschreibziel-ECU 19 die Differenzdatenkonsistenzbestimmungsverarbeitung aus, schreibt somit Schreibdaten, die basierend auf den Differenzdaten erzeugt werden, nur in einem Fall, in dem die Konsistenz der Differenzdaten positiv ist, und verhindert eine Situation, in der Schreibdaten, die basierend auf den Differenzdaten erzeugt werden, in einem Fall geschrieben werden, in dem die Konsistenz der Differenzdaten negativ ist. Beispielsweise in einem Fall, in dem Differenzdaten, die in den Bank-A geschrieben werden, in einem Verteilungspaket für die Umschreibziel-ECU 19 beinhaltet sind, in der die Bank-B des Flash-Speicher keine inaktive Bank ist, kann Inkonsistenz erfasst werden, bevor die Differenzdaten in den Flash-Speicher geschrieben werden. In einem Fall, in dem Differenzdaten für andere ECUs oder Differenzdaten, deren Version inkonsistent ist, in einem Verteilungspaket als Differenzdaten für die Umschreibziel-ECU beinhaltet sind, kann Inkonsistenz erfasst werden, bevor die Differenzdaten in den Flash-Speicher geschrieben werden.
  • In einem Fall, in dem die Umschreibziel-ECU 19 stoppt und dann das Schreiben der Schreibdaten wiederaufnimmt, bestimmt die Umschreibziel-ECU 19 die Konsistenz der Differenzdaten basierend auf dem Datenverifizierungswert für die gespeicherten Daten im Flash-Speicher und dem Datenverifizierungswert der alten Daten und dem Datenverifizierungswert der neuen Daten, die mit den empfangenen Differenzdaten verknüpft sind. Die Umschreibziel-ECU 19 kann die Konsistenz der Differenzdaten basierend auf dem Datenverifizierungswert für die gespeicherten Daten und den Verifizierungswert der empfangenen neuen Daten bestimmen und kann die Konsistenz der Differenzdaten basierend auf dem Datenverifizierungswert für die gespeicherten Daten und dem Datenverifizierungswert der empfangenen alten Daten aus dem finalen Block, für den ein Bestimmungsergebnis negativ ist, bestimmen.
  • Die Umschreibziel-ECU 19 überspringt Schreiben der Schreibdaten mindestens bis zum vorangehenden Block des finalen Blocks, für den die Konsistenz der Differenzdaten als negativ bestimmt wird, und nimmt Schreiben der Schreibdaten ab dem finalen Block oder dem auf den finalen Block folgenden Block wieder auf. In einem Fall, in dem eine Blockgröße gleich einer Datengröße eines Schreibbereichs für die Schreibdaten ist, da Schreiben der Schreibdaten abgeschlossen bis zum finalen Block abgeschlossen wurde, ist es ausreichend, Schreiben in den finalen Blocks zu überspringen und Schreiben ab dem finalen Block wiederaufzunehmen. Andererseits in einem Fall, in dem die Blockgröße nicht gleich der Datengröße des Schreibbereichs für die Schreibdaten ist, kann Schreiben der Schreibdaten in dem finalen Block gestoppt werden und somit ist es erforderlich, Schreiben ab dem finalen Block wiederaufzunehmen.
  • (18) Umschreibungsausführungssteuerverarbeitung
  • Die Umschreibungsausführungssteuerverarbeitung wird gemäß 148 bis 155 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Umschreibungsausführungssteuerverarbeitung in der ECU 19 aus.
  • Wie in 148 illustriert ist, beinhaltet die ECU 19 eine Programmausführungseinheit 104a, eine Umschaltanforderungsempfangseinheit 104b, eine Datenerlangungseinheit 104c, eine Bankinformationsmitteilungseinheit 104d, eine Firmwareerlangungseinheit 104e, eine Installationsausführungseinheit 104f und eine Aktivierungsausführungseinheit 104g in der Umschreibausführungssteuereinheit 104. Die Programmausführungseinheit 104a schreibt eine inaktive Bank durch Ausführen eines Umschreibprogramms in einer aktiven Bank während Ausführens eines Anwendungsprogramms und Parameterdaten in der aktiven Bank um. Die Umschaltanforderungsempfangseinheit 104b empfängt eine Aktivierungsanforderung von dem CGW 13. Die Datenerlangungseinheit 104c erlangt Schreibdaten für einen Bereich der inaktiven Bank, der von außen umgeschrieben werden muss. Die Bankinformationsmitteilungseinheit 104d teilt der Außenseite Doppelbankumschreibinformationen mit (im Folgenden als Bankinformationen bezeichnet). Die Firmwareerlangungseinheit 104e erlangt Firmware eines Umschreibprogramms von der Außenseite. Wenn eine Anweisung zur Installation durch das CGW 13 gegeben wird, schreibt die Installationsausführungseinheit 104f Schreibdaten in den Flash-Speicher und führt die Installation aus. Wenn eine Anweisung zur Aktivierung durch das CGW 13 gegeben wird, führt die Aktivierungsausführungseinheit 104g die Aktivierung zum Umschalten der aktiven Bank in Vorbereitung auf einen Neustart aus.
  • Als nächstes wird eine Operation der Umschreibausführungssteuereinheit 104 in der Umschreibziel-ECU 19 gemäß 149 und 155 beschrieben. Die Umschreibziel-ECU 19 führt ein Umschreibausführungssteuerprogramm aus und führt somit die Umschreibungsausführungssteuerverarbeitung aus. Die Umschreibziel-ECU 19 führt eine normale Operationsverarbeitung, eine Umschreiboperationsverarbeitung, eine Informationsmitteilungsverarbeitung und eine Anwendungsprogrammverifizierungsverarbeitung als die Umschreibungsausführungssteuerverarbeitung aus. Jede Verarbeitung wird nachfolgend beschrieben. In der vorliegenden Ausführungsform wird ein Fall beschrieben, in dem die Umschreibziel-ECU 19 eine Doppelbank-Speicher-ECU oder eine Einzelbank-Aussetzspeicher-ECU ist.
  • (18-1) Normale Operationsverarbeitung
  • Die Umschreibziel-ECU 19 initiiert die normale Operationsverarbeitung, wenn die Umschreibziel-ECU 19 von dem Stoppzustand oder dem Schlafzustand in den Startzustand aufgrund Einschaltens der IG-Energie oder dergleichen übergeht. Wenn die normale Operationsverarbeitung initiiert wird, spezifiziert die Umschreibziel-ECU 19 eine Startbank basierend auf Startbankbestimmungsinformationen hinsichtlich der Bank-A und der Bank-B (S1801) und wird in der Startbank gestartet (S1802). Die Umschreibziel-ECU 19 verifiziert die Integrität eines Programms, das in der Startbank (aktive Bank) gespeichert ist, und bestimmt, ob die Startbank positiv ist (S1803).
  • Wenn bestimmt wird, dass ein Verifizierungsergebnis der Integrität der Startbank negativ ist, und bestimmt wird, dass die Startbank negativ ist (S1803: NEIN), sendet die Umschreibziel-ECU 19 Fehlerinformationen, die angeben, dass das Verifizierungsergebnis der Integrität der Startbank negativ ist, an das CGW 13 (S1804) und beendet die normale Operationsverarbeitung. Wenn die Fehlerinformationen von der Umschreibziel-ECU 19 empfangen werden, sendet das CGW 13 die Fehlerinformationen an das DCM 12. Wenn die Fehlerinformationen von dem CGW 13 empfangen werden, lädt das DCM 12 die empfangenen Fehlerinformationen an die Zentralvorrichtung 3 hoch. Das heißt, wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der Startbank in der Umschreibziel-ECU 19 negativ ist, wird dem CGW 13, dem DCM 12 und der Zentralvorrichtung 3 diese Tatsache mitgeteilt.
  • Wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der Startbank positiv ist, und bestimmt wird, dass die Startbank positiv ist (S1803: JA), verifiziert die Umschreibziel-ECU 19 die Integrität des Programms, das in der Umschreibbank (inaktive Bank) gespeichert ist, und bestimmt, ob oder nicht die Umschreibbank positiv ist (S1805).
  • Wenn bestimmt wird, dass ein Verifizierungsergebnis der Integrität der Umschreibbank negativ ist, und bestimmt wird, dass ein Verifizierungsergebnis der Umschreibbank negativ ist (S1805: NEIN), sendet die Umschreibziel-ECU 19 Fehlerinformationen, die angeben, dass das Verifizierungsergebnis der Integrität der Umschreibbank negativ ist, an das CGW 13 (S1806). Wenn die Fehlerinformationen von der Umschreibziel-ECU 19 empfangen werden, sendet das CGW 13 die Fehlerinformationen an das DCM 12. Wenn die Fehlerinformationen von dem CGW 13 empfangen werden, lädt das DCM 12 die empfangenen Fehlerinformationen an die Zentralvorrichtung 3 hoch. Das heißt, wenn bestimmt wird, dass das Verifizierungsergebnis der Integrität der Umschreibbank in der Umschreibziel-ECU 19 negativ ist, wird dem CGW 13, dem DCM 12 und der Zentralvorrichtung 3 diese Tatsache mitgeteilt.
  • Die Integritätsverifizierungsverarbeitung, die vorstehend beschrieben ist, wird durch ein Bootprogramm ausgeführt, bevor ein Anwendungsprogramm ausgeführt wird. Wenn die Integritätsverifizierung beendet ist, spezifiziert die Umschreibziel-ECU 19 eine Ortsadresse der Boot-Vektortabelle (S1807), spezifiziert eine Ortsadresse der Normalzeitvektortabelle (S1808), spezifiziert eine führende Adresse des Anwendungsprogramms (S1809), führt das Anwendungsprogramm aus und beendet die normale Operationsverarbeitung.
  • (18-2) Umschreiboperationsverarbeitung
  • Wenn eine Umschreibanforderung von dem CGW 13 empfangen wird, initiiert die Umschreibziel-ECU 19 die Umschreiboperationsverarbeitung. Wenn die Umschreiboperationsverarbeitung initiiert wird, führt die Umschreibziel-ECU 19 Authentifizierung mit dem CGW 13 unter Verwendung eines Sicherheitszugriffsschlüssels (S1811) aus. Wenn bestimmt wird, dass ein Authentifizierungsergebnis positiv ist (S1812: JA), wartet die Umschreibziel-ECU 19 auf Schreibdaten, die zu empfangen sind (S1813). Wenn bestimmt wird, dass die Schreibdaten von dem CGW 13 empfangen wurden (S1813: JA), schreibt die Umschreibziel-ECU 19 ein Anwendungsprogramm um, das sich in einer Umschreibbank (inaktive Bank) befindet, während ein Anwendungsprogramm ausgeführt wird, das sich in einer Startbank (aktive Bank) befindet (S1814).
  • Es wird bestimmt, ob oder nicht Umschreiben des Anwendungsprogramms abgeschlossen wurde (S1815), und, wenn bestimmt wird, dass Umschreiben des Anwendungsprogramms abgeschlossen wurde (S1815: JA), bestimmt die Umschreibziel-ECU 19, ob oder nicht Verifizierung positiv ist (S1816). Wenn bestimmt wird, dass die Verifizierung positiv ist (S1816: JA), setzt die Umschreibziel-ECU 19 ein Umschreibabschluss-Flag auf „OK“ (S1817). Die Verifizierung ist eine Verifizierung der Integrität des Anwendungsprogramms, das in der inaktiven Bank geschrieben ist.
  • Die Umschreibziel-ECU 19 bestimmt, ob oder nicht eine Aktivierungsanforderung von dem CGW 13 empfangen wurde (S1818). Wenn bestimmt wird, dass die Aktivierungsanforderung von dem CGW 13 empfangen wurde (S1818: JA), inkrementiert die Umschreibziel-ECU 19 beispielsweise einen numerischen Wert von Startbankinformationen hinsichtlich der Umschreibbank und aktualisiert somit die Startbankinformationen hinsichtlich der Umschreibbank (S1819). Das heißt, Aktualisierung auf Informationen, die angeben, dass die Umschreibziel-ECU danach in der Umschreibbank gestartet wird, wird ausgeführt. Es wird bestimmt, ob oder nicht ein Versionslesesignal von dem CGW 13 empfangen wurde (S1820), und, wenn bestimmt wird, dass das Versionslesesignal empfangen wurde (S1820: Ja), sendet die Umschreibziel-ECU 19 an das CGW 13 Versionsinformationen hinsichtlich der aktiven Bank, Versionsinformationen hinsichtlich der inaktiven Bank und Identifikationsinformationen zum Spezifizieren, welche Bank die aktive Bank ist (S1821), und beendet die Umschreiboperationsverarbeitung. Hierbei kann die Umschreibziel-ECU 19 alle der Verarbeitungen von S1811 bis S1821 gemäß dem Anwendungsprogramm in der aktiven Bank (alte Bank) vor Umschalten ausführen. Die Umschreibziel-ECU 19 kann die Verarbeitungen von S1811 bis S1819 gemäß dem Anwendungsprogramm in der aktiven Bank (alte Bank) vor Umschalten ausführen und kann nach Ausführen von S1819 neugestartet werden, um die Verarbeitungen von S1820 bis S1821 gemäß dem Anwendungsprogramm in der aktiven Bank (neue Bank) nach Umschalten auszuführen.
  • (18-3) Informationsmitteilungsverarbeitung
  • Die Umschreibziel-ECU 19 initiiert die Informationsmitteilungsverarbeitung, wenn die Umschreibziel-ECU 19 von dem Stoppzustand oder dem Schlafzustand in den Startzustand übergeht, oder, wenn beispielsweise die IG-Energie eingeschaltet wird oder eine Mitteilungsanforderung von dem CGW 13 empfangen wird. Wenn die Informationsmitteilungsverarbeitung initiiert wird, teilt die Umschreibziel-ECU 19 dem CGW 13 Identifikationsinformationen zum eindeutigen Spezifizieren eines Anwendungsprogramms und Parameterdaten bezüglich einer aktiven Bank oder einer inaktiven Bank und Identifikationsinformationen zum eindeutigen Spezifizieren einer Stelle mit, wo die aktive Bank oder die inaktive Bank auf dem Speicher angeordnet ist. Das heißt, die Umschreibziel-ECU 19 erlangt Startbankinformationen hinsichtlich einer Startbank (S 1831) und sendet die Startbankinformationen an das CGW 13 (S 1832). Die Umschreibziel-ECU 19 sendet an das CGW 13 Informationen, die angeben, welche der Bank-A und der Bank-B die Startbank ist, Versionsinformationen der Startbank und dergleichen als die Startbankinformationen.
  • Wenn das Senden der Startbankinformationen an das CGW 13 abgeschlossen wurde, erlangt die Umschreibziel-ECU 19 Umschreibbankinformationen (nachfolgend als Bankinformationen bezeichnet) hinsichtlich der Umschreibbank (S1833) und sendet die erlangten Umschreibbankinformationen an das CGW 13 (S1834). Die Umschreibziel-ECU 19 sendet an das CGW 13 Informationen, die angeben, welche Bank der Bank-A und der Bank-B die Umschreibbank ist, Versionsinformationen der Umschreibbank und dergleichen als die Umschreibbankinformationen. Wenn Senden der Umschreibbankinformationen an das CGW 13 abgeschlossen wurde, sendet die Umschreibziel-ECU 19 Identifikationsinformation zum Spezifizieren von Ortsadressen der Startbank und der Umschreibbank auf dem Speicher an das CGW 13 (S1835) und beendet die Informationsmitteilungsverarbeitung. Die Umschreibziel-ECU 19 sendet an das CGW 13 beispielsweise eine Initialisierungsadresse und eine Endadresse der Bank-A und eine Initialisierungsadresse und eine Endadresse der Bank-B in dem Flash-Speicher als die Identifikationsinformation zum Spezifizieren von Adressen.
  • (18-4) Umschreibprogrammverifizierungsverarbeitung
  • Wenn die Umschreibprogrammverifizierungsverarbeitung initiiert wird, bestimmt die Umschreibziel-ECU 19, ob oder nicht Identifikationsinformation zum Spezifizieren einer Adresse zum Ausführen eines Umschreibprogramms erlangt wurden (S1841). Wenn bestimmt wird, dass die Identifikationsinformation zum Spezifizieren der Adresse zum Ausführen des Umschreibprogramms erlangt wurden (S1841: JA), bestimmt die Umschreibziel-ECU 19, ob oder nicht die Identifikationsinformation mit den Startbankinformationen der Umschreibziel-ECU 19 übereinstimmen (S1842). Insbesondere bestimmt die Umschreibziel-ECU 19, ob oder nicht die Bankinformationen, die die Startbank in den Startbankinformationen angeben, mit den Identifikationsinformationen übereinstimmen.
  • Wenn bestimmt wird, dass die Identifikationsinformationen mit den Startbankinformationen der Umschreibziel-ECU 19 übereinstimmen (S1842: JA), erlangt die Umschreibziel-ECU 19 das Umschreibprogramm (S1843) und bestimmt, ob oder nicht Identifikationsinformationen zum Spezifizieren einer Adresse zum Umschreiben des Anwendungsprogramms erlangt wurden (S1844). Hierbei erlangt in einem Fall einer Konfiguration eines eingebetteten Typs, in der das Umschreibprogramm vorab in dem Flash-Speicher eingebettet ist, bei S1843 die Umschreibziel-ECU 19 ein Schreibprogramm in der Startbank von dem Flash-Speicher und führt das Schreibprogramm auf dem RAM aus. In einem Fall einer Konfiguration eines Herunterladetyps, bei der das Umschreibprogramm nicht vorab in den Flash-Speicher eingebettet ist, sondern von außen heruntergeladen wird, lädt die Umschreibziel-ECU 19 bei S1843 das Umschreibprogramm in den RAM herunter und führt das Umschreibprogramm aus.
  • Wenn bestimmt wird, dass die Identifikationsinformation zum Spezifizieren der Adresse zum Umschreiben des Anwendungsprogramms erlangt wurden (S1844: JA), bestimmt die Umschreibziel-ECU 19, ob oder nicht die Identifikationsinformation mit den Startbankinformationen der Umschreibziel-ECU 19 übereinstimmen (S1845). Insbesondere bestimmt die Umschreibziel-ECU 19, ob oder nicht Bankinformationen, die die Nicht-Startbank in den Startbankinformationen angeben, mit den Identifikationsinformationen übereinstimmen. Wenn bestimmt wird, dass die Identifikationsinformationen mit den Startbankinformationen der ECU 19 übereinstimmen (S1845: JA), schreibt die Umschreibziel-ECU 19 das Anwendungsprogramm (S1846) um und beendet die Umschreibprogrammverifizierungsverarbeitung.
  • Wenn bestimmt wird, dass die Identifikationsinformationen nicht mit den Startbankinformationen der ECU 19 übereinstimmen (S1842: JA), oder bestimmt wird, dass die Identifikationsinformationen nicht mit den Startbankinformationen der Umschreibziel-ECU 19 übereinstimmen (S1845: NEIN), bestimmt die Umschreibziel-ECU 19, dass das Anwendungsprogramm oder die Parameterdaten nicht in der aktiven Bank oder der inaktiven Bank ausführbar ist, und sendet eine negative Bestätigung an das CGW 13 (S1847) und beendet die Umschreibprogrammverifizierungsverarbeitung. Beispielsweise in dem Fall einer Doppelbank-Speicher-ECU, in der die Bank-A des Flash-Speichers eine aktive Bank ist und die Bank-B eine inaktive Bank ist, ist eine Adresse zum Ausführen eines Umschreibprogramms eine Adresse der Bank-A, die die aktive Bank ist, und eine Adresse zum Umschreiben eines Anwendungsprogramms ist eine Adresse der Bank-B, die die inaktive Bank ist.
  • Wie in 150 illustriert ist, kann die Umschreibziel-ECU 19 Identifikationsinformationen zum Spezifizieren einer Adresse von dem CGW 13 erlangen, bevor Schreibdaten von dem CGW 13 erlangt werden. Wie in 151 illustriert ist, kann die Umschreibziel-ECU 19 Identifikationsinformationen zum Spezifizieren einer Adresse erlangen, wenn Schreibdaten von dem CGW 13 erlangt werden. Die Umschreibziel-ECU 19 empfängt Umschreibspezifikationsdaten von dem CGW 13 beispielsweise, bevor Schreibdaten erlangt werden und erlangt Umschreibbankinformationen. Da die Umschreibbankinformationen Identifikationsdaten zum Identifizieren, welche Bank eine Startbank ist und welche Bank eine Umschreibbank ist, beinhaltet, werden die Identifikationsinformationen als Identifikationsinformationen zum Spezifizieren einer Adresse verwendet.
  • Die Umschreibziel-ECU 19 führt (18-2) die Umschreiboperationsverarbeitung, die vorstehend beschrieben ist, in Antwort darauf aus, dass das CGW 13 eine Installationsanweisungsverarbeitung ausführt. Hierbei wird die Installationsanweisungsverarbeitung, die durch das CGW 13 ausgeführt wird, beschrieben.
  • Wenn die Installationsanweisungsverarbeitung initiiert wird, identifiziert das CGW 13 die Umschreibspezifikationsdaten (S1851) und bestimmt, ob Installation während Parkens für all die Umschreibziel-ECUs 19 bestimmt ist, Installation während Fahrzeugfahrt für all die Umschreibziel-ECUs 19 bestimmt ist oder Installation für jeden Speichertyp der Umschreibziel-ECU 19 bestimmt ist (S1852 bis S1854).
  • Wenn bestimmt wird, dass die Installation während Parkens für alle der Umschreibziel-ECUs 19 bestimmt ist (S1852: JA), weist das CGW 13 die Umschreibziel-ECU 19 an, die Installation unter der Bedingung auszuführen, dass eine Zustimmung zur Installation erlangt wurde und das Fahrzeug geparkt ist (S1855). Wenn bestimmt wird, dass die Installation während einer Fahrzeugfahrt für alle der Umschreibziel-ECUs 19 bestimmt ist (S1853: JA), weist das CGW 13 die Umschreibziel-ECU 19 an, die Installation unter der Bedingung auszuführen, dass eine Zustimmung zur Installation erlangt wurde und das Fahrzeug fährt (S1856).
  • Wenn bestimmt wird, dass die Installation für jeden Speichertyp der Umschreibziel-ECU 19 bestimmt ist (S1854: JA), bestimmt das CGW 13, ob der Speichertyp ein Doppelbankspeicher oder ein Einzelbankaussetzspeicher oder ein Einzelbankspeicher ist, basierend auf den Umschreibspezifikationsdaten ist (S1857 und S1858).
  • Wenn bestimmt wird, dass der Speichertyp der Umschreibziel-ECU 19 der Doppelbankspeicher ist und eine erste vorbestimmte Bedingung erfüllt (S1857: JA), weist das CGW 13 die Umschreibziel-ECU 19 an, die Installation unter der Bedingung auszuführen, dass eine Zustimmung zur Installation erlangt wurde und das Fahrzeug fährt (S1859). Wenn bestimmt wird, dass der Speichertyp der Umschreibziel-ECU 19 der Einzelbankaussetzspeicher oder der Einzelbankspeicher ist und eine zweite vorbestimmte Bedingung erfüllt (S1858: JA), weist das CGW 13 die Umschreibziel-ECU 19 an, die Installation unter der Bedingung auszuführen, dass eine Zustimmung zur Installation erlangt wurde und das Fahrzeug geparkt ist (S1860).
  • Es wird bestimmt, ob oder nicht die Installation in allen der Umschreibziel-ECUs 19 abgeschlossen wurde (S1861), und, wenn bestimmt wird, dass die Installation nicht in allen der Umschreibziel-ECUs 19 abgeschlossen wurde (S1861: NEIN), kehrt das CGW 13 zu Schritt S1851 zurück und führt wiederholt Schritt S1851 und die nachfolgenden Schritte aus.
  • Das heißt, wenn die Umschreibziel-ECU 19 eine Doppelbank-Speicher-ECU ist, gibt das CGW 13 eine Anweisung zur Installation, während das Fahrzeug bereit ist, zu fahren. Die Doppelbank-Speicher-ECU wird von dem CGW 13 angewiesen, die Installation auszuführen, während das Fahrzeug bereit ist, zu fahren, und führt somit die Installation aus, während das Fahrzeug bereit ist, zu fahren (entsprechend einer Installationsausführungsprozedur). Wenn die Umschreibziel-ECU 19 eine Einzelbank-Aussetzspeicher-ECU oder eine Einzelbankspeicher-ECU ist, gibt das CGW 13 eine Anweisung zur Installation während Parkens aus. Die Einzelbank-Aussetzspeicher-ECU oder die Einzelbankspeicher-ECU wird von dem CGW 13 angewiesen, die Installation während Parkens auszuführen, und führt somit die Installation während Parkens aus (entsprechend einer Installationsausführungsprozedur).
  • Wenn bestimmt wird, dass die Installation in allen der Umschreibziel-ECUs 19 abgeschlossen wurde (S1861: JA), wird bestimmt, ob oder nicht das Fahrzeug geparkt ist (S1862), und, wenn bestimmt wird, dass das Fahrzeug geparkt ist (S1862: JA), weist das CGW 13 die Umschreibziel-ECU 19 an, Aktivierung auszuführen, während das Fahrzeug geparkt ist (S1863), und beendet die Installationsanweisungsverarbeitung. Die Umschreibziel-ECU 19 wird von dem CGW 13 angewiesen, die Aktivierung auszuführen, während das Fahrzeug geparkt ist, und führt somit die Aktivierung aus (entsprechend einer Aktivierungsausführungsprozedur).
  • Wie vorstehend beschrieben ist, führt die Umschreibziel-ECU 19 die Umschreibungsausführungssteuerverarbeitung aus und führt somit ein Umschreibprogramm in einer aktiven Bank aus und schreibt eine inaktive Bank um, während ein Anwendungsprogramm in der aktiven Bank in einer Konfiguration ausgeführt wird, die mehrere Datenspeicherbänke hat. Eine Periode, in der ein Anwendungsprogramm umschreibbar ist, ist nicht auf einen Parkzustand beschränkt und das Anwendungsprogramm kann während Fahrzeugfahrt umgeschrieben werden. Wenn die Umschreibziel-ECU 19 eine Doppelbank-Speicher-ECU ist, wird die Umschreibziel-ECU 19 von dem CGW 13 angewiesen, um Installation auszuführen, während das Fahrzeug bereit ist, zu fahren, und kann somit die Installation ausführen, während das Fahrzeug bereit ist, zu fahren. Wenn die Umschreibziel-ECU 19 eine Einzelbank-Aussetzspeicher-ECU oder eine Einzelbankspeicher-ECU 19 ist, wird die Umschreibziel-ECU von dem CGW 13 angewiesen, Installation während Parkens auszuführen, und kann somit die Installation während Parkens ausführen.
  • (19) Sitzungsaufbauverarbeitung
  • Die Sitzungsaufbauverarbeitung wird gemäß 156 bis 169 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Sitzungsaufbauverarbeitung in der Umschreibziel-ECU 19 aus.
  • Wie in 156 illustriert ist, beinhaltet die ECU 19 eine Anwendungsausführungseinheit 105a, eine Spezifizierungseinheit 105b für eine Anforderung zum drahtlosen Umschreiben und eine Spezifizierungseinheit 105c für eine Anforderung zum drahtgebundenen Umschreiben in der Sitzungsherstellungseinheit 105. Die Anwendungsausführungseinheit 105a hat eine Funktion zum Zuteilen der Ausführung jedes Programms. Die Spezifizierungseinheit 105b für eine Anforderung zum drahtlosen Umschreiben hat eine Funktion zum Spezifizieren einer Programmumschreibanforderung auf drahtlose Weise. Die Spezifizierungseinheit 105c für eine Anforderung zum drahtgebundenen Umschreiben hat eine Funktion zum Spezifizieren einer Programmumschreibanforderung auf drahtgebundene Weise.
  • 157 illustriert eine Konfiguration jedes Programms, das in dem Flash-Speicher gespeichert ist. Ein Fahrzeugsteuerprogramm ist ein Programm zum Verwirklichen einer Fahrzeugsteuerfunktion (beispielsweise eine Lenksteuerfunktion), die in der ECU 19 installiert ist. Ein Programm für drahtgebundene Diagnose ist ein Programm zum Diagnostizieren der ECU 19 von der Außenseite des Fahrzeugs auf drahtgebundene Weise. Ein Programm für drahtlose Diagnose ist ein Programm zum Diagnostizieren der ECU 19 von der Außenseite des Fahrzeugs auf drahtlose Weise. Ein Programm für drahtloses Umschreiben ist ein Programm zum Umschreiben eines Programms, das von der Außenseite des Fahrzeugs auf drahtlose Weise erlangt wird. Ein Programm für drahtgebundenes Umschreiben ist ein Programm zum Umschreiben eines Programms, das von der Außenseite des Fahrzeugs auf drahtgebundene Weise erlangt wird. Das Fahrzeugsteuerprogramm ist in dem Anwendungsbereich als ein erstes Programm angeordnet. Das Programm für drahtgebundene Diagnose und das Programm für drahtgebundenes Umschreiben sind in dem Anwendungsbereich als ein zweites Programm angeordnet. Das Programm für drahtlose Diagnose und das Programm für drahtloses Umschreiben sind in dem Anwendungsbereich als ein drittes Programm angeordnet. In anderen Worten ist das zweite Programm ein Programm zum Ausführen drahtgebundener Spezialverarbeitungen außer Fahrzeugsteuerung und das dritte Programm ist ein Programm zum Ausführen drahtloser Spezialverarbeitungen außer der Fahrzeugsteuerung. Das Programm für drahtgebundenes Umschreiben muss sich nicht in dem Anwendungsbereich befinden, aber kann sich in dem Bootbereich als ein viertes Programm befinden.
  • Die Anwendungsausführungseinheit 105a steuert das erste Programm, das zweite Programm und das dritte Programm, damit sie simultan ausführbar sind (führt nicht exklusive Steuerung aus). Die Anwendungsausführungseinheit 105a macht beispielsweise das Fahrzeugsteuerprogramm, das Programm für drahtgebundene Diagnose und das Programm für drahtlose Diagnose simultan ausführbar. Das heißt, die Anwendungsausführungseinheit 105a kann simultan Fahrzeugsteuerung, drahtgebundene Diagnose der ECU 19 und drahtlose Diagnose der ECU 19 ausführen. Ähnlich führt die Anwendungsausführungseinheit 105a Steuerung derart aus, dass das Fahrzeugsteuerprogramm, das Programm für drahtgebundene Diagnose und das Programm für drahtloses Umschreiben simultan ausgeführt werden können, das Fahrzeugsteuerprogramm, das Programm für drahtgebundenes Umschreiben und das Programm für drahtlose Diagnose simultan ausgeführt werden können und das Fahrzeugsteuerprogramm, das Programm für drahtgebundenes Umschreiben und das Programm für drahtloses Umschreiben simultan ausgeführt werden können.
  • Andererseits führt die Anwendungsausführungseinheit 105a exklusive Steuerung derart aus, dass die jeweiligen Programme in dem zweiten Programm nicht simultan ausgeführt werden können. Auf ähnlich Weise führt die Anwendungsausführungseinheit 105a exklusive Steuerung derart aus, dass die jeweiligen Programme in dem dritten Programm nicht simultan ausgeführt werden können. Die Anwendungsausführungseinheit 105a unterzieht beispielsweise das Programm für drahtgebundene Diagnose und das Programm für drahtgebundenes Umschreiben exklusiver Steuerung und unterzieht das Programm für drahtlose Diagnose und das Programm für drahtloses Umschreiben exklusiver Steuerung. Das heißt, die Anwendungsausführungseinheit 105a führt nur ein Programm in den drahtgebundenen Spezialverarbeitungen aus. Auf ähnliche Weise führt die Anwendungsausführungseinheit 105a nur ein Programm in den drahtlosen Spezialverarbeitungen aus.
  • In anderen Worten kann gesagt werden, dass sich das Programm für drahtloses Umschreiben innerhalb des Programms für drahtlose Diagnose befindet und als ein Teil des Programms für drahtlose Diagnose eingebettet ist. Das heißt, mit der Konfiguration, in der das Programm für drahtloses Umschreiben in dem Programm für drahtlose Diagnose angeordnet ist, führt die Anwendungsausführungseinheit 105a Steuerung derart aus, dass das Programm für drahtloses Umschreiben ausgeführt wird, während Ausführung des Fahrzeugsteuerprogramms und des Programms für drahtgebundene Diagnose fortgesetzt wird, wenn ein Zustandsübergang von einer Standardsitzung oder einer Sitzung drahtloser Diagnose in eine Sitzung drahtlosen Umschreibens getätigt wird, wie später beschrieben wird, während das Fahrzeugsteuerprogramm und das Programm für drahtgebundene Diagnose ausgeführt werden. Die Anwendungsausführungseinheit 105a initiiert, das Programm für drahtloses Umschreiben auszuführen, während Ausführung des Fahrzeugsteuerprogramms und des Programms für drahtgebundene Diagnose fortgesetzt wird, und macht somit das Fahrzeugsteuerprogramm, das Programm für drahtgebundene Diagnose und das Programm für drahtloses Umschreiben simultan ausführbar. Das heißt, die Anwendungsausführungseinheit 105a führt Steuerung derart aus, dass Fahrzeugsteuerung, drahtgebundene Diagnose der ECU 19 und drahtloses Umschreiben eines Anwendungsprogramms simultan ausgeführt werden können.
  • Hierbei tritt eine Situation auf, in der drahtgebundene Diagnose, drahtlose Diagnose, drahtgebundenes Umschreiben und drahtloses Umschreiben nicht simultan abhängig von spezifischen Inhalten einer Diagnoseverarbeitung und einer Umschreibverarbeitung ausgeführt werden können. Beispielsweise in einem Fall, in dem drahtgebundenes Umschreiben und drahtloses Umschreiben Umschreiben des gleichen Bereichs sind, kollidieren beide der Verarbeitungen miteinander. Somit führt die Anwendungsausführungseinheit 105a exklusive Steuerung auf dem Programm für drahtgebundene Diagnose und dem Programm für drahtlose Diagnose gemäß spezifischer Inhalte einer Verarbeitung oder einer Anforderung aus und führt exklusive Steuerung auf dem Programm für drahtgebundenes Umschreiben und dem Programm für drahtloses Umschreiben aus. Normale Fahrzeugsteuerung muss nicht abhängig von Inhalten der Diagnoseverarbeitung fortgesetzt werden. Beispielsweise in einen Fall, in dem die Diagnoseverarbeitung, in der die ECU operiert wird und ein Operationsergebnis gelesen wird, kann die Diagnoseverarbeitung nicht simultan mit der normalen Fahrzeugsteuerung ausgeführt werden. In diesem Fall führt die Anwendungsausführungseinheit 105a Zuteilungssteuerung aus, um das Fahrzeugsteuerprogramm zu veranlassen, zu warten, und das Programm für drahtgebundene Diagnose oder das Programm für drahtlose Diagnose auszuführen.
  • Andererseits in einem Fall, in dem das Programm für drahtgebundenes Umschreiben nicht in dem Anwendungsbereich angeordnet ist aber in dem Bootbereich als das vierte Programm angeordnet ist, führt die Anwendungsausführungseinheit 105a Zuteilungssteuerung aus, die sich teilweise von der vorstehend beschriebenen Zuteilungssteuerung unterscheidet. Das Programm für drahtgebundenes Umschreiben befindet sich als das vierte Programm außerhalb des Programms für drahtgebundene Diagnose, wie durch eine gestrichelte Linie in 157 angegeben ist, und ist nicht als Teil des Programms für drahtgebundene Diagnose eingebettet. In diesem Fall, wenn das vierte Programm ausgeführt wird, führt die Anwendungsausführungseinheit 105a exklusive Steuerung aus, um das erste bis dritte Programm zu beenden. Das heißt, die Anwendungsausführungseinheit 105a schaltet von einem Modus des Ausführens des ersten bis dritten Programms auf einen dedizierten Modus zum Ausführen des vierten Programms aus. Mit anderen Worten wird hinsichtlich des Programms für drahtgebundenes Umschreiben mit der Konfiguration, in der sich das Programm für drahtgebundenes Umschreiben außerhalb des Programms für drahtgebundene Diagnose befindet, die Steuerung so durchgeführt, dass bei einem Zustandsübergang von der Sitzung drahtgebundener Diagnose zu der Sitzung drahtgebundenen Umschreibens, wie später beschrieben wird, während das Fahrzeugsteuerprogramm und das Programms für drahtlose Diagnose ausgeführt werden, die Ausführung des Fahrzeugsteuerprogramms und des Programms für drahtlose Diagnose gestoppt und die Ausführung des Programms für drahtgebundenes Umschreiben initiiert. Die Anwendungsausführungseinheit 105a stoppt Ausführung des Fahrzeugsteuerprogramms und des Programms für drahtlose Diagnose und initiiert Ausführung des Programms für drahtgebundenes Umschreiben und somit können das Fahrzeugsteuerprogramm, das Programm für drahtlose Diagnose und das Programm für drahtgebundenes Umschreiben nicht simultan ausgeführt werden und nur das Programm für drahtgebundenes Umschreiben kann ausgeführt werden. Das heißt, die Anwendungsausführungseinheit 105a führt Steuerung derart aus, dass die Fahrzeugsteuerung, die drahtlose Diagnose der ECU 19 und das drahtgebundene Umschreiben eines Anwendungsprogramms nicht simultan ausgeführt werden kann und nur drahtgebundenes Umschreiben des Anwendungsprogramms ausgeführt werden kann.
  • Wie in 158 illustriert ist, verwaltet die Anwendungsausführungseinheit 105a einen Standardzustand (Standardsitzung), einen Zustand drahtgebundener Diagnose (Sitzung drahtgebundener Diagnose) und einen Zustand drahtgebundenen Umschreibens (Sitzung drahtgebundenen Umschreibens) als einen ersten Zustand hinsichtlich der drahtgebundenen Spezialverarbeitungen. Als ein zweiter Zustand bezüglich drahtloser Spezialverarbeitungen werden ein Standardzustand (Standardsitzung) und ein Zustand drahtloser Umschreibung (Sitzung drahtlosen Umschreibens) verwaltet und ein interner Operationszustand wird verwaltet.
  • Als Zustandsübergang des ersten Zustands führt die Anwendungsausführungseinheit 105a einen exklusiven Zustandsübergang zwischen der Standardsitzung, in der eine Fahrzeugsteuerung gemäß dem Diagnosekommunikationsstandard möglich ist, der Sitzung drahtgebundener Diagnose, in der eine drahtgebundene Diagnose der ECU 19 von außerhalb des Fahrzeugs möglich ist, und der Sitzung drahtgebundenen Umschreibens, in der ein Umschreiben eines Anwendungsprogramms, das von außerhalb des Fahrzeugs erlangt wird, auf drahtgebundene Weise möglich ist, aus. Der exklusive Zustandsübergang der Sitzung gibt an, dass die Sitzungen nicht simultan aufgebaut werden können, und der nicht exklusive Zustandsübergang der Sitzung gibt an, dass die Sitzungen nicht simultan aufgebaut werden können.
  • Die Standardsitzung in dem ersten Zustand ist ein Modus, der einen Zustand angibt, in dem die drahtgebundene Spezialverarbeitung nicht ausgeführt wird, und ist ein Zustand, in dem Fahrzeugsteuerung ausgeführt werden kann. Es kann auch gesagt werden, dass die Standardsitzung ein Modus ist, in dem eine Verarbeitung, die die Fahrzeugsteuerung überhaupt nicht beeinflusst, beispielsweise ein Diagnoseprogramm, das sich nicht auf die Fahrzeugsteuerung bezieht, ausgeführt werden kann. Das Diagnoseprogramm, das sich nicht auf die Fahrzeugsteuerung bezieht, ist ein Programm zum Lesen von Informationen wie beispielsweise eines Fehlercodes. Die Sitzung drahtgebundener Diagnose ist ein Modus zum Ausführen eines Diagnoseprogramms bezüglich Diagnose der ECU 19. In einem Fall des Auftretens eines Zustands, in dem mindestens die Fahrzeugsteuerung durch Ausführen des Diagnoseprogramms beeinflusst wird, geht die Standardsitzung in die Sitzung drahtgebundener Diagnose über. Das Diagnoseprogramm bezüglich Diagnose der ECU 19 ist ein Programm zum Ausführen von Kommunikationssperrung, Diagnosemaskierung, Aktuatorantrieb und dergleichen. Die Sitzung drahtgebundenen Umschreibens ist ein Modus zum Umschreiben eines Anwendungsprogramms, das von der Außenseite des Fahrzeugs auf drahtgebundene Weise erlangt wird.
  • Die Anwendungsausführungseinheit 105a führt den Sitzungszustandsübergang in dem ersten Zustand folgendermaßen aus. Wenn eine Anforderung für drahtgebundene Diagnose in einem Zustand einer ersten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a einen Übergang von der ersten Standardsitzung zur Sitzung drahtgebundener Diagnose in Antwort auf eine Diagnosesitzungsübergangsanforderung und führt eine Verarbeitung drahtgebundener Diagnose aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der Sitzung drahtgebundener Diagnose zur ersten Standardsitzung, wenn eine Sitzungsrückkehranforderung erzeugt wird, ein Zeitüberschreitung erzeugt wird, die Energie ausgeschaltet wird oder Rechtsdienst in einem Zustand der Sitzung drahtgebundener Diagnose empfangen wird. Wenn eine Anforderung für drahtgebundenes Umschreiben in einem Zustand der ersten Standardsitzung erzeugt wird, führt die Anwendungsausführungseinheit 105a einen Übergang von der ersten Standardsitzung zu der Sitzung drahtgebundener Diagnose in Antwort auf eine Diagnosesitzungsübergangsanforderung aus und führt dann einen Übergang von der Sitzung drahtgebundener Diagnose zu der Sitzung drahtgebundenen Umschreibens in Antwort auf eine Umschreibsitzungsübergangsanforderung aus und führt eine Verarbeitung für drahtgebundenes Umschreiben aus. Die Anwendungsausführungseinheit 105a führt einen Übergang von der Sitzung drahtgebundenen Umschreibens zu der ersten Standardsitzung durch, wenn eine Sitzungswiederherstellungsanforderung erzeugt wird, eine Zeitüberschreitung erzeugt wird, der Strom ausgeschaltet wird oder ein Rechtsdienst in einem Zustand der Sitzung drahtgebundenen Umschreibens empfangen wird. Die Anwendungsausführungseinheit 105a behält die gegenwärtige Sitzung bei, ohne einen Übergang in Antwort auf eine Sitzungsaufrechterhaltungsanforderung zu tätigen.
  • Als Zustandsübergang des zweiten Zustands führt die Anwendungsausführungseinheit 105a einen exklusiven Zustandsübergang zwischen einer Standardsitzung, in der die Fahrzeugsteuerung gemäß dem Diagnosekommunikationsstandard möglich ist, und einer Sitzung drahtlosen Umschreibens bezüglich des Umschreibens eines Anwendungsprogramms, das von der Außenseite des Fahrzeugs erlangt wird, auf drahtlose Weise aus. Die Sitzung drahtlosen Umschreibens ist ein Modus zum Umschreiben eines Anwendungsprogramms, das von der Außenseite des Fahrzeugs auf drahtlose Weise erlangt wird.
  • Die Anwendungsausführungseinheit 105a führt den Sitzungszustandsübergang in dem zweiten Zustand folgendermaßen aus. Wenn eine Anforderung für drahtloses Umschreiben in einem Zustand der zweiten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung zur Sitzung drahtlosen Umschreibens in Antwort auf eine Umschreibsitzungsübergangsanforderung und führt eine Verarbeitung für drahtloses Umschreiben aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der Sitzung drahtlosen Umschreibens zur zweiten Standardsitzung, wenn eine Sitzungsrückkehranforderung erzeugt wird, eine Zeitüberschreitung auftritt oder die Energie in einem Zustand der Sitzung drahtlosen Umschreibens ausgeschaltet wird. Die Anwendungsausführungseinheit 105a behält die gegenwärtige Sitzung bei, ohne einen Übergang in Antwort auf eine Sitzungsaufrechterhaltungsanforderung zu tätigen.
  • Die Anwendungsausführungseinheit 105a verwaltet den ersten Zustand bezüglich der drahtgebundenen Spezialverarbeitung und den zweiten Zustand bezüglich der drahtlosen Spezialverarbeitung, während sie das Fahrzeugsteuerprogramm als das erste Programm ausführt. Wenn beispielsweise in der Standardsitzung sowohl im ersten Zustand als auch im zweiten Zustand eine Anforderung für drahtgebundene Diagnose erzeugt wird, veranlasst die Anwendungsausführungseinheit 105a, dass der erste Zustand in die Sitzung drahtgebundener Diagnose übergeht, während das Fahrzeugsteuerprogramm fortgesetzt wird, und initiiert Ausführung des Programms für drahtgebundene Diagnose. In diesem Zustand veranlasst die Anwendungsausführungseinheit 105a, wenn eine Anforderung für drahtloses Umschreiben erzeugt wird, den Übergang des zweiten Zustands in die Sitzung drahtlosen Umschreibens, während die Ausführung des Fahrzeugsteuerprogramms und des Programms für drahtgebundene Diagnose fortgesetzt wird, und initiiert die Ausführung des Programms für drahtloses Umschreiben. Wenn in diesem Zustand eine Anforderung für drahtgebundenes Umschreiben erzeugt wird, beendet die Anwendungsausführungseinheit 105a beispielsweise die Ausführung des Programms für drahtloses Umschreiben, veranlasst, dass der zweite Zustand in die Standardsitzung übergeht, beendet die Ausführung des Programms für drahtgebundene Diagnose, veranlasst, dass der erste Zustand in die Sitzung drahtgebundenen Umschreibens übergeht, und initiiert die Ausführung des Programms für drahtgebundenes Umschreiben. Die Anwendungsausführungseinheit 105a führt einen exklusiven Zustandsübergang durch, so dass die Sitzung drahtgebundenen Umschreibens im ersten Zustand und die Sitzung drahtlosen Umschreibens im zweiten Zustand nicht simultan aufgebaut werden, um zu verhindern, dass Schreibverarbeitungen in demselben Speicherbereich miteinander kollidieren (exklusive Steuerung).
  • Die Spezifizierungseinheit 105b für eine Anforderung zum drahtlosen Umschreiben bestimmt Identifikationsinformationen hinsichtlich einer von außen empfangenen Umschreibanforderung und spezifiziert eine Anforderung für drahtloses Umschreiben. Das heißt, wenn Umprogrammierungsdaten von der Zentralvorrichtung 3 in das DCM 12 heruntergeladen werden und das CGW 13 die von dem DCM 12 übertragenen Umprogrammierungsdaten an die Umschreibziel-ECU 19 verteilt, spezifiziert die Spezifizierungseinheit 105b für eine Anforderung zum drahtlosen Umschreiben die Anforderung für drahtloses Umschreiben durch Empfangen der Identifikationsinformationen, die die Anforderung zum drahtlosen Umschreiben angeben, von dem CGW 13 zusammen mit den Umprogrammierungsdaten.
  • Die Spezifizierungseinheit 105c für eine Anforderung zum drahtgebundenen Umschreiben bestimmt Identifikationsinformationen hinsichtlich einer von außen empfangenen Umschreibanforderung und spezifiziert eine Anforderung für drahtgebundenes Umschreiben. Das heißt, wenn das Werkzeug 23 mit dem DLC-Verbinder 22 verbunden ist und das CGW 13 von dem Werkzeug 23 übertragene Umprogrammierungsdaten an die Umschreibziel-ECU 19 verteilt, spezifiziert die Spezifizierungseinheit 105c für eine Anforderung zum drahtgebundenen Umschreiben die Anforderung für drahtgebundenes Umschreiben durch Empfangen der Identifikationsinformation, die die Anforderung für drahtgebundenes Umschreiben angeben, zusammen mit den Umprogrammierungsdaten von dem CGW 13.
  • Die Identifikationsinformationen können zum Beispiel Informationen entsprechend unterschiedlicher Identifikations-IDs in der Anforderung für drahtgebundenes Umschreiben und der Anforderung für drahtloses Umschreiben sein und können Informationen entsprechend derselben Identifikations-ID aber unterschiedlichen Daten in der Anforderung für drahtgebundenes Umschreiben und der Anforderung für drahtloses Umschreiben sein. Das heißt, es können beliebige Informationen verwendet werden, solange die Anforderung für drahtgebundenes Umschreiben und die Anforderung für drahtloses Umschreiben voneinander unterschieden werden können.
  • In der Anwendungsausführungseinheit 105a wurde in 158 die Konfiguration zum Verwalten der zwei Zustände der Standardsitzung und der Sitzung drahtlosen Umschreibens als zweiter Zustand bezüglich der drahtlosen Spezialverarbeitung beschrieben, jedoch, wie in den 159 und 160 dargestellt ist, kann es eine Konfiguration zum Verwalten von drei Zuständen der Standardsitzung, der Sitzung drahtloser Diagnose und der Sitzung drahtlosen Umschreibens als den zweiten Zustand geben. Die Sitzung drahtloser Diagnose ist ein Modus zum Ausführen eines Programms für drahtlose Diagnose zum Diagnostizieren der ECU 19 von der Außenseite des Fahrzeugs auf drahtlose Weise. Im Fall der Ausführung eines Programms für drahtlose Diagnose, das zumindest die Fahrzeugsteuerung beeinflussen kann, wird zu der Sitzung drahtloser Diagnose übergegangen.
  • In einem Fall der in 159 illustrierten Konfiguration führt die Anwendungsausführungseinheit 105a einen Zustandsübergang des zweiten Zustands wie folgt aus. Wenn eine Anforderung für drahtlose Diagnose in einem Zustand der zweiten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung zur Sitzung drahtloser Diagnose in Antwort auf eine Diagnosesitzungsübergangsanforderung und führt eine Verarbeitung für drahtlose Diagnose aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der Sitzung drahtloser Diagnose zur zweiten Standardsitzung, wenn eine Sitzungsrückkehranforderung erzeugt wird, ein Zeitüberschreitung erzeugt wird oder die Energie in einem Zustand der Sitzung drahtloser Diagnose ausgeschaltet wird. Wenn eine Anforderung für drahtloses Umschreiben in einem Zustand der zweiten Standardsitzung erzeugt wird, führt die Anwendungsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung zu der Sitzung drahtloser Diagnose in Antwort auf eine Diagnosesitzungsübergangsanforderung aus und führt dann einen Übergang von der Sitzung drahtloser Diagnose zu der Sitzung drahtlosen Umschreibens in Antwort auf eine Umschreibsitzungsübergangsanforderung aus und führt einen Verarbeitung für drahtloses Umschreiben aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der Sitzung drahtlosen Umschreibens zur zweiten Standardsitzung, wenn eine Sitzungsrückkehranforderung erzeugt wird, eine Zeitüberschreitung erzeugt wird oder die Energie in einem Zustand der Sitzung drahtlosen Umschreibens ausgeschaltet wird.
  • In einem Fall der in 160 illustrierten Konfiguration führt die Anwendungsausführungseinheit 105a einen Zustandsübergang des zweiten Zustands wie folgt aus. Wenn eine Anforderung für drahtlose Diagnose in einem Zustand der zweiten Standardsitzung erzeugt wird, macht die Anwendungsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung zur Sitzung drahtloser Diagnose in Antwort auf eine Diagnosesitzungsübergangsanforderung und führt eine Verarbeitung für drahtlose Diagnose aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der Sitzung drahtloser Diagnose zur zweiten Standardsitzung, wenn eine Sitzungsrückkehranforderung erzeugt wird, ein Zeitüberschreitung erzeugt wird oder die Energie in einem Zustand der Sitzung drahtloser Diagnose ausgeschaltet wird. Wenn eine Anforderung für drahtloses Umschreiben in einem Zustand der zweiten Standardsitzung erzeugt wird, tätigt die Anwendungsausführungseinheit 105a einen Übergang von der zweiten Standardsitzung in die Sitzung drahtloser Diagnose in Antwort auf eine Diagnosesitzungsübergangsanforderung, tätigt dann einen Übergang von der Sitzung drahtloser Diagnose in die Sitzung drahtlosen Umschreibens in Antwort auf eine Umschreibsitzungsübergangsanforderung oder tätigt einen Übergang von der zweiten Standardsitzung in die Sitzung drahtlosen Umschreibens in Antwort auf die Umschreibsitzungsübergangsanforderung und führt die Verarbeitung für drahtloses Umschreiben aus. Die Anwendungsausführungseinheit 105a macht einen Übergang von der Sitzung drahtlosen Umschreibens zur zweiten Standardsitzung, wenn eine Sitzungsrückkehranforderung erzeugt wird, eine Zeitüberschreitung erzeugt wird oder die Energie in einem Zustand der Sitzung drahtlosen Umschreibens ausgeschaltet wird.
  • In der Sitzung drahtgebundener Diagnose in dem ersten Zustand und der Sitzung drahtloser Diagnose in dem zweiten Zustand kann das gleiche Diagnoseprogramm ausgeführt werden oder ein unterschiedliches Diagnoseprogramm kann ausgeführt werden. In der Sitzung drahtgebundenen Umschreibens im ersten Zustand und der Sitzung drahtlosen Umschreibens im zweiten Zustand kann dasselbe Umschreibprogramm ausgeführt werden oder können unterschiedliche Umschreibprogramme ausgeführt werden. Beispielsweise kann ein übliches Umschreibprogramm wie das Löschen oder Schreiben für einen Speicher ausgeführt werden.
  • Die Zuteilung jeder Sitzung im ersten Zustand und jeder Sitzung im zweiten Zustand in den in den 159 und 160 dargestellten Konfigurationen wird beschrieben. Wie in 157 beschrieben ist, wird ein Fall beschrieben, in dem das Programm für drahtgebundene Diagnose als das zweite Programm im Anwendungsbereich angeordnet ist, das Programm für drahtlose Diagnose und das Programm für drahtloses Umschreiben als drittes Programm im Anwendungsbereich angeordnet sind und das Programm für drahtgebundene Diagnose als viertes Programm im Bootbereich angeordnet ist. In anderen Worten wird eine Konfiguration beschrieben, in der das Programm für drahtloses Umschreiben als Teil des Programms für drahtlose Diagnose eingebettet ist, aber das Programm für drahtgebundenes Umschreiben nicht als Teil des Programms für drahtgebundene Diagnose eingebettet ist. In diesem Fall ist die Zuteilung der Programmausführung in jeder Sitzung im ersten Zustand und im zweiten Zustand, wie in 161 gezeigt ist.
  • In einem Fall, in dem der zweite Zustand die Sitzung drahtlosen Umschreibens ist und der erste Zustand die Standardsitzung ist, führt die Anwendungsausführungseinheit 105a das Programm für drahtloses Umschreiben aus, während sie das Fahrzeugsteuerprogramm ausführt. In einem Fall, in dem der zweite Zustand die Sitzung drahtlosen Umschreibens ist und der erste Zustand die Sitzung drahtgebundener Diagnose ist, führt die Anwendungsausführungseinheit 105a simultan das Programm für drahtloses Umschreiben und das Programm für drahtgebundene Diagnose aus, während sie das Fahrzeugsteuerprogramm ausführt.
  • Andererseits beendet in einem Fall, in dem der erste Zustand die Sitzung drahtgebundenen Umschreibens ist und der zweite Zustand die Standardsitzung ist, die Anwendungsausführungseinheit 105a das Fahrzeugsteuerprogramm und führt nur das Programm für drahtgebundenes Umschreiben aus. In einem Fall, in dem der erste Zustand die Sitzung drahtgebundenen Umschreibens ist und der zweite Zustand die Sitzung drahtloser Diagnose ist, beendet die Anwendungsausführungseinheit 105a das Programm für drahtlose Diagnose und das Fahrzeugsteuerprogramm, während sie nur das Programm für drahtgebundenes Umschreiben ausführt. Das heißt, die Anwendungsausführungseinheit 105a steuert exklusiv das erste bis dritte Programm als einen dedizierten Modus zum Ausführen nur des Programms für drahtgebundenes Umschreiben, das das vierte Programm ist.
  • In einer Konfiguration, in der sich das Programm für drahtgebundene Diagnose und das Programm für drahtgebundenes Umschreiben als zweites Programm im Anwendungsbereich befinden, unterscheidet sich die Zuteilung jedes Programms teilweise von der in 161. Das heißt, in einer Konfiguration, in der das Programm für drahtloses Umschreiben als Teil des Programms für drahtlose Diagnose eingebettet ist und das Programm für drahtgebundenes Umschreiben als Teil des Programms für drahtgebundene Diagnose eingebettet ist, erfolgt die Zuteilung der Programmausführung in jeder Sitzung im ersten Zustand und dem zweiten Zustand, wie in 162 illustriert ist. In diesem Fall, wenn der erste Zustand die Sitzung drahtgebundenen Umschreibens ist und der zweite Zustand die Standardsitzung ist, führt die Anwendungsausführungseinheit 105a das Programm für drahtgebundenes Umschreiben aus, während sie das Fahrzeugsteuerprogramm ausführt. In einem Fall, in dem der erste Zustand die Sitzung drahtgebundenen Umschreibens ist und der zweite Zustand die Sitzung drahtloser Diagnose ist, führt die Anwendungsausführungseinheit 105a simultan das Programm für drahtgebundenes Umschreiben und das Programm für drahtlose Diagnose aus, während sie das Fahrzeugsteuerprogramm ausführt.
  • Als nächstes wird eine Operation der vorstehend beschriebenen Konfiguration gemäß 163 bis 167 beschrieben. In der ECU 19 führt der Mikrocomputer 33 ein Sitzungsaufbauprogramm aus und führt somit die Sitzungsaufbauverarbeitung durch.
  • Wenn der Mikrocomputer 33 durch Erfassen der Energieversorgung gestartet wird, führt der Mikrocomputer 33 das Sitzungsaufbauprogramm aus, um eine Zustandsübergangsverwaltungsverarbeitung auszuführen, und führt eine Zustandsübergangsverwaltungsverarbeitung zum Verwalten eines Zustandsübergangs des ersten Zustands und eine Zustandsübergangsverwaltungsverarbeitung zum Verwalten eines Zustandsübergangs des zweiten Zustands aus. Jede Zustandsübergangsverwaltungsverarbeitung wird nachfolgend beschrieben. Hier erfolgt eine Beschreibung eines Falls, in dem die Anwendungsausführungseinheit 105a den zweiten Zustand verwaltet, indem sie die in 158 dargestellte Konfiguration verwendet, d. h. die Konfiguration ohne Sitzung drahtloser Diagnose.
  • (19-1) Zustandsübergangsverwaltungsverarbeitung des ersten Zustands
  • Wenn der Mikrocomputer 33 durch Erfassen der Energieversorgung gestartet wird und die Zustandsübergangsverwaltungsverarbeitung des ersten Zustands initiiert, bestimmt der Mikrocomputer 33 ein Umschreibabschluss-Flag und bestimmt, ob oder nicht das Umschreiben des vorherigen Anwendungsprogramms normal abgeschlossen wurde (S1901). Wenn bestimmt wird, dass das Umschreibabschluss-Flag positiv ist, und bestimmt wird, dass Umschreiben des vorherigen Anwendungsprogramms normal abgeschlossen wurde (S1901: JA), veranlasst der Mikrocomputer 33, dass der erste Zustand in die Standardsitzung übergeht (S1902). Das heißt, der Mikrocomputer 33 veranlasst, dass der erste Zustand in die Standardsitzung übergeht, und initiiert somit die Fahrzeugsteuerverarbeitung.
  • Wenn die Fahrzeugsteuerverarbeitung durch Ausführen des Fahrzeugsteuerprogramms initiiert wird, bestimmt der Mikrocomputer 33 während des Ausführens der Fahrzeugsteuerverarbeitung, ob oder nicht eine Anforderung für drahtgebundene Diagnose erzeugt wurde (S1903), bestimmt, ob oder nicht eine Anforderung für drahtgebundenes Umschreiben erzeugt wurde (S1904), und bestimmt, ob eine Abschlussbedingung für die Zustandsübergangsverwaltung erfüllt ist (S1905). Wenn bestimmt wird, dass eine Anforderung für drahtgebundene Diagnose erzeugt wurde (S1903: JA), während die Fahrzeugsteuerverarbeitung ausgeführt wird, veranlasst der Mikrocomputer 33, dass der erste Zustand von der Standardsitzung in die Sitzung drahtgebundener Diagnose übergeht (S1906), und führt das Programm für drahtgebundene Diagnose zum Initiieren der Verarbeitung drahtgebundener Diagnose aus (S1907). Es wird bestimmt, ob die Abschlussbedingung für die Verarbeitung drahtgebundener Diagnose hergestellt ist (S1908), und, wenn bestimmt wird, dass die Abschlussbedingung für die Verarbeitung für drahtgebundene Diagnose hergestellt ist (S1908: JA), beendet der Mikrocomputer 33 das Programm für drahtgebundene Diagnose zum Beenden der Verarbeitung für drahtgebundene Diagnose (S1909) und veranlasst, dass der erste Zustand von der Sitzung drahtgebundener Diagnose in die Standardsitzung übergeht (S1910).
  • Wenn bestimmt wird, dass eine Anforderung für drahtgebundenes Umschreiben erzeugt wurde (S1904: JA), während die Fahrzeugsteuerverarbeitung ausgeführt wird, initiiert der Mikrocomputer 33 eine exklusive Umschreibverarbeitung zur Zeit des Erzeugens einer Anforderung für drahtgebundenes Umschreiben (S1911). Das heißt, die Verarbeitung ist eine Verarbeitung zum Ausführen exklusiver Steuerung, so dass die Verarbeitung für drahtgebundenes Umschreiben und die Verarbeitung für drahtloses Umschreiben nicht miteinander kollidieren. Wenn die exklusive Umschreibverarbeitung zur Zeit des Erzeugens der Anforderung für drahtgebundenes Umschreiben initiiert wird, bestimmt der Mikrocomputer 33, ob oder nicht ein Übergang zur Sitzung drahtlosen Umschreibens im zweiten Zustand in Bearbeitung ist, das heißt, ob oder nicht der zweite Zustand die Sitzung drahtlosen Umschreibens ist (S1921). Wenn bestimmt wird, dass der Übergang zu der Sitzung drahtlosen Umschreibens im zweiten Zustand nicht in Bearbeitung ist (S1921: NEIN), spezifiziert der Mikrocomputer 33, dass der erste Zustand zu der Sitzung drahtgebundenen Umschreibens übergehen kann (S1922). Der Mikrocomputer 33 beendet die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtgebundenes Umschreiben und kehrt zu der Zustandsübergangsverwaltungsverarbeitung des ersten Zustands zurück.
  • Wenn bestimmt wird, dass der Übergang zur Sitzung drahtlosen Umschreibens im zweiten Zustand in Bearbeitung ist (S1921: JA), bestimmt der Mikrocomputer 33, ob oder nicht eine exklusive Steuerung durchgeführt werden soll, indem er entweder der Sitzung drahtgebundenen Umschreibens oder der Sitzung drahtlosen Umschreibens Priorität gibt. Insbesondere bestimmt der Mikrocomputer 33, ob oder nicht irgendeine einer Prioritätsbedingung für eine Sitzung drahtgebundenen Umschreibens, einer Prioritätsbedingung für eine Sitzung drahtlosen Umschreibens und einer Umschreibsitzungsprioritätsbedingung während des Übergangs hergestellt ist (S1923 bis S1925). Die Prioritätsbedingung für eine Sitzung drahtgebundenen Umschreibens ist eine Bedingung, dass die Sitzung drahtgebundenen Umschreibens gegenüber der Sitzung drahtlosen Umschreibens priorisiert wird. Die Prioritätsbedingung für eine Sitzung drahtlosen Umschreibens ist eine Bedingung, dass die Sitzung drahtlosen Umschreibens gegenüber der Sitzung drahtgebundenen Umschreibens priorisiert wird. Die Umschreibsitzungsprioritätsbedingung während des Übergangs ist eine Bedingung, dass eine Umschreibsitzung während des Übergangs priorisiert wird, das heißt, eine Sitzung, bei der ein Übergang früher durchgeführt wird, wird priorisiert. Welche dieser Prioritätsbedingungen verwendet wird, wird vorab festgelegt und beispielsweise kann ein Prioritätsbedingungs-Flag für das Fahrzeug festgelegt werden und das Prioritätsbedingungs-Flag kann für jede Umschreib-ECU festgelegt werden.
  • Wenn bestimmt wird, dass die Prioritätsbedingung für eine Sitzung drahtgebundenen Umschreibens hergestellt ist (S1923: JA), veranlasst der Mikrocomputer 33 den Übergang des zweiten Zustands von der Sitzung drahtlosen Umschreibens in die Standardsitzung in Antwort auf eine Sitzungsrückkehranforderung, stoppt das drahtlose Umschreiben (S1926) und spezifiziert, dass der erste Zustand in die Sitzung drahtgebundenen Umschreibens übergehen kann (S1922). Der Mikrocomputer 33 beendet das Programm für drahtloses Umschreiben gemäß dem Übergang zur Standardsitzung. Der Mikrocomputer 33 beendet die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtgebundenes Umschreiben und kehrt zu der Zustandsübergangsverwaltungsverarbeitung des ersten Zustands zurück.
  • Wenn bestimmt wird, dass die Prioritätsbedingung für eine Sitzung drahtlosen Umschreibens hergestellt ist (S1924: JA), verwirft der Mikrocomputer 33 die Anforderung für drahtgebundenes Umschreiben und fährt mit dem drahtlosen Umschreiben fort (S1927). Das heißt, der Mikrocomputer 33 behält den zweiten Zustand in der Sitzung drahtlosen Umschreibens bei, fährt fort, das Programm für drahtloses Umschreiben auszuführen, und spezifiziert, dass der erste Zustand nicht in die Sitzung drahtgebundenen Umschreibens übergehen kann (S1928). Der Mikrocomputer 33 beendet die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtgebundenes Umschreiben und kehrt zu der Zustandsübergangsverwaltungsverarbeitung des ersten Zustands zurück.
  • Wenn bestimmt wird, dass die Umschreibsitzungsprioritätsbedingung während des Übergangs hergestellt ist (S1925: JA), verwirft der Mikrocomputer 33 auch in diesem Fall die Anforderung für drahtgebundenes Umschreiben und fährt mit dem drahtlosen Umschreiben fort (S1927). Das heißt, der Mikrocomputer 33 behält den zweiten Zustand in der Sitzung drahtlosen Umschreibens bei, fährt fort, das Programm für drahtloses Umschreiben auszuführen, und spezifiziert, dass der erste Zustand nicht in die Sitzung drahtgebundenen Umschreibens übergehen kann (S1928). Der Mikrocomputer 33 beendet die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtgebundenes Umschreiben und kehrt zu der Zustandsübergangsverwaltungsverarbeitung des ersten Zustands zurück. Der Mikrocomputer 33 führt die exklusive Umschreibverarbeitung zum Zeitpunkt der Erzeugung der Anforderung für drahtgebundenes Umschreiben wie vorstehend erwähnt aus und somit werden die Sitzung drahtgebundenen Umschreibens und die Sitzung drahtlosen Umschreibens exklusiv so gesteuert, dass sie nicht simultan aufgebaut werden.
  • Wenn der Mikrocomputer 33 zur Zustandsübergangsverwaltungsverarbeitung des ersten Zustands zurückkehrt, bestimmt der Mikrocomputer 33, ob oder nicht der erste Zustand zur Sitzung drahtgebundenen Umschreibens als ein Ergebnis der exklusiven Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtgebundenes Umschreiben übergehen kann (S1912). Wenn spezifiziert wird und somit bestimmt wird, dass der erste Zustand in die Sitzung drahtgebundenen Umschreibens durch die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtgebundenes Umschreiben übergehen kann (S1912: JA), veranlasst der Mikrocomputer 33, dass der erste Zustand von der Standardsitzung zur Sitzung drahtgebundenen Umschreibens mittels der Sitzung drahtgebundener Diagnose übergeht (S1913), stoppt die Fahrzeugsteuerverarbeitung und initiiert die Verarbeitung für drahtgebundenes Umschreiben (S1914). Der Mikrocomputer 33 beendet das Fahrzeugsteuerprogramm gemäß dem Übergang zur Sitzung drahtgebundenen Umschreibens.
  • Es wird bestimmt, ob die Abschlussbedingung für die drahtgebundene Umschreibverarbeitung hergestellt ist (S1915), und, wenn bestimmt wird, dass eine Abschlussbedingung für die drahtgebundene Umschreibverarbeitung hergestellt ist (S1915: JA), beendet der Mikrocomputer 33 die Verarbeitung für drahtgebundenes Umschreiben (S1916) und veranlasst, dass der erste Zustand von der Sitzung drahtgebundenen Umschreibens in die Standardsitzung übergeht (S1917). Hierbei ist die Abschlussbedingung für die Verarbeitung für drahtgebundenes Umschreiben beispielsweise ein Fall, in dem Schreiben des gesamten Anwendungsprogramms abgeschlossen wurde und Integritätsverifizierung ausgeführt wird.
  • Wenn spezifiziert wird und somit bestimmt wird, dass der erste Zustand nicht in die Sitzung drahtgebundenen Umschreibens durch die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtgebundenes Umschreiben übergehen kann (S1912: NEIN), veranlasst der Mikrocomputer 33 nicht, dass der erste Zustand von der Standardsitzung in die Sitzung drahtgebundenen Umschreibens über die Sitzung drahtgebundener Diagnose übergeht. Das heißt, der Mikrocomputer 33 behält den ersten Zustand in der Standardsitzung bei. Wenn bestimmt wird, dass eine Abschlussbedingung für die Zustandsübergangsverwaltung hergestellt ist (S1905: JA), schließt der Mikrocomputer 33 die Zustandsübergangsverwaltungsverarbeitung des ersten Zustands ab.
  • In der vorstehenden Beschreibung wurde ein Fall beschrieben, in dem, wenn bestimmt wird, dass ein Übergang in die Sitzung drahtlosen Umschreibens in dem zweiten Zustand in der exklusiven Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtgebundenes Umschreiben in Bearbeitung ist, und bestimmt wird, dass die Prioritätsbedingung für eine Sitzung drahtgebundenen Umschreibens hergestellt ist, stoppt der Mikrocomputer 33 das drahtlose Umschreiben in dem zweiten Zustand, aber der Mikrocomputer 33 kann, ob oder nicht die Sitzung drahtlosen Umschreibens zu stoppen ist, gemäß einer nicht umgeschriebenen Restmenge in dem drahtlosen Umschreiben bestimmen.
  • Wenn bestimmt wird, dass der Übergang in die Sitzung drahtlosen Umschreibens in dem zweiten Zustand in Bearbeitung ist (S1921: JA), und bestimmt wird, dass die Prioritätsbedingung für eine Sitzung drahtgebundenen Umschreibens hergestellt ist (S1923: JA), bestimmt der Mikrocomputer 33, ob oder nicht eine nicht umgeschriebene Restmenge in dem drahtlosen Umschreiben gleich oder größer als eine vorbestimmte Menge (beispielsweise 20% oder mehr) in der Sitzung drahtlosen Umschreibens während des Übergangs ist (S1931). Wenn bestimmt wird, dass die nicht umgeschriebene Restmenge beim drahtlosen Umschreiben gleich oder größer als die vorbestimmte Menge ist (S1931: JA), veranlasst der Mikrocomputer 33, dass der zweite Zustand von der Sitzung drahtlosen Umschreibens in die Standardsitzung übergeht, und stoppt das drahtlose Umschreiben (S1926). Der Mikrocomputer 33 beendet das Programm für drahtloses Umschreiben gemäß dem Übergang zur Standardsitzung. Wenn bestimmt wird, dass die nicht umgeschriebene Restmenge des drahtlosen Umschreibens nicht gleich oder größer als die vorbestimmte Menge ist (S1931: NEIN), verwirft der Mikrocomputer 33 die Anforderung für drahtgebundenes Umschreiben und setzt das drahtlose Umschreiben fort (S1927). Das heißt, der Mikrocomputer 33 stoppt die Sitzung drahtlosen Umschreibens, wenn die Restzeit bis zum Abschluss des drahtlosen Umschreibens relativ lang ist, aber stoppt die Sitzung drahtlosen Umschreibens nicht und setzt sie fort, wenn die Restzeit bis zum Abschluss des drahtlosen Umschreibens relativ kurz ist.
  • (19-2) Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands
  • Wenn der Mikrocomputer 33 durch Erfassen der Energieversorgung gestartet wird und die Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands initiiert, bestimmt der Mikrocomputer 33 ein Umschreibabschluss-Flag und bestimmt, ob oder nicht das Umschreiben des vorherigen Anwendungsprogramms normal abgeschlossen wurde (S1941). Wenn bestimmt wird, dass das Umschreibabschluss-Flag positiv ist, und bestimmt wird, dass Umschreiben des vorherigen Anwendungsprogramms normal abgeschlossen wurde (S1941: JA), veranlasst der Mikrocomputer 33 den zweiten Zustand, in die Standardsitzung überzugehen (S1942). Das heißt, der Mikrocomputer 33 veranlasst, dass der zweite Zustand in die Standardsitzung übergeht, und führt somit das Fahrzeugsteuerprogramm aus, um die Fahrzeugsteuerverarbeitung zu initiieren.
  • Wenn die Fahrzeugsteuerverarbeitung initiiert wird, bestimmt der Mikrocomputer 33, ob oder nicht eine Anforderung für drahtloses Umschreiben erzeugt wurde (S1943), und bestimmt, ob eine Abschlussbedingung für die Zustandsübergangsverwaltung hergestellt ist (S1944). Wenn bestimmt wird, dass eine Anforderung für drahtlose Diagnose erzeugt wurde (S1943: JA), während die Fahrzeugsteuerverarbeitung ausgeführt wird, initiiert der Mikrocomputer 33 eine exklusive Umschreibverarbeitung zur Zeit des Erzeugens einer Anforderung für drahtloses Umschreiben (S1944). Wenn die exklusive Umschreibverarbeitung zur Zeit des Erzeugens der Anforderung für drahtloses Umschreiben initiiert wird, bestimmt der Mikrocomputer 33, ob oder nicht ein Übergang zur drahtgebundenen Umschreibsitzung im ersten Zustand in Bearbeitung ist, das heißt, ob oder nicht der erste Zustand die Sitzung drahtgebundenen Umschreibens ist (S1961). Wenn bestimmt wird, dass der Übergang zu der Sitzung drahtgebundenen Umschreibens im ersten Zustand nicht in Bearbeitung ist (S1961: NEIN), spezifiziert der Mikrocomputer 33, dass Übergang zur Sitzung drahtlosen Umschreibens auftreten kann (S1962). Der Mikrocomputer 33 beendet die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtloses Umschreiben und kehrt zu der Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass der Übergang zur drahtgebundenen Umschreibsitzung im ersten Zustand in Bearbeitung ist (S1961: JA), bestimmt der Mikrocomputer 33, ob oder nicht eine exklusive Steuerung durchgeführt werden soll, indem er entweder der Sitzung drahtgebundenen Umschreibens oder der Sitzung drahtlosen Umschreibens Priorität gibt. Insbesondere bestimmt der Mikrocomputer 33, ob oder nicht irgendeine einer Prioritätsbedingung für eine Sitzung drahtlosen Umschreibens, einer Prioritätsbedingung für eine Sitzung drahtgebundenen Umschreibens und einer Umschreibsitzungsprioritätsbedingung während des Übergangs hergestellt ist (S1963 bis S1965).
  • Wenn bestimmt wird, dass die Prioritätsbedingung für eine Sitzung drahtlosen Umschreibens hergestellt ist (S1963: JA), veranlasst der Mikrocomputer 33 den Übergang des ersten Zustands von der Sitzung drahtgebundenen Umschreibens in die Standardsitzung in Antwort auf eine Sitzungsrückkehranforderung, stoppt das drahtgebundene Umschreiben (S1966) und spezifiziert, dass der zweite Zustand in die Sitzung drahtlosen Umschreibens übergehen kann (S1962). Der Mikrocomputer 33 beendet das Programm für drahtgebundenes Umschreiben gemäß dem Übergang zur Standardsitzung. Der Mikrocomputer 33 beendet die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtloses Umschreiben und kehrt zu der Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass die Prioritätsbedingung für die Sitzung drahtgebundenen Umschreibens hergestellt ist (S1964: JA), verwirft der Mikrocomputer 33 die Anforderung für drahtloses Umschreiben und setzt das drahtgebundene Umschreiben fort (S1967). Das heißt, der Mikrocomputer 33 behält den ersten Zustand in der Sitzung drahtgebundenen Umschreibens bei, fährt fort, das Programm für drahtgebundenes Umschreiben auszuführen, und spezifiziert, dass der zweite Zustand nicht in die Sitzung drahtlosen Umschreibens übergehen kann (S1968). Der Mikrocomputer 33 beendet die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtloses Umschreiben und kehrt zu der Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands zurück.
  • Wenn bestimmt wird, dass die Umschreibsitzungsprioritätsbedingung während des Übergangs eingerichtet ist (S1965: JA), verwirft der Mikrocomputer 33 auch in diesem Fall die Anforderung für drahtloses Umschreiben und fährt mit dem drahtgebundenen Umschreiben fort (S1967). Das heißt, der Mikrocomputer 33 behält den ersten Zustand in der Sitzung drahtgebundenen Umschreibens bei, fährt fort, das Programm für drahtgebundenes Umschreiben auszuführen, und spezifiziert, dass der zweite Zustand nicht in die Sitzung drahtlosen Umschreibens übergehen kann (S1968). Der Mikrocomputer 33 beendet die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtloses Umschreiben und kehrt zu der Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands zurück. Der Mikrocomputer 33 führt die exklusive Umschreibverarbeitung zum Zeitpunkt der Erzeugung der Anforderung für drahtloses Umschreiben wie vorstehend erwähnt aus, und somit werden die Sitzung drahtgebundenen Umschreibens und die Sitzung drahtlosen Umschreibens exklusiv so gesteuert, dass sie nicht simultan aufgebaut werden.
  • Wenn der Mikrocomputer 33 zur Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands zurückkehrt, bestimmt der Mikrocomputer 33, ob oder nicht der zweite Zustand zur Sitzung drahtlosen Umschreibens als ein Ergebnis der exklusiven Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtloses Umschreiben übergehen kann (S1945). Wenn spezifiziert und somit bestimmt wird, dass der zweite Zustand in die Sitzung drahtlosen Umschreibens durch die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtloses Umschreiben übergehen kann (S1945: JA), veranlasst der Mikrocomputer 33, dass der zweite Zustand von der Standardsitzung in die Sitzung drahtlosen Umschreibens übergeht (S1946) und führt das Programm für drahtloses Umschreiben aus, um die Verarbeitung für drahtloses Umschreiben zu initiieren (S1847). Es wird bestimmt, ob die Abschlussbedingung für die Verarbeitung für drahtloses Umschreiben hergestellt ist (S1948), und, wenn bestimmt wird, dass eine Abschlussbedingung für die Verarbeitung für drahtloses Umschreiben hergestellt ist (S1948: JA), beendet der Mikrocomputer 33 die Verarbeitung für drahtloses Umschreiben (S1949) und veranlasst, dass der zweite Zustand von der Sitzung drahtlosen Umschreibens in die Standardsitzung übergeht (S1950). Der Mikrocomputer 33 beendet das Programm für drahtloses Umschreiben gemäß dem Übergang zur Standardsitzung. Hierbei ist die Abschlussbedingung für die Verarbeitung für drahtloses Umschreiben beispielsweise ein Fall, in dem Schreiben des gesamten Anwendungsprogramms abgeschlossen wurde und die Integritätsverifizierung ausgeführt wird.
  • Wenn spezifiziert wird und somit bestimmt wird, dass der zweite Zustand nicht in die Sitzung drahtlosen Umschreibens durch die exklusive Umschreibverarbeitung zur Zeit der Erzeugung der Anforderung für drahtloses Umschreiben übergehen kann (S1945: NEIN), veranlasst der Mikrocomputer 33 nicht, dass der zweite Zustand von der Standardsitzung in die Sitzung drahtlosen Umschreibens übergeht. Das heißt, der Mikrocomputer 33 behält den zweiten Zustand in der Standardsitzung bei. Wenn bestimmt wird, dass eine Abschlussbedingung für die Zustandsübergangsverwaltung hergestellt ist (S1951: JA), beendet der Mikrocomputer 33 die Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands.
  • In der vorstehenden Beschreibung wurde ein Fall beschrieben, in dem die Anwendungsausführungseinheit 105a das Programm bezüglich der drahtgebundenen Spezialverarbeitung und das Programm bezüglich der drahtlosen Spezialverarbeitung unabhängig (simultan) ausführen kann, aber es kann eine Konfiguration geben, in der das Programm für drahtgebundene Diagnose und das Programm für drahtlose Diagnose gemeinsam genutzt werden, wie in 165 illustriert ist. In der Konfiguration befindet sich das Fahrzeugsteuerprogramm in dem Anwendungsbereich als das erste Programm und das Diagnoseprogramm (das Programm für drahtgebundene Diagnose und das Programm für drahtlose Diagnose) und das Programm für drahtloses Umschreiben befinden sich in dem Anwendungsbereich als das zweite Programm. Das Programm für drahtgebundenes Umschreiben kann sich in dem Anwendungsbereich als das zweite Programm befinden oder kann sich in dem Bootbereich als das dritte Programm befinden. Die Anwendungsausführungseinheit 105a führt simultan das erste Programm und das zweite Programm aus. Das heißt, die Anwendungsausführungseinheit 105a führt Steuerung so aus, dass das Fahrzeugsteuerprogramm und das gemeinsame Diagnoseprogramm simultan ausgeführt werden können. Andererseits steuert die Anwendungsausführungseinheit 105a exklusiv Ausführung jedes Programms, das das zweite Programm ausbildet, aus. Das heißt, nur eines des Programms für drahtgebundene Diagnose, des Programms für drahtlose Diagnose, des Programms für drahtloses Umschreiben und des Programms für drahtgebundenes Umschreiben wird gesteuert, um operiert zu werden.
  • Wie in 166 illustriert ist, verwaltet die Anwendungsausführungseinheit 105a den Standardzustand (Standardsitzung), den Diagnosezustand (Diagnosesitzung), den Zustand drahtgebundenen Umschreibens (Sitzung drahtgebundenen Umschreibens) und den Zustand drahtloser Umschreibung (Sitzung drahtlosen Umschreibens) als die Zustände und verwaltet einen internen Operationszustand. Die Zustände, die hier verwaltet werden, werden nicht unabhängig auf drahtgebundene und drahtlose Weise verwaltet, aber werden als ein Zustand auf gemischte Weise verwaltet.
  • Auch in dieser Konfiguration initiiert die Anwendungsausführungseinheit 105a Ausführung des Diagnoseprogramms, während das Fahrzeugsteuerprogramm ausgeführt wird. Die Anwendungsausführungseinheit 105a initiiert Ausführung des Programms für drahtloses Umschreiben oder des Programms für drahtgebundenes Umschreiben, während das Fahrzeugsteuerprogramm ausgeführt wird. Andererseits steuert die Anwendungsausführungseinheit 105a exklusiv Ausführung des Programms für drahtlose Diagnose und des Programms für drahtgebundene Diagnose. Die Anwendungsausführungseinheit 105a steuert ebenso exklusiv Ausführung des Programms für drahtgebundene Diagnose und des Programms für drahtlose Diagnose und des Programms für drahtgebundenes Umschreiben und des Programms für drahtloses Umschreiben. Das heißt, die Anwendungsausführungseinheit 105a steuert exklusiv Ausführung jedes Programms, das das zweite Programm ausbildet, aus.
  • Hierbei steuert in einem Fall, in dem das Programm für drahtgebundenes Umschreiben sich in dem Bootbereich als das dritte Programm befindet, die Anwendungsausführungseinheit 105a exklusiv Ausführung des dritten Programms und des ersten und zweiten Programms. Das heißt, in einem Fall, in dem das Programm für drahtgebundenes Umschreiben ausgeführt wird, werden das erste Programm und das zweite Programm beendet und werden in einem dedizierten Modus operiert.
  • Wie in 166 illustriert ist, wenn eine Diagnoseanforderung erzeugt wird, tätigt die Anwendungsausführungseinheit 105a einen Übergang zur Diagnosesitzung, während Ausführung des Fahrzeugsteuerprogramms fortgesetzt wird, und initiiert Ausführung des Diagnoseprogramms. In diesem Zustand, wenn eine Anforderung für drahtloses Umschreiben erzeugt wird, beendet die Anwendungsausführungseinheit 105a das Diagnoseprogramm, tätigt einen Übergang zur Sitzung drahtlosen Umschreibens und initiiert Ausführung des Programms für drahtloses Umschreiben. Ausführung des Fahrzeugsteuerprogramms wird fortgesetzt. Andererseits, in einem Fall, in dem eine Anforderung für drahtgebundenes Umschreiben erzeugt wird, beendet die Anwendungsausführungseinheit 105a das Diagnoseprogramm und das Fahrzeugsteuerprogramm, tätigt einen Übergang zur Sitzung drahtgebundenen Umschreibens und initiiert Ausführung des Programms für drahtgebundenes Umschreiben.
  • Selbst wenn sich das Programm für drahtloses Umschreiben innerhalb des Diagnoseprogramms befindet, stoppt die Anwendungsausführungseinheit 105a die Ausführung des Fahrzeugsteuerprogramms und des Diagnoseprogramms und initiiert dann die Ausführung des Programms für drahtloses Umschreiben, wenn ein Zustandsübergang von der Diagnosesitzung in die Sitzung drahtlosen Umschreibens während der Ausführung des Fahrzeugsteuerprogramms und des Diagnoseprogramms erfolgt. In einem Fall, in dem es keine Sitzung gibt, kann die Verarbeitung fortgesetzt werden.
  • Wenn sich das Programm für drahtgebundenes Umschreiben außerhalb des Diagnoseprogramms befindet, stoppt die Anwendungsausführungseinheit 105a die Ausführung des Fahrzeugsteuerprogramms und des Programms für drahtlose Diagnose und initiiert die Ausführung des Programms für drahtgebundenes Umschreiben, wenn ein Zustandsübergang von der Diagnosesitzung in die Sitzung drahtgebundenen Umschreibens während der Ausführung des Fahrzeugsteuerprogramms und des Diagnoseprogramms erfolgt. Das heißt, die Anwendungsausführungseinheit 105a führt Steuerung derart aus, dass die Fahrzeugsteuerung, die drahtgebundene oder drahtlose Diagnose der ECU 19 und das drahtgebundene Umschreiben eines Anwendungsprogramms nicht simultan ausgeführt werden können und nur das drahtgebundene Umschreiben des Anwendungsprogramms ausgeführt werden kann.
  • Wie vorstehend beschrieben ist, führt die ECU 19 die Sitzungsaufbauverarbeitung aus, führt somit die Zustandsübergangsverwaltungsverarbeitung des ersten Zustands und die Zustandsübergangsverwaltungsverarbeitung des zweiten Zustands aus, verwaltet einen Zustandsübergang jeder Sitzung des ersten Zustands und des zweiten Zustands und baut nicht exklusiv die Standardsitzung oder die Sitzung drahtgebundener Diagnose des ersten Zustands und die Sitzung drahtlosen Umschreibens des zweiten Zustands auf. Das Fahrzeugsteuerprogramm oder das Diagnoseprogramm für die ECU 19 und das Programm für drahtloses Umschreiben werden so gesteuert, dass sie nicht exklusiv in Antwort auf Anforderungen für die Fahrzeugsteuerung oder die Diagnose der ECU 19 und das Programm für drahtloses Umschreiben eines Programms ausgeführt werden, und somit es ist möglich, unterschiedliche Anforderungen von der Außenseite auf geeignete Weise zuzuteilen.
  • In der ECU 19 werden die Sitzung drahtgebundenen Umschreibens und die Sitzung drahtlosen Umschreibens exklusiv aufgebaut. Das Programm für drahtgebundenes Umschreiben und das Programm für drahtloses Umschreiben werden gesteuert, um exklusiv ausgeführt zu werden, und drahtgebundenes Umschreiben des Programms und drahtloses Umschreiben des Programms können angemessen zugeteilt werden.
  • In der ECU 19, wenn die Prioritätsbedingung für eine Sitzung drahtgebundenen Umschreibens hergestellt ist, wird die Sitzung drahtgebundenen Umschreibens gegenüber der Sitzung drahtlosen Umschreibens priorisiert. Die Prioritätsbedingung für eine Sitzung drahtgebundenen Umschreibens wird festgelegt und somit kann drahtgebundenes Umschreiben des Programms vor dem drahtlosen Umschreiben des Programms ausgeführt werden. Beispielsweise kann drahtgebundenes Umschreiben eines Programms, für das eine Anweisung durch eine Wartungsperson bei einem Händler oder dergleichen gegeben wird, vor drahtlosem Umschreiben des Programms ausgeführt werden, für das eine Anweisung durch einen Benutzer eines Fahrzeugs gegeben wird.
  • In der ECU 19 wird die Sitzung drahtlosen Umschreibens gegenüber der Sitzung drahtgebundenen Umschreibens priorisiert, wenn die Prioritätsbedingung für eine Sitzung drahtlosen Umschreibens hergestellt ist. Die Prioritätsbedingung für eine Sitzung drahtlosen Umschreibens wird festgelegt und somit kann drahtloses Umschreiben eines Programms vor drahtgebundenem Umschreiben des Programms ausgeführt werden. Beispielsweise kann drahtloses Umschreiben eines Programms, für das eine Anweisung durch einen Benutzer eines Fahrzeugs gegeben wird, vor drahtgebundenem Umschreiben des Programms ausgeführt werden, für das eine Anweisung durch eine Wartungsperson bei einem Händler oder dergleichen gegeben wird.
  • In der ECU 19, wenn die Umschreibsitzungsprioritätsbedingung während des Übergangs hergestellt wird, wird eine Umschreibsitzung während des Übergangs priorisiert. Die Umschreibsitzungsprioritätsbedingung während des Übergangs ist festgelegt und somit kann Umschreiben während des Übergangs bevorzugt ausgeführt werden. Das heißt, eines des drahtgebundenen Umschreibens und drahtlosen Umschreibens, das früher initiiert wurde, kann ohne Stoppen fortgesetzt werden.
  • In einer Konfiguration mit Doppelbank-Anwendungsbereichen sind das Fahrzeugsteuerprogramm, das Diagnoseprogramm und das Programm für drahtloses Umschreiben in jedem Anwendungsbereich angeordnet und das Fahrzeugsteuerprogramm oder das Diagnoseprogramm und das Programm für drahtloses Umschreiben werden parallel (simultan) ausgeführt. Eine Speicherkonfiguration des Flash-Speichers 30d wird entwickelt und somit können das Fahrzeugsteuerprogramm oder das Diagnoseprogramm und das Programm für drahtloses Umschreiben parallel ausgeführt werden.
  • Wenn eine Anforderung für drahtloses Umschreiben während Ausführung des Fahrzeugsteuerprogramms oder des Programms für drahtgebundene Diagnose spezifiziert, wird Ausführung des Fahrzeugsteuerprogramms oder des Programms für drahtgebundene Diagnose fortgesetzt und das Programm für drahtloses Umschreiben wird ausgeführt. Wenn eine Anforderung für drahtloses Umschreiben während Ausführung des Fahrzeugsteuerprogramms oder des Programms für drahtgebundene Diagnose erzeugt wird, können das Fahrzeugsteuerprogramm oder das Programm für drahtgebundene Diagnose und das Programm für drahtloses Umschreiben parallel (simultan) ausgeführt werden.
  • Wenn eine Fahrzeugsteuerungsanforderung oder eine Anforderung für drahtgebundene Diagnose während Ausführung des Programms für drahtloses Umschreiben spezifiziert wird, wird Ausführung des Programms für drahtloses Umschreiben fortgesetzt und das Fahrzeugsteuerprogramm oder das Programm für drahtgebundene Diagnose werden ausgeführt. Wenn eine Fahrzeugsteuerungsanforderung oder eine Anforderung für drahtgebundene Diagnose während Ausführung des Programms für drahtloses Umschreiben erzeugt wird, können das Programm für drahtloses Umschreiben und das Fahrzeugsteuerprogramm oder das Programm für drahtgebundene Diagnose parallel (simultan) ausgeführt werden.
  • Wenn eine Anforderung für drahtgebundenes Umschreiben während Ausführung des Fahrzeugsteuerprogramms oder des Programms für drahtlose Diagnose spezifiziert wird, wird Ausführung des Fahrzeugsteuerprogramms oder des Programms für drahtlose Diagnose gestoppt und das Programm für drahtgebundenes Umschreiben wird ausgeführt. Wenn eine Anforderung für drahtgebundenes Umschreiben während Ausführung des Fahrzeugsteuerprogramms oder des Programms für drahtlose Diagnose erzeugt wird, kann nur das Programm für drahtgebundenes Umschreiben exklusiv ausgeführt werden.
  • In einem Fall des Typs mit eingebetteter Umprogrammierungs-Firmware, bei dem die Umprogrammierungs-Firmware eingebettet ist, wird das Umschreibprogramm unter Verwendung der Firmware ausgeführt, die sich in dem Anwendungsbereich befindet. Es ist möglich, eine Umschreibverarbeitung an einem Anwendungsprogramm in einer inaktiven Bank auszuführen, ohne die Umprogrammierungs-Firmware von außen herunterzuladen.
  • In einem Fall des Umprogrammierungs-Firmware-Herunterladetyps, bei dem Umprogrammierungs-Firmware von außen heruntergeladen wird, wird das Umschreibprogramm unter Verwendung der von außen heruntergeladenen Firmware ausgeführt. Es ist es möglich, eine Umschreibverarbeitung auf einem Anwendungsprogramm in einer inaktiven Bank nach Reduzieren einer Kapazität eines Umschreibprogramms in dem Anwendungsbereich auszuführen.
  • Obwohl der Doppelbankspeicher mit zwei greifbaren Anwendungsbereichen beschrieben wurde, ist die vorliegende Ausführungsform ebenso auf einen Einzelbankaussetzspeicher oder einen externen Speicher mit zwei Pseudoanwendungsbereichen anwendbar.
  • Obwohl ein Fall von Differenzumschreiben beschrieben wurde, in dem neue Daten aus alten Daten und Differenzumprogrammierungsdaten erzeugt werden, ist die vorliegende Ausführungsform ebenso auf einen Fall von Umschreiben anwendbar, bei dem die gesamten neuen Daten durch Löschen von alten Daten geschrieben werden.
  • Obwohl ein Fall beschrieben wurde, in dem ein Anwendungsprogramm der ECU 19 umgeschrieben wird, ist die vorliegende Ausführungsform ebenso auf einen Fall von Umschreiben eines Anwendungsprogramms des CGW 13 anwendbar. Das heißt, der Flash-Speicher 26d des CGW 13 kann eine Doppelbankkonfiguration äquivalent zu der des Flash-Speichers 30d der ECU 19 haben und der Mikrocomputer 26 kann eine Funktion haben, die äquivalent zu der des Mikrocomputers 33 der ECU 19 ist.
  • (20) Wiederholungspunktspezifizierungsverarbeitung
  • Die Wiederholungspunktspezifizierungsverarbeitung wird gemäß 170 bis 174 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Wiederholungspunktspezifizierungsverarbeitung in der Umschreibziel-ECU 19 aus. Der Wiederholungspunkt ist Informationen, die einen Abschnitt entsprechend einer abgeschlossenen Verarbeitung angeben, um gestopptes Schreiben von Schreibdaten auf halbem Weg wiederaufzunehmen, wenn Schreiben der Schreibdaten in einem Fall gestoppt wird, in dem Schreibdaten mehrmals geschrieben werden. Als ein Fall, in dem Schreiben von Schreibdaten gestoppt wird, gibt es beispielsweise einen Fall, in dem Aufhebung aufgrund der Benutzeroperation auftritt, in einem Fall, in dem eine Anomalie wie Kommunikationsunterbrechung auftritt, und einem Fall, in dem die Zündung von einem AUS-Zustand in einen EIN-Zustand in einem Parkzustand schaltet.
  • In der ECU 19 teilt die Programmumschreibeinheit 102 eine Serie von Verarbeitungen bezüglich Umschreibens eines Anwendungsprogramms unter mehreren Umschreibprogrammen. Die Programmumschreibeinheit 102 beinhaltet ein erstes Umschreibprogramm zum Ausführen einer ersten Verarbeitung und ein zweites Umschreibprogramm zum Ausführen einer zweiten Verarbeitung und führt sequentiell die jeweiligen Umschreibprogramme aus. Die erste Verarbeitung, die durch das erste Umschreibprogramm ausgeführt wird, ist beispielsweise eine Speicherlöschverarbeitung zum Löschen von Daten in dem Flash-Speicher und eine Datenschreibverarbeitung zum Schreiben von Schreibdaten. Die zweite Verarbeitung, die durch das zweite Umschreibprogramm ausgeführt wird, ist beispielsweise eine Verifizierungsverarbeitung und eine Fälschungsprüfungsverarbeitung.
  • Wie in 170 illustriert ist, beinhaltet die ECU 19 eine Flag-Setzeinheit 106a für eine erste Verarbeitung, eine Flag-Setzeinheit 106b für eine zweite Verarbeitung und eine Wiederholungspunktspezifizierungseinheit 106c in der Wiederholungspunktspezifizierungseinheit 106. Wenn die Programmumschreibeinheit 102 das erste Umschreibprogramm ausführt, bestimmt die Flag-Setzeinheit 106a für eine erste Verarbeitung, ob oder nicht die Programmumschreibeinheit 102 die erste Verarbeitung unter Verwendung des ersten Umschreibprogramms abgeschlossen hat, und setzt ein erstes Verarbeitungs-Flag, das das Bestimmungsergebnis angibt. Wenn bestimmt wird, dass die Programmumschreibeinheit 102 die erste Verarbeitung abgeschlossen hat, setzt die Flag-Setzeinheit 106a für eine erste Verarbeitung das erste Verarbeitungs-Flag auf „OK“.
  • Wenn die Programmumschreibeinheit 102 das zweite Umschreibprogramm ausführt, bestimmt die Flag-Setzeinheit 106b für eine zweite Verarbeitung, ob oder nicht die Programmumschreibeinheit 102 die zweite Verarbeitung unter Verwendung des zweiten Umschreibprogramms abgeschlossen hat, und setzt ein zweites Verarbeitungs-Flag, das das Bestimmungsergebnis angibt. Wenn bestimmt wird, dass die Programmumschreibeinheit 102 die zweite Verarbeitung abgeschlossen hat, setzt die Flag-Setzeinheit 106b für eine zweite Verarbeitung das zweite Verarbeitungs-Flag auf „OK“.
  • Die Wiederholungspunktspezifizierungseinheit 106c spezifiziert einen Wiederholungspunkt, wenn die Programmumschreibeinheit 102 Umschreiben eines Anwendungsprogramms gemäß dem ersten Verarbeitungs-Flag und dem zweiten Verarbeitungs-Flag in einem Fall erneut versucht, in dem ein Teil der Verarbeitung bezüglich des Umschreibens des Programms gestoppt ist. Die Wiederholungspunktspezifizierungseinheit 106c speichert eine Schreibmenge von Aktualisierungsdaten bis zum Stoppen und fordert das CGW 13 auf, die Aktualisierungsdaten basierend auf der gespeicherten Schreibmenge der Aktualisierungsdaten in einem Fall zu senden, in dem die Verarbeitung bezüglich Umschreibens des Programms wiederaufgenommen wird. Wie in 171 illustriert ist, werden das erste Verarbeitungs-Flag und das zweite Verarbeitungs-Flag in demselben Block des Flash-Speichers der Umschreibziel-ECU 19 gespeichert.
  • Als nächstes wird eine Operation der Wiederholungspunktspezifizierungseinheit 106 in der Umschreibziel-ECU 19 gemäß 172 bis 174 beschrieben. Die Umschreibziel-ECU 19 führt ein Wiederholungspunktspezifizierungsprogramm aus und führt somit die Wiederholungspunktspezifizierungsverarbeitung aus. Die Umschreibziel-ECU 19 führt eine Verarbeitungsflagsetzverarbeitung und eine Verarbeitungsflagbestimmungsverarbeitung als die Wiederholungspunktspezifizierungsverarbeitung aus. Jede Verarbeitung wird nachfolgend beschrieben.
  • (20-1) Verarbeitungsflagsetzverarbeitung
  • Wenn die Verarbeitungsflagsetzverarbeitung initiiert wird, bestimmt die Umschreibziel-ECU 19, ob oder nicht eine Vorverarbeitung vor Umschreiben eines Anwendungsprogramms abgeschlossen wurde (S2001). Wenn bestimmt wird, dass die Vorverarbeitung vor Umschreiben des Anwendungsprogramms abgeschlossen wurde (S2001: JA), setzt die Umschreibziel-ECU 19 das erste Verarbeitungs-Flag auf „NG“, setzt das zweite Verarbeitungs-Flag auf „NG“ und speichert die festgelegten Verarbeitungs-Flags (S2002; entsprechend einer Flag-Setzprozedur für eine erste Verarbeitung und einer Flag-Setzprozedur für eine zweite Verarbeitung).
  • Wenn Schreibdaten von dem CGW 13 empfangen werden, initiiert die Umschreibziel-ECU 19 die erste Verarbeitung (S2003) und bestimmt, ob oder nicht die erste Verarbeitung abgeschlossen wurde (S2004). Wenn bestimmt wird, dass die erste Verarbeitung abgeschlossen wurde (S2004: JA), setzt die Umschreibziel-ECU 19 das erste Verarbeitungs-Flag auf „OK“ in einem Zustand, in dem das zweite Verarbeitungs-Flag noch auf „NG“ gesetzt ist, und speichert das erste Verarbeitungs-Flag (S2005; entsprechend einer Flag-Setzprozedur für eine erste Verarbeitung und einer Flag-Setzprozedur für eine zweite Verarbeitung). Die Umschreibziel-ECU 19 speichert eine Schreibabschlussadresse, die einen Abschnitt angibt, wo das Schreiben in dem Flash-Speicher abgeschlossen wurde.
  • Die Umschreibziel-ECU 19 initiiert die zweite Verarbeitung wie beispielsweise Senden einer Schreibabschlussmitteilung an das CGW 13 (S2006) und bestimmt, ob oder nicht die zweite Verarbeitung abgeschlossen wurde (S2007). Wenn bestimmt wird, dass die zweite Verarbeitung abgeschlossen wurde (S2007: JA), setzt die Umschreibziel-ECU 19 das zweite Verarbeitungs-Flag auf „OK“ und speichert das gesetzte zweite Verarbeitungs-Flag in einem Zustand, in dem das erste Verarbeitungs-Flag immer noch auf „OK“ gesetzt ist (S2008, entsprechend einer Flag-Setzprozedur für eine erste Verarbeitung und einer Flag-Setzprozedur für eine zweite Verarbeitung) und beendet die Verarbeitungsflagsetzverarbeitung.
  • (20-2) Verarbeitungsflagbestimmungsverarbeitung
  • Wenn die Umschreibziel-ECU 19 vom Schlafzustand oder Stoppzustand gestartet wird und die Verarbeitungsflagbestimmungsverarbeitung initiiert wird, wird die Umschreibziel-ECU 19 durch das Bootprogramm (S2011) gestartet und liest das erste Verarbeitungs-Flag und das zweite Verarbeitungs-Flag von dem Flash-Speicher und bestimmt die Flags (S2012 bis S2015).
  • Wenn bestimmt wird, dass das erste Verarbeitungs-Flag auf „NG“ gesetzt ist und das zweite Verarbeitungs-Flag auf „NG“ gesetzt ist (S2012: JA), spezifiziert die Umschreibziel-ECU 19 einen Wiederholungspunkt am Beginn der ersten Verarbeitung, teilt dem CGW 13 eine Wiederholungsanforderung für vom Beginn der ersten Verarbeitung mit (S2016: entsprechend einer Wiederholungspunktspezifizierungsprozedur) und beendet die Wiederholungspunktspezifizierungsverarbeitung. Das heißt, die Umschreibziel-ECU 19 fordert das CGW 13 auf, die Schreibdaten zu verteilen. In diesem Fall teilt die Umschreibziel-ECU 19 dem CGW 13 ebenso die Schreibabschlussadresse mit, die von dem Flash-Speicher gelesen wird, und somit spezifiziert das CGW 13, welche der Schreibdaten, die zu teilen und verteilen sind, verteilt werden. Wenn bestimmt wird, dass das erste Verarbeitungs-Flag auf „NG“ gesetzt ist und das zweite Verarbeitungs-Flag auf „OK“ gesetzt ist (S2013: JA), spezifiziert die Umschreibziel-ECU 19 ebenso in diesem Fall einen Wiederholungspunkt am Beginn der ersten Verarbeitung (S2016; entsprechend einer Wiederholungspunktspezifizierungsprozedur), teilt dem CGW 13 eine Wiederholungsanforderung für vom Beginn der ersten Verarbeitung mit (S2017) und beendet die Verarbeitungsflagbestimmungsverarbeitung.
  • Wenn bestimmt wird, dass das erste Verarbeitungs-Flag auf „OK“ gesetzt ist und das zweite Verarbeitungs-Flag auf „NG“ gesetzt ist (S2014: JA), spezifiziert die Umschreibziel-ECU 19 einen Wiederholungspunkt am Beginn der zweiten Verarbeitung (S2018; entsprechend einer Wiederholungspunktspezifizierungsprozedur), teilt dem CGW 13 eine Wiederholungsanforderung für vom Beginn der zweiten Verarbeitung mit (S2019) und beendet die Verarbeitungsflagbestimmungsverarbeitung. Die ECU 19 teilt dem CGW 13 beispielsweise mit, bis zu welcher Adresse das Schreiben als die zweite Verarbeitung abgeschlossen wurde.
  • Wenn bestimmt wird, dass das erste Verarbeitungs-Flag auf „OK“ gesetzt ist und das zweite Verarbeitungs-Flag auf „OK“ gesetzt ist (S2015: JA), teilt die Umschreibziel-ECU 19 dem CGW 13 den Abschluss der Verarbeitung bezüglich Umschreibens des Anwendungsprogramms mit (S2020) und beendet die Verarbeitungsflagbestimmungsverarbeitung. Wenn das CGW 13 geteilte Schreibdaten verteilt, legt die Umschreibziel-ECU 19 den vorstehend beschriebenen Wiederholungspunkt in der Einheit der geteilten Schreibdaten fest.
  • Wie vorstehend beschrieben ist, führt die Umschreibziel-ECU 19 die Wiederholungspunktspezifizierungsverarbeitung aus, setzt somit das erste Verarbeitungs-Flag, das angibt, ob oder nicht die erste Verarbeitung abgeschlossen wurde, setzt das zweite Verarbeitungs-Flag, das angibt, ob oder nicht die zweite Verarbeitung abgeschlossen wurde, und spezifiziert einen Wiederholungspunkt gemäß dem ersten Verarbeitungs-Flag und dem zweiten Verarbeitungs-Flag. Beispielsweise in einem Fall, in dem die erste Verarbeitung abgeschlossen wurde und die Umschreibziel-ECU 19 in einem Zustand neugestartet wird, in dem die zweite Verarbeitung nicht abgeschlossen ist, kann verhindert werden, dass die gleichen Schreibdaten erneut geschrieben werden.
  • Die Umschreibziel-ECU 19 speichert eine Datenmenge der Schreibdaten, deren Schreiben abgeschlossen wurde, das heißt, wie viele Bytes der Schreibdaten geschrieben wurden, und fordert das CGW 13 auf, die Schreibdaten ab den Bytes in einem Fall, in dem Schreiben der Schreibdaten wiederaufgenommen wird, zu senden. In einem Fall, in dem die Umschreibziel-ECU 19 speichert, wie viele Bytes der Schreibdaten geschrieben wurden, und das Schreiben wiederaufnimmt, fordert die Umschreibziel-ECU 19 das CGW 13 auf, die Schreibdaten ab den Bytes zu senden. Demnach kann zur Zeit des Wiederaufnehmens des Schreibens das CGW 13 Verschwenden des erneuten Sendens der gesendeten Schreibdaten vermeiden und die Umschreibziel-ECU 19 kann die Schreibdaten ab dem nächsten Schreibbereich eines Schreibbereichs, in dem die Schreibdaten geschrieben wurden, schreiben. Die Umschreibziel-ECU 19, die nicht die Funktion zum Speichern, wie viele Bytes von Schreibdaten geschrieben wurden, hat, fordert das CGW 13 auf, die Schreibdaten ab den führenden Schreibdaten in einem Fall zu senden, in dem Schreiben der Schreibdaten wiederaufgenommen wird.
  • (21) Fortschrittszustandssynchronisationssteuerverarbeitung
  • Die Fortschrittszustandssynchronisationssteuerverarbeitung wird gemäß 175 bis 180 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt eine Fortschrittszustandssynchronisationssteuerverarbeitung in dem CGW 13 und der Zentralvorrichtung 3 aus. Das Fahrzeugprogrammumschreibsystem 1 beinhaltet das mobile Endgerät 6 und die Fahrzeugbordanzeige 7 als das Anzeigeendgerät 5, das es einem Benutzer ermöglicht, eine Eingabeoperation auszuführen. Die Fahrzeugbordanzeige 7 zeigt einen Fortschrittsbildschirm an, der den Fortschritt des Umschreibens in Kooperation mit dem CGW 13 angibt. Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt somit einen Fortschrittsbildschirm an, der den Fortschritt des Umschreibens angibt, der durch die Zentralvorrichtung 3 bereitgestellt wird. Das CGW 13 und die Zentralvorrichtung 3 führen die Fortschrittszustandssynchronisationssteuerverarbeitung derart aus, dass Informationen, die auf dem mobilen Endgerät 6 angezeigt werden, und Informationen, die auf der Fahrzeugbordanzeige 7 angezeigt werden, miteinander synchronisiert werden.
  • Wie in 30 illustriert ist, die vorstehend beschrieben ist, wenn beispielsweise die Umschreibziel-ECU 19 die ECU 19 ist, die mit einem Doppelbankspeicher ausgestattet ist, werden Prozeduren bezüglich Umschreibens eines Anwendungsprogramms gemäß der Kampagnenmitteilungsphase, in der einem Benutzer Umschreiben des Anwendungsprogramms mitgeteilt wird und die Zustimmung des Benutzers erlangt wird, der Herunterladephase, in der Schreibdaten von der Zentralvorrichtung 3 auf das DCM 12 heruntergeladen werden, der Installationsphase, in der die Schreibdaten von dem CGW 13 an die Umschreibziel-ECU 19 verteilt werden, und der Aktivierungsphase ausgeführt, in der eine Startbank beim nächsten Start von einer alten Bank zu einer neuen Bank umschaltet. Das heißt, der Benutzer operiert das mobile Endgerät 6 oder die Fahrzeugbordanzeige 7 und veranlasst somit, dass eine Serie von Prozeduren bezüglich Umschreibens des Anwendungsprogramms fortschreitet, beispielsweise durch Zustimmen zur Ausführung jeder Phase.
  • Wie in 175 illustriert ist, beinhaltet das CGW 13 eine erste Fortschrittszustandsbestimmungseinheit 88a, eine erste Fortschrittszustandssendeeinheit 88b, eine zweite Fortschrittszustandserlangungseinheit 88c und eine erste Anzeigeanweisungseinheit 88d in der Fortschrittszustandssynchronisationssteuereinheit 88. Die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt einen ersten Fortschrittszustand bezüglich Umschreibens eines Programms und bestimmt Fortschrittszustände wie beispielsweise die Kampagnenmitteilungsphase, die Herunterladephase, die Installationsphase und die Aktivierungsphase. Die Kampagnenmitteilungsphase ist eine Phase, in der eine Kampagne empfangen wird, die Bildschirme, die in 32 und 33 illustriert sind, angezeigt werden und die Benutzerzustimmung erlangt wird. Die Herunterladephase ist eine Phase, in der Bildschirme, die in 34 bis 37 illustriert sind, angezeigt werden, die Benutzerzustimmung erlangt wird und Herunterladen ausgeführt wird. Die Installationsphase ist eine Phase, in der das Herunterladen abgeschlossen wurde, die Bildschirme, die in 38 bis 42 illustriert sind, angezeigt werden und Installation durch Erlangen der Benutzerzustimmung ausgeführt wird. Die Aktivierungsphase ist eine Phase, in der der Bildschirm, der in 43 illustriert ist, angezeigt wird, die Benutzerzustimmung erlangt wird und Aktivierung ausgeführt wird.
  • Die erste Fortschrittszustandsbestimmungseinheit 88a spezifiziert eine Operation, die durch den Benutzer auf der Fahrzeugbordanzeige 7 ausgeführt wird, und bestimmt einen ersten Fortschrittszustand durch Senden eines Benutzeroperationssignals von der Fahrzeugbordanzeige 7 an das CGW 13, wenn der Benutzer das Fahrzeug fährt und der Benutzer „Ausführung von Programmaktualisierung genehmigen“ auf der Fahrzeugbordanzeige 7 auswählt und eine Operation zum Fortschreiten zur nächsten Phase ausführt. In diesem Fall entspricht Auswählen von „Ausführung von Programmaktualisierung genehmigen“ Operieren irgendeiner der „Herunterladeinitiierung“-Taste 503a, die in 34 illustriert ist, der „Sofort aktualisieren“-Taste 506a, die in 39 illustriert ist, der „Aktualisierung reservieren“-Taste 506b und der „OK“-Taste 508b, die in 43 illustriert ist. Wenn der erste Fortschrittszustand bestimmt wird, verwaltet die erste Fortschrittszustandsbestimmungseinheit 88a den bestimmten Fortschrittszustand als den gegenwärtigen Fortschrittszustand.
  • Wenn der erste Fortschrittszustand durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wird, sendet die erste Fortschrittszustandssendeeinheit 88b den bestimmten ersten Fortschrittszustand an die Zentralvorrichtung 3 und sendet ebenso den bestimmten ersten Fortschrittszustand an jede Fahrzeugbordanzeigevorrichtung wie die Fahrzeugbordanzeige 7. Die zweite Fortschrittszustandserlangungseinheit 88c erlangt einen zweiten Fortschrittszustand bezüglich des Umschreibens des Programms von der Zentralvorrichtung 3. Wenn der erste Fortschrittszustand durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wird und der zweite Fortschrittszustand durch die zweite Fortschrittszustandserlangungseinheit erlangt wird, gibt die erste Anzeigeanweisungseinheit 88d eine Anweisung zum Erzeugen von Inhalten, die auf der Fahrzeugbordanzeige 7 anzeigbar sind, basierend auf dem bestimmten ersten Fortschrittszustand und dem erlangten zweiten Fortschrittszustand.
  • Hierbei erlangt in einem Fall, in dem die zweite Fortschrittszustandserlangungseinheit 88c den zweiten Fortschrittszustand von der Zentralvorrichtung 3 erlangt, verwaltet die erste Fortschrittszustandsbestimmungseinheit 88a den zweiten Fortschrittszustand als den gegenwärtigen Fortschrittszustand, wenn der zweite Fortschrittszustand eine Phase früher ist als der gegenwärtige Fortschrittszustand. Das heißt, der erste Fortschrittszustand wird auf einen Wert des zweiten Fortschrittszustands aktualisiert. Die erste Fortschrittszustandssendeeinheit 88b sendet den ersten Fortschrittszustand, der er gegenwärtige Fortschrittszustand ist, an die Zentralvorrichtung 3. Beispielsweise in einem Fall, in dem der erste Fortschrittszustand eine „Herunterladewartephase“ ist und eine Zustimmungsoperation des Benutzers an dem mobilen Endgerät 6 ausgeführt wird, erlangt die zweite Fortschrittszustandserlangungseinheit 88c eine „Herunterladenin-Bearbeitung-Phase“ als den zweiten Fortschrittszustand von der Zentralvorrichtung 3. Da die „Herunterladen-in-Bearbeitung-Phase“, die von der Zentralvorrichtung 3 erlangt wird, eine Phase früher als der gegenwärtige Fortschrittszustand ist, aktualisiert die erste Fortschrittszustandsbestimmungseinheit 88a den ersten Fortschrittszustand, der der gegenwärtige Fortschrittszustand ist, auf einen Wert des zweiten Fortschrittszustands, sendet den aktualisierten ersten Fortschrittszustand an die Zentralvorrichtung 3 und sendet ebenso den aktualisierten ersten Fortschrittszustand an unterschiedliche Fahrzeugbordanzeigevorrichtungen wie die Fahrzeugbordanzeige 7. Zusätzlich zu der „Herunterladen-in-Bearbeitung-Phase“ als der erste Fortschrittszustand, kann ein „X% des Herunterladens abgeschlossen“, das den Fortschrittsgrad des Herunterladens angibt, gesendet werden.
  • In einem Fall, in dem ein Benutzeroperationssignal in der Fahrzeugbordanzeige 7 erzeugt wird, gibt die erste Anzeigeanweisungseinheit 88 eine Anweisung zum Erzeugen von Inhalten basierend auf dem ersten Fortschrittszustand, der durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wird. In einem Fall, in dem ein Benutzeroperationssignal in dem mobilen Endgerät 6 erzeugt wird, gibt die erste Anzeigeanweisungseinheit 88d eine Anweisung zum Erzeugen von Inhalten basierend auf dem zweiten Fortschrittszustand, der durch die zweite Fortschrittszustandserlangungseinheit 88c erlangt wird. In einer Konfiguration, in der der erste Fortschrittszustand, der durch die erste Fortschrittszustandsbestimmungseinheit 88a bestimmt wird, verwaltet wird, um zu jeder Zeit der gegenwärtige Fortschrittszustand zu sein, das heißt, die Mastervorrichtung 11 den gegenwärtigen Fortschrittszustand verwaltet, kann die erste Anzeigeanweisungseinheit 88d eine Anweisung zum Erzeugen von Inhalten basierend auf dem ersten Fortschrittszustand geben.
  • Wie in 176 illustriert ist, beinhaltet die Zentralvorrichtung 3 eine zweite Fortschrittszustandsbestimmungseinheit 53a, eine zweite Fortschrittszustandssendeeinheit 53b, eine erste Fortschrittszustandserlangungseinheit 53c und eine zweite Anzeigeanweisungseinheit 53d in der Fortschrittszustandssynchronisationssteuereinheit 53. Die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt den zweiten Fortschrittszustand bezüglich Umschreibens eines Programms und bestimmt die Fortschrittszustände beispielsweise die Kampagnenmitteilungsphase, die Herunterladephase, die Installationsphase und die Aktivierungsphase. Wenn der Benutzer aussteigt (Parken), „Ausführung von Programmaktualisierung genehmigen“ auf dem mobilen Endgerät 6 auswählt und eine Operation oder einen Fortschritt zur nächsten Phase ausführt, empfängt die zweite Fortschrittszustandsbestimmungseinheit 53a ein Benutzeroperationssignal, das von dem mobilen Endgerät 6 gesendet wird, in einer Umgebung, in der das mobile Endgerät 6 und die Zentralvorrichtung 3 Datenkommunikation miteinander ausführen können.
  • Die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt den zweiten Fortschrittszustand basierend auf dem gegenwärtigen Fortschrittszustand, der der erste Fortschrittszustand ist, der vorhergehend durch die Mastervorrichtung 11 durch die erste Fortschrittszustandserlangungseinheit 53c empfangen wurde, und dem Benutzeroperationssignal. Beispielsweise, wenn der gegenwärtige Fortschrittszustand eine „Installationswartephase“ ist und das Benutzeroperationssignal empfangen wird, das „Zustimmung“ angibt, bestimmt die zweite Fortschrittszustandsbestimmungseinheit 53a, dass der zweite Fortschrittszustand in einer „Installation-in-Bearbeitung-Phase“ ist. Die zweite Fortschrittszustandsbestimmungseinheit 53a kann „Mit Zustimmung des Benutzers in der Installationswartephase“ bestimmen. Das Benutzeroperationssignal in dem mobilen Endgerät 6 wird von der Zentralvorrichtung 3 an das DCM 12 in einer Umgebung gesendet, in der das DCM 12 und die Zentralvorrichtung 3 Datenkommunikation miteinander ausführen können. Das Benutzeroperationssignal wird von dem DCM 12 an das CGW 13 übertragen und somit kann das CGW 13 die Operation bestimmen, die durch den Benutzer auf dem mobilen Endgerät 6 ausgeführt wird, um den Fortschrittszustand zu bestimmen.
  • Wenn der zweite Fortschrittszustand durch die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt wird, sendet die zweite Fortschrittszustandssendeeinheit 53b den bestimmten zweiten Fortschrittszustand an die Mastervorrichtung 11. Die erste Fortschrittszustandserlangungseinheit 53 erlangt den ersten Fortschrittszustand bezüglich Umschreibens des Programms von der Mastervorrichtung 11 und verwaltet den ersten Fortschrittszustand als den gegenwärtigen Fortschrittszustand. Als der gegenwärtige Fortschrittszustand kann der zweite Fortschrittszustand auf einen Wert des ersten Fortschrittszustands aktualisiert werden. Wenn der zweite Fortschrittszustand durch die zweite Fortschrittszustandsbestimmungseinheit 53a bestimmt wird und der erste Fortschrittszustand durch die erste Fortschrittszustandserlangungseinheit 53d erlangt wird, gibt die zweite Anzeigeanweisungseinheit 53d eine Anweisung zum Erzeugen von Inhalten, die auf dem mobilen Endgerät 6 anzeigbar sind, basierend auf dem bestimmten zweiten Fortschrittszustand und dem erlangten ersten Fortschrittszustand.
  • Beispielsweise in einem Fall, in dem es nur ein Benutzeroperationssignal in dem mobilen Endgerät 6 gibt, geben der zweite Fortschrittszustand, der durch die zweite Fortschrittszustandsbestimmungseinheit 53 bestimmt wird, und der erste Fortschrittszustand, der durch die erste Fortschrittszustandserlangungseinheit 53d erlangt wird, den gleichen Fortschrittszustand an. Demnach kann die zweite Anzeigeanweisungseinheit 53d eine Anweisung zur Erzeugung der Inhalte basierend auf dem zweiten Fortschrittszustand geben. Danach, wenn das Benutzeroperationssignal in der Fahrzeugbordanzeige 7 erzeugt wird, gibt die zweite Anzeigeanweisungseinheit 53d eine Anweisung zur Erzeugung der Inhalte basierend auf dem erlangten ersten Fortschrittszustand.
  • Wenn eine SMS als ein Fortschrittszustandssignal von der Zentralvorrichtung 3 empfangen wird, ist beispielsweise das mobile Endgerät 6 mit der Zentralvorrichtung 3 verbunden, wenn der Benutzer eine URL auswählt, die in der SMS beschrieben ist, und zeigt einen Bildschirm einer vorbestimmten Phase an, die durch die Zentralvorrichtung 3 bereitgestellt wird.
  • Als nächstes werden gemäß 177 bis 180 Operation beschrieben, die durch die Fortschrittszustandssynchronisationssteuereinheit 88 in dem CGW 13 ausgeführt werden und die Fortschrittszustandssynchronisationssteuereinheit 53 in der Zentralvorrichtung 3 ausgeführt werden.
  • Wie in 177 illustriert ist, senden und empfangen die Mastervorrichtung 11 und die Zentralvorrichtung 3 ein erstes Fortschrittszustandssignal und ein zweites Fortschrittszustandssignal, um Synchronisation der Anzeige eines Fortschrittszustands einer Phase in dem mobilen Endgerät 6 und der Fahrzeugbordanzeige 7 zu veranlassen. Das heißt, wenn der erste Fortschrittszustand, das heißt, der gegenwärtige Fortschrittszustand aktualisiert wird, sendet die Mastervorrichtung 11 das erste Fortschrittszustandssignal an die Zentralvorrichtung 3 und sendet ebenso das erste Fortschrittszustandssignal an unterschiedliche Fahrzeugbordanzeigevorrichtungen wie die Fahrzeugbordanzeige 7. Die Zentralvorrichtung 3 sendet das erste Fortschrittszustandssignal als den gegenwärtigen Fortschrittszustand an das mobile Endgerät 6. Demzufolge, wenn das mobile Endgerät 6 auf die Zentralvorrichtung 3 zugreifen kann, ist eine Anzeige eines Fortschrittszustands einer Phase in dem mobilen Endgerät 6 und der Fahrzeugbordanzeige 7 in Synchronisation. Die Zentralvorrichtung 3 sendet das zweite Fortschrittszustandssignal an die Mastervorrichtung 11 basierend auf einer Zustimmungsoperation des Benutzers auf dem mobilen Endgerät 6 und veranlasst somit Synchronisation in der Anzeige des Fortschrittszustands der Phase in dem mobilen Endgerät 6 und der Fahrzeugbordanzeige7, wenn das mobile Endgerät 6 auf die Zentralvorrichtung 3 zugreifen kann.
  • Die Mastervorrichtung 11, die das zweite Fortschrittszustandssignal erlangt hat, kann den ersten Fortschrittszustand aktualisieren, der der gegenwärtige Fortschrittszustand ist, und kann dann den ersten Fortschrittszustand an die Zentralvorrichtung 3 und jede Fahrzeugbordanzeigevorrichtung wie die Fahrzeugbordanzeige 7 senden. Das heißt, die Mastervorrichtung 11 sendet den gegenwärtigen Fortschrittszustand an die Zentralvorrichtung 3 und jede Fahrzeugbordanzeigevorrichtung wie die Fahrzeugbordanzeige 7 und funktioniert somit als eine Phasenverwaltungsvorrichtung. Hierbei kann das zweite Fortschrittszustandssignal, das von dem mobilen Endgerät 6, der Fahrzeugbordanzeige 7 und der Zentralvorrichtung 3 gesendet wird, eine Mitteilung sein, die irgendeine Phase angibt, oder kann eine Mitteilung sein, die angibt, das eine Zustimmungsoperation des Benutzers ausgeführt wurde, oder eine Mitteilung, die die Bedeutung einer operierten Taste angibt.
  • Wenn die Fortschrittszustandssynchronisationssteuerverarbeitung initiiert ist, sendet das CGW 13 Verteilungsspezifikationsdaten an die Fahrzeugbordanzeige 7 (S2101). Die Verteilungsspezifikationsdaten beinhalten Texte oder Inhalte, die dem Benutzer durch die Fahrzeugbordanzeige 7 angezeigt werden. Das CGW 13 bestimmt, ob oder nicht der Benutzer eine Operation auf der Fahrzeugbordanzeige 7 oder dem mobilen Endgerät 6 ausgeführt hat, basierend auf einer Mitteilung von der Fahrzeugbordanzeige 7 oder der Zentralvorrichtung 3 (S2102). Wenn bestimmt wird, dass der Benutzer die Operation auf der Fahrzeugbordanzeige 7 oder dem mobilen Endgerät 6 ausgeführt hat (S2102: JA), bestimmt das CGW 13 eine Phase entsprechend der Operation basierend auf dem ersten Fortschrittszustand (S2103 bis S2106; entsprechend einer ersten Fortschrittszustandsbestimmungsprozedur).
  • Wenn die Kampagnenmitteilungsphase bestimmt wird (S2103: JA), führt das CGW 13 eine Verarbeitung in der Kampagnenmitteilungsphase (S2107) aus und sendet ein erstes Fortschrittszustandssignal, das einen Fortschrittszustand der Verarbeitungen in der Kampagnenmitteilungsphase angibt, an die Fahrzeugbordanzeige 7 und die Zentralvorrichtung 3 (S2111). Die Verarbeitung in der Kampagnenmitteilungsphase ist beispielsweise eine Verarbeitung zum Erlangen der Benutzereingabeoperation auf der Fahrzeugbordanzeige 7 oder dem mobilen Endgerät 6.
  • Das CGW 13 erlangt von der Fahrzeugbordanzeige 7 oder dem mobilen Endgerät 6 mittels der Zentralvorrichtung 3 beispielsweise Bedingungen wie ein Datum und eine Stelle, an der ein Programm ausgeführt werden darf, zusätzlich zu einer Zustimmung oder Ablehnung zur Aktualisierung des Programms. Wenn Informationen, die angeben, dass es die Benutzereingabeoperation für eine Zustimmung auf dem mobilen Endgerät 6 von der Zentralvorrichtung 3 mittels des DCM 12 erlangt wird, teilt das CGW 13 der Fahrzeugbordanzeige 7 die Fortschritte wie Abschluss der Zustimmung mit. Andererseits, wenn Informationen, die angeben, dass es die Benutzereingabeoperation für eine Genehmigung auf der Fahrzeugbordanzeige 7 gibt, von der Fahrzeugbordanzeige 7 erlangt werden, teilt das CGW 13 der Zentralvorrichtung 3 den Fortschritt wie Abschluss der Genehmigung mit.
  • Wenn die Herunterladephase bestimmt wird (S2104: JA), führt das CGW 13 eine Verarbeitung in der Herunterladephase aus (S2108) und sendet ein erstes Fortschrittszustandssignal, das einen Fortschrittszustand der Verarbeitung in der Herunterladephase angibt, an die Fahrzeugbordanzeige 7 und die Zentralvorrichtung 3 (S2111). Die Verarbeitung in der Herunterladephase ist beispielsweise eine Verarbeitung zum Berechnen eines Prozentsatzes abgeschlossenen Herunterladens eines Verteilungspakets.
  • Das CGW 13 bestimmt den Prozentsatz des abgeschlossenen Herunterladens basierend auf einer Mitteilung von der Zentralvorrichtung 3. Das CGW 13 teilt der Fahrzeugbordanzeige 7 und der Zentralvorrichtung 3 den Fortschritt mit, der den Prozentsatz des abgeschlossenen Herunterladens angibt. Das CGW 13 führt wiederholt die Verarbeitung aus, bis Herunterladen des Verteilungspakets abgeschlossen ist. Wenn das Herunterladen abgeschlossen wurde, teilt das CGW 13 der Fahrzeugbordanzeige 7 und der Zentralvorrichtung 3 den Fortschritt mit, der Abschluss der Herunterladephase angibt.
  • Wenn die Installationsphase bestimmt wird (S2104: JA), führt das CGW 13 eine Verarbeitung in der Installationsphase (S2108) aus und sendet ein Fortschrittszustandssignal, das einen Fortschrittszustand der Verarbeitung in der Installationsphase angibt, an die Fahrzeugbordanzeige 7 und das DCM 12 (S2111). Die Verarbeitung in der Installationsphase ist beispielsweise eine Verarbeitung zum Berechnen eines Prozentsatzes abgeschlossener Installation in der Umschreibziel-ECU 19.
  • Das CGW 13 bestimmt den Prozentsatz der abgeschlossenen Installation basierend auf einer Mitteilung von der Umschreibziel-ECU 19. Das CGW 13 teilt der Fahrzeugbordanzeige 7 und der Zentralvorrichtung 3 den Fortschritt an, der den Prozentsatz der abgeschlossenen Installation angibt. Das CGW 13 führt wiederholt die Verarbeitung aus, bis Installation in allen der Umschreibziel-ECUs 19 abgeschlossen ist. Wenn die Installation in allen der Umschreibziel-ECUs 19 abgeschlossen wurde, teilt das CGW 13 der Fahrzeugbordanzeige 7 und der Zentralvorrichtung 3 die Fortschritte mit, die Abschluss der Installationsphase angeben.
  • Wenn die Aktivierungsphase bestimmt ist (S2104: JA), führt das CGW 13 eine Verarbeitung in der Aktivierungsphase aus (S2108) aus und sendet ein Fortschrittszustandssignal, das einen Fortschrittszustand der Verarbeitung in der Aktivierungsphase angibt, an die Fahrzeugbordanzeige 7 und das DCM 12 (S2111; entsprechend einer ersten Fortschrittszustandssendeprozedur). Die Verarbeitung in der Aktivierungsphase ist beispielsweise eine Verarbeitung zum Berechnen eines Prozentsatzes abgeschlossener Aktivierung in einer oder mehreren Umschreibziel-ECU 19, die zur selben Gruppe gehören. Das CGW 13 bestimmt den Prozentsatz der abgeschlossenen Aktivierung basierend auf einer Mitteilung von der Umschreibziel-ECU 19. Das CGW 13 teilt der Fahrzeugbordanzeige 7 und der Zentralvorrichtung den Fortschritt an, der den Prozentsatz der abgeschlossenen Aktivierung angibt.
  • Es wird bestimmt, ob oder nicht die Aktivierungsphase abgeschlossen wurde (S2112), und, wenn bestimmt wird, dass die Aktivierungsphase abgeschlossen wurde (S2112: JA), beendet das CGW 13 die Fortschrittszustandssynchronisationssteuerverarbeitung. Wenn bestimmt wird, dass die Aktivierungsphase nicht abgeschlossen wurde (S2112: NEIN), kehrt das CGW 13 zu S2102 zurück. Das CGW 13 veranlasst die Verarbeitung, in jeder Phase fortzuschreiten, und berechnet einen Prozentsatz einer abgeschlossenen Verarbeitung (S2107 bis S2110). Das CGW 13 sendet periodisch die Phase und Informationen, die X% einer abgeschlossenen Phase angeben als den ersten Fortschrittszustand an die Zentralvorrichtung 3 (S2111).
  • Wenn die Verteilungsspezifikationsdaten gesendet werden und die Fortschrittszustandssynchronisationssteuerverarbeitung initiiert wird, überwacht die Zentralvorrichtung 3 Empfang des ersten Fortschrittszustandssignals, das von dem DCM 12 gesendet wird (S2121). Wenn bestimmt wird, dass das erste Fortschrittszustandssignal von dem DCM 12 empfangen wurde (S2121: JA), erlaubt die Zentralvorrichtung 3 Zugriff von dem mobilen Endgerät 6 (S2122) und bestimmt eine Phase, die durch das erste Fortschrittszustandssignal spezifiziert wird (S2123 bis S2126).
  • Wenn die Kampagnenmitteilungsphase bestimmt wird (S2123: JA), führt die Zentralvorrichtung 3 die Verarbeitung in der Kampagnenmitteilungsphase aus (S2127). Das heißt, die Zentralvorrichtung 3 erzeugt einen Kampagnenmitteilungsphasenbildschirm, sendet ein Anzeigeanweisungssignal zum Geben einer Anweisung zur Anzeige des Kampagnenmitteilungsphasenbildschirms an das mobile Endgerät 6 und veranlasst das mobile Endgerät 6, den Kampagnenmitteilungsphasenbildschirm durch Verbindung mit der Zentralvorrichtung 3 anzuzeigen.
  • Wenn die Herunterladephase bestimmt wird (S2124: JA), führt die Zentralvorrichtung 3 eine Verarbeitung in der Herunterladephase aus (S2128). Das heißt, die Zentralvorrichtung 3 erzeugt einen Herunterladephasenbildschirm, sendet ein Anzeigeanweisungssignal zum Geben einer Anweisung zur Anzeige des Herunterladephasenbildschirms an das mobile Endgerät 6 und veranlasst das mobile Endgerät 6, den Herunterladephasenbildschirm durch Verbindung mit der Zentralvorrichtung 3 anzuzeigen. Wenn der Zentralvorrichtung 3 der Fortschritt mitgeteilt wird, der den Prozentsatz des abgeschlossenen Herunterladens von dem DCM 12 angibt, aktualisiert die Zentralvorrichtung 3 den Herunterladephasenbildschirm.
  • Wenn die Installationsphase bestimmt wird (S2125: JA), führt die Zentralvorrichtung 3 eine Verarbeitung in der Installationsphase aus (S2129). Das heißt, die Zentralvorrichtung 3 erzeugt einen Installationsphasenbildschirm, sendet ein Anzeigeanweisungssignal zum Geben einer Anweisung zur Anzeige des Installationsphasenbildschirms an das mobile Endgerät 6 und veranlasst das mobile Endgerät 6, den Installationsphasenbildschirm durch Verbindung mit der Zentralvorrichtung 3 anzuzeigen. Wenn der Zentralvorrichtung 3 der Fortschritt mitgeteilt wird, der den Prozentsatz der abgeschlossenen Installation von dem DCM 12 angibt, aktualisiert die Zentralvorrichtung 3 den Installationsphasenbildschirm.
  • Wenn die Aktivierungsphase bestimmt wird (S2126: JA), führt die Zentralvorrichtung 3 eine Verarbeitung in der Aktivierungsphase aus (S2130). Das heißt, die Zentralvorrichtung 3 erzeugt einen Aktivierungsphasenbildschirm, sendet ein Anzeigeanweisungssignal zum Geben einer Anweisung zur Anzeige des Aktivierungsphasenbildschirms an das mobile Endgerät 6 und veranlasst das mobile Endgerät 6, den Aktivierungsphasenbildschirm durch Verbindung mit der Zentralvorrichtung 3 anzuzeigen. Wenn der Zentralvorrichtung 3 der Fortschritt, der den Prozentsatz der abgeschlossenen Aktivierung angibt, von dem DCM 12 mitgeteilt wird, aktualisiert die Zentralvorrichtung 3 den Aktivierungsphasenbildschirm. Wenn eine Operation wie die Benutzerzustimmung auf den Bildschirmen ausgeführt wird, die bei S2127 bis S2130 angezeigt werden, sendet die Zentralvorrichtung 3 ein zweites Fortschrittszustandssignal an die Mastervorrichtung 11 (S2131) und beendet die Fortschrittszustandssynchronisationssteuerverarbeitung.
  • Wenn die Verteilungsspezifikationsdaten von dem CGW 13 empfangen werden, initiiert die Fahrzeugbordanzeige 7 die Fortschrittsanzeigeverarbeitung und überwacht Empfangen des Fortschrittszustandssignals, das von dem CGW 13 gesendet wird (S2141). Wenn bestimmt wird, dass das Fortschrittszustandssignal von dem CGW 13 empfangen wurde (S2141: JA), erlaubt die Fahrzeugbordanzeige 7 die Benutzeroperation auf der Fahrzeugbordanzeige 7 (S2142) und bestimmt eine Phase, die durch das Fortschrittszustandssignal spezifiziert ist (S2143 bis S2146).
  • Wenn die Kampagnenmitteilungsphase bestimmt wird (S2143: JA), zeigt die Fahrzeugbordanzeige 7 einen Kampagnenmitteilungsphasenbildschirm unter Verwendung von Text, Inhalten und dergleichen an, die in den Verteilungsspezifikationsdaten beinhaltet sind (S2147). Wenn die Herunterladephase bestimmt wird (S2144: JA), zeigt die Fahrzeugbordanzeige 7 einen Herunterladephasenbildschirm an (S2148). Die Fahrzeugbordanzeige 7 aktualisiert den Herunterladephasenbildschirm, wenn ihr der Fortschritt mitgeteilt wird, der den Prozentsatz des Abschlusses des Herunterladens von dem CGW 13 angibt.
  • Wenn bestimmt wird, dass die Fahrzeugbordanzeige 7 in der Installationsphase ist (S2145: JA), wird der Installationsphasenbildschirm angezeigt (S2149). Wenn der Fahrzeugbordanzeige 7 der Fortschritt, der den Prozentsatz der abgeschlossenen Installation angibt, von dem CGW 13 mitgeteilt wird, aktualisiert die Fahrzeugbordanzeige 7 den Installationsphasenbildschirm. Wenn die Aktivierungsphase bestimmt wird (S2146: JA), zeigt die Fahrzeugbordanzeige 7 einen Aktivierungsphasenbildschirm an (S2150). Wenn der Fahrzeugbordanzeige 7 der Fortschritt, der den Prozentsatz der abgeschlossenen Aktivierung angibt, von dem CGW 13 mitgeteilt wird, aktualisiert die Fahrzeugbordanzeige 7 den Aktivierungsphasenbildschirm.
  • Wie vorstehend beschrieben ist, werden der erste Fortschrittszustand und der zweite Fortschrittszustand zwischen der Mastervorrichtung 11 und der Zentralvorrichtung 3 gesendet und empfangen. Beispielsweise werden sogar in einer Konfiguration, in der das mobile Endgerät 6 für die Zentralvorrichtung 3 zugänglich ist und die Fahrzeugbordanzeige 7 für die Zentralvorrichtung 3 nicht zugänglich ist, der erste Fortschrittszustand und der zweite Fortschrittszustand zwischen der Mastervorrichtung 11 und der Zentralvorrichtung 3 gesendet und empfangen und somit können Fortschrittszustände oder dergleichen des Umschreibens eines Anwendungsprogramms angemessen zwischen mehreren Anzeigeendgeräten synchronisiert werden.
  • (22) Anzeigesteuerinformationssendesteuerverarbeitung und (23) Anzeigesteuerinformationsempfangssteuerverarbeitung
  • Die Anzeigesteuerinformationssendesteuerverarbeitung in der Zentralvorrichtung 3 wird gemäß 181 und 182 beschrieben und die Anzeigesteuerinformationsempfangssteuerverarbeitung in der Mastervorrichtung 11 wird gemäß 183 bis 185 beschrieben.
  • Wie in 181 illustriert ist, beinhaltet die Zentralvorrichtung 3 eine Schreibdatenspeichereinheit 54a (entsprechend einer Aktualisierungsdatenspeichereinheit), eine Anzeigesteuerinformationsspeichereinheit 54b und eine Informationssendeeinheit 54c in der Anzeigesteuerinformationssendesteuereinheit 54. Die Schreibdatenspeichereinheit 54a speichert Schreibdaten für mehrere Umschreibziel-ECUs 19 mit Umschreiben von Anwendungsprogrammen in den mehreren Umschreibziel-ECUs 19 als eine einzelne Kampagne. Die Anzeigesteuerinformationsspeichereinheit 54b speichert Verteilungsspezifikationsdaten einschließlich Anzeigesteuerinformationen. Die Anzeigesteuerinformationen sind Informationen, die für die Anzeige von Informationen bezüglich Umschreibens eines Anwendungsprogramms in der Umschreibziel-ECU 19 erforderlich sind, die auf der Fahrzeugbordanzeige 7 angezeigt werden sollen, und ist ein Anzeigesteuerprogramm oder Eigenschaftsinformationen.
  • Die Anzeigeinformationen sind Daten, die unterschiedliche Bildschirme konfigurieren (ein Kampagnenmitteilungsbildschirm, ein Installationsbildschirm und dergleichen) bezüglich Umschreibens des Anwendungsprogramms. Das Anzeigesteuerprogramm ist ein Programm zum Verwirklichen einer Funktion, die äquivalent zu der eines Webbrowsers ist. Die Eigenschaftsinformationen sind Informationen, die Anzeigezeichen, Anzeigepositionen, Farben und dergleichen angeben. Die Informationssendeeinheit 54c sendet die Schreibdaten, die in der Schreibdatenspeichereinheit 54a gespeichert sind, und die Anzeigesteuerinformationen, die in der Anzeigesteuerinformationsspeichereinheit 54b gespeichert sind, an die Mastervorrichtung 11. Die Informationssendeeinheit 54c sendet die Schreibdaten für die mehreren Umschreibziel-ECUs 19 an die Mastervorrichtung 11 als ein einzelnes Paket. Hierbei können die Anzeigesteuerinformationen Phasenidentifikationsinformationen beinhalten, die eine Phase angeben, in der Informationen angezeigt werden. Beispielsweise geben die Phasenidentifikationsinformationen eine Phase, in der Informationen angezeigt werden, aus der Kampagnenmitteilungsphase, der Herunterladephase, der Installationsphase und der Aktivierungsphase an.
  • Als nächstes erfolgt eine Beschreibung einer Operation, die durch die Anzeigesteuerinformationssendesteuereinheit 54 in der Zentralvorrichtung 3 ausgeführt wird, gemäß 182. Die Zentralvorrichtung 3 führt ein Anzeigesteuerinformationssendesteuerprogramm aus und führt somit die Anzeigesteuerinformationssendesteuerverarbeitung aus.
  • Wenn die Anzeigesteuerinformationssendesteuerverarbeitung initiiert wird, sendet die Zentralvorrichtung 3 die Verteilungsspezifikationsdaten an das CGW 13 mittels des DCM 12 (S2201; entsprechend einer Steuerinformationssendeprozedur) und sendet die Schreibdaten an das CGW 13 mittels des DCM 12 (S2202). Die Zentralvorrichtung 3 sendet die Anzeigeinformationen an das CGW 13 mittels des DCM 12 (S2203; entsprechend einer Anzeigeinformationssendeprozedur) und beendet die Anzeigesteuerinformationssendesteuerverarbeitung. In einem Fall, in dem die Anzeigesteuerinformationen entsprechend jeder der Kampagnenmitteilungsphase, der Herunterladephase, der Installationsphase und der Aktivierungsphase gesendet werden, kann die Zentralvorrichtung 3 die Anzeigesteuerinformationen entsprechend jeder Phase an die Fahrzeugbordanzeige 7 in einer einzelnen Datei senden oder kann die Anzeigesteuerinformationen entsprechend der nächsten Phase an die Fahrzeugbordanzeige 7 jedes Mal senden, wenn die Phase beendet ist. Hier kann der Zeitpunkt, zu dem die Zentralvorrichtung 3 die Verteilungsspezifikationsdaten sendet, so konfiguriert werden, dass sie in Antwort auf eine Anforderung von der Mastervorrichtung 11 gesendet werden.
  • Wie in 183 illustriert ist, beinhaltet das CGW 13 eine Informationsempfangseinheit 89a, eine Umschreibanweisungseinheit 89b und eine Anzeigeanweisungseinheit 89c in der Anzeigesteuerinformationsempfangssteuereinheit 89. Die Informationsempfangseinheit 89a empfängt die Schreibdaten und die Anzeigesteuerinformation von der Zentralvorrichtung 3. Wenn die Schreibdaten von der Zentralvorrichtung 3 durch die Informationsempfangseinheit 89a empfangen werden, weist die Umschreibanweisungseinheit 89b die Umschreibziel-ECU 19 an, die empfangenen Schreibdaten zu schreiben. Die Anzeigeanweisungseinheit 89c weist die Fahrzeugbordanzeige 7 an, Informationen hinsichtlich einer Kampagne unter Verwendung der Anzeigesteuerinformation anzuzeigen, bevor die Umschreibanweisungseinheit 89b die Umschreibziel-ECU 19 anweist, die Schreibdaten zu schreiben. Die Anzeigeanweisungseinheit 89c kann eine Anweisung zum Anzeigen der Informationen hinsichtlich der Kampagne als Verlaufsinformationen, nachdem die gesamten Schreibdaten geschrieben sind, geben.
  • Als nächstes erfolgt eine Beschreibung einer Operation, die durch die Anzeigesteuerinformationsempfangssteuereinheit 89 in dem CGW 13 gemäß 184 ausgeführt wird. Das CGW 13 führt ein Anzeigesteuerinformationsempfangssteuerprogramm aus und führt somit die Anzeigesteuerinformationsempfangssteuerverarbeitung aus. Demzufolge können in einem Fall, in dem das mobile Endgerät 6 und die Fahrzeugbordanzeige 7 als Anzeigeendgeräte bereitgestellt sind, diese Anzeigeaspekte nahe zueinander gebracht werden, und somit kann Benutzerkomfort verbessert werden.
  • Wenn die Anzeigesteuerinformationsempfangssteuerverarbeitung initiiert wird, empfängt das CGW 13 die Verteilungsspezifikationsdaten von der Zentralvorrichtung 3 mittels des DCM 12 (S2301; entsprechend einer Steuerinformationsempfangsprozedur). Die Schreibdaten werden von der Zentralvorrichtung 3 mittels des DCM 12 empfangen (S2302). Das CGW 13 empfängt die Anzeigeinformationen von der Zentralvorrichtung 3 mittels des DCM 12 (S2303; entsprechend einer Anzeigeinformationsempfangsprozedur). Das CGW 13 bestimmt, ob oder nicht die Anzeigesteuerinformationen, die in den Verteilungsspezifikationsdaten von der Zentralvorrichtung 3 beinhaltet sind, zu verwenden sind (S2304). Wenn bestimmt wird, dass die Anzeigesteuerinformationen zu verwenden sind (S2304: JA), weist das CGW 13 die Fahrzeugbordanzeige 7 an, die Anzeigeinformationen unter Verwendung der Anzeigesteuerinformationen anzuzeigen (S2305). Das heißt, das CGW 13 weist die Fahrzeugbordanzeige 7 an, Bildschirme bezüglich Umschreibens eines Anwendungsprogramms unter Verwendung der Anzeigesteuerinformationen anzuzeigen. Die Fahrzeugbordanzeige 7 zeigt die Anzeigeinformationen unter Verwendung der Anzeigesteuerinformationen in Antwort auf die Anweisung von dem CGW 13 an.
  • Wenn bestimmt wird, dass die Anzeigesteuerinformationen nicht zu verwenden sind (S2304: NEIN), weist das CGW 13 die Fahrzeugbordanzeige 7 an, die Anzeigeinformationen unter Verwendung von vorab gespeicherten Inhalten anzuzeigen (S2306). Das heißt, das CGW 13 weist die Fahrzeugbordanzeige 7 an, Bildschirme bezüglich Umschreibens des Anwendungsprogramms unter Verwendung vorab gespeicherter Inhalte anzuzeigen. Die Fahrzeugbordanzeige 7 zeigt die Anzeigeinformationen unter Verwendung der vorab gespeicherten Inhalte in Antwort auf die Anweisung von dem CGW 13 an. In einem Fall, in dem die Anzeigeinformationen entsprechend jeder der Kampagnenmitteilungsphase, der Herunterladephase, der Installationsphase und der Aktivierungsphase angezeigt werden, kann die Fahrzeugbordanzeige 7 kollektiv die Anzeigesteuerinformation entsprechend jeder Phase von der Zentralvorrichtung 3 empfangen oder kann die Anzeigesteuerinformation entsprechend der nächsten Phase von der Zentralvorrichtung 3 jedes Mal, wenn die Phase beendet ist, empfangen.
  • Wie in 185 illustriert ist, wenn die Fahrzeugbordanzeige 7 nicht die Funktion eines Webbrowsers hat und die Verteilungsspezifikationsdaten, die von der Zentralvorrichtung 3 an die Fahrzeugbordanzeige 7 mittels des DCM 12 und des CGW 13 gesendet werden, Eigenschaftsinformationen aber kein Anzeigesteuerprogramm beinhalten, zeigt die Fahrzeugbordanzeige 7 die Anzeigeinformationen auf einem einfachen Bildschirm unter Verwendung von Inhalten und Rahmen an, die vorab gespeichert werden. Die Eigenschaftsinformationen beinhalten Daten wie Text, dessen Anzeigeposition, dessen Größe und dergleichen und sind die gleichen wie die Eigenschaftsinformationen, die in dem Bildschirm verwendet werden, der durch die Zentralvorrichtung 3 erzeugt wird. Das heißt, obwohl das Bildschirmbild, das auf der Fahrzeugbordanzeige 7 angezeigt wird, sich von dem Bildschirmbild, das durch die Zentralvorrichtung 3 erzeugt wird, hinsichtlich Hintergrund, Bitmap und dergleichen unterscheidet, ist ein Anzeigeinhalt äquivalent zu dem der Zentralvorrichtung 3.
  • Wenn die Fahrzeugbordanzeige 7 keine Funktion eines Webbrowsers hat und die Verteilungsspezifikationsdaten, die von der Zentralvorrichtung 3 an die Fahrzeugbordanzeige 7 mittels des DCM 12 und des CGW 13 gesendet werden, das Anzeigesteuerprogramm und die Eigenschaftsinformationen beinhalten, zeigt die Fahrzeugbordanzeige 7 die Anzeigeinformationen auf einem Bildschirm an, der äquivalent zu dem der Zentralvorrichtung 3 ist. Hier sind das Anzeigesteuerprogramm und die Eigenschaftsinformationen, die in den Verteilungsspezifikationsdaten beinhaltet sind, die gleichen wie die, die in dem Bildschirm verwendet werden, der durch die Zentralvorrichtung 3 erzeugt wird.
  • Wenn die Fahrzeugbordanzeige 7 nicht die Funktion eines Webbrowsers hat, aber das Anzeigesteuerprogramm speichert, und die Eigenschaftsinformationen in den Verteilungsspezifikationsdaten beinhaltet sind, die von der Zentralvorrichtung 3 an die Fahrzeugbordanzeige 7 gesendet werden, zeigt die Fahrzeugbordanzeige 7 die Anzeigeinformationen auf einem Bildschirm an, der äquivalent zu dem der Zentralvorrichtung 3 ist. Hierbei unterscheidet sich das Anzeigesteuerprogramm, das in der Fahrzeugbordanzeige 7 gespeichert ist, beispielsweise in der Version von dem Anzeigesteuerprogramm, das in dem Bildschirm verwendet wird, der durch die Zentralvorrichtung 3 erzeugt wird.
  • Wenn die Fahrzeugbordanzeige 7 die Funktion eines Webbrowsers hat, zeigt die Fahrzeugbordanzeige 7 die Anzeigeinformationen auf dem gleichen Bildschirm wie der der Zentralvorrichtung 3 durch Verbindung mit der Zentralvorrichtung an.
  • Wie vorstehend beschrieben ist, führt die Zentralvorrichtung 3 die Anzeigesteuerinformationssendesteuerverarbeitung aus, sendet somit die Anzeigesteuerinformationen an die Fahrzeugbordanzeige 7 und zeigt die Anzeigeinformationen auf der Fahrzeugbordanzeige 7 gemäß den Anzeigesteuerinformationen an. Demzufolge können in einem Fall, in dem das mobile Endgerät 6 und die Fahrzeugbordanzeige 7 als Anzeigeendgeräte vorgesehen sind, diese Anzeigeaspekte nahe zueinander gebracht werden und somit kann der Benutzerkomfort verbessert werden. Das CGW 13 führt die Anzeigesteuerinformationsempfangssteuerverarbeitung aus, empfängt somit die Anzeigesteuerinformationen von der Zentralvorrichtung 3, empfängt die Anzeigeinformationen von der Zentralvorrichtung 3 und zeigt die Anzeigeinformationen gemäß Anzeigesteuerinformationen an.
  • (24) Bildschirmanzeigesteuerverarbeitung für Fortschrittsanzeige
  • Die Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung wird gemäß 186 bis 210 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung in dem CGW 13 aus.
  • Wie in 186 illustriert ist, beinhaltet das CGW 13 eine Modusbestimmungseinheit 90a und eine Bildschirmanzeigeanweisungseinheit 90b in der Fortschrittsanzeigebildschirmanzeigesteuereinheit 90.
  • Die Modusbestimmungseinheit 90a bestimmt, ob oder nicht ein Anpassungsmodus durch die Benutzeranpassungsoperation festgelegt ist. Die Modusbestimmungseinheit 90a bestimmt basierend auf Szeneninformationen, die in den Umschreibspezifikationsdaten beinhaltet sind, ob oder nicht ein externer Modus von außen festgelegt ist. Das heißt, die Modusbestimmungseinheit 90a nimmt Bezug auf die Szeneninformationen, die in den Umschreibspezifikationsdaten beinhaltet sind, die in 8 illustriert sind. Wie in 8 und 187 illustriert ist, werden Szeneninformationen, Ablaufdatumsinformationen und Positionsinformationen in den Umschreibspezifikationsdaten gespeichert. Die Szeneninformationen geben eine Szene (beispielsweise den Typ oder eine Ansicht) der Hauptaktualisierung an und bestimmen ebenso die Bildschirmanzeige der Hauptaktualisierung. Insbesondere gibt es ein Rückruf-Flag, ein Händler-Flag, ein Fabrik-Flag, ein Funktionsaktualisierungsmitteilung-Flag und ein Zwangsausführung-Flag.
  • Das Rückruf-Flag ist ein Flag zum Bestimmen einer Bildschirmanzeige in einem Fall, in dem ein Anwendungsprogramm in Antwort auf einen Rückruf umgeschrieben wird. Der Rückruf zeigt die Implementierung von Maßnahmen wie Reparatur, Austausch oder Wiederherstellung ohne Gebühr aufgrund der Bestimmungen der Vorschriften oder nach Ermessen eines Herstellers oder Verkäufers in einem Fall, in dem ein Mangel an einem Produkt aufgrund eines Konstruktions- oder Herstellungsfehlers oder dergleichen festgestellt wird.
  • Das Händler-Flag-Flag ist ein Flag zum Bestimmen einer Bildschirmanzeige in einem Fall, in dem ein Anwendungsprogramm bei einem Händler umgeschrieben wird. Das Fabrik-Flag ist ein Flag zum Bestimmen einer Bildschirmanzeige in einem Fall, in dem ein Anwendungsprogramm in einer Fabrik umgeschrieben wird. Das Funktionsaktualisierungsmitteilung-Flag ist ein Flag zum Bestimmen einer Bildschirmanzeige in einem Fall, in dem das Anwendungsprogramm in Antwort auf eine Funktionsaktualisierungsmitteilung umgeschrieben wird. Die Funktionsaktualisierungsmitteilung wird ausgeführt, um eine spezifische Funktion zu aktualisieren. Beispielsweise ist das Funktionsaktualisierungsmitteilung-Flag ein Flag zum Bestimmen einer Bildschirmanzeige in der Programmaktualisierung zum Hinzufügen einer neuen Funktion gegen eine Gebühr (oder kostenlos).
  • Das Zwangsausführung-Flag ist ein Flag zum Bestimmen einer Bildschirmanzeige in einem Fall, in dem das Anwendungsprogramm in Antwort auf erzwungene Ausführung umgeschrieben wird. Die erzwungene Anweisung gibt an, dass das Anwendungsprogramm gezwungen wird, umgeschrieben zu werden, da Kampagnenmitteilungen eine vorbestimmte Anzahl von Malen ausgeführt werden, aber das Anwendungsprogramm nicht umgeschrieben wird. Beispielsweise ist das Zwangsausführung-Flag ein Flag zum Bestimmen einer Bildschirmanzeige in einem Fall, in dem ein Programm zwangsweise aktualisiert wird.
  • Die Flags, die die Szeneninformationen angeben, sind alle auf 0 gesetzt (Flag ist nicht gesetzt), in einem Fall, in dem es kein relevantes Element gibt, und eines davon ist auf 1 gesetzt (Flag ist gesetzt), in einem Fall, in dem es ein relevantes Element gibt. Beispielsweise bestimmt die Modusbestimmungseinheit 90a, dass ein Rückrufmodus festgelegt ist, wenn das Händler-Flag gesetzt ist, bestimmt, dass ein Händlermodus festgelegt ist, wenn das Rückruf-Flag gesetzt ist, bestimmt, dass ein Fabrikmodus festgelegt ist, wenn das Fabrik-Flag gesetzt ist, bestimmt, dass ein Funktionsaktualisierungsmodus festgelegt ist, wenn das Funktionsaktualisierungsmitteilung-Flag gesetzt ist, und bestimmt, dass ein Zwangsausführungsmodus festgelegt ist, wenn das Zwangsausführung-Flag gesetzt ist.
  • Die Ablaufdatumsinformationen sind Informationen, die das Ablaufdatum angeben, und sind Informationen, die als Kriterium zum Bestimmen, ob oder nicht Umschreiben des Anwendungsprogramms auszuführen ist, dienen. Das CGW 13 führt Umschreiben des Anwendungsprogramms aus, wenn die gegenwärtige Zeit innerhalb des Ablaufdatums ist, das durch die Ablaufdatumsinformationen angegeben wird, und führt Umschreiben des Anwendungsprogramms nicht aus, wenn die gegenwärtige Zeit das Ablaufdatum überschreitet, das durch die Ablaufdatumsinformationen angegeben wird. Das heißt, nachdem ein Verteilungspaket heruntergeladen wird, nimmt das CGW 13 Bezug auf die Ablaufdatumsinformationen, wenn ein Programm installiert wird, und führt Installation des Programms nicht aus und verwirft das Verteilungspaket, wenn die gegenwärtige Zeit das Ablaufdatum überschreitet.
  • Die Positionsinformationen sind Informationen, die eine Position angeben, sind Informationen, die als ein Kriterium zum Bestimmen, ob oder nicht Umschreiben des Anwendungsprogramms auszuführen ist, dienen, und beinhalten einen zulässigen Bereich und einen verbotenen Bereich. In einem Fall, in dem der zulässige Bereich als die Positionsinformationen bestimmt ist, führt das CGW 13 Umschreiben des Anwendungsprogramms aus, wenn sich die gegenwärtige Position des Fahrzeugs innerhalb des durch die Positionsinformationen angegebenen zulässigen Bereichs befindet, und führt kein Umschreiben des Anwendungsprogramms aus, wenn die gegenwärtige Position des Fahrzeugs außerhalb des durch die Positionsinformationen angegebenen zulässigen Bereichs liegt. In einem Fall, in dem der verbotene Bereich als die Positionsinformationen bestimmt ist, führt das CGW 13 Umschreiben des Anwendungsprogramms aus, wenn sich die gegenwärtige Position des Fahrzeugs außerhalb des durch die Positionsinformationen angegebenen verbotenen Bereichs befindet, und führt kein Umschreiben des Anwendungsprogramms aus, wenn die gegenwärtige Position des Fahrzeugs innerhalb des durch die Positionsinformationen angegebenen verbotenen Bereichs liegt. Das heißt, nachdem das Verteilungspaket heruntergeladen wurde, nimmt das CGW 13 bei der Installation eines Programms auf die Positionsinformationen Bezug und führt die Installation des Programms nicht aus, wenn sich die gegenwärtige Position außerhalb des zulässigen Bereichs befindet, und verzögert die Installation, bis das Fahrzeug in den zulässigen Bereich eintritt.
  • Die Bildschirmanzeigeanweisungseinheit 90b weist das Anzeigeendgerät 5 an, einen Bildschirm entsprechend Umschreibens des Anwendungsprogramms anzuzeigen. Die Bildschirmanzeigeanweisungseinheit 90b weist das Anzeigeendgerät 5 an, den Bildschirm anzuzeigen, indem sie eine Anweisung bezüglich dessen gibt, ob oder nicht der Bildschirm entsprechend einer Umschreibphase des Anwendungsprogramms angezeigt wird, eine Anweisung bezüglich dessen gibt, ob oder nicht Elemente des Bildschirms angezeigt werden, und eine Anweisung zum Ändern des Anzeigeinhalts der Elemente des Bildschirms gibt.
  • Die Benutzeranpassungsoperation wird beschrieben. Hierbei wird ein Bildschirm, der auf der Fahrzeugbordanzeige 7 angezeigt wird, beschrieben, aber dasselbe gilt für einen Bildschirm, der auf dem mobilen Endgerät 6 angezeigt wird. In einem später beschriebenen Bildschirm kann ein Layout der Anzahl, Anordnung und dergleichen von Tasten anders sein als das beispielhafte Layout. Wenn der Benutzer eine Operation zum Anzeigen eines Menübildschirms auf der Fahrzeugbordanzeige 7 ausführt, zeigt das CGW 13 einen Menüauswahlbildschirm 511 auf der Fahrzeugbordanzeige 7 an, wie in 188 illustriert ist. In dem Menüauswahlbildschirm 511 zeigt das CGW 13 eine „Softwareaktualisierung“-Taste 511a, eine „Aktualisierungsergebnisprüfung“-Taste 511b, eine „Softwareversionsliste“-Taste 511c, eine „Aktualisierungsverlauf“-Taste 511d, eine „Benutzerinformationsregistrierung“-Taste 511e und wartet auf die Benutzeroperation.
  • Wenn der Benutzer die „Benutzerinformationsregistrierung“-Taste 511e in diesem Zustand operiert, zeigt das CGW 13 einen Benutzerauswahlbildschirm 512 auf der Fahrzeugbordanzeige 7 an, wie in 189 illustriert ist. In dem Benutzerauswahlbildschirm 512 zeigt das CGW 13 „Benutzer“-Tasten 512a bis 512c an und wartet auf die Benutzeroperation.
  • Wenn der Benutzer die „Benutzer“-Taste 512a in diesem Zustand operiert, zeigt das CGW 13 einen Benutzerregistrierungsbildschirm 513 auf der Fahrzeugbordanzeige 7 an, wie in 190 illustriert ist. In dem Benutzerregistrierungsbildschirm 513 zeigt das CGW 13 Eingabefelder für eine Mailadresse und VIN-Informationen (Individuelle Fahrzeugidentifikationsinformationen) zur Registrierung personenbezogener Informationen an, zeigt Eingabefelder für eine Kreditkartennummer und das Ablaufdatum für die Registrierung von Buchhaltungsinformationen an, zeigt die „EIN/AUS“-Tasten 513a bis 513d zur Kampagnenmitteilung, Herunterladen, Installieren und Aktivieren in Bezug auf Festlegungen zum Umschreiben eines Anwendungsprogramms an, zeigt eine „Detailinformationen“-Taste 513e an und wartet auf die Benutzeroperation.
  • Die „EIN/AUS“-Tasten 513a bis 513d für eine Kampagnenmitteilung, Herunterladen, Installation und Aktivierung sind Tasten zum Auswählen, ob oder nicht Bildschirme für eine Kampagnenmitteilung, Herunterladen, Installation und Aktivierung anzuzeigen sind. Insbesondere, wenn eine Kampagnenmitteilung empfangen wird, Herunterladen initiiert wird, Installation initiiert wird und Aktivierung initiiert wird, sind die Tasten Tasten, die dem Benutzer ermöglichen, vorab auswählen, ob oder nicht die Inhalte zum Anfordern der Benutzerzustimmung anzuzeigen sind. Die „Detailinformationen“-Taste 513e ist eine Taste zur Registrierung der vorstehend beschriebenen Ablaufdatumsinformationen und Positionsinformationen. Die Informationen, die durch den Benutzer festgelegt sind, werden an die Zentralvorrichtung 3 mittels des DCM 12 gesendet. In einem Fall, in dem der Benutzer die Informationsstücke auf dem mobilen Endgerät 6 festlegt, erlangt das CGW 13 die Informationsstücke von der Zentralvorrichtung 3 mittels des DCM 12.
  • Der Benutzer kann die entsprechenden „EIN/AUS“-Tasten 513a bis 513d auf AUS in einem Fall festlegen, in dem der Benutzer die Bildschirme bezüglich Kampagnenmitteilung, Herunterladen, Installation und Aktivierung als störend empfindet. Die Tasten werden auf AUS festgelegt und die Anzeige der Inhalte zum Anfordern der Benutzerzustimmung werden weggelassen. Beispielsweise in einem Fall, in dem sich der Benutzer bezüglich der Bildschirmanzeige einer Kampagnenmitteilung oder Aktivierung nicht gestört fühlt, aber sich bezüglich der Bildschirmanzeige des Herunterladens oder Installation gestört fühlt, kann der Benutzer die Kampagnenmitteilung mit der „EIN/AUS“-Taste 513a auf EIN festlegen, das Herunterladen mit der „EIN/AUS“-Taste 513b auf AUS festlegen, die Installation mit der „EIN/AUS“-Taste 513c auf AUS festlegen und die Aktivierung mit der „EIN/AUS“-Taste 513d auf EIN festlegen.
  • In diesem Fall, beispielsweise, wenn die Kampagnenmitteilung auf EIN festgelegt ist, das Herunterladen auf AUS festgelegt ist, die Installation auf AUS festgelegt ist und die Aktivierung auf EIN festgelegt ist, zeigt das Anzeigeendgerät 5 einen Kampagnenmitteilungsbildschirm an, zeigt keinen Herunterladegenehmigungsbildschirm und keinen Herunterladen-in-Bearbeitung-Bildschirm an, zeigt keinen Installationsgenehmigungsbildschirm und keinen Installation-in-Bearbeitung-Bildschirm an und zeigt einen Aktivierungsbildschirm gemäß einer Umschreibphase des Anwendungsprogramms an. Das heißt, in den Kampagnenmitteilungs-, Herunterlade-, Installations- und Aktivierungsphasen, wenn eine entsprechende Phase auf EIN gesetzt ist, führt der Benutzer eine Bildschirmanzeige der auf EIN gesetzten Phase durch, und wenn eine entsprechende Phase auf AUS gesetzt ist, führt der Benutzer keine Bildschirmanzeige der Phase aus, die auf AUS gesetzt ist. Demnach kann Bildschirmanzeige angepasst werden. Das EIN-/AUS-Festlegen der Bildschirmanzeige kann individuell für jede Phase festgelegt werden oder alle Phasen können gleichzeitig gemeinsam festgelegt werden.
  • In einem Fall, in dem der Benutzer das Ablaufdatum, den zulässigen Bereich und den verbotenen Bereich registrieren will, kann der Benutzer das Ablaufdatum, den zulässigen Bereich und den verbotenen Bereich durch Operieren der „Detailinformationen“-Taste 513e festlegen. Der Benutzer kann das Ablaufdatum zum Erlauben des Umschreibens des Anwendungsprogramms als die Ablaufdatumsinformationen anpassen und kann den zulässigen Bereich zum Erlauben des Umschreibens des Anwendungsprogramms als die Positionsinformationen oder den verbotenen Bereich zum Verbieten des Umschreibens anpassen.
  • Als nächstes wird eine Operation der vorstehend beschriebenen Konfiguration gemäß 191 bis 214 beschrieben. Das CGW 13 führt ein Fortschrittsanzeigebildschirmanzeigesteuerprogramm aus und führt somit die Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung aus.
  • Wenn die Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung initiiert wird, bestimmt das CGW 13, ob oder nicht die Ablaufdatumsinformationen in den Umschreibspezifikationsdaten gespeichert sind, und, ob oder nicht die Ablaufdatumsinformationen in den Anpassungsinformationen festgelegt sind (S2401). Wenn bestimmt wird, dass die Ablaufdatumsinformationen in den Umschreibspezifikationsdaten gespeichert sind (S2401: JA), bestimmt das CGW 13, ob die gegenwärtige Zeit die Ablaufdatumsinformationen erfüllt (S2402). In einem Fall, in dem die Ablaufdatumsinformationen, die in den Umschreibspezifikationsdaten gespeichert sind, und die Ablaufdatumsinformationen, die als die Anpassungsinformationen festgelegt sind, vorhanden sind, bestimmt das CGW 13, ob beide erfüllt sind. Wenn bestimmt wird, dass die gegenwärtige Zeit das Ablaufdatum überschreitet, das durch die Ablaufdatumsinformationen angegeben ist, und die gegenwärtige Zeit nicht die Ablaufdatumsinformationen erfüllt (S2402: NEIN), beendet das CGW 13 die Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung.
  • Wenn bestimmt wird, dass die gegenwärtige Zeit innerhalb des Ablaufdatums ist, das durch die Ablaufdatumsinformationen angegeben ist, und die gegenwärtige Zeit die Ablaufdatumsinformationen erfüllt (S2402: JA), bestimmt das CGW 13, ob oder nicht die Szeneninformationen in den Umschreibspezifikationsdaten gespeichert sind (S2403). Wenn bestimmt wird, dass die Szeneninformationen in den Umschreibspezifikationsdaten gespeichert sind (S2403: JA), bestimmt das CGW 13, dass der externe Modus festgelegt ist, fährt mit der Anzeigeanweisungsverarbeitung gemäß dem in den Szeneninformationen festgelegten Inhalt fort (S2404) und weist die Fahrzeugbordanzeige 7 an, Bildschirmanzeige entsprechend Umschreibens des Anwendungsprogramms gemäß einem Modus eines gesetzten Flags auszuführen. Beispielsweise, wenn das Rückruf-Flag gesetzt ist, weist das CGW 13 die Fahrzeugbordanzeige 7 an, Bildschirmanzeige gemäß dem Rückrufmodus während Umschreibens des Anwendungsprogramms auszuführen. Beispielsweise, wenn das Händler-Flag gesetzt ist, weist das CGW 13 die Fahrzeugbordanzeige 7 an, Bildschirmanzeige gemäß dem Händlermodus während Umschreibens des Anwendungsprogramms auszuführen.
  • Wenn bestimmt wird, dass die Szeneninformationen nicht in den Umschreibspezifikationsdaten gespeichert sind (S2403: NEIN), bestimmt das CGW 13, ob oder nicht der Anpassungsmodus durch die Benutzeranpassungsoperation festgelegt ist (S2405; entsprechend einer Anpassungsmodusbestimmungsprozedur). Wenn bestimmt wird, dass der Anpassungsmodus festgelegt ist, (S2405: JA), fährt das CGW 13 mit einer Anzeigeanweisungsverarbeitung gemäß dem in der Anpassungsoperation festgelegten Inhalt fort (S2406; entsprechend einer Bildschirmanzeigeanweisungsprozedur) und weist die Fahrzeugbordanzeige 7 an, Bildschirmanzeige entsprechend Umschreibens des Anwendungsprogramms gemäß dem Anpassungsmodus auszuführen.
  • Wenn bestimmt wird, dass der Anpassungsmodus nicht festgelegt ist, (S2405: NEIN), fährt das CGW 13 mit einer Anzeigeanweisungsverarbeitung gemäß einem in der Anfangseinstellung festgelegten Inhalt fort (S2407; entsprechend einer Bildschirmanzeigeanweisungsprozedur) und weist die Fahrzeugbordanzeige 7 an, Bildschirmanzeige entsprechend Umschreibens des Anwendungsprogramms gemäß dem Anpassungsmodus auszuführen. Das heißt, das CGW 13 wendet bevorzugt die Szeneninformationen an, die in den Umschreibspezifikationsdaten gespeichert sind, und wendet den Anpassungsmodus an, wenn die Szeneninformationen nicht gespeichert sind. Wenn weder die Szeneninformationen noch der Anpassungsmodus vorliegen, wird die Anfangseinstellung angewendet. Hier ist die Anfangseinstellung ein voreingestellter Wert und die Anfangseinstellung ist eine Einstellung zum Einschalten aller Einstellungen von beispielsweise einer Kampagnenmitteilung, einem Download, einer Installation und einer Aktivierung.
  • Als nächstes werden die Bildschirmanzeigeanweisungsverarbeitungen bei S2404, S2406 und S2407 gemäß 192 beschrieben. Hierbei ist die Bildschirmanzeigeanweisungsverarbeitung in der Installationsphase beispielhaft dargestellt, aber das gleiche gilt für die anderen Phasen. Wenn das CGW 13 mit der Anzeigeanweisungsverarbeitung fortfährt, legt das CGW 13 fest, ob oder nicht der Bildschirm anzuzeigen ist (S2411), legt fest, ob oder nicht Elemente eines Bildschirms anzuzeigen sind (S2412), und gibt eine Anweisung zum Ändern von Anzeigeinhalten der Elemente des Bildschirms (S2413). Das CGW 13 sendet eine Bildschirmanzeigeanforderungsmitteilung an das DCM 12, veranlasst das DCM 12, eine Bildschirmanzeigeanforderung an die Fahrzeugbordanzeige 7 zu senden (S2414), und wartet auf Empfang von Operationsergebnisinformationen von dem DCM 12 (S2415). Die Operationsergebnisinformationen sind Informationen, die eine Taste angeben, die durch den Benutzer operiert wird. Das CGW 13 kann direkt die Bildschirmanzeigeanforderungsmitteilung an die Fahrzeugbordanzeige 7 senden und die Operationsergebnisinformationen empfangen.
  • Wenn bestimmt wird, dass die Operationsergebnisinformationen von dem DCM 12 durch Senden eines Operationsergebnisses von der Fahrzeugbordanzeige 7 an das DCM 12 empfangen wurden (S2415: JA), überprüft das CGW 13 eine Genehmigung basierend auf den Operationsergebnisinformationen und bestimmt, ob oder nicht der Benutzer Umschreiben des Anwendungsprogramms genehmigt hat (S2416).
  • Wenn bestimmt wird, dass der Benutzer das Umschreiben des Anwendungsprogramms genehmigt hat (S2416: JA), bestimmt das CGW 13, ob oder nicht die Umschreibspezifikationsdaten die Positionsinformationen speichern (S2417). Wenn bestimmt wird, dass die Positionsinformationen in den Umschreibspezifikationsdaten gespeichert sind (S2417: JA), bestimmt das CGW 13, ob oder nicht die gegenwärtige Position des Fahrzeugs die Positionsinformationen erfüllt (S2418). S2417 und S2418 können in Phasen außer der Installationsphase weggelassen werden. In einem Fall, in dem die Positionsinformationen der zulässige Bereich sind, bestimmt das CGW 13, wenn sich die gegenwärtige Position des Fahrzeugs innerhalb des zulässigen Bereichs befindet, dass die gegenwärtige Position des Fahrzeugs die Positionsinformationen erfüllt (S2418: JA), und setzt das Umschreiben des Anwendungsprogramms fort (S2419).
  • Andererseits, wenn die gegenwärtige Position des Fahrzeugs außerhalb des zulässigen Bereichs ist, bestimmt das CGW 13, dass die gegenwärtige Position des Fahrzeugs nicht die Positionsinformationen erfüllt, setzt das Umschreiben des Anwendungsprogramms nicht fort und stoppt es und beendet die Bildschirmanzeigeanweisungsverarbeitung. In einem Fall, in dem die Positionsinformationen der verbotene Bereich sind, wenn die gegenwärtige Position des Fahrzeugs außerhalb des verbotenen Bereichs ist, bestimmt das CGW 13, dass die gegenwärtige Position des Fahrzeugs die Positionsinformationen erfüllt (S2418: JA), setzt das Umschreiben des Anwendungsprogramms fort (S2419) und beendet die Bildschirmanzeigeanweisungsverarbeitung. Wenn die gegenwärtige Position des Fahrzeugs innerhalb des verbotenen Bereichs ist, bestimmt das CGW 13, dass die gegenwärtige Position des Fahrzeugs nicht die Positionsinformationen erfüllt, setzt das Umschreiben des Anwendungsprogramms nicht fort und stoppt es und beendet die Anzeigeanweisungsverarbeitung.
  • Die Bildschirmanzeigeanforderungsmitteilung, die von dem CGW 13 an das DCM 12 gesendet wird, und die Operationsergebnisinformationen, die von dem DCM 12 an das CGW 13 gesendet werden, werden beschrieben. Wie in 193 illustriert ist, beinhaltet die Bildschirmanzeigeanforderungsmitteilung, die von dem CGW 13 an das DCM 12 gesendet wird, eine Phasen-ID, eine Szenen-ID und Bildschirmkonfigurationsinformationen. Die Phasen-ID ist eine ID zum Identifizieren jeder Phase wie Kampagnenmitteilung, Herunterladen, Installation und Aktivierung. Die Szenen-ID ist eine ID zum Identifizieren der Szeneninformationen, die in 187 illustriert sind. Die Operationsergebnisinformationen, die von dem DCM 12 an das CGW 13 gesendet werden, beinhalten Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, ein Operationsergebnis und zusätzliche Informationen. Das CGW 13 vergleicht die Phasen-ID und Szenen-ID, die in der Bildschirmanzeigeanforderungsmitteilung gespeichert ist, mit der Phasen-ID und Szenen-ID, die in den Operationsergebnisinformationen gespeichert sind, und überprüft Abweichung oder Zuteilung.
  • Das heißt, wenn die Phasen-ID und die Szenen-ID, die in der Bildschirmanzeigeanforderungsmitteilung gespeichert sind, die an das DCM 12 gesendet wird, mit der Phasen-ID und der Szenen-ID übereinstimmen, die in den Operationsergebnisinformationen gespeichert ist, die von dem DCM 12 empfangen werden, bestimmt das CGW 13, dass die Bildschirmanzeigeanforderungsmitteilung und die Operationsergebnisinformationen konsistent zu einander sind, weichen die Bildschirmanzeigeanforderungsmitteilung und die Operationsergebnisinformationen nicht voneinander ab und somit muss Zuteilung nicht ausgeführt werden. Andererseits, wenn die Phasen-ID und die Szenen-ID, die in der Bildschirmanzeigeanforderungsmitteilung gespeichert sind, die an das DCM 12 gesendet wird, nicht mit der Phasen-ID und der Szenen-ID übereinstimmen, die in den Operationsergebnisinformationen gespeichert ist, die von dem DCM 12 empfangen werden, bestimmt das CGW 13, dass die Bildschirmanzeigeanforderungsmitteilung und die Operationsergebnisinformationen konsistent zu einander sind, die Bildschirmanzeigeanforderungsmitteilung und die Operationsergebnisinformationen voneinander abweichen und somit Zuteilung ausgeführt werden muss. Das CGW 13 teilt zu, ob oder nicht eine Verarbeitung gemäß den Operationsergebnisinformationen, die von dem DCM 12 empfangen werden, auszuführen ist.
  • Die Bildschirmkonfigurationsinformationen sind Informationen, die Konfigurationselemente eines Bildschirms angeben, und, wie in 194 illustriert ist, gibt es beispielsweise in dem Aktivierungsgenehmigungsbildschirm 514 sechs Elemente wie eine „Kampagnen-ID ...“-Taste 514a, eine „Name A ... aktualisieren“-Taste 514b, eine „Name B ... aktualisieren“-Taste 514c, eine „Details überprüfen“-Taste 514d, eine „Zurück“-Taste 514e und eine „OK“-Taste 514f. In diesem Fall, wie in 195 illustriert ist, wenn alle der sechs Elemente der Bildschirmkonfigurationsinformationen auf „Anzeige“ festgelegt sind, wie in 194 illustriert ist, werden alle der sechs Elemente auf dem Aktivierungsgenehmigungsbildschirm 514 angezeigt. Das heißt, der Benutzer kann irgendeine der „Kampagnen-ID ...“-Taste 514a, der „Name A ... aktualisieren“-Taste 514b, der „Name B ... aktualisieren“-Taste 514c, der „Details überprüfen“-Taste 514d, der „Zurück“-Taste 514e und der „OK“-Taste 514f operieren.
  • Andererseits, wie in 196 illustriert ist, wenn von den sechs Elementen von Bildschirmkonfigurationsinformationen die „Kampagnen-ID ...“-Taste 514a, die „Name A ... aktualisieren“-Taste 514b, die „Name B ... aktualisieren“-Taste 514c, die „Detailinformationen“-Taste 514d und die „OK“-Taste 514f auf „Anzeige“ festgelegt sind und die „Zurück“-Taste 514e auf „Nicht-Anzeige“ festgelegt ist, werden die „Kampagnen-ID ...“-Taste 514a, die „Name A ... aktualisieren“-Taste 514b, die „Name B ... aktualisieren“-Taste 514c, die „Detailinformationen“-Taste 514d und die „OK“-Taste 514f angezeigt und die „Zurück“-Taste 514e wird nicht auf dem Aktivierungsgenehmigungsbildschirm 514 angezeigt, wie in 197 illustriert ist. Das heißt, der Benutzer kann irgendeine der „Kampagnen-ID ...“-Taste 514a, der „Name A ... aktualisieren“-Taste 514b, der „Name B ... aktualisieren“-Taste 514c, der „Details überprüfen“-Taste 514d, der „OK“-Taste 514f operieren, aber die „Zurück“-Taste 514e wird nicht angezeigt und die „Zurück“-Taste 514e ist nicht operierbar. Beispielsweise kann hinsichtlich Umschreibens eines Anwendungsprogramms mit einem relativ hohen Grad Wichtigkeit oder Dringlichkeit aufgrund eines Rückrufs oder dergleichen, da es nicht wünschenswert ist, Aktivierung abzulehnen, festgelegt werden, die Aktivierung nicht abzulehnen, indem die „Zurück“-Taste 514 wie vorstehend beschrieben inoperabel ist. In diesem Fall, bestätigt der Benutzer die Aktivierung durch Operieren der „OK“-Taste 514f.
  • Es wird ein Nachrichtenrahmenwerk hinsichtlich Bildschirmanzeige und einer Benutzeroperation beschrieben, die zwischen dem CGW 13, dem DCM 12, der Fahrzeugbordanzeige 7, der Zentralvorrichtung 3 und einer Instrumentenvorrichtung 45 gesendet und empfangen wird. Wie in 198 illustriert ist, sind das CGW 13 und das DCM 12 miteinander mittels CAN oder Ethernet verbunden und das DCM 12 und die Fahrzeugbordanzeige 7 sind miteinander mittels USB verbunden.
  • Das CGW 13 führt Datenkommunikation mit der Zentralvorrichtung 3 mittels des DCM 12 aus. Daten, die von dem CGW 13 durch Diagnosekommunikation gesendet werden, werden Protokollumwandlung durch das DCM 12 unterzogen und von dem DCM 12 durch die Zentralvorrichtung 3 durch HTTP-Kommunikation empfangen. Beispielsweise sendet das CGW 13 Daten, die den gegenwärtigen Fortschrittszustand wie die gegenwärtige Phase oder ein Fortschrittsverhältnis angeben, an die Zentralvorrichtung 3 mittels des DCM 12. Daten, die von der Zentralvorrichtung 3 durch HTTP-Kommunikation gesendet werden, werden Protokollumwandlung durch das DCM 12 unterzogen und von dem DCM 12 durch das CGW 13 durch Diagnosekommunikation empfangen.
  • Das CGW 13 führt Datenkommunikation mit der Fahrzeugbordanzeige 7 mittels des DCM 12 aus. Die Daten, die von dem CGW 13 durch die Diagnosekommunikation gesendet werden, werden Protokollumwandlung durch das DCM 12 unterzogen und von dem DCM 12 durch die Fahrzeugbordanzeige 7 durch USB-Kommunikation empfangen. Daten, die von der Fahrzeugbordanzeige 7 durch die USB-Kommunikation gesendet werden, werden Protokollumwandlung durch das DCM 12 unterzogen und von dem DCM 12 durch das CGW 13 durch die Diagnosekommunikation empfangen. Beispielsweise erlangt das CGW 13 Informationen hinsichtlich der Benutzeroperation auf der Fahrzeugbordanzeige 7 mittels des DCM 12. Wie vorstehend beschrieben ist, ist in dem Fahrzeugprogrammumschreibsystem 1 das DCM 12 mit der Protokollumwandlungsfunktion versehen und das mobile Endgerät 6 und die Fahrzeugbordanzeige 7 sind konfiguriert, um durch das CGW 13 gleich zu behandelt werden. Informationen hinsichtlich der Benutzeroperation werden in dem CGW 13 aggregiert und somit teilt das CGW 13 Benutzeroperationsergebnisse von mehreren Operationsendgeräten zu, um den gegenwärtigen Fortschrittszustand zu verwalten.
  • Es wird eine Sequenz eines Nachrichtenrahmens beschrieben, der zwischen dem CGW 13, dem DCM 12 und der Fahrzeugbordanzeige 7 gesendet und empfangen wird. Wie in 199 bis 206 illustriert ist, ist in der Bildschirmanzeigeanforderungsmitteilung, die von dem CGW 13 an das DCM 12 gesendet wird, und den Operationsergebnisinformationen, die von dem CGW 13 an das DCM 12 gesendet werden, die Phasen-ID auf „03“ in der Kampagnenmitteilung festgelegt, die Phasen-ID auf „04“ in dem Herunterladen festgelegt, die Phasen-ID auf „05“ in der Installation festgelegt und die Phasen-ID auf „06“ in der Aktivierung festgelegt. In jeder Phase der Kampagnenmitteilung, des Herunterladens, der Installation und der Aktivierung ist die Reihenfolge des Sendens und Empfangens von Nachrichtenrahmen dieselbe und die Phasen-IDs unterscheiden sich so, dass die Phasen voneinander unterschieden werden.
  • 199 zeigt beispielhaft die Kampagnenmitteilungsphase. Das CGW 13 verwaltet den gegenwärtigen Fortschrittszustand, spezifiziert die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformationen und sendet die Bildschirmanzeigeanforderungsmitteilung an das DCM 12. Wenn die Bildschirmanzeigeanforderungsmitteilung von dem CGW 13 empfangen wird, sendet das DCM 12 eine Bildschirmanzeigeanforderung an die Fahrzeugbordanzeige 7. Wenn die Bildschirmanzeigeanforderung von dem DCM 12 empfangen wird, zeigt die Fahrzeugbordanzeige 7 einen Kampagnenmitteilungsbildschirm an und, wenn der Benutzer eine Operation zum Überprüfen der Kampagnenmitteilung ausführt, sendet sie das Operationsergebnis an das DCM 12. Wenn das Operationsergebnis von der Fahrzeugbordanzeige 7 empfangen wird, sendet das DCM 12 Operationsergebnisinformationen an das CGW 13. Die Operationsergebnisinformationen, die durch das CGW 13 empfangen werden, beinhalten Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, das Operationsergebnis und zusätzliche Informationen. Das CGW 13 aktualisiert den gegenwärtigen Fortschrittszustand basierend auf den Operationsergebnisinformationen, die von dem DCM 12 empfangen werden. Hierbei aktualisiert das CGW 13 den gegenwärtigen Fortschrittszustand in die Herunterladephase, wenn Zustimmungsoperationen in der Kampagnenmitteilungsphase ausgeführt werden.
  • 200 stellt beispielhaft die Herunterladephase dar. Das CGW 13 verwaltet den gegenwärtigen Fortschrittszustand, spezifiziert die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformationen und sendet die Bildschirmanzeigeanforderungsmitteilung an das DCM 12. Wenn die Bildschirmanzeigeanforderungsmitteilung von dem CGW 13 empfangen wird, sendet das DCM 12 eine Bildschirmanzeigeanforderung an die Fahrzeugbordanzeige 7. Wenn eine Bildschirmanzeigeanforderung von dem DCM 12 empfangen wird, zeigt die Fahrzeugbordanzeige 7 einen Herunterladegenehmigungsbildschirm an und, wenn der Benutzer eine Herunterladegenehmigungsoperation ausführt, sendet sie das Operationsergebnis an das DCM 12. Wenn das Operationsergebnis von der Fahrzeugbordanzeige 7 empfangen wird, sendet das DCM 12 Operationsergebnisinformationen an das CGW 13. Die Operationsergebnisinformationen, die durch das CGW 13 empfangen werden, beinhalten Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, das Operationsergebnis und zusätzliche Informationen. Das CGW 13 aktualisiert den gegenwärtigen Fortschrittszustand basierend auf den Operationsergebnisinformationen, die von dem DCM 12 empfangen werden. Hierbei aktualisiert das CGW 13 den gegenwärtigen Fortschrittszustand in die Installationsphase, wenn es eine Zustimmungsoperation während der Herunterladephase gibt.
  • 201 zeigt beispielhaft die Installationsphase. Das CGW 13 verwaltet den gegenwärtigen Fortschrittszustand, spezifiziert die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformationen und sendet die Bildschirmanzeigeanforderungsmitteilung an das DCM 12. Wenn die Bildschirmanzeigeanforderungsmitteilung von dem CGW 13 empfangen wird, sendet das DCM 12 eine Bildschirmanzeigeanforderung an die Fahrzeugbordanzeige 7. Wenn die Bildschirmanzeigeanforderung von dem DCM 12 empfangen wird, zeigt die Fahrzeugbordanzeige 7 einen Installationsgenehmigungsbildschirm an und, wenn der Benutzer eine Installationsgenehmigungsoperation ausführt, sendet sie das Operationsergebnis an das DCM 12. Wenn das Operationsergebnis von der Fahrzeugbordanzeige 7 empfangen wird, sendet das DCM 12 Operationsergebnisinformationen an das CGW 13. Die Operationsergebnisinformationen, die durch das CGW 13 empfangen werden, beinhalten Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, das Operationsergebnis und zusätzliche Informationen. Das CGW 13 aktualisiert den gegenwärtigen Fortschrittszustand basierend auf den Operationsergebnisinformationen, die von dem DCM 12 empfangen werden. Hierbei aktualisiert das CGW 13 den gegenwärtigen Fortschrittszustand in die Aktivierungsphase, wenn es eine Zustimmungsoperation während der Installationsphase gibt.
  • 202 zeigt beispielhaft die Aktivierungsphase an. Das CGW 13 verwaltet den gegenwärtigen Fortschrittszustand, spezifiziert die Phasen-ID, die Szenen-ID und die Bildschirmkonfigurationsinformationen und sendet die Bildschirmanzeigeanforderungsmitteilung an das DCM 12. Wenn die Bildschirmanzeigeanforderungsmitteilung von dem CGW 13 empfangen wird, sendet das DCM 12 eine Bildschirmanzeigeanforderung an die Fahrzeugbordanzeige 7. Wenn die Bildschirmanzeigeanforderung von dem DCM 12 empfangen wird, zeigt die Fahrzeugbordanzeige 7 einen Aktivierungsgenehmigungsbildschirm an und, wenn der Benutzer eine Aktivierungsgenehmigungsoperation ausführt, sendet sie das Operationsergebnis an das DCM 12. Wenn das Operationsergebnis von der Fahrzeugbordanzeige 7 empfangen wird, sendet das DCM 12 Operationsergebnisinformationen an das CGW 13. Die Operationsergebnisinformationen, die durch das CGW 13 empfangen werden, beinhalten Sendequelleninformation, eine Phasen-ID, eine Szenen-ID, das Operationsergebnis und zusätzliche Informationen. Das CGW 13 aktualisiert den gegenwärtigen Fortschrittszustand basierend auf den Operationsergebnisinformationen, die von dem DCM 12 empfangen werden.
  • Die Bildschirmanzeige wird gemäß 203 bis 210 beschrieben. In einem Fall, in dem der Anpassungsmodus nicht festgelegt ist und kein Flag in den Szeneninformationen der Umschreibspezifikationsdaten festgelegt ist, weist das CGW 13 das Anzeigeendgerät 5 an, Bildschirmanzeige entsprechend Umschreibens des Anwendungsprogramms gemäß einem Inhalt der Anfangseinstellung auszuführen (S2407). Wenn die Anfangseinstellung eine Festlegung zum Einschalten jeder der Kampagnenmitteilung, des Herunterladens, der Installation und der Aktivierungen ist, gibt das CGW 13 eine Bildschirmanzeigeanweisung an das Anzeigeendgerät 5, um sequentiell den Navigationsbildschirm 501, den Kampagnenmitteilungsbildschirm 502, den Herunterladegenehmigungsbildschirm 503, den Herunterladen-in-Bearbeitung-Bildschirm 504, den Herunterladeabschlussmitteilungsbildschirm 505, den Installationsgenehmigungsbildschirm 506, den Installation-in-Bearbeitung-Bildschirm 507, den Aktivierungsgenehmigungsbildschirm 508, den Aktivierungsabschlussmitteilungsbildschirm 509 und den Überprüfungsoperationsbildschirm 510 anzuzeigen, wie in 31 bis 46 illustriert ist. In diesem Fall werden die Inhalte zum Erlangen der Benutzerzustimmung (OK) auf dem Kampagnenmitteilungsbildschirm 502, dem Herunterladegenehmigungsbildschirm 503, dem Installationsgenehmigungsbildschirm 506, dem Aktivierungsgenehmigungsbildschirm 508 und dem Überprüfungsoperationsbildschirm 510 angezeigt.
  • In einem Fall, in dem der Anpassungsmodus des Benutzers festgelegt ist, weist das CGW 13 das Anzeigeendgerät 5 an, Bildschirmanzeige entsprechend dem Umschreiben des Anwendungsprogramms gemäß einem Inhalt des Anpassungsmodus auszuführen (S2406). Jedoch ist dies auf einen Fall beschränkt, in dem Szeneninformationen nicht bestimmt sind. Wenn beispielsweise im Anpassungsmodus die Kampagnenmitteilung auf EIN, das Herunterladen auf AUS, die Installation auf AUS und die Aktivierung auf EIN gesetzt ist, gibt das CGW 13 eine Bildschirmanzeigeanweisung an das Anzeigeendgerät 5 ab, um den Herunterladegenehmigungsbildschirm 503, den Herunterladen-in-Bearbeitung-Bildschirm 504, den Herunterladeabschlussmitteilungsbildschirm 505, den Installationsgenehmigungsbildschirm 506 und den Installation-in-Bearbeitung-Bildschirm 507 nicht anzuzeigen, und um den Aktivierungsgenehmigungsbildschirm 508 anzuzeigen, nachdem der Kampagnenmitteilungsbildschirm 502 angezeigt wurde.
  • In einem Fall, in dem das Rückruf-Flag in den Szeneninformationen der Umschreibspezifikationsdaten festgelegt ist, weist das CGW 13 das Anzeigeendgerät 5 an, Bildschirmanzeige entsprechend dem Umschreiben des Anwendungsprogramms gemäß einem Inhalt des Rückrufmodus auszuführen (S2404). In diesem Fall, wie in 204 illustriert ist, zeigt das CGW 13 nicht die „Später“-Taste 502a auf dem Kampagnenmitteilungsbildschirm 502 an. Wie in 205 und 206 illustriert ist, zeigt das CGW 13 nicht die „Zurück“-Taste 503c auf dem Herunterladegenehmigungsbildschirm 503 an. Wie in 207 illustriert ist, zeigt das CGW 13 nicht die „Zurück“-Taste 504b auf dem Herunterladen-in-Bearbeitung-Bildschirm 504 an. Wie in 208 und 209 illustriert ist, zeigt das CGW 13 nicht die „Zurück“-Taste 505b auf dem Installationsgenehmigungsbildschirm 505 an. Ebenso, wie in 210 illustriert ist, zeigt das CGW 13 nicht die „Zurück“-Taste auf dem Aktivierungsgenehmigungsbildschirm 518 an.
  • Das heißt, in einem Fall, in dem das Rückruf-Flag in den Szeneninformationen der Umschreibspezifikationsdaten gesetzt ist, wie vorstehend beschrieben ist, können die „Später“-Taste oder die „Zurück“-Taste auf Nicht-Anzeige so festgelegt werden, dass die „Später“-Taste oder die „Zurück“-Taste nicht angezeigt wird. Alternativ kann, nach dem der Kampagnenmitteilungsbildschirm 502 angezeigt werden kann und die Benutzerzustimmung auf dem Herunterladegenehmigungsbildschirm 503 erlangt wird, Anzeigen des Installationsgenehmigungsbildschirms 505 und des Aktivierungsgenehmigungsbildschirms 518 weggelassen werden. Obwohl ein Fall, in dem das Rückruf-Flag in den Szeneninformationen der Umschreibspezifikationsdaten gesetzt ist, vorstehend beschrieben wurde, gilt dies auch für einen Fall, in dem das Händler-Flag, das Fabrik-Flag, das Funktionsaktualisierungsmitteilung-Flag und das Zwangsausführung-Flag in den Szeneninformationen der Umschreibspezifikationsdaten gesetzt sind, und eine Anweisung kann für die Verfügbarkeit der Anzeige eines Bildschirms entsprechend einer Phase, Verfügbarkeit der Anzeige eines Elements des Bildschirms oder Änderung eines Anzeigeinhalts des Elements des Bildschirms in Abhängigkeit von einer Situation, in der das Anwendungsprogramm umgeschrieben wird, gegeben werden.
  • Insbesondere in einem Fall, in dem das Händler-Flag in den Szeneninformationen der Umschreibspezifikationsdaten gesetzt ist, da es erforderlich ist, einen dedizierten Bildschirm bei der Reparaturverarbeitung in der Händlerumgebung anzuzeigen, kann ein dedizierter Bildschirm für einen Händler anstelle eines Bildschirms für einen Benutzer angezeigt werden. Das heißt, da ein Benutzer keine Operation bezüglich des Umschreibens eines Anwendungsprogramms ausführt, aber ein Operator des Händlers die Operation bezüglich des Umschreibens des Anwendungsprogramms ausführt, kann für die „Später“-Taste oder die „Zurück“-Taste festgelegt werden, dass sie für die Arbeit des Händlers angezeigt werden, so dass die „Später“-Taste oder die „Zurück“-Taste angezeigt werden. Beispielsweise kann eine Führung wie „Bitte beim Händler umschreiben“ angezeigt werden, um den Benutzer aufzufordern, das Fahrzeug zu dem Händler zu bringen.
  • In einem Fall, in dem das Fabrik-Flag in den Szeneninformationen der Umschreibspezifikationsdaten gesetzt ist, muss Bildschirmanzeige nicht in der Herstellungsverarbeitung der Fabrikumgebung angezeigt werden, und somit muss ein Bildschirm nicht angezeigt werden.
  • In einem Fall, in dem das Funktionsaktualisierungsmitteilung-Flag in den Szeneninformationen der Umschreibspezifikationsdaten gesetzt ist, sogar, wenn der Benutzer unnötige Bildschirmfestlegungen angepasst hat, ist eine Bildschirmanzeige, um dem Benutzer verlässlich den Änderungsinhalt mitzuteilen, erforderlich und so ein Bildschirm für den Benutzer kann ungeachtet der angepassten Festlegung angezeigt werden. Das heißt, sogar in einem Fall, in dem der Benutzer bestimmt, dass die Zustimmung unnötig ist, da es wünschenswert ist, dass die Zustimmung bzw. Genehmigung zwangsweise eingeholt wird und ein Zustimmungsbildschirm zwangsweise angezeigt wird, wie vorstehend beschrieben ist, wird für die „Später“-Taste oder die „Zurück“-Taste festgelegt, dass sie angezeigt werden, so dass die „Später“-Taste oder die „Zurück“-Taste angezeigt werden.
  • In einem Fall, in dem das Zwangsausführung-Flag in den Szeneninformationen der Umschreibspezifikationsdaten gesetzt ist, sogar, wenn der Benutzer die Anzeige durch Anpassung so einstellt, dass sie erforderlich ist, und der Benutzer somit keine Genehmigung erteilt, ist eine erzwungene Ausführung zum verlässlichen Aktualisieren der Software des Fahrzeugs erforderlich. Demnach kann ein dedizierter Bildschirm für den Benutzer ungeachtet der Anpassungsfestlegung angezeigt werden. Das heißt, da der Benutzer bestimmt, dass die Zustimmung erforderlich ist, aber das Anwendungsprogramm umgeschrieben wird, sogar, wenn die Zustimmung bzw. Genehmigung nicht gegeben ist, können die „Später“-Taste oder die „Zurück“-Taste auf Nicht-Anzeige gesetzt werden, wie vorstehend beschrieben ist, so dass die „Später“-Taste oder die „Zurück“-Taste nicht angezeigt werden. Da die Funktion darauf basiert, dass eine Zustimmung bzw. Genehmigung erlangt wird, kann Umschreiben ausgeführt werden, in dem die Zustimmung erlangt wird, ohne dass der Bildschirm selbst angezeigt wird.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung aus und weist somit das Anzeigeendgerät 5 an, Bildschirmanzeige entsprechend einem Festlegungsinhalt eines Anpassungsmodus in einem Fall, in dem der Anpassungsmodus festgelegt ist, auszuführen. Der Benutzer kann Bildschirmanzeige entsprechend dem Fortschritt des Umschreibens anpassen.
  • (25) Programmaktualisierungsmitteilungssteuerverarbeitung
  • Die Programmaktualisierungsmitteilungssteuerverarbeitung wird gemäß 211 bis 217 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Programmaktualisierungsmitteilungssteuerverarbeitung in dem CGW 13 aus.
  • Wie in 211 illustriert ist, beinhaltet das CGW 13 eine Phasenspezifizierungseinheit 91a, eine Anzeigeanweisungseinheit 91b, eine Indikatoranzeigesteuereinheit 91c, eine Elementanzeigesteuereinheit 91d, eine Detailinformationsanzeigesteuereinheit 91e und eine Ungültigkeitsanweisungseinheit 91f in der Programmaktualisierungsmitteilungssteuereinheit 91. Die Phasenspezifizierungseinheit 91a spezifiziert eine Phase als eine Fortschrittssituation der Programmaktualisierung. Die Phasenspezifizierungseinheit 91a spezifiziert Kampagnenmitteilung, Herunterladegenehmigung, Herunterladen in Bearbeitung, Installationsgenehmigung, Installation in Bearbeitung, Aktivierungsgenehmigung, Aktivierung in Bearbeitung und Aktualisierungsabschluss als Phasen der Programmaktualisierung.
  • Wenn die Phase der Programmaktualisierung durch die Phasenspezifizierungseinheit 91a spezifiziert ist, gibt die Anzeigeanweisungseinheit 91b eine Anweisung zum Anzeigen eines Indikators in einem Aspekt entsprechend der Phase der spezifizierten Programmaktualisierung. Wenn die Anweisung zum Anzeigen des Indikators von der Anzeigeanweisungseinheit 91 gegeben wird, steuert die Indikatoranzeigesteuereinheit 91c Anzeige des Indikators in Antwort auf die Anweisung. Insbesondere steuert die Indikatoranzeigesteuereinheit 91c Aufleuchten eines Indikators 46 in der Instrumentenvorrichtung 45.
  • Die Elementanzeigesteuereinheit 91d steuert Anzeige eines Elements auf der Fahrzeugbordanzeige 7 im Anschluss daran, dass die Indikatoranzeigesteuereinheit 91c Anzeige des Indikators steuert. Die Detailinformationsanzeigesteuereinheit 91e steuert Anzeige eines Elements und Detailinformationen bezüglich der Programmaktualisierung auf der Fahrzeugbordanzeige 7 oder dem mobilen Endgerät 6 im Anschluss daran, dass die Indikatoranzeigesteuereinheit 91c Anzeige des Indikators steuert. Das Element ist das Kampagnenmitteilungselement 501a, das in 32 illustriert ist, und die Detailinformationen sind beispielsweise der Kampagnenmitteilungsbildschirm 502, der in einem Popup-Formular angezeigt wird, das in 33 illustriert ist, oder der Herunterladegenehmigungsbildschirm, der in 34 und 35 illustriert ist. Die Detailinformationsanzeigesteuereinheit 91e gibt eine Anweisung zum Anzeigen des Elements in dem Aspekt entsprechend der Phase der Programmaktualisierung, die durch die Phasenspezifizierungseinheit 91a spezifiziert ist, oder gibt eine Anweisung zum Anzeigen des Detailinformationsbildschirms entsprechend der Phase und der Benutzeroperation.
  • Die Ungültigkeitsanweisungseinheit 91f weist die Energieversorgungsverwaltungs-ECU 20 und die jeweiligen ECUs 19 bezüglich der Benutzeroperation an, Empfang der Benutzeroperation ungültig zu machen, sogar in einem Fall, in dem die Energieversorgungsverwaltungs-ECU 20 die Energieversorgungssteuerung durch Aktualisieren des Programms während Parkens ausführt. Beispielsweise wird durch Anweisen der Brennkraftmaschinen-ECU 47 (vgl. 217), Empfang der Benutzeroperation ungültig zu machen, in einem Fall, in dem eine Speicherstruktur der Umschreibziel-ECU 19 ein Einzelbankspeicher ist und die Installation während Parkens ausgeführt wird, der Empfang ungültig gemacht und Starten der Brennkraftmaschine wird unterdrückt, damit sie nicht gestartet wird, sogar, wenn der Benutzer eine Operation zum Starten der Brennkraftmaschine ausführt. Durch das Anweisen der Energieversorgungsverwaltungs-ECU 20, die Benutzeroperation für ungültig zu erklären, wird in einem Fall, in dem eine Speicherstruktur der Umschreibziel-ECU 19 ein Einzelbankspeicher ist, die IG-Energie eingeschaltet, die Installation während des Parkens ausgeführt, der Empfang für ungültig erklärt und Ausschalten der IG-Energie unterdrückt, sogar, wenn der Benutzer eine Operation zum Ausschalten der IG-Energie ausführt. In diesem Fall kann die Ungültigkeitsanweisungseinheit 91f die Fahrzeugbordanzeige 7 anweisen, eine Mitteilung auszuführen, dass der Empfang der Benutzeroperation ungültig gemacht wird.
  • Als nächstes wird eine Operation der vorstehend beschriebenen Konfiguration gemäß 212 bis 217 beschrieben. Das CGW 13 führt ein Programmaktualisierungsmitteilungssteuerprogramm aus und führt somit die Programmaktualisierungsmitteilungssteuerverarbeitung aus.
  • Wenn die Programmaktualisierungsmitteilungssteuerverarbeitung initiiert wird, bestimmt das CGW 13, ob oder nicht eine Kampagne zur Programmaktualisierung aufgetreten ist (S2501). Wenn bestimmt wird, dass die Kampagne der Programmaktualisierung aufgetreten ist (S2501: JA), spezifiziert das CGW 13 eine Phase der Programmaktualisierung und eine Speicherkonfiguration (S2502; entsprechend einer Phasenspezifizierungsprozedur). Das CGW 13 weist die Instrumentenvorrichtung 45 an, den Indikator 46 in einem Aspekt entsprechend der spezifizierten Phase der Programmaktualisierung anzuzeigen (S2503; entsprechend einer Anzeigeanweisungsprozedur). Die Fahrzeugbordanzeige 7 wird angewiesen, ein Element entsprechend der spezifizierten Phase der Programmaktualisierung anzuzeigen (S2504).
  • Es wird bestimmt, ob oder nicht eine Detailanzeigeanforderung verfügbar ist (S2505), und, wenn bestimmt wird, dass die Detailanzeigeanforderung verfügbar ist, (S2505; JA), bestimmt das CGW 13, ob oder nicht Datenkommunikation mit der Fahrzeugbordanzeige 7 möglich ist (S2506). Beispielsweise, wenn der Benutzer das Kampagnenmitteilungselement 501a, das in 32 illustriert ist, die „Überprüfung“-Taste 502a, die in 33 illustriert ist, oder die „Details überprüfen“-Taste 503b, die in 34 illustriert ist, drückt, bestimmt das CGW 13, dass die Detailanzeigeanforderung verfügbar ist. Wenn bestimmt wird, dass Datenkommunikation mit der Fahrzeugbordanzeige 7 möglich ist (S2506: JA), erlangt das CGW 13 Detailinformationen (S2507), weist die Fahrzeugbordanzeige 7 an, die Detailinformationen (S2508) anzuzeigen, und weist die Zentralvorrichtung 3 an, die Detailinformationen anzuzeigen (S2509).
  • Das CGW 13 erlangt einen Mitteilungsinhalt, der zusammen mit der Kampagnenmitteilung empfangen wird, und einen Mitteilungsinhalt der Verteilungsspezifikationsdaten und teilt der Fahrzeugbordanzeige 7 die Mitteilungsinhalte mit, um angewiesen zu werden, die Detailinformationen anzuzeigen. Das CGW 13 teilt der Zentralvorrichtung 3 die Phase und einen Inhalt der Benutzeroperation als eine Anweisung zum Anzeigen der Detailinformationen mit, so dass derselbe Inhalt wie der in der Fahrzeugbordanzeige 7 ebenso auf dem mobilen Endgerät 6 angezeigt wird.
  • Das CGW 13 bestimmt, ob oder nicht ein Ereignis des Programmaktualisierungsereignisses beendet ist (S2510).
  • Beispielsweise, wenn der Benutzer bestätigt, dass die Aktivierung abgeschlossen wurde und das Programm aktualisiert wurde, bestimmt das CGW 13, dass das Ereignis beendet ist. Wenn bestimmt wird, dass das Ereignis der Programmaktualisierung nicht beendet ist (S2510: NEIN), kehrt das CGW 13 zu Schritt S2502 zurück und führt wiederholt Schritt S2502 und die nachfolgenden Schritte aus. Das CGW 13 führt wiederholt S2502 und die nachfolgenden Schritte in jeder Phase der Kampagnenmitteilung, der Herunterladegenehmigung, des Herunterladens in Bearbeitung, der Installationsgenehmigung, der Installation in Bearbeitung, der Aktivierungsgenehmigung, der Aktivierung in Bearbeitung und des Aktualisierungsabschlusses aus.
  • Wenn bestimmt wird, dass das Ereignis der Programmaktualisierung beendet ist (S2510: JA), beendet das CGW 13 die Programmaktualisierungsmitteilungssteuerverarbeitung.
  • In der Instrumentenvorrichtung 45 ist der Indikator 46 an einer vorbestimmten Position angeordnet, die durch den Benutzer erkannt werden kann, und, wenn eine Mitteilungsanforderungsmitteilung von dem CGW 13 empfangen wird, wird der Indikator 46 erleuchtet oder geblinkt als eine Mitteilung während Umschreibens des Anwendungsprogramms. Anstelle des Blinkens kann hier einer leuchtenden Anzeige verwendet werden, die stärker als eine normale leuchtende Anzeige hervorgehoben ist, beispielsweise durch Ändern einer Farbe oder Erhöhen der Luminanz des Indikators 46. Das heißt, irgendeine Anzeige kann verwendet werden, solange die Anzeige mehr als eine normale Anzeige hervorgehoben wird. Der Indikator 46 bezüglich Programmaktualisierung ist ein einzelner Indikator und besteht aus einem einzelnen Design.
  • Wie in 213 illustriert ist, ändert die Instrumentenvorrichtung 45 Mitteilungsaspekte des Indikators in jeder Phase in einem Fall, in dem ein Anwendungsprogrammumschreibziel ein Doppelbankspeicher ist, in einem Fall, in dem das Anwendungsprogrammumschreibziel ein Einzelbankaussetzspeicher ist, und in einem Fall, in dem das Anwendungsprogrammumschreibziel ein Einzelbankspeicher ist. Insbesondere spezifiziert die Instrumentenvorrichtung 45 einen Mitteilungsaspekt des Indikators 46 gemäß einer Phase und einer Speicherkonfiguration, die von dem CGW 13 bestimmt ist, und führt eine Mitteilung gemäß dem spezifizierten Mitteilungsaspekt aus. Anstelle der Instrumentenvorrichtung 45 kann die Indikatoranzeigesteuereinheit 91c einen Mitteilungsaspekt des Indikators 46 steuern. Die Indikatoranzeigesteuereinheit 91 kann einen Mitteilungsaspekt des Indikators 46 spezifizieren und die Instrumentenvorrichtung 45 anweisen, Aufleuchten des Indikators 46 in dem Mitteilungsaspekt zu steuern.
  • Wie in 213 illustriert ist, lässt die Indikatoranzeigesteuereinheit 91c den Indikator 46 beispielsweise in einer Phase grün blinken, in der eine Beschränkung beim Fahren des Fahrzeugs wie die Installation oder die Aktivierung auftreten kann. In einem Fall, in dem die Umschreibziel-ECU 19 ein Doppelbankspeicher ist, führt die Indikatoranzeigesteuereinheit 91c Anzeige auf blinkende Weise nur in einer Phase aus, in der Aktivierung in Bearbeitung ist. In einem Fall, in dem die Umschreibziel-ECU 19 einen Einzelbankaussetzspeicher hat, zeigt die Indikatoranzeigesteuereinheit 91c den Indikator auf blinkende Weise in der Installation-in-Bearbeitung-Phase während IG-AUS, der Aktivierungsgenehmigungsphase und der Aktivierung-in-Bearbeitung-Phase an. In einem Fall, in dem die Umschreibziel-ECU 19 einen Einzelbankspeicher hat, zeigt die Indikatoranzeigesteuereinheit 91c den Indikator auf blinkende Weise in der Installation-in-Bearbeitung-Phase während der Aktivierungsgenehmigungsphase und der Aktivierung-in-Bearbeitung-Phase an. Das heißt, die Anzeige des Indikators 46 in der Kampagnenmitteilungsphase, der Herunterladephase und der Phase nach dem Abschluss der Aktivierung (bei IG-AUS, IG-EIN und Überprüfungsoperation) ist ungeachtet der Speicherkonfiguration gemein, aber die Anzeige des Indikators 46 in der Installationsphase und der Aktivierungsphase wird in unterschiedlichen Aspekten abhängig von einer Speicherkonfiguration ausgeführt. Hierbei ist die IG-AUS-Zeit, die in 213 illustriert ist, ein Anzeigeaspekt, wenn die Aktivierung während Parkens ausgeführt wird und die IG-Energie wegen Abschlusses der Aktivierung ausgeschaltet ist, und das Leuchten des Indikators 46 wird ausgeschaltet, wenn die IG-Energie ausgeschaltet wird. Danach, wenn die IG-Energie durch die Benutzeroperation eingeschaltet wird, wird der Indikator 46 erleuchtet. Dies dient dazu, dem Benutzer mitzuteilen, dass die gesamte Programmaktualisierung abgeschlossen wurde. Wenn der Benutzer die „OK“-Taste 510b auf dem Überprüfungsoperationsbildschirm 510 drückt, der in 45 illustriert ist, wird bestimmt, dass eine Überprüfungsoperation ausgeführt wurde, und die Erleuchtung des Indikators 46 wird ausgeschaltet.
  • Nachfolgend wird ein Fall beschrieben, in dem die Instrumentenvorrichtung 45 einen Mitteilungsaspekt des Indikators 46 steuert, aber die Indikatoranzeigesteuereinheit 91c kann einen Mitteilungsaspekt des Indikators 46 wie vorstehend beschrieben steuern. 214 illustriert einen Mitteilungsaspekt des Indikators in einem Fall, in dem der Speichertyp der Umschreibziel-ECU 19 ein Doppelbankspeicher ist. Die Instrumentenvorrichtung 45 erleuchtet den Indikator 46 in den Phasen von der Kampagnenmitteilung zur Aktivierungsgenehmigung und lässt den Indikator 46 in der Aktivierung-in-Bearbeitung-Phase blinken, basierend auf Anweisungen von dem CGW 13. Danach schaltet die Instrumentenvorrichtung 45 die Erleuchtung des Indikators 46 bei IG-AUS aus, erleuchtet den Indikator 46 bei IG-EIN und schaltet die Erleuchtung des Indikators 46 aus, wenn der Benutzer eine Überprüfungsoperation zum Abschluss der Aktualisierung ausführt. Das heißt, in einem Fall des Doppelbankspeichers besteht eine Wahrscheinlichkeit, dass die Fahrt des Fahrzeugs nur während Ausführung der Aktivierung eingeschränkt sein kann. Nur die Ausführung der Aktivierung wird während einer Periode ausgeführt, in der das Fahrzeug nicht fahren kann, da das Fahrzeug in einem Parkzustand ist. Somit lässt die Instrumentenvorrichtung 45 den Indikator 46 in der Aktivierung-in-Bearbeitung-Phase blinken. Hierbei hat der Indikator ein vorbestimmtes Design und wird im Falle normalen Fortschritts in grün angezeigt.
  • 215 illustriert einen Mitteilungsaspekt des Indikators in einem Fall, in dem der Speichertyp der Umschreibziel-ECU 19 ein Einzelbankaussetzspeicher ist. In einem Fall, in dem ein Anwendungsprogrammumschreibziel ein Einzelbankaussetzspeicher ist, erleuchtet die Instrumentenvorrichtung 45 den Indikator 46 in den Phasen von der Kampagnenmitteilung bis zur Installationsgenehmigung, erleuchtet den Indikator 46 bei IG-EIN während der Ausführung der Installation und lässt den Indikator 46 bei IG-AUS blinken, basierend auf den Anweisungen von dem CGW 13. Das heißt, die Instrumentenvorrichtung 45 erleuchtet den Indikator 46, da Schreiben in den Flash-Speicher der Einzelbank-Aussetzspeicher-ECU nicht in einem IG-EIN-Zustand ausgeführt wird, aber lässt den Indikator 46 blinken, da Schreiben in den Flash-Speicher in einem IG-AUS-Zustand ausgeführt wird. Die Instrumentenvorrichtung 45 lässt den Indikator 46 in den Phasen von der Aktivierungsgenehmigung bis zur Aktivierung in Bearbeitung blinken. Danach erlischt der Indikator 46 bei IG-AUS, der Indikator 46 wird bei IG-EIN erleuchtet und der Indikator 46 erlischt, wenn der Benutzer eine Überprüfungsoperation zum Abschluss der Aktualisierung ausführt. Das heißt, in einem Fall des Einzelbankaussetzspeichers, besteht eine Wahrscheinlichkeit, dass das Fahren des Fahrzeugs von der Installation in Bearbeitung in einem IG-EIN-Zustand bis zur Aktivierung in Bearbeitung beschränkt wird. Somit lässt die Instrumentenvorrichtung 45 den Indikator 46 in diesen Phasen blinken. Hierbei ist es in einem Fall des Einzelbankaussetzspeichers sogar während der Ausführung der Installation in einer inaktiven Bank möglich, eine aktive Bank zu starten und Fahren des Fahrzeugs durch Stoppen der Installation zu steuern. Somit kann wie in einem Fall des Doppelbankspeichers Blinken der Anzeige nur während Ausführens der Aktivierung, in der das Fahrzeug nicht fahren kann, ausgeführt werden.
  • 216 illustriert einen Mitteilungsaspekt des Indikators, wenn der Speichertyp der Umschreibziel-ECU 19 ein Einzelbankspeicher ist. In einem Fall, in dem ein Anwendungsprogrammumschreibziel ein Einzelbankspeicher ist, erleuchtet die Instrumentenvorrichtung 45 den Indikator 46 in den Phasen von der Kampagnenmitteilung bis zur Installationsgenehmigung und lässt den Indikator 46 in den Phasen von der Installation in Bearbeitung bis zur Aktivierung in Bearbeitung blinken, basierend auf Anweisungen von dem CGW 13. Danach erlischt der Indikator 46 bei IG-AUS, der Indikator 46 wird bei IG-EIN erleuchtet und der Indikator 46 erlischt, wenn der Benutzer eine Überprüfungsoperation zum Abschluss der Aktualisierung ausführt. Das heißt, in einem Fall des Einzelbankspeichers besteht eine Wahrscheinlichkeit, dass das Fahren des Fahrzeugs von der Installation in Bearbeitung bis zur Aktivierung in Bearbeitung beschränkt wird. Somit lässt die Instrumentenvorrichtung 45 den Indikator 46 in diesen Phasen blinken.
  • In einem Fall, in dem die ECUs 19, die einen Doppelbankspeicher, einen Einzelbankaussetzspeicher und einen Einzelbankspeicher haben, als die Programmumschreibziel-ECUs 19 in einer Kampagnenmitteilung beinhaltet sind, führt die Instrumentenvorrichtung 45 Umschreiben von Anwendungsprogrammen auf den ECUs 19 in einer Reihenfolge des Doppelbankspeichers, des Einzelbankaussetzspeichers und des Einzelbankspeichers aus. Nach der Kampagnenmitteilung führt das CGW 13 die Herunterladegenehmigung bis zur Installation in Bearbeitung auf der Doppelbank-Speicher-ECU 19 aus und die Instrumentenvorrichtung 45 erleuchtet den Indikator 46 während dieser Periode. Wenn die Installation-in-Bearbeitung-Phase auf der Doppelbank-Speicher-ECU 19 abgeschlossen ist, führt das CGW 13 die Herunterladegenehmigung bis zur Installation in Bearbeitung auf der Einzelbank-Aussetzspeicher-ECU 19 aus und die Instrumentenvorrichtung 45 erleuchtet den Indikator 46 während dieser Periode. Wenn die Installation-in-Bearbeitung-Phase auf der Einzelbank-Aussetzspeicher-ECU 19 abgeschlossen ist, führt das CGW 13 die Herunterladegenehmigung bis zur Installationsgenehmigung auf der Einzelbankspeicher-ECU 19 aus und die Instrumentenvorrichtung 45 erleuchtet den Indikator 46 während dieser Periode.
  • Die Instrumentenvorrichtung 45 lässt die Indikatoren 46 von der Installation in Bearbeitung in dem Einzelbankspeicher bis zur Aktivierung in Bearbeitung in drei Typen der ECUs 19 blinken, deren Speichertypen sich voneinander unterscheiden. Die Instrumentenvorrichtung 45 schaltet die Erleuchtung des Indikators 46 beim nachfolgenden IG-AUS aus, erleuchtet den Indikator 46 bei IG-EIN und schaltet die Erleuchtung des Indikators 46 aus, wenn der Benutzer eine Überprüfungsoperation zum Abschluss der Aktualisierung ausführt.
  • Die Instrumentenvorrichtung 45 kann die folgende Steuerung in einem Fall, in dem die ECUs 19, die einen Doppelbankspeicher, einen Einzelbankaussetzspeicher und einen Einzelbankspeicher haben, als die Programmumschreibziel-ECUs 19 beinhaltet sind, in einer Kampagnenmitteilung ausführen. Die Instrumentenvorrichtung 45 führt Umschreiben von Anwendungsprogrammen auf den ECUs 19 in einer Reihenfolge des Doppelbankspeichers, des Einzelbankaussetzspeichers und des Einzelbankspeichers aus. Nach der Kampagnenmitteilung gibt das CGW 13 eine Anweisung zum Erleuchten eines vorbestimmten grünen Designs, das den Indikator 46 darstellt, in der Herunterladegenehmigung zum Herunterladen eines Verteilungspakets einschließlich Aktualisierungsdaten von Umschreibziel-ECUs 19 und dem Herunterladen in Bearbeitung. Danach gibt das CGW 13 eine Anweisung zum Erleuchten eines vorbestimmten grünen Designs, das den Installationsgenehmigungsindikator 46 angibt. Die Installationsgenehmigung dient hierbei ebenso als die Aktivierungsgenehmigung für die Bequemlichkeit der Einbeziehung der Einzelbankspeicher-ECU 19. Wenn die Zustimmung des Benutzers zur Installation erlangt wird, führt das CGW 13 als erstes Installation auf der Doppelbank-Speicher-ECU 19 aus. Während die Installation in der Doppelbank-Speicher-ECU 19 ausgeführt wird, erleuchtet die Instrumentenvorrichtung 45 die Indikatoren 46. Wenn das CGW 13 die Installation-in-Bearbeitung-Phase für die Doppelbank-Speicher-ECU 19 abschließt, führt das CGW 13 Installation auf der Einzelbank-Aussetzspeicher-ECU 19 aus. Während die Installation in der Einzelbank-Aussetzspeicher-ECU 19 ausgeführt wird, erleuchtet die Instrumentenvorrichtung 45 den Indikator 46. Wenn das CGW 13 die Installation-in-Bearbeitung-Phase für die Einzelbank-Aussetzspeicher-ECU 19 abschließt, führt das CGW 13 Installation auf der Einzelbankspeicher-ECU 19 aus. Während die Installation in der Einzelbank-Aussetzspeicher-ECU 19 ausgeführt wird, lässt die Instrumentenvorrichtung 45 den Indikator 46 blinken. Wenn die Installation in allen der Umschreibziel-ECUs 19 abgeschlossen ist, führt das CGW 13 Aktivierung in einem Zustand aus, in dem der Indikator 46 blinkt. Das CGW 13 weist die Instrumentenvorrichtung 45 an, die Beleuchtung des Indikators 46 beim anschließenden IG-AUS auszuschalten, weist die Instrumentenvorrichtung 45 an, den Indikator 46 bei IG-EIN zu erleuchten, und weist die Instrumentenvorrichtung 46 an, die Beleuchtung des Indikators 46 auszuschalten, wenn der Benutzer eine Überprüfungsoperation zum Abschluss der Aktualisierung ausführt.
  • In den jeweiligen Phasen, die in 214 bis 216 illustriert sind, weist das CGW 13 ebenso die Fahrzeugbordanzeige 7 an, Elemente anzuzeigen. Das CGW 13 gibt eine Anweisung zum Anzeigen des Kampagnenmitteilungselements 501a, das in 32 illustriert ist, in der Kampagnenmitteilungsphase. Das CGW 13 fährt damit fort, die Kampagnenmitteilungselemente 501a sogar in der Herunterladegenehmigungsphase anzuzeigen. Das CGW 13 gibt eine Anweisung zum Anzeigen des Herunterladen-in-Bearbeitung-Elements 501b, das in 36 illustriert ist, in der Herunterladen-in-Bearbeitung-Phase. In der Installationsgenehmigungsphase kann das CGW 13 fortfahren, das Herunterladen-in-Bearbeitung-Element 501b anzuzeigen, oder kann eine Anweisung zum erneuten Anzeigen des Kampagnenmitteilungselements 501a geben. Das CGW 13 gibt eine Anweisung zum Anzeigen des Installation-in-Bearbeitung-Elements 501c, das in 41 illustriert ist, in der Installation-in-Bearbeitung-Phase. In der Aktivierungsgenehmigungsphase kann das CGW 13 fortfahren, das Installation-in-Bearbeitung-Element 501c anzuzeigen, oder kann eine Anweisung zum erneuten Anzeigen des Kampagnenmitteilungselements 501a geben. Das CGW 13 zeigt die Elemente in der Aktivierung-in-Bearbeitung-Phase und beim nachfolgenden IG-AUS nicht an. Bei IG-EIN kann das CGW 13 eine Anweisung zum erneuten Anzeigen des Kampagnenmitteilungselements 501a geben oder kann den Aktivierungsabschlussmitteilungsbildschirm 509 in einem Popup-Formular anzeigen, wie in 44 illustriert ist. Das CGW 13 zeigt die Elemente nicht an, wenn der Benutzer eine Überprüfungsoperation zum Abschluss der Aktualisierung ausführt. Es gibt nur eine Elementanzeige bezüglich der Programmaktualisierung und die Elementanzeige ist einem Design entsprechend jeder Phase ausgebildet.
  • Wie vorstehend beschrieben ist, unterscheidet sich in einem Fall, in dem das CGW 13 eine Anweisung für eine Mitteilung unter Verwendung des Indikators 46 gibt, dass das Anwendungsprogramm umgeschrieben wird, wenn eine Anomalie während Umschreiben des Anwendungsprogramms auftritt, ein Mitteilungsaspekt von dem während der normalen Zeit. Das CGW 13 gibt beispielsweise eine Anweisung für eine grün leuchtende Anzeige oder eine grün blinkende Anzeige, wenn das Umschreiben des Anwendungsprogramms normal ausgeführt wird, und gibt beispielsweise eine Anweisung für eine gelb oder rot leuchtende Anzeige oder gelb oder rot blinkende Anzeige, wenn eine Anomalie auftritt. Das CGW 13 kann Farben gemäß dem Anomaliegrad ändern, beispielsweise eine Anweisung für eine rot leuchtende Anzeige oder rot blinkende Anzeige geben, wenn der Anomaliegrad relativ hoch ist, und eine Anweisung für gelb leuchtende Anzeige oder gelb blinkende Anzeige geben, wenn der Anomaliegrad relativ niedrig ist. Hierbei beinhaltet die hier erwähnte Anomalie einen Zustand, in dem ein Verteilungspaket nicht heruntergeladen werden kann, einen Zustand, in dem Schreibdaten nicht installiert werden können, einen Zustand, in dem Schreibdaten nicht in der Umschreibziel-ECU 19 geschrieben werden können, einen Zustand, in dem Schreibdaten inkorrekt sind, und dergleichen.
  • Die Fahrzeugbordanzeige 7 zeigt sequentiell den Kampagnenmitteilungsbildschirm 502, den Herunterladegenehmigungsbildschirm 503, den Herunterladen-in-Bearbeitung-Bildschirm 504, den Herunterladeabschlussmitteilungsbildschirm 505, die Installationsgenehmigung 506, den Installation-in-Bearbeitung-Bildschirm 507, den Aktivierungsgenehmigungsbildschirm 508, den IG-EIN-Bildschirm 509 und den Aktualisierungsabschlussüberprüfungsoperationsbildschirm 510 als detaillierte Anzeige basierend auf der Benutzeroperation an. Die gleiche detaillierte Anzeige wie in der Fahrzeugbordanzeige 7 kann in dem mobilen Endgerät 6 ausgeführt werden, das kommunizierbar mit der Zentralvorrichtung 3 verbunden ist. Beispielsweise in einem Fahrzeug, in dem die Fahrzeugbordanzeige 7 nicht montiert ist, in einem Fall, in dem der Benutzer detaillierte Anzeige durch Operieren eines Lenkradschalters oder dergleichen anfordert, fordert das CGW 13 die detaillierte Anzeige bei der Zentralvorrichtung 3 mittels des DCM 12 an. Die Zentralvorrichtung 3 erzeugt Inhalte der detaillierten Anzeige und das mobile Endgerät 6 zeigt den Inhalt derart an, dass der Benutzer die Detailinformationen auf dem mobilen Endgerät 6 überprüfen kann.
  • Wie in 217 illustriert ist, startet in einem Fall, in dem ein Anwendungsprogramm eines Einzelbankaussetzspeichers oder eines Einzelbankspeichers einer IG-ECU oder einer ACC-ECU während Parkens umgeschrieben wird, das CGW 13 zwangsweise die Energieversorgungsverwaltungs-ECU 20 zum Einschalten der Energie des Fahrzeugs. In diesem Fall, wenn die Energieversorgungsverwaltungs-ECU 20 zwangsweise gestartet wird, werden die Instrumentenvorrichtung 45 oder die Fahrzeugbordanzeige 7 aufgrund einer Operation der Energieversorgungsverwaltungs-ECU 20 gestartet. Somit weist das CGW 13 die Instrumentenvorrichtung 45 oder die Fahrzeugbordanzeige 7 an, eine Mitteilung bezüglich der Programmaktualisierung zu unterdrücken. Wenn die Instrumentenvorrichtung 45 angewiesen wird, die Mitteilung der Aktualisierung des Programms von dem CGW 13 zu unterdrücken, erleuchtet oder blinkt die Instrumentenvorrichtung 45 den Indikator 46 nicht. Wenn die Fahrzeugbordanzeige 7 angewiesen wird, die Mitteilung der Programmaktualisierung von dem CGW 13 zu unterdrücken, führt die Fahrzeugbordanzeige 7 die vorstehend beschriebene detaillierte Anzeige nicht aus. Das heißt, in einem Fall einer Situation, in der der Benutzer nicht bei der Installation fährt oder die Aktivierung während des Parkens durchgeführt wird, da die Mitteilung bezüglich der Programmaktualisierung unnötig ist, wird die Steuerung so ausgeführt, dass die Mitteilung nicht ausgeführt wird.
  • Wenn die Energieversorgungsverwaltungs-ECU 20 zwangsweise gestartet wird, um die Fahrzeugenergie einzuschalten, ist Brennkraftmaschinensteuerung durch Empfangen einer Operation auf einem Drückschalter von dem Benutzer möglich, aber das CGW 13 weist die Energieversorgungsverwaltungs-ECU 20 an, Empfang der Benutzeroperation ungültig zu machen, und weist die Instrumentenvorrichtung 45, die Fahrzeugbordanzeige 7 und die ECU 19 bezüglich der Benutzeroperation an, eine Mitteilung der Ungültigkeitserklärung des Empfangs der Benutzeroperation auszuführen. In einem Fall, in dem die Instrumentenvorrichtung 45 angewiesen wird, den Empfang der Benutzeroperation von dem CGW 13 ungültig zu machen, macht die Instrumentenvorrichtung 45 den Empfang der Operation ungültig, sogar, wenn der Benutzer die Operation auf der Instrumentenvorrichtung 45 ausführt. Auf ähnliche Weise, in einem Fall, in dem die Fahrzeugbordanzeige 7 angewiesen wird, den Empfang der Benutzeroperation von dem CGW 13 ungültig zu machen, macht die Fahrzeugbordanzeige 7 den Empfang der Operation ungültig, sogar, wenn der Benutzer die Operation auf der Fahrzeugbordanzeige 7 ausführt. In einem Fall, in dem die Brennkraftmaschinen-ECU 47 angewiesen wird, den Empfang der Benutzeroperation von dem CGW 13 ungültig zu machen, macht die Brennkraftmaschinen-ECU 47 den Empfang der Operation ungültig, um zu verhindern, dass die Brennkraftmaschine gestartet wird, sogar, wenn der Benutzer die Operation zum Starten der Brennkraftmaschine mit dem Drückschalter ausführt.
  • Wie vorstehend beschrieben ist, weist das CGW 13 die Instrumentenvorrichtung 45 an, eine Mitteilung, dass ein Anwendungsprogramm umgeschrieben wird, durch Ausführen der Programmaktualisierungsmitteilungssteuerverarbeitung auszuführen. Sogar in einer Situation, in der dem Benutzer nicht mitgeteilt werden kann, dass ein Anwendungsprogramm unter Verwendung des mobilen Endgeräts 6 oder der Fahrzeugbordanzeige 7 umgeschrieben wird, kann dem Benutzer angemessen mitgeteilt werden, dass ein Anwendungsprogramm umgeschrieben wird, indem dem Benutzer unter Verwendung der Instrumentenvorrichtung 45 mitgeteilt wird, dass ein Anwendungsprogramm umgeschrieben wird. Das CGW 13 kann einen Mitteilungsaspekt gemäß einer Fortschrittssituation des Umschreibens eines Anwendungsprogramms ändern.
  • (26) Selbsterhaltungsenergieausführungssteuerverarbeitung
  • Die Selbsterhaltungsenergieausführungssteuerverarbeitung wird gemäß 218 bis 222 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Selbsterhaltungsenergieausführungssteuerverarbeitung in dem CGW 13, der ECU 19, der Fahrzeugbordanzeige 7 und der Energieversorgungsverwaltungs-ECU 20 aus. In diesem Fall gibt das CGW 13 eine Anweisung für Selbsterhaltungsenergie an die ECU 19, die Fahrzeugbordanzeige 7 und die Energieversorgungsverwaltungs-ECU 20 ab. Das heißt, das CGW 13 entspricht einer Fahrzeugmastervorrichtung und die ECU 19, die Fahrzeugbordanzeige 7 und die Energieversorgungsverwaltungs-ECU 20 entsprechen Fahrzeugslavevorrichtungen. Das CGW 13 hat eine zweite Selbsterhaltungsenergieschaltung und die Fahrzeugslavevorrichtung hat eine erste Selbsterhaltungsenergieschaltung.
  • Wie in 218 illustriert ist, beinhaltet das CGW 13 in der Selbsterhaltungsenergieausführungssteuereinheit 92 eine Fahrzeugenergiebestimmungseinheit 92a, eine Umschreiben-in-Bearbeitung-Bestimmungseinheit 92b, eine erste Selbsterhaltungsenergiebestimmungseinheit 92c, eine Selbsterhaltungsenergieanweisungseinheit 92d, eine zweite Selbsterhaltungsenergiebestimmungseinheit 92e, eine zweite Selbsterhaltungsenergieaktivierungseinheit 92f, eine zweite Stoppbedingungsherstellungsbestimmungseinheit 92g und eine zweite Selbsterhaltungsenergiestoppeinheit 92h.
  • Die Fahrzeugenergiebestimmungseinheit 92a bestimmt Einschalten und Ausschalten der Fahrzeugenergie. Die Umschreiben-in-Bearbeitung-Bestimmungseinheit 92b bestimmt, ob oder nicht ein Anwendungsprogramm umgeschrieben wird. Die Umschreiben-in-Bearbeitung-Bestimmungseinheit 95b bestimmt ebenso die Umschreibziel-ECU 19, in der das Anwendungsprogramm umgeschrieben wird. Die erste Selbsterhaltungsenergieaktivierungseinheit 92c bestimmt die Notwendigkeit zur Selbsterhaltung der Energie in den Fahrzeugslavevorrichtungen, wenn durch die Fahrzeugenergiebestimmungseinheit 92 bestimmt wird, das die Fahrzeugenergie ausgeschaltet ist, und durch die Umschreiben-in-Bearbeitung-Bestimmungseinheit 92b bestimmt wird, dass das Programm umgeschrieben wird. Das heißt, die erste Selbsterhaltungsenergieaktivierungseinheit 92c nimmt Bezug auf die Umschreibspezifikationsdaten, die in 8 illustriert sind, und bestimmt, dass die Energie selbsterhalten werden muss, wenn ein Umschreibverfahren in den ECU-Informationen der Umschreibziel-ECU 19 als das Selbsterhaltungsenergieverfahren bestimmt ist, und bestimmt, dass die Energie nicht selbsterhalten werden muss, wenn das Umschreibverfahren als das Energieversorgungsteuerverfahren spezifiziert ist.
  • Wenn durch die erste Selbsterhaltungsenergiebestimmungseinheit 92c bestimmt wird, dass die Energie in der Fahrzeugslavevorrichtung selbsterhalten werden muss, weist die Selbsterhaltungsenergieanweisungseinheit 92d die Fahrzeugslavevorrichtung an, die erste Selbsterhaltungsenergieschaltung zu aktivieren. Als ein Aspekt, in dem die Selbsterhaltungsenergieanweisungseinheit 92d eine Anweisung zum Aktivieren der ersten Selbsterhaltungsenergieschaltung gibt, gibt es einen Aspekt zum Bestimmen einer Abschlusszeit der Selbsterhaltungsenergie, einen Aspekt zum Geben einer Anweisung für eine Verlängerungszeit der Selbsterhaltungsenergie und einen Aspekt zum Fortsetzen periodischen Ausgebens einer Selbsterhaltungsanforderung an die Fahrzeugslavevorrichtung. Die Selbsterhaltungsenergieanweisungseinheit 92d nimmt Bezug auf die Umschreibspezifikationsdaten, die in 8 illustriert sind, und weist die Fahrzeugslavevorrichtung an, die erste Selbsterhaltungsenergieschaltung gemäß einer Zeit zu aktivieren, die in der Selbsterhaltungsenergiezeit der ECU-Informationen der Umschreibziel-ECU 19 bestimmt ist.
  • Das heißt, in dem Aspekt zum Bestimmen der Abschlusszeit der Selbsterhaltungsenergie bestimmt die Selbsterhaltungsenergieanweisungseinheit 92d als die Abschlusszeit die Zeit, die erlangt wird, indem die Zeit, die in den Umschreibspezifikationsdaten bestimmt ist, zu der gegenwärtigen Zeit addiert wird. Im Fall des Bestimmens der Verlängerungszeit der Selbsterhaltungsenergie bestimmt die Selbsterhaltungsenergieanweisungseinheit 92d die Zeit, die in den Umschreibspezifikationsdaten spezifiziert ist, als die Verlängerungszeit. In dem Aspekt des Fortsetzens periodischen Ausgebens der Selbsterhaltungsanforderung an die Fahrzeugslavevorrichtung, setzt die Selbsterhaltungsenergieanweisungseinheit 92d periodisches Ausgeben der Selbsterhaltungsanforderung an die Fahrzeugslavevorrichtung fort, bis die Zeit, die in den Umschreibspezifikationsdaten spezifiziert ist, abläuft.
  • Die zweite Selbsterhaltungsenergiebestimmungseinheit 92e bestimmt die Notwendigkeit zur Selbsterhaltung der Energie darin, wenn durch die Fahrzeugenergiebestimmungseinheit 92a bestimmt wird, das die Fahrzeugenergie ausgeschaltet ist, und durch die Umschreiben-in-Bearbeitung-Bestimmungseinheit 92b bestimmt wird, dass das Programm umgeschrieben wird. Das heißt, die Notwendigkeit zur Selbsterhaltung der Energie wird hinsichtlich einer Konfiguration bestimmt, in der das CGW 13 ein IG-Energie-System oder ein ACC-Energie-System ist. Wenn durch die zweite Selbsterhaltungsenergiebestimmungseinheit 92e bestimmt wird, dass es erforderlich ist, die Energieversorgung darin selbst zu erhalten, aktiviert die zweite Selbsterhaltungsenergieaktivierungseinheit 92f die zweite Selbsterhaltungsenergieschaltung.
  • In diesem Fall, wenn die zweite Selbsterhaltungsenergieschaltung gegenwärtig gestoppt ist, startet die zweite Selbsterhaltungsenergieaktivierungseinheit 92f die zweite Selbsterhaltungsenergieschaltung und aktiviert somit die zweite Selbsterhaltungsenergieschaltung. In einem Fall, in dem die zweite Selbsterhaltungsenergieschaltung gegenwärtig gestartet ist, verlängert die zweite Selbsterhaltungsenergieaktivierungseinheit 92f eine Operationsperiode der zweiten Selbsterhaltungsenergieschaltung und aktiviert somit die Selbsterhaltungsenergieschaltung.
  • Die zweite Stoppbedingungsherstellungsbestimmungseinheit 92g bestimmt, ob oder nicht eine Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung hergestellt ist. Insbesondere überwacht die zweite Stoppbedingungsherstellungsbestimmungseinheit 92g eine Restbatterieladung der Fahrzeugbatterie 40, das Auftreten einer Zeitüberschreitung und Abschluss des Umschreibens in der Umschreibziel-ECU 19 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung geschätzt wird, wenn bestimmt wird, dass die Restbatterieladung der Fahrzeugbatterie 40 kleiner als eine vorbestimmte Kapazität ist, die Zeitüberschreitung auftritt oder das Umschreiben in der Umschreibziel-ECU 19 abgeschlossen ist. Wenn durch die zweite Stoppbedingungsherstellungsbestimmungseinheit 92g bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie der zweiten Selbsterhaltungsenergieschaltung hergestellt ist, stoppt die zweite Selbsterhaltungsenergiestoppeinheit 92h die zweite Selbsterhaltungsenergieschaltung.
  • Wie in 219 illustriert ist, beinhaltet die ECU 19 eine Anweisungsbestimmungseinheit 108a, einer erste Selbsterhaltungsenergieaktivierungseinheit 108b, eine erste Stoppbedingungsherstellungsbestimmungseinheit 108c und eine erste Selbsterhaltungsenergiestoppeinheit 108d in der Selbsterhaltungsenergieausführungssteuereinheit 108. Die Anweisungsbestimmungseinheit 108a bestimmt, ob oder nicht eine Anweisung zum Aktivieren der ersten Selbsterhaltungsenergieschaltung von dem CGW 13 gegeben wurde.
  • Die erste Selbsterhaltungsenergieaktivierungseinheit 108b aktiviert die erste Selbsterhaltungsenergieschaltung, wenn durch die Anweisungsbestimmungseinheit 108a bestimmt wird, dass die Anweisung zum Aktivieren der ersten Selbsterhaltungsenergieschaltung gegeben wurde. In einem Fall, in dem eine Abschlusszeit der Selbsterhaltungsenergie bestimmt ist, aktiviert die erste Selbsterhaltungsenergieaktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung bis zur bestimmten Abschlusszeit. In einem Fall, in dem eine Verlängerungszeit der Selbsterhaltungsenergie bestimmt ist, aktiviert die erste Selbsterhaltungsenergieaktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung, bis die bestimmte Verlängerungszeit ab der gegenwärtigen Zeit abläuft. In einem Fall, in dem eine Selbsterhaltungsanforderung von dem CGW 13 eingegeben wird, aktiviert die erste Selbsterhaltungsenergieaktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung, solange die Selbsterhaltungsanforderung kontinuierlich eingegeben wird.
  • In diesem Fall, wenn die erste Selbsterhaltungsenergieschaltung gegenwärtig gestoppt ist, startet die erste Selbsterhaltungsenergieaktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung und aktiviert somit die erste Selbsterhaltungsenergieschaltung. In einem Fall, in dem die erste Selbsterhaltungsenergieschaltung gegenwärtig gestartet ist, verlängert die erste Selbsterhaltungsenergieaktivierungseinheit 108b eine Operationsperiode der ersten Selbsterhaltungsenergieschaltung und aktiviert somit die erste Selbsterhaltungsenergieschaltung. Die erste Selbsterhaltungsenergieaktivierungseinheit 108b speichert eine Standardselbsterhaltungsenergiezeit und aktiviert die erste Selbsterhaltungsenergieschaltung für die Standardselbsterhaltungsenergiezeit sogar, wenn eine Anweisung zum Aktivieren der ersten Selbsterhaltungsenergieschaltung nicht gegeben ist. Das heißt, wenn die Anweisung zum Aktivieren der ersten Selbsterhaltungsenergieschaltung gegeben wird, aktiviert die erste Selbsterhaltungsenergieaktivierungseinheit 108b die erste Selbsterhaltungsenergieschaltung mit Priorität gegenüber der längeren Zeit der Standardselbsterhaltungsenergiezeit und der Selbsterhaltungsenergiezeit basierend auf der Anweisung von dem CGW 13.
  • Die erste Stoppbedingungsherstellungsbestimmungseinheit 108c bestimmt, ob oder nicht eine Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung hergestellt ist. Insbesondere, wenn ein Selbsterhaltungsenergieziel die Umschreibziel-ECU 19 ist, überwacht die erste Stoppbedingungsherstellungsbestimmungseinheit 108c das Auftreten einer Zeitüberschreitung und einer Stoppanweisung von dem CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung hergestellt ist, wenn bestimmt wird, dass die Zeitüberschreitung aufgetreten ist oder die Stoppanweisung von dem CGW 13 empfangen wurde. Wenn ein Selbsterhaltungsenergieziel die Fahrzeugbordanzeige 7 ist, überwacht die erste Stoppbedingungsherstellungsbestimmungseinheit 108c das Auftreten einer Zeitüberschreitung, des Aussteigens des Benutzers und einer Stoppanweisung von dem CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung hergestellt ist, wenn bestimmt wird, dass die Zeitüberschreitung aufgetreten ist, der Benutzer ausgestiegen ist oder die Stoppanweisung von dem CGW 13 empfangen wurde. Wenn ein Selbsterhaltungsenergieziel die Energieversorgungsverwaltungs-ECU 20 ist, überwacht die erste Stoppbedingungsherstellungsbestimmungseinheit 108c eine Stoppanweisung von dem CGW 13 und bestimmt, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung hergestellt ist, wenn bestimmt wird, dass die Stoppanweisung von dem CGW 13 empfangen wurde. Die erste Selbsterhaltungsenergiestoppeinheit 108d stoppt die erste Selbsterhaltungsenergieschaltung, wenn durch die zweite Stoppbedingungsherstellungsbestimmungseinheit 108c bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie der ersten Selbsterhaltungsenergieschaltung hergestellt ist.
  • Als nächstes wird eine Operation der vorstehend beschriebenen Konfiguration gemäß 220 bis 222 beschrieben. Es wird ein Fall beschrieben, in dem die Fahrzeugslavevorrichtung die Umschreibziel-ECU 19 ist. Jede der CGW 13 und der Umschreibziel-ECU 19 führt ein Selbsterhaltungsenergieausführungssteuerprogramm aus und führt somit die Selbsterhaltungsenergieausführungssteuerverarbeitung aus.
  • Wenn die Selbsterhaltungsenergieausführungssteuerverarbeitung initiiert ist, bestimmt das CGW 13, ob oder nicht die Fahrzeugenergie ausgeschaltet ist (S2601; entsprechend einer Fahrzeugenergiebestimmungsprozedur). Wenn bestimmt wird, dass die Fahrzeugenergie ausgeschaltet ist (S2601: JA), bestimmt das CGW 13, ob oder nicht das Anwendungsprogramm umgeschrieben wird (S2602; entsprechend einer Umschreiben-in-Bearbeitung-Bestimmungsprozedur) Wenn bestimmt wird, dass das Anwendungsprogramm umgeschrieben wird (S2602: JA), startet das CGW 13 die zweite Selbsterhaltungsenergieschaltung (S2603; entsprechend einer zweiten Selbsterhaltungsenergieaktivierungsprozedur) und bestimmt die Notwendigkeit zur Selbsterhaltung der Energie in der Umschreibziel-ECU 19 (S2604; entsprechend einer Selbsterhaltungsenergiebestimmungsprozedur).
  • Wenn bestimmt wird, dass es erforderlich ist, die Energie in der Umschreibziel-ECU 19 selbst zu erhalten (S2604: JA), weist das CGW 13 die Umschreibziel-ECU 19 an, die erste Selbsterhaltungsenergieschaltung zu aktivieren (S2605; entsprechend einer Selbsterhaltungsenergieanweisungsprozedur). Es wird bestimmt, ob oder nicht eine Stoppbedingung für die Selbsterhaltungsenergie hergestellt ist (S2606), und, wenn bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie hergestellt ist (S2606: JA), stoppt das CGW 13 die zweite Selbsterhaltungsenergieschaltung (S2607) und beendet die Selbsterhaltungsenergieausführungssteuerverarbeitung.
  • Obwohl das CGW 13 konfiguriert ist, um die Selbsterhaltungsenergieschaltung zu starten, wenn bestimmt wird, dass ein Anwendungsprogramm umgeschrieben wird, kann das CGW 13 konfiguriert sein, um die Selbsterhaltungsenergieschaltung zu starten, wenn bestimmt wird, dass die Fahrzeugenergie ausgeschaltet ist, und eine Operationsperiode der Selbsterhaltungsenergieschaltung zu verlängern, die gegenwärtig gestartet ist, wenn bestimmt wird, dass das Anwendungsprogramm umgeschrieben wird.
  • Wenn die Selbsterhaltungsenergieausführungssteuerverarbeitung initiiert ist, bestimmt die Umschreibziel-ECU 19, ob oder nicht die Fahrzeugenergie ausgeschaltet ist (S2611). Wenn bestimmt wird, dass die Fahrzeugenergie ausgeschaltet ist (S2611: JA), startet die Umschreibziel-ECU 19 die Selbsterhaltungsschaltung (S2612), bestimmt, ob oder nicht eine Stoppbedingung für die Selbsterhaltungsenergie hergestellt ist (S2613), und bestimmt, ob oder nicht eine Anweisung zum Aktivieren der Selbsterhaltungsenergieschaltung von dem CGW 13 gegeben wurde (S2614). Wenn bestimmt wird, dass die Anweisung zum Aktivieren der Selbsterhaltungsenergieschaltung von dem CGW 13 gegeben wurde (S2614: JA), verlängert die Umschreibziel-ECU 19 eine Operationsperiode der Selbsterhaltungsenergieschaltung, die gegenwärtig gestartet ist (S2615). Wenn bestimmt wird, dass die Stoppbedingung für die Selbsterhaltungsenergie hergestellt ist (S2613: JA), stoppt die Umschreibziel-ECU 19 die Selbsterhaltungsenergieschaltung (S2616) und beendet die Selbsterhaltungsenergieausführungssteuerverarbeitung.
  • Obwohl die Umschreibziel-ECU 19 konfiguriert ist, um die Selbsterhaltungsenergieschaltung in einem Fall zu starten, in dem bestimmt wird, dass die Fahrzeugenergie ausgeschaltet ist, kann die Umschreibziel-ECU 19 konfiguriert sein, die Selbsterhaltungsenergieschaltung nicht zu starten und zu bestimmen, dass die Fahrzeugenergie ausgeschaltet ist, in einem Fall, in dem bestimmt wird, dass die Fahrzeugenergie ausgeschaltet ist, und die Selbsterhaltungsenergieschaltung zu starten, die gegenwärtig gestoppt ist, wenn bestimmt wird, dass eine Anweisung zum Aktivieren der Selbsterhaltungsenergieschaltung von dem CGW 13 gegeben ist.
  • Die vorstehende Beschreibung betrifft einen Fall, in dem eine Fahrzeugslavevorrichtung die Umschreibziel-ECU 19 ist, aber das gleiche gilt für einen Fall, in dem eine Fahrzeugslavevorrichtung die Fahrzeugbordanzeige 7 oder die Energieversorgungsverwaltungs-ECU 20 ist. Wie in 222 illustriert ist, ist in der Umschreibziel-ECU 19 die Operation der Selbsterhaltungsenergieschaltung in einer Periode von der Vorbereitung zur Installation bis zur Post-Umschreibverarbeitung erforderlich und in der Fahrzeugbordanzeige 7 ist die Operation der Selbsterhaltungsenergieschaltung in Perioden des Wartens auf Aktualisierungsgenehmigung, Wartens auf Herunterladegenehmigung, Warten auf Installationsgenehmigung und Warten auf Aktivierungsgenehmigung erforderlich.
  • Wie vorstehend beschrieben ist, bestimmt durch Ausführen der Selbsterhaltungsenergieausführungssteuerverarbeitung, wenn bestimmt wird, dass die Fahrzeugenergie ausgeschaltet ist und ein Anwendungsprogramm umgeschrieben wird, das CGW 13 die Notwendigkeit zur Selbsterhaltung der Energie in der Umschreibziel-ECU 19 und, wenn bestimmt wird, dass es erforderlich ist, die Energie selbstzuerhalten, weist das CGW 13 die Umschreibziel-ECU 19 an, die Selbsterhaltungsenergieschaltung zu aktivieren. Wenn bestimmt wird, dass eine Anweisung zum Aktivieren der Selbsterhaltungsenergieschaltung von dem CGW 13 gegeben wurde, aktiviert die Umschreibziel-ECU 19 die Selbsterhaltungsenergieschaltung. Die Selbsterhaltungsenergieschaltung wird derart aktiviert, dass die Operationsenergie zum Umschreiben des Anwendungsprogramms sichergestellt werden kann und Umschreiben des Anwendungsprogramms angemessen abgeschlossen werden kann.
  • (27) Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert
  • Eine Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert, wird gemäß 223 bis 227 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt eine Umschreibungsanweisungsverarbeitung basierend auf Überschreiben der Konfigurationsfestlegungsinformationen in dem CGW 13 aus. Die Konfigurationsfestlegungsinformationen sind ein festgelegter Wert und beinhalten unterschiedliche Parameter, die zur Steuerung verwendet werden. In der vorliegenden Ausführungsform wird ein Fall beschrieben, in dem die Konfigurationsfestlegungsinformationen ebenso unter Verwendung einer Konfiguration bezüglich Programmaktualisierung wie in der vorstehenden (18) Umschreibungsausführungssteuerverarbeitung (148 bis 155) aktualisiert werden. Das CGW 13 bestimmt, ob die Konfigurationsfestlegungsinformationen zu überschrieben oder zurückzurollen sind, gemäß den Umschreibspezifikationsdaten, die in 8 illustriert ist. Da hier der Umschreibtyp der Konfigurationsfestlegungsinformationen als Überschreiben spezifiziert wird, gibt das CGW 13 eine Anweisung zum Umschreiben basierend auf Überschreiben der Konfigurationsfestlegungsinformationen. Überschreiben der Konfigurationsfestlegungsinformationen bedeutet, dass die Konfigurationsfestlegungsinformationen unter Verwendung neuer Konfigurationsfestlegungsinformationen ungeachtet eines Inhalts alter Konfigurationsfestlegungsinformationen aktualisiert werden.
  • Wie in 223 illustriert ist, beinhaltet das CGW 13 eine Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit 93a, eine Erlangungseinheit 93b für spezifische Informationen, eine Sendeeinheit 93c für spezifische Informationen und eine Empfangseinheit 93d für neue Konfigurationsfestlegungsinformationen in der Umschreibanweisungseinheit 93 basierend auf Überschreiben von Konfigurationsfestlegungsinformationen. Die Konfigurationsinformationsfestlegungsüberschreibanweisungseinheit 93a weist die Umschreibziel-ECU 19 an, mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, die in Antwort auf Ausführung eines Umschreibzielprogramms verwendet werden, und weist die Umschreibziel-ECU 19 an, die Konfigurationsfestlegungsinformationen umzuschreiben, während oder nach Umschreiben eines Anwendungsprogramms. Die Erlangungseinheit 93b für spezifische Informationen erlangt von jeder ECU 19 spezifische Informationen zum Spezifizieren alter Konfigurationsfestlegungsinformationen, die in dem Flash-Speicher gespeichert sind. In diesem Fall, wenn eine SID oder eine DID durch die Umschreibspezifikationsdaten spezifiziert wird, erlangt die Erlangungseinheit 93b für spezifische Informationen die spezifischen Informationen von jeder ECU 19 unter Verwendung der SID oder der DID, die durch die Umschreibspezifikationsdaten spezifiziert werden. Die Erlangungseinheit 93b für spezifische Informationen 93b erlangt eine Softwareversion, die eine Version des Programms angibt, oder eine Konfigurationsfestlegungsinformationsversion, die eine Version der Konfigurationsfestlegungsinformationen als die spezifischen Informationen angibt, als die Konfigurationsinformationen der ECU 19 gemäß einer Prozedur, die durch die Umschreibspezifikationsdaten bestimmt ist.
  • Wenn die spezifischen Informationen durch die Erlangungseinheit 93b für spezifische Informationen von der Umschreibziel-ECU 19 erlangt werden, veranlasst die Sendeeinheit 93c für spezifische Informationen das DCM 12, die erlangten spezifischen Informationen an die Zentralvorrichtung 3 zu senden. Wenn neue Konfigurationsfestlegungsinformationen entsprechend der spezifischen Informationen durch das DCM 12 von der Zentralvorrichtung 3 empfangen werden, erlangt die Empfangseinheit 93d für neue Konfigurationsfestlegungsinformationen die neuen Konfigurationsfestlegungsinformationen von dem DCM 12. Insbesondere erlangt die Empfangseinheit 93d für neue Konfigurationsfestlegungsinformationen die neuen Konfigurationsfestlegungsinformationen, die in dem Verteilungspaket beinhaltet sind, die durch das DCM 12 empfangen werden, von dem DCM 12. In der Verarbeitung zum Erzeugen des Verteilungspakets, die in 6 illustriert ist, erzeugt die Zentralvorrichtung 3 das Verteilungspaket, in dem veranlasst wird, dass die neuen Konfigurationsfestlegungsinformationen in Umprogrammierungsdaten anstelle von Differenzdaten entsprechend der ECU 19 beinhaltet sind. Alternativ erzeugt die Zentralvorrichtung 3 das Verteilungspaket, indem veranlasst wird, dass die Differenzdaten und die neuen Konfigurationsfestlegungsinformationen entsprechend der ECU 19 in den Umprogrammierungsdaten beinhaltet sind. Die Umschreibspezifikationsdaten (vgl. 8), die in dem Verteilungspaket beinhaltet sind, erhalten den Typ „Konfigurationsdaten“ als einen Schreibdatentyp.
  • Alternativ werden die neuen Konfigurationsfestlegungsinformationen von der Zentralvorrichtung 3 gesendet und die Empfangseinheit 93d für neue Konfigurationsfestlegungsinformationen erlangt die neuen Konfigurationsfestlegungsinformationen von dem DCM 12, das die neuen Konfigurationsfestlegungsinformationen in Antwort darauf empfangen hat, dass die Sendeeinheit 93c für spezifische Informationen die spezifischen Informationen der Umschreibziel-ECU 19 gesendet hat. Beispielsweise, nachdem die Installation unter Verwendung der Differenzdaten abgeschlossen ist, sendet die Empfangseinheit 93d für neue Konfigurationsfestlegungsinformationen die alten Konfigurationsfestlegungsinformationen an die Zentralvorrichtung 3 und erlangt die neuen Konfigurationsfestlegungsinformationen, die von der Zentralvorrichtung 3 gesendet werden.
  • Als nächstes wird eine Operation der vorstehend beschriebenen Konfiguration gemäß 224 bis 227 beschrieben. Das CGW 13 führt ein Umschreibanweisungsprogramm, das auf Überschreiben von Konfigurationsfestlegungsinformationen basiert, aus und führt eine Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert, aus. Hier wird ein Fall, in dem Konfigurationsfestlegungsinformationen aktualisiert werden, zusammen mit der Aktualisierung eines Programms beschrieben.
  • Das CGW 13 initiiert eine Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert, zu einem vorbestimmten Zeitpunkt wie beispielsweise, wenn IG (Zündung) eingeschaltet wird. Als erstes sammelt das CGW 13 Fahrzeuginformationen und erlangt eine Softwareversion und eine Konfigurationsfestlegungsinformationsversion als die Konfigurationsinformationen jeder ECU 19 (S2701). Das CGW 13 sendet die gesammelten Fahrzeuginformationen von dem DCM 12 an die Zentralvorrichtung 3 (S2702). Das CGW 13 bestimmt, ob es eine Kampagnenmitteilung bezüglich Programmaktualisierung gibt, basierend auf einer Mitteilung von der Zentralvorrichtung 3, die mittels des DCM 12 erlangt wird (S2703). Wenn das CGW 13 bestimmt, dass es eine Kampagnenmitteilung gibt (S2703: JA), lädt das CGW 13 ein Verteilungspaket von der Zentralvorrichtung 3 an das DCM 12 herunter (S2704) und überprüft Umschreibspezifikationsdaten (S2705).
  • Das CGW 13 bestimmt, ob das Anwendungsprogramm umgeschrieben werden soll oder die Konfigurationsfestlegungsinformationen umgeschrieben werden sollen, basierend auf einem Schreibdatentyp in den Umschreibspezifikationsdaten für die Umschreibziel-ECU 19 (S2706 und S2707). Insbesondere bestimmt das CGW 13, dass die Konfigurationsfestlegungsinformationen umgeschrieben werden sollen, wenn der Aktualisierungsprogrammdatentyp „Konfigurationsdaten“ ist, und bestimmt, dass das Anwendungsprogramm andernfalls umgeschrieben wird.
  • Wenn bestimmt wird, dass das Anwendungsprogramm umgeschrieben werden soll (S2706: JA), weist das CGW 13 die Umschreibziel-ECU 19 an, das Anwendungsprogramm umzuschreiben (S2708). Wenn die Umschreibziel-ECU 19 angewiesen wird, um das Anwendungsprogramm durch das CGW 13 umzuschreiben, schreibt die Umschreibziel-ECU 19 die Schreibdaten, die von dem CGW 13 verteilt werden, in den Flash-Speicher und schreibt das Anwendungsprogramm um. Da das Umschreiben des Anwendungsprogramms in der vorstehenden (18) Umschreibungsausführungssteuerverarbeitung (148 bis 155) und dergleichen beschrieben ist, wird eine detaillierte Beschreibung davon weggelassen.
  • Wenn bestimmt wird, dass die Konfigurationsfestlegungsinformationen umgeschrieben werden sollen (S2707: JA), spezifiziert das CGW 13 ein Verfahren zum Überschreiben der Konfigurationsfestlegungsinformationen (S2709) Das heißt, als ein Verfahren zum Überschreiben der Konfigurationsfestlegungsinformationen spezifiziert das CGW 13, ob eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen während Umschreibens des Anwendungsprogramms zu geben ist oder eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen nach Umschreiben des Anwendungsprogramms zu geben ist. Beispielsweise bestimmt das CGW 13 ein Verfahren zum Überschreiben der Umschreibspezifikationsdaten und, wenn bestimmt wird, dass Überschreiben während Umschreiben des Programms auszuführen ist, gibt das CGW 13 eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen während Umschreibens des Anwendungsprogramms und, wenn bestimmt wird, dass Überschreiben nach Umschreiben des Programms auszuführen ist, gibt das CGW 13 eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen nach Umschreiben des Anwendungsprogramms. Vor dem Spezifizieren des Überschreibungsverfahrens kann das CGW 13 auf den Typ des Umschreibens der Konfigurationsdaten Bezug nehmen, der in den Umschreibspezifikationsdaten beschrieben ist, um zu bestimmen, ob die Konfigurationsfestlegungsinformationen zum Umschreiben zu überschrieben oder zurückzurollen sind. Ein Fall, in dem die Konfigurationsfestlegungsinformationen durch Überschreiben umgeschrieben werden, ist wie in der vorliegenden Ausführungsform beschrieben ist, und eine Konfiguration, in der die Konfigurationsfestlegungsinformationen durch Rollback umgeschrieben werden, wird später in der (28) Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert, beschrieben.
  • Wenn das CGW 13 das Verfahren zum Überschreiben der Konfigurationsfestlegungsinformationen spezifiziert, speichert das CGW 13 temporär die Konfigurationsfestlegungsinformationen (S2710). Das CGW 13 verteilt die Konfigurationsfestlegungsinformationen, die in dem Verteilungspaket beinhaltet sind, an die Umschreibziel-ECU 19 und weist die Umschreibziel-ECU 19 an, die Konfigurationsfestlegungsinformationen gemäß dem spezifizierten Überschreibungsverfahren zu überschreiben (S2711; entsprechend der Konfigurationsfestlegungsinformationsüberschreibanweisungsprozedur). Wenn die Umschreibziel-ECU 19 angewiesen wird, die Konfigurationsfestlegungsinformationen durch das CGW 13 umzuschreiben, überschreibt die Umschreibziel-ECU 19 die Konfigurationsfestlegungsinformationen.
  • Nach Anweisen der Umschreibziel-ECU 19, das Anwendungsprogramm umzuschreiben, oder nach Anweisen der Umschreibziel-ECU 19, die Konfigurationsfestlegungsinformationen umzuschreiben, bestimmt das CGW 13, ob oder nicht die Konfigurationsfestlegungsinformationen normal überschrieben werden, und bestimmt, ob oder nicht es erforderlich ist, Rollback auszuführen (S2712). Hierbei, wenn das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen normal überschrieben wurden, da Überschreiben der normalen Konfigurationsfestlegungsinformationen normal abgeschlossen wurde, und somit bestimmt, dass es nicht erforderlich ist, Rollback auszuführen (S2712: NEIN), beendet das CGW 13 die Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert.
  • Andererseits, wenn das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen nicht normal überschrieben wurden, da das Überschreiben der normalen Konfigurationsfestlegungsinformationen nicht normal abgeschlossen wurde oder das Überschreiben anormaler Konfigurationsfestlegungsinformationen abgeschlossen wurde, und somit bestimmt, dass es erforderlich ist, Rollback auszuführen (S2712 : JA), weist das CGW 13 die Umschreibziel-ECU 19 an, Rollback auszuführen, weist die Umschreibziel-ECU 19 an, gesicherte Konfigurationsfestlegungsinformationen in das Original zurückzubringen (S2713), und beendet die Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert. In diesem Fall kann das CGW 13 der Zentralvorrichtung 3 mitteilen, dass die Konfigurationsfestlegungsinformationen nicht normal überschrieben wurden.
  • Wenn die Umschreibziel-ECU 19 von dem CGW 13 angewiesen wird, die Konfigurationsfestlegungsinformationen zurückzurollen, macht die Umschreibziel-ECU 19 die Konfigurationsfestlegungsinformationen rückgängig, die temporär bei S2710 gespeichert sind. Danach, wenn es mehrere Informationsstücke der Umschreibziel-ECUs 19 gibt, werden die Verarbeitung von S2705 bis S2713 wiederholt für jede Umschreibziel-ECU 19 ausgeführt. Wenn das CGW 13 bestimmt, dass das Anwendungsprogramm umgeschrieben werden muss (S2706: JA) und die Umschreibziel-ECU 19 anweist, um das Anwendungsprogramm umzuschreiben (S2708), kann die Verarbeitung bei S2712 weggelassen werden.
  • Als nächstes wird ein Fall beschrieben, in dem Anweisungen für Programmaktualisierung und Konfigurationsfestlegungsinformationsaktualisierung an eine Umschreibziel-ECU 19 gegeben werden. Als ein Verfahren zum Geben einer Anweisung zum Überschreiben von Konfigurationsfestlegungsinformationen kann das CGW 13 eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen während Umschreibens eines Anwendungsprogramms geben oder eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen nach Umschreiben des Anwendungsprogramms geben. Wenn eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen während Umschreibens des Anwendungsprogramms gegeben wird, initiiert das CGW 13 Umschreiben des Anwendungsprogramms (S2721), gibt eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen, bevor Umschreiben des Anwendungsprogramms abgeschlossen ist (S2722), und schließt Umschreiben des Anwendungsprogramms ab (S2733), wie in 225 illustriert ist. Das heißt, die CGW 13 führt Aktivierung des neuen Programms nach Abschluss der Installation des Programms und ferner Abschließen des Überschreibens der Konfigurationsfestlegungsinformationen aus.
  • Wenn Umschreiben der Konfigurationsfestlegungsinformationen nach Umschreiben des Anwendungsprogramms ausgeführt wird, initiiert das CGW 13, das Anwendungsprogramm umzuschreiben (S2731), schließt Umschreiben des Anwendungsprogramms ab (S2732) und gibt dann eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen (S2723) ab, wie in 226 illustriert ist. Das heißt, das CGW 13 gibt eine Anweisung zum Überschreiben der Konfigurationsfestlegungsinformationen nach Abschluss der Installation des Programms und Ausführen der Aktivierung des neuen Programms ab.
  • 227 illustriert eine Sequenz in einem Fall, in dem die Konfigurationsfestlegungsinformationen von der Zentralvorrichtung 3 separat von dem Verteilungspaket empfangen werden. Wenn das DCM 12 die Konfigurationsfestlegungsinformationen von der Zentralvorrichtung 3 nach einer Kampagnenmitteilung empfängt, speichert das DCM 12 die empfangenen Konfigurationsfestlegungsinformationen. Wenn das DCM 12 eine Konfigurationsfestlegungsinformationsempfangsmitteilung an das CGW 13 sendet und eine Konfigurationsfestlegungsinformationserlangungsanforderung von dem CGW 13 empfängt, sendet das DCM 12 die gespeicherten Konfigurationsfestlegungsinformationen an das CGW 13. Beispielsweise in dem Fall des Ablaufdiagramms, das in 225 illustriert ist, sendet das CGW 13 eine Konfigurationsfestlegungsinformationserlangungsanforderung an das DCM 12 während Installation des Programms und erlangt die Konfigurationsfestlegungsinformationen. In dem Fall des Ablaufdiagramms von 226, nach Aktivierung des neuen Programms, sendet das CGW 13 die Konfigurationsfestlegungsinformationserlangungsanforderung an das DCM 12 und erlangt die Konfigurationsfestlegungsinformationen.
  • Wenn die Konfigurationsfestlegungsinformationen von dem DCM 12 empfangen werden, sendet das CGW 13 eine Informationsschreibanforderung an die Umschreibziel-ECU 19 und weist die Umschreibziel-ECU 19 an, die Konfigurationsfestlegungsinformationen zu überschreiben. Wenn die Informationsschreibanforderung von dem CGW 13 in einem Fall empfangen wird, in dem die Umschreibziel-ECU 19 die Konfigurationsfestlegungsinformationen überschreibt und das Überschreiben der Konfigurationsfestlegungsinformationen abschließt, sendet die Umschreibziel-ECU 19 eine Schreibantwort an das CGW 13.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert, von Konfigurationsfestlegungsinformationen aus und somit weist die Umschreibziel-ECU 19 die Umschreibziel-ECU 19 an, mit neuen Konfigurationsfestlegungsinformationen während oder nach Umschreiben des Anwendungsprogramms zu überschreiben. Die Konfigurationsfestlegungsinformationen können angemessen verwendet werden, sogar in einem Fall, in dem eine Struktur des Flash-Speichers geändert wird, wenn das Anwendungsprogramm in der Umschreibziel-ECU 19 umgeschrieben wird.
  • (28) Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert
  • Eine Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert, wird gemäß 228 bis 239 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt eine Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert, in dem CGW 13 aus. In der vorstehenden (27) Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsfestlegungsinformationen basiert, wurde die Konfiguration zum Überschreiben der Konfigurationsfestlegungsinformationen mit den neuen Konfigurationsfestlegungsinformationen, die von der Zentralvorrichtung 3 erlangt werden, oder Überschreiben der Konfigurationsfestlegungsinformationen mit den alten Konfigurationsfestlegungsinformationen, die in dem Flash-Speicher gespeichert sind, beschrieben. In der vorliegenden Ausführungsform wird eine Konfiguration beschrieben, in der neue Konfigurationsfestlegungsinformationen basierend auf alten Konfigurationsfestlegungsinformationen erzeugt werden, die in dem Flash-Speicher gespeichert sind, und die Konfigurationsfestlegungsinformationen aktualisiert werden. Das CGW 13 bestimmt, ob die Konfigurationsfestlegungsinformationen zu überschrieben oder zurückzurollen sind, gemäß den Umschreibspezifikationsdaten, die in 8 illustriert ist. Da hier der Umschreibtyp der Konfigurationsfestlegungsinformationen als Rollback bestimmt wird, gibt das CGW 13 eine Anweisung zum Umschreiben basierend auf Rollback der Konfigurationsfestlegungsinformationen. Das Rollback der Konfigurationsfestlegungsinformationen bedeutet Aktualisieren auf neue Konfigurationsfestlegungsinformationen, die unter Verwendung eines Inhalts alter Konfigurationsfestlegungsinformationen verarbeitet werden.
  • Wie in 228 illustriert ist, beinhaltet das CGW 13 eine Erlangungseinheit 94a für alte Konfigurationsfestlegungsinformationen, eine Konfigurationsfestlegungsinformationsrollbackanweisungseinheit 94b, eine Erzeugungseinheit 94c für neue Konfigurationsfestlegungsinformationen, eine Sendeeinheit 94d für alte Konfigurationsfestlegungsinformationen, eine Empfangseinheit 94e für neue Konfigurationsfestlegungsinformationen und eine Erlangungseinheit 94f für spezifische Informationen in der Umschreibanweisungseinheit 94, die auf Rollback von Konfigurationsfestlegungsinformationen basiert. Die Erlangungseinheit 94a für alte Konfigurationsfestlegungsinformationen erlangt alte Konfigurationsfestlegungsinformationen von der Umschreibziel-ECU 19. Die Konfigurationsfestlegungsinformationsrollbackanweisungseinheit 94b weist die Umschreibziel-ECU 19 an, neue Konfigurationsfestlegungsinformationen zurückzurollen (roll back), die durch Verarbeitung alter Konfigurationsfestlegungsinformationen erlangt werden, und schreibt die Konfigurationsfestlegungsinformationen während oder nach Umschreiben des Anwendungsprogramms um.
  • Wenn die alten Konfigurationsfestlegungsinformationen durch die Erlangungseinheit 94a für alte Konfigurationsfestlegungsinformationen erlangt werden, verarbeitet die Erzeugungseinheit 94c für neue Konfigurationsfestlegungsinformationen die erlangten alten Konfigurationsfestlegungsinformationen zum Erzeugen neuer Konfigurationsfestlegungsinformationen. Die Erzeugungseinheit 94c für neue Konfigurationsfestlegungsinformationen verarbeitet die alten Konfigurationsfestlegungsinformationen gemäß beispielsweise einem Verarbeitungsverfahren, das in Umschreibspezifikationsdaten bestimmt ist, und erzeugt somit neue Konfigurationsfestlegungsinformationen. Die Verarbeitung, die für die alten Konfigurationsfestlegungsinformationen durch die Erzeugungseinheit 94 für neue Konfigurationsfestlegungsinformationen ausgeführt wird, ist eine relativ einfache Verarbeitung wie Konvertierung eines Datenformats von 16 Bit in 32 Bit.
  • Wenn die alten Konfigurationsfestlegungsinformationen durch die Erlangungseinheit 94a für alte Konfigurationsfestlegungsinformationen erlangt werden, sendet die Sendeeinheit 94d für alte Konfigurationsfestlegungsinformationen die erlangten alten Konfigurationsfestlegungsinformationen von dem DCM 12 an die Zentralvorrichtung 3. Die Empfangseinheit 94e für neue Konfigurationsfestlegungsinformationen empfängt die neuen Konfigurationsfestlegungsinformationen, die durch die Zentralvorrichtung 3 erzeugt werden, die die alten Konfigurationsfestlegungsinformationen verarbeitet, von der Zentralvorrichtung 3 mittels des DCM 12. Die Zentralvorrichtung 3 verarbeitet die alten Konfigurationsfestlegungsinformationen gemäß einem Verarbeitungsverfahren, das vorab bestimmt wird, und erzeugt somit neue Konfigurationsfestlegungsinformationen. Die Verarbeitung der alten Konfigurationsfestlegungsinformationen durch die Zentralvorrichtung 3 ist eine relativ komplizierte Verarbeitung, wie beispielsweise Verwenden der alten Konfigurationsfestlegungsinformationen als Eingabewert und Umwandeln des Eingabewerts in einen Wert, der für eine Operation in einem neuen Programm geeignet ist.
  • Die Erlangungseinheit 94f für spezifische Informationen erlangt von jeder ECU 19 spezifische Informationen zum Spezifizieren alter Konfigurationsfestlegungsinformationen, die in dem Flash-Speicher gespeichert sind. In diesem Fall, wenn eine SID oder eine DID in den Umschreibspezifikationsdaten bestimmt ist, erlangt die Erlangungseinheit 94f für spezifische Informationen die spezifischen Informationen von jeder ECU 19 unter Verwendung der SID oder der DID, die in den Umschreibspezifikationsdaten bestimmt sind. Die Erlangungseinheit 94f für spezifische Informationen erlangt als die Konfigurationsinformationen der ECU 19 eine Softwareversion, die eine Version des Programms angibt, oder eine Konfigurationsfestlegungsinformationsversion, die eine Version der Konfigurationsfestlegungsinformationen angibt, als die spezifischen Informationen.
  • Als nächstes wird eine Operation der vorstehend beschriebenen Konfiguration gemäß 229 bis 239 beschrieben. Das CGW 13 führt ein Umschreibungsanweisungsprogramm, das auf Rollback von Konfigurationsfestlegungsinformationen basiert, aus und führt eine Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert, aus. Ebenso wird hierin ein Fall, in dem die Konfigurationsfestlegungsinformationen ebenso aktualisiert werden, zusammen mit der Aktualisierung des Programms beschrieben.
  • Das CGW 13 initiiert eine Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert, zu einem vorbestimmten Zeitpunkt, wie beispielsweise wenn die IG eingeschaltet wird. Als erstes sammelt das CGW 13 Fahrzeuginformationen, sammelt Fahrzeuginformationen als Konfigurationsinformationen jeder ECU 19 und erlangt eine Softwareversion und eine Konfigurationsfestlegungsinformationsversion (S2801). Das CGW 13 sendet die gesammelten Fahrzeuginformationen von dem DCM 12 an die Zentralvorrichtung 3 (S2802). Das CGW 13 bestimmt, ob oder nicht es eine Kampagnenmitteilung bezüglich der Programmaktualisierung gibt, basierend auf einer Mitteilung von der Zentralvorrichtung 3, die mittels des DCM 12 erlangt wird (S2803). Wenn bestimmt wird, dass es eine Kampagnenmitteilung gibt (S2803: JA), lädt das CGW 13 ein Verteilungspaket von der Zentralvorrichtung 3 an das DCM 12 herunter (S2804) und überprüft die Umschreibspezifikationsdaten (S2805).
  • Das CGW 13 bestimmt, ob das Anwendungsprogramm umgeschrieben werden soll oder die Konfigurationsfestlegungsinformationen umgeschrieben werden sollen, basierend auf einem Schreibdatentyp in den Umschreibspezifikationsdaten für die Umschreibziel-ECU 19 (S2806 und S2807). Insbesondere bestimmt das CGW 13, dass die Konfigurationsfestlegungsinformationen umgeschrieben werden sollen, wenn der Schreibdatentyp „Konfigurationsdaten“ ist, und bestimmt andernfalls, dass das Anwendungsprogramm umgeschrieben wird.
  • Wenn bestimmt wird, dass das Anwendungsprogramm umgeschrieben werden soll (S2806: JA), fährt das CGW 13 zu einer Umschreibanweisungsverarbeitung für das da Anwendungsprogramm fort (S2808). Wenn das CGW 13 die Umschreibanweisungsverarbeitung für das Anwendungsprogramm initiiert, analysiert das CGW 13 die Umschreibspezifikationsdaten und bestimmt, ob oder nicht die Konfigurationsfestlegungsinformationen der Umschreibziel-ECU 19 erlangt werden müssen (S2821). Das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen erlangt werden müssen, wenn bestimmt wird, dass die Konfigurationsdaten der Umschreibspezifikationsdaten erlangt werden müssen, und bestimmt, dass die Konfigurationsfestlegungsinformationen nicht erlangt werden müssen, wenn bestimmt wird, dass die Konfigurationsdaten nicht erlangt werden müssen.
  • Wenn bestimmt wird, dass die Konfigurationsfestlegungsinformationen erlangt werden müssen (S2821: JA), erlangt das CGW 13 die Konfigurationsfestlegungsinformationen, die in dem Flash-Speicher gespeichert sind, von der Umschreibziel-ECU 19 (S2822), analysiert die Umschreibspezifikationsdaten, spezifiziert ein Verarbeitungsverfahren und ein Rollbackverfahren für die erlangten alten Konfigurationsfestlegungsinformationen und bestimmt, ob oder nicht die Konfigurationsfestlegungsinformationen durch die Zentralvorrichtung 3 verarbeitet werden müssen (S2823). Das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen durch die Zentralvorrichtung 3 verarbeitet werden müssen, wenn ein Verarbeitungstyp von Konfigurationsdaten der Umschreibspezifikationsdaten als die Zentralvorrichtung 3 bestimmt wird, und bestimmt, dass die Konfigurationsfestlegungsinformationen nicht durch die Zentralvorrichtung 3 verarbeitet werden müssen, wenn der Verarbeitungstyp als das CGW bestimmt wird.
  • Wenn das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen durch die Zentralvorrichtung 3 verarbeitet werden müssen (S2823 JA), sendet das CGW 13 die erlangten Konfigurationsfestlegungsinformationen von dem DCM 12 an die Zentralvorrichtung 3 (S2824). Das CGW 13 empfängt die Konfigurationsfestlegungsinformationen, die von der Zentralvorrichtung 3 verteilt werden (S2825), speichert temporär die empfangenen Konfigurationsfestlegungsinformationen als neue Konfigurationsfestlegungsinformationen (S2827), gibt eine Anweisung zum Umschreiben des Anwendungsprogramms (S2828) und beendet die Umschreibanweisungsverarbeitung für das Anwendungsprogramm.
  • Wenn das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen nicht durch die Zentralvorrichtung 3 verarbeitet werden müssen (S2823: NEIN), verarbeitet das CGW 13 die Konfigurationsfestlegungsinformationen basierend auf den Umschreibspezifikationsdaten (S2826), speichert temporär die verarbeiteten Konfigurationsfestlegungsinformationen als neue Konfigurationsfestlegungsinformationen (S2827), gibt eine Anweisung zum Umschreiben des Anwendungsprogramms (S2828) und beendet die Umschreibanweisungsverarbeitung für das Anwendungsprogramm.
  • Wenn bestimmt wird, dass die Konfigurationsfestlegungsinformationen umgeschrieben werden müssen (S2807: JA), fährt das CGW 13 mit einer Konfigurationsfestlegungsinformationsumschreibverarbeitung fort (S2809). Wenn das CGW 13 eine Umschreibverarbeitung für die Konfigurationsfestlegungsinformationen initiiert, analysiert das CGW 13 die Umschreibspezifikationsdaten und bestimmt, ob oder nicht die Konfigurationsfestlegungsinformationen erlangt werden müssen (S2831). Das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen erlangt werden müssen, wenn bestimmt wird, dass die Konfigurationsdaten der Umschreibspezifikationsdaten erlangt werden müssen, und bestimmt, dass die Konfigurationsfestlegungsinformationen nicht erlangt werden müssen, wenn bestimmt wird, dass die Konfigurationsdaten nicht erlangt werden müssen.
  • Wenn bestimmt wird, dass die Konfigurationsfestlegungsinformationen erlangt werden müssen (S2831: JA), erlangt das CGW 13 die Konfigurationsfestlegungsinformationen, die in dem Flash-Speicher gespeichert sind, von der Umschreibziel-ECU 19 (S2832), analysiert die Umschreibspezifikationsdaten, spezifiziert ein Verarbeitungsverfahren und ein Rollbackverfahren für die erlangten alten Konfigurationsfestlegungsinformationen und bestimmt, ob oder nicht die Konfigurationsfestlegungsinformationen durch die Zentralvorrichtung 3 verarbeitet werden müssen (S2833). Das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen durch die Zentralvorrichtung 3 verarbeitet werden müssen, wenn ein Verarbeitungstyp von Konfigurationsdaten der Umschreibspezifikationsdaten als die Zentralvorrichtung 3 bestimmt wird, und bestimmt, dass die Konfigurationsfestlegungsinformationen nicht durch die Zentralvorrichtung 3 verarbeitet werden müssen, wenn der Verarbeitungstyp als das CGW bestimmt wird.
  • Wenn bestimmt wird, dass die Konfigurationsfestlegungsinformationen durch die Zentralvorrichtung 3 verarbeitet werden müssen (S2833 JA), sendet das CGW 13 die erlangten Konfigurationsfestlegungsinformationen von dem DCM 12 an die Zentralvorrichtung 3 (S2834). Das CGW 13 empfängt die Konfigurationsfestlegungsinformationen, die von der Zentralvorrichtung 3 verteilt werden (S2835), speichert temporär die empfangenen Konfigurationsfestlegungsinformationen als neue Konfigurationsfestlegungsinformationen (S2837) und beendet die Konfigurationsfestlegungsinformationsumschreibverarbeitung.
  • Wenn bestimmt wird, dass die Konfigurationsfestlegungsinformationen nicht durch die Zentralvorrichtung 3 verarbeitet werden müssen (S2833: NEIN), verarbeitet das CGW 13 die Konfigurationsfestlegungsinformationen basierend auf den Umschreibspezifikationsdaten (S2836), speichert temporär die verarbeiteten Konfigurationsfestlegungsinformationen als neue Konfigurationsfestlegungsinformationen (S2837) und beendet die Umschreibanweisungsverarbeitung des Anwendungsprogramms.
  • Die CGW 13 bestimmt, ob oder nicht die Konfigurationsfestlegungsinformationen normal nach Abschluss der Umschreibanweisungsverarbeitung für das Anwendungsprogramm oder der Rollbackanweisungsverarbeitung für die Konfigurationsfestlegungsinformationen zurückgerollt sind, und bestimmt somit, ob oder nicht ein Rollback ausgeführt werden muss (S2810). Hierbei, wenn das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen normal rückgängig gemacht wurden, da der Rollback der normalen Konfigurationsfestlegungsinformationen normal abgeschlossen wurde, und somit bestimmt, dass Rollback nicht ausgeführt werden muss (S2810: NEIN), beendet das CGW 13 die Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert.
  • Andererseits, wenn das CGW 13 bestimmt, dass die Konfigurationsfestlegungsinformationen nicht normal rückgängig gemacht wurden, da das Rollback der normalen Konfigurationsfestlegungsinformationen nicht normal abgeschlossen wurde oder das Rollback anormaler Konfigurationsfestlegungsinformationen abgeschlossen wurde, und somit bestimmt, dass es erforderlich ist, Rollback auszuführen (S2810 : JA), weist das CGW 13 die Umschreibziel-ECU 19 an, Rollback auszuführen, weist die Umschreibziel-ECU 19 an, die gesicherten Konfigurationsfestlegungsinformationen in das Original zurückzubringen (S2811), und beendet die Umschreibanweisungsverarbeitung basierend auf Überschreiben von Konfigurationsfestlegungsinformationen. In diesem Fall kann das CGW 13 der Zentralvorrichtung 3 mitteilen, dass die Konfigurationsfestlegungsinformationen nicht normal zurückgerollt wurden.
  • Wenn die Umschreibziel-ECU 19 von dem CGW 13 angewiesen wird, die Konfigurationsfestlegungsinformationen zurückzurollen, macht die Umschreibziel-ECU 19 die Konfigurationsfestlegungsinformationen rückgängig, die temporär bei S2827 oder S2837 gespeichert sind. Danach, wenn es mehrere Informationsstücke der Umschreibziel-ECUs 19 gibt, werden die Verarbeitung von S2805 bis S2811 wiederholt für jede Umschreibziel-ECU 19 ausgeführt. Wenn das CGW 13 bestimmt, dass das Anwendungsprogramm umgeschrieben werden muss (S2706: JA) und die Umschreibziel-ECU 19 anweist, um das Anwendungsprogramm umzuschreiben (S2708), kann die Verarbeitung bei S2712 weggelassen werden.
  • Als nächstes wird ein Fall beschrieben, in dem Anweisungen für Programmaktualisierung und Konfigurationsfestlegungsinformationsaktualisierung an eine Umschreibziel-ECU 19 gegeben werden.
  • Das CGW 13 kann als ein Verfahren zum Geben einer Anweisung zum Rollback der Konfigurationsfestlegungsinformationen eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen während Umschreibens des Anwendungsprogramms geben oder eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen nach Umschreiben des Anweisungsprogramms geben. Das CGW 13 kann als ein Aspekt des Erlangens der Konfigurationsfestlegungsinformationen von der Zentralvorrichtung 3 die Konfigurationsfestlegungsinformationen erlangen, die in dem Verteilungspaket gespeichert sind, die Konfigurationsfestlegungsinformationen zuerst erlangen und ein Verteilungspaket später erlangen oder das Verteilungspaket zuerst erlangen und die Konfigurationsfestlegungsinformationen später erlangen.
  • In einem Fall, in dem das CGW 13 die Konfigurationsfestlegungsinformationen erlangt, die in dem Verteilungspaket gespeichert sind, und eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen während Umschreibens des Anwendungsprogramms gibt, wie in 232 illustriert ist, wenn das CGW 13 das Verteilungspaket empfängt, in dem die Konfigurationsfestlegungsinformationen gespeichert sind, initiiert das CGW 13, das Anwendungsprogramm umzuschreiben (S2841), gibt eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen vor Abschließen des Umschreibens des Anwendungsprogramms (S2842) und schließt Umschreiben des Anwendungsprogramms ab (S2843). Das heißt, die CGW 13 führt Aktivierung des neuen Programms nach Abschluss der Installation des Programms und Abschluss des Rollbacks der Konfigurationsfestlegungsinformationen aus.
  • In einem Fall, in dem das CGW 13 die Konfigurationsfestlegungsinformationen erlangt, die in dem Verteilungspaket gespeichert sind, und eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen nach dem Umschreiben des Anwendungsprogramms gibt, wie in 233 illustriert ist, wenn das CGW 13 das Verteilungspaket empfängt, in dem die Konfigurationsfestlegungsinformationen gespeichert sind, initiiert das CGW 13, das Anwendungsprogramm umzuschreiben (S2851), schließt das Umschreiben des Anwendungsprogramms ab (S2852) und gibt dann eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen (S2853). Das heißt, das CGW 13 gibt eine Anweisung zum Zurückrollen der Konfigurationsfestlegungsinformationen nach Abschluss der Installation des Programms und Ausführen der Aktivierung des neuen Programms.
  • In einem Fall, in dem das CGW 13 die Konfigurationsfestlegungsinformationen zuerst erlangt und das Verteilungspaket später erlangt und eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen während Umschreibens des Anwendungsprogramms gibt, wie in 234 illustriert ist, wenn das CGW 13 die Konfigurationsfestlegungsinformationen empfängt und das Verteilungspaket empfängt, initiiert das CGW 13, das Anwendungsprogramm umzuschreiben (S2861), gibt eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen vor Abschließen des Umschreibens des Anwendungsprogramms (S2862) und schließt Umschreiben des Anwendungsprogramms ab (S2863). Das heißt, die CGW 13 führt Aktivierung des neuen Programms nach Abschluss der Installation des Programms und Abschluss des Rollbacks der Konfigurationsfestlegungsinformationen aus.
  • In einem Fall, in dem das CGW 13 die Konfigurationsfestlegungsinformationen zuerst erlangt und das Verteilungspaket später erlangt und eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen nach dem Umschreiben des Anwendungsprogramms gibt, wie in 235 illustriert ist, wenn das CGW 13 die Konfigurationsfestlegungsinformationen empfängt und das Verteilungspaket empfängt, initiiert das CGW 13, das Anwendungsprogramm umzuschreiben (S2871), schließt das Umschreiben des Anwendungsprogramms ab (S2872) und gibt dann eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen (S2873). Das heißt, das CGW 13 gibt eine Anweisung zum Zurückrollen der Konfigurationsfestlegungsinformationen nach Abschluss der Installation des Programms und Ausführen der Aktivierung des neuen Programms.
  • In einem Fall, in dem das CGW 13 das Verteilungspaket zuerst erlangt und die Konfigurationsfestlegungsinformationen später erlangt und eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen während Umschreibens des Anwendungsprogramms, wie in 236 illustriert ist, wenn das CGW 13 das Verteilungspaket empfängt, initiiert das CGW 13, das Anwendungsprogramm umzuschreiben (S2881), und, wenn das CGW 13 die Konfigurationsfestlegungsinformationen empfängt, gibt das CGW 13 eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen vor Abschließen des Umschreibens des Anwendungsprogramms (S2882) und schließt Umschreiben des Anwendungsprogramms ab (S2883). Das heißt, die CGW 13 führt Aktivierung des neuen Programms nach Abschluss der Installation des Programms und Abschluss des Rollbacks der Konfigurationsfestlegungsinformationen aus.
  • In einem Fall, in dem das CGW 13 das Verteilungspaket zuerst erlangt und die Konfigurationsfestlegungsinformationen später erlangt und eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen nach Umschreiben des Anwendungsprogramms gibt, wie in 237 illustriert ist, wenn das CGW 13 das Verteilungspaket empfängt, initiiert das CGW 13, das Anwendungsprogramm umzuschreiben (S2891), und, wenn das CGW 13 die Konfigurationsfestlegungsinformationen empfängt, schließt das Umschreiben des Anwendungsprogramms ab (S2892) und gibt dann eine Anweisung zum Rollback der Konfigurationsfestlegungsinformationen (S2893). Das heißt, das CGW 13 gibt eine Anweisung zum Zurückrollen der Konfigurationsfestlegungsinformationen nach Abschluss der Installation des Programms und Ausführen der Aktivierung des neuen Programms.
  • In einem Fall, in dem das CGW 13 die Konfigurationsfestlegungsinformationen darin speichert, wie in 238 illustriert ist, sendet das CGW 13 eine Informationserlangungsanforderung an die Umschreibziel-ECU 19 und, wenn die Konfigurationsfestlegungsinformationen von der Umschreibziel-ECU 19 empfangen werden, speichert das CGW 13 die empfangenen Konfigurationsfestlegungsinformationen. Danach sendet das CGW 13 eine Informationsschreibanforderung an die Umschreibziel-ECU 19 und, wenn das Rollback der Konfigurationsfestlegungsinformationen in der Umschreibziel-ECU 19 abgeschlossen ist, empfängt das CGW 13 eine Schreibantwort von der Umschreibziel-ECU 19.
  • In einem Fall, in dem die Konfigurationsfestlegungsinformationen in dem DCM 12 gespeichert sind, wie in 239 illustriert ist, sendet das CGW 13 eine Informationserlangungsanforderung an die Umschreibziel-ECU 19 und, wenn die Konfigurationsfestlegungsinformationen von der Umschreibziel-ECU 19 empfangen werden, sendet das CGW 13 eine Informationsspeicheranforderung an das DCM 12 und sendet die empfangenen Konfigurationsfestlegungsinformationen an das DCM 12. Wenn die Konfigurationsfestlegungsinformationserlangung von dem CGW 13 empfangen wird, sendet das DCM 12 eine Speicherantwort an das CGW 13 und speichert die empfangenen Konfigurationsfestlegungsinformationen. Das CGW 13 sendet eine Informationserlangungsanforderung an das DCM 12, empfängt die Konfigurationsfestlegungsinformationen von dem DCM 12, sendet eine Informationsschreibanforderung an die Umschreibziel-ECU 19 und empfängt eine Schreibantwort von der Umschreibziel-ECU 19, wenn der Rollback der Konfigurationsfestlegungsinformationen in der Umschreibziel-ECU 19 abgeschlossen ist.
  • Wie vorstehend beschrieben ist, führt das CGW 13 die Umschreibungsanweisungsverarbeitung, die auf Rollback von Konfigurationsfestlegungsinformationen basiert, aus und weist somit die Umschreibziel-ECU 19 an, die neuen Konfigurationsfestlegungsinformationen zurück zu rollen (Rollback), während die Umschreibziel-ECU 19 das Anwendungsprogramm umschreibt oder nach Umschreiben des Anwendungsprogramms. Die Konfigurationsfestlegungsinformationen können angemessen verwendet werden, sogar in einem Fall, in dem eine Struktur des Flash-Speichers geändert wird, wenn das Anwendungsprogramm in der Umschreibziel-ECU 19 umgeschrieben wird.
  • (29) Umschreibungsanweisungsverarbeitung in spezifischem Modus
  • Die Umschreibanweisungsverarbeitung in einem spezifischen Modus wird gemäß 240 bis 246 beschrieben. Das Fahrzeugprogrammumschreibsystem 1 führt die Umschreibanweisungsverarbeitung in einem spezifischen Modus in dem CGW 13 aus. Während die Programmaktualisierung, die in einer Umgebung ausgeführt wird, die von einem Benutzer eines Fahrzeugs verwendet wird, ein normaler Modus ist, ist die Programmaktualisierung, die in einer Fabrik, bei einem Händler oder dergleichen ausgeführt wird, ein spezifischer Modus. Nachfolgend werden als der spezifische Modus ein Fabrikmodus, der Programmaktualisierung ist, die in einer Fabrik ausgeführt wird, und ein Händlermodus, der Programmaktualisierung ist, die bei einem Händler ausgeführt wird, beschrieben.
  • Wie in 240 illustriert ist, werden im Flash-Speicher der ECU 19, der als Bestand in einer Fabrikumgebung für die Herstellung von Fahrzeugen gelagert ist, eine Fabriksoftware-Teilenummer und ein Fabrik-Flag gespeichert, und unvollständige provisorische Software wird als Anfangssoftware in einen Schreibbereich eines Anwendungsprogramms geschrieben. Die unvollständige provisorische Software beinhaltet nur Software zum Ausführen von Programmaktualisierung zusätzlich zu einer Inbetriebnahmeverarbeitung oder Kommunikationsverarbeitung der ECU 19. Beispielsweise in einem Fall einer Brennkraftmaschinen-ECU beinhaltet die Anfangssoftware kein Programm zur Brennkraftmaschinensteuerung.
  • Wie in 241 illustriert ist, beinhaltet das CGW 13 eine Bestimmungseinheit 95a für einen spezifischen Modus und eine Umschreibanweisungseinheit 95b in der Umschreibanweisungseinheit 95 in einem spezifischen Modus. Die Bestimmungseinheit 95a für einen spezifischen Modus bestimmt, ob oder nicht der spezifische Modus festgelegt ist, unter Verwendung eines Analyseergebnisses der Umschreibspezifikationsdaten. Das heißt, die Bestimmungseinheit 95a für einen spezifischen Modus bestimmt Modusinformationen in den Umschreibspezifikationsdaten für das CGW, die in 8 illustriert sind, bestimmt Programmaktualisierung in dem normalen Modus, wenn die Modusinformationen „normal“ sind, bestimmt Programmaktualisierung in dem Fabrikmodus, wenn die Modusinformationen „Fabrik“ sind, und bestimmt Programmaktualisierung in dem Händlermodus, wenn die Modusinformationen „Händler“ sind.
  • Wenn die Bestimmungseinheit 95a für einen spezifischen Modus bestimmt, dass der spezifische Modus festgelegt ist, weist die Umschreibanweisungseinheit 95b die Umschreibziel-ECU 19 an, die Schreibdaten in dem spezifischen Modus zu schreiben, und steuert eine Programmaktualisierungsverarbeitung in dem spezifischen Modus. Das heißt, wenn die Bestimmungseinheit 95a für einen spezifischen Modus bestimmt, dass der Fabrikmodus festgelegt ist, weist die Umschreibanweisungseinheit 95b die Umschreibziel-ECU 19 an, die Schreibdaten in dem Fabrikmodus zu schreiben, und steuert eine Programmaktualisierungsverarbeitung in dem Fabrikmodus. Wenn die Bestimmungseinheit 95a für einen spezifischen Modus bestimmt, dass der Händlermodus festgelegt ist, weist die Umschreibanweisungseinheit 95b die Umschreibziel-ECU 19 an, die Schreibdaten in dem Händlermodus zu schreiben, und steuert eine Programmaktualisierungsverarbeitung in dem Händlermodus. Wenn die Umschreibanweisungseinheit 95b eine Anweisung zum Schreiben der Schreibdaten in dem Fabrikmodus oder dem Händlermodus gibt, weist die Umschreibanweisungseinheit 95b die Umschreibziel-ECU 19 oder dergleichen an, die Schreibdaten zu schreiben, in denen die Verarbeitung zum Erlangen der Zustimmung bzw. Genehmigung des Umschreibens zur Aktualisierung des Programms, die Verarbeitung zum Anzeigen des Fortschritts und die Verarbeitung zum Ausführen der Sicherheitsfunktion wie die Integritätsverifizierung der Schreibdaten weggelassen sind. Schreiben der Schreibdaten, in denen die Verarbeitung zum Ausführen der Sicherheitsfunktion weglassen ist, bedeutet Schreiben unter Verwendung von Klartextdaten (nicht verschlüsselte Daten) durch Weglassen einer Verschlüsselungsverarbeitung durch die Zentralvorrichtung 3 und einer Entschlüsselungsverarbeitung durch die Umschreibziel-ECU 19, Schreiben, bei dem die vorstehende (6) Sicherheitszugriffsschlüsselverwaltungsverarbeitung weglassen ist, und Schreiben, bei den die vorstehende (7) Schreibdatenverifizierungsverarbeitung weggelassen ist.
  • Wie in 242 illustriert ist, beinhaltet eine Fabrikanlage 1001 beispielsweise einen Computerterminal, der als ein Server in der Fabrik funktioniert, und beinhaltet einen Computerterminal oder mehrere Computerterminals, die miteinander kooperieren. Die Fabrikanlage 1001 hat eine Funktion zum drahtlosen Ausführen von Datenkommunikation mit dem DCM 12, eine Funktion zum Akzeptieren einer Operationseingabe von einem Operator der Fabrik und dergleichen und kann Datenkommunikation mit dem CGW 13 mittels des DCM 12 in der Fabrikumgebung ausführen. Das CGW 13 weist in einem Zustand, in dem es drahtlos mit der Fabrikanlage 1001 mittels des DCM 12 verbunden ist, die Umschreibziel-ECU 19 an, die Schreibdaten in dem Fabrikmodus zu schreiben, und steuert eine Programmaktualisierungsverarbeitung in dem Fabrikmodus.
  • Wie in 243 illustriert ist, beinhaltet eine Händlereinrichtung 1002 beispielsweise einen Computerterminal, der als ein Server beim Händler funktioniert, und beinhaltet einen Computerterminal oder mehrere Computerterminals, die miteinander kooperieren. Die Händlereinrichtung 1002 hat eine Funktion zum drahtlosen Ausführen von Datenkommunikation mit dem DCM 12, eine Funktion zum Akzeptieren einer Operationseingabe von einem Operator des Händlers und dergleichen und kann Datenkommunikation mit dem CGW 13 mittels des DCM 12 in einer Händlerumgebung ausführen. Das CGW 13 weist in einem Zustand, in dem es drahtlos mit der Händlereinrichtung 1002 mittels des DCM 12 verbunden ist, die Umschreibziel-ECU 19 an, die Schreibdaten in dem Händlermodus zu schreiben, und steuert eine Programmaktualisierungsverarbeitung in dem Händlermodus.
  • Die Fabrikanlage 1001 und die Händlereinrichtung 1002 haben Funktionen äquivalent zu denen der Zentralvorrichtung 3. Das heißt, ähnlich zu dem Fall, in dem die Programmaktualisierung in dem normalen Modus in einem Zustand ausgeführt wird, in dem die Zentralvorrichtung 3 und das CGW 13 verbunden sind, wird die Programmaktualisierung in dem Fabrikmodus in einem Zustand ausgeführt, in dem die Fabrikanlage 1001 und das CGW 13 verbunden sind, und die Programmaktualisierung wird in einem Händlermodus in einem Zustand ausgeführt, in dem die Händlereinrichtung 1002 und das CGW 13 verbunden sind. Die Fabrikanlage 1001 oder die Händlereinrichtung 1002 hat Funktionen äquivalent zu denen einer Paketverwaltungseinheit 3A, einer Konfigurationsinformationsverwaltungseinheit 3B, einer Verwaltungseinheit 3C für individuelle Fahrzeuginformationen und einer Kampagnenverwaltungseinheit 3D, die in der Zentralvorrichtung 3 beinhaltet sind, die in 264 illustriert ist, die später beschrieben wird, und führt eine Programmaktualisierungsverarbeitung äquivalent zur Programmaktualisierungsverarbeitung aus, die durch die Zentralvorrichtung 3 auf dem CGW 13 ausgeführt wird, um die Programmaktualisierung in dem Fabrikmodus oder dem Händlermodus auszuführen. Das heißt, die Fabrikanlage 1001 oder die Händlereinrichtung 1002 kann die Programmaktualisierung in dem Fabrikmodus oder dem Händlermodus durch einfaches Bereitstellen der Funktionen bezüglich der Programmaktualisierung der Zentralvorrichtung 3 ausführen. Die Fabrikanlage 1001 funktioniert als die Zentralvorrichtung 3 zur Programmaktualisierung in dem Fabrikmodus und die Händlereinrichtung 1002 funktioniert als die Zentralvorrichtung 3 zur Programmaktualisierung in dem Händlermodus.
  • In der vorliegenden Ausführungsform ist die Konfiguration beispielhaft dargestellt, in der die Fabrikanlage 1001 oder die Händlereinrichtung 1002 Datenkommunikation mit dem CGW 13 mittels des DCM 12 ausführt, aber die Fabrikanlage 1001 oder die Händlereinrichtung 1002 müssen keine Funktion zum Ausführen von Datenkommunikation mit dem DCM 12 haben. Beispielsweise können durch Senden einer Programmaktualisierungsanweisung in dem Fabrikmodus von der Fabrikanlage 1001 an die Zentralvorrichtung 3 die Zentralvorrichtung 3 und das CGW 13 Datenkommunikation mittels des DCM 12 zum Ausführen von Programmaktualisierung in dem Fabrikmodus ausführen. Auf ähnliche Weise können durch Senden einer Programmaktualisierungsanweisung in dem Händlermodus von der Händlereinrichtung 1002 an die Zentralvorrichtung 3 die Zentralvorrichtung 3 und das CGW 13 Datenkommunikation mittels des DCM 12 zum Ausführen von Programmaktualisierung in dem Händlermodus ausführen.
  • Da die Fabrikanlage 1001 und das CGW 13 drahtlos verbunden sind, wie vorstehend beschrieben ist, ist es möglich, die Programmaktualisierungsverarbeitung auszuführen, sogar, wenn ein Fahrzeug, in das das CGW 13 eingebaut ist, entlang einer Produktionslinie in der Fabrik bewegt wird. Das heißt, in einer Konfiguration, in der die Fabrikanlage 1001 und das CGW 13 auf drahtgebundene Weise verbunden sind, ist beispielsweise ein Bewegungsbereich eines Fahrzeugs aufgrund einer Länge einer Kommunikationsleitung während der Programmaktualisierungsverarbeitung beschränkt und somit ist es nicht einfach, das Fahrzeug zu bewegen, und es besteht ein Bedenken, dass der Fortschritt der Herstellungsverarbeitung des Fahrzeugs beeinträchtigt werden kann. Jedoch ist es in der Konfiguration, in der die Fabrikanlage 1001 und das CGW 13 drahtlos verbunden sind, möglich, einen bestimmten Freiheitsgrad in dem Bewegungsbereich des Fahrzeugs während der Programmaktualisierungsverarbeitung bereitzustellen und somit den Einfluss auf den Fortschritt der Herstellungsverarbeitung des Fahrzeugs zu unterbinden. Das gleiche gilt für die Händlereinrichtung 1002 und in der Konfiguration, in der die Händlereinrichtung 1002 und das CGW 13 drahtlos verbunden sind, ist es möglich, den Einfluss auf den Fortschritt der Wartungsverarbeitung und der Inspektionsverarbeitung des Fahrzeugs zu unterbinden.
  • Als nächstes wird eine Operation der vorstehenden Konfiguration gemäß 244 bis 246 beschrieben. Hierbei wird ein Fall beschrieben, in dem die Umschreibziel-ECU 19 angewiesen wird, die Schreibdaten in der Fabrikumgebung zu schreiben. Das CGW 13 führt ein Umschreibanweisungsprogramm in einem spezifischen Modus aus und führt eine Umschreibungsanweisungsverarbeitung in dem spezifischen Modus aus.
  • Als erstes wird eine Umschreibanweisungsverarbeitung in dem spezifischen Modus beschrieben, die durch das CGW 13 ausgeführt wird. Wenn das CGW 13 die Umschreibanweisungsverarbeitung in dem spezifischen Modus initiiert, bestimmt das CGW 13, ob oder nicht das CGW 13 mit der Fabrikanlage verbunden ist, nachdem Energie eingeschaltet ist (S2901). Wenn bestimmt wird, dass das CGW 13 mit der Fabrikanlage verbunden ist, nachdem die Energie eingeschaltet ist (S2901: JA), überprüft das CGW 13 eine Kampagnenmitteilung, erlangt Umschreibspezifikationsdaten (S2902) und bereitet eine Umschreibverarbeitung vor (S2903). Das CGW 13 bestimmt, ob der Fabrikmodus oder normale Modus festgelegt ist, durch Bestimmen von Modusinformationen in den Umschreibspezifikationsdaten (S2904 und S2905; entsprechend einer Bestimmungsprozedur für einen spezifischen Modus).
  • Wenn bestimmt wird, dass die Modusinformationen in den Umschreibspezifikationsdaten „normal“ sind und der normale Modus festgelegt ist (S2905: JA), weist das CGW 13 die Umschreibziel-ECU 19 oder dergleichen an, Umschreiben in dem normalen Modus auszuführen (S2906). Das heißt, das CGW 13 ist in einer Umgebung, in der ist mit der Fabrikanlage 1001 verbunden ist, aber gibt eine Anweisung zum Ausführen von Programmaktualisierung in dem normalen Modus. Danach führt das CGW 13 Datenkommunikation mit der Zentralvorrichtung 3 aus, führt Programmaktualisierung in dem normalen Modus aus und beendet die Umschreibanweisungsverarbeitung in dem spezifischen Modus.
  • Wenn bestimmt wird, dass die Modusinformationen in den Umschreibspezifikationsdaten „Fabrik“ sind und der Fabrikmodus festgelegt ist (S2904: JA), weist das CGW 13 die Umschreibziel-ECU 19 oder dergleichen an, Umschreiben in dem Fabrikmodus auszuführen (S2907; entsprechend einer Schreibanweisungsprozedur für einen spezifischen Modus). Das heißt, das CGW 13 ist in einer Umgebung, in der es mit der Fabrikanlage 1001 verbunden ist, und weist die Umschreibziel-ECU 19 oder dergleichen an, Programmaktualisierung in dem Fabrikmodus auszuführen. Danach führt das CGW 13 Datenkommunikation mit der Fabrikanlage aus, führt Programmaktualisierung in dem Fabrikmodus aus und beendet die Umschreibanweisungsverarbeitung in dem spezifischen Modus.
  • In dem Fabrikmodus gibt das CGW 13 keine Anzeigeanweisung an die Fahrzeugbordanzeige 7, um die Verarbeitung zum Erlangen der Benutzerzustimmung hinsichtlich Programmaktualisierung und die Verarbeitung zum Anzeigen des Fortschritts der Programmaktualisierung wegzulassen. Das CGW 13 geht davon aus, dass die Zustimmung von dem Benutzer erlangt wurde, und veranlasst, dass eine Verarbeitung fortschreitet. Das CGW 13 führt keinen Sicherheitszugriff auf die Umschreibziel-ECU 19 unter Verwendung des Schlüssels aus, wie er in der vorstehenden (6) Sicherheitszugriffsschlüsselverwaltungsverarbeitung beschrieben ist. Das CGW 13 führt die Schreibdatenverifizierungsverarbeitung unter Verwendung des Schlüssels nicht aus, wie in der vorstehenden (7) Schreibdatenverifizierungsverarbeitung beschrieben ist.
  • Als nächstes wird eine Umschreibverarbeitung in dem spezifischen Modus, die durch die Umschreibziel-ECU 19 ausgeführt wird, beschrieben. Das CGW 13 führt eine Umschreibanweisungsverarbeitung in dem spezifischen Modus aus und die Umschreibziel-ECU 19 wird angewiesen, um Umschreiben in dem spezifischen Modus auszuführen, und führt somit eine Umschreibverarbeitung in dem spezifischen Modus aus. Wenn die Umschreibverarbeitung in dem der spezifischen Modus initiiert ist, bestimmt die Umschreibziel-ECU 19, ob oder nicht Abschluss normalen Umschreibens bestätigt ist, nachdem Energie eingeschaltet ist (S2911). Wenn bestimmt wird, dass der Abschluss des normalen Umschreibens nicht bestätigt ist, nachdem die Energie eingeschaltet ist (S2911: NEIN), bestimmt die Umschreibziel-ECU 19, ob oder nicht das Fabrik-Flag auf EIN gesetzt ist (S2912). Wenn bestimmt wird, dass das Fabrik-Flag nicht auf EIN gesetzt ist (S2912: NEIN), führt die Umschreibziel-ECU 19 Umschreiben in dem normalen Modus aus (S2913) und beendet die Umschreibverarbeitung in dem spezifischen Modus.
  • Wenn bestimmt wird, dass das Fabrik-Flag auf EIN gesetzt ist (S2912: JA), führt die Umschreibziel-ECU 19 Umschreiben in dem Fabrikmodus aus (S2914). In dem Fabrikmodus bestimmt die Umschreibziel-ECU 19, dass Zugriff auf die ECU 19 zulässig ist, sogar, wenn es keinen Sicherheitszugriff unter Verwendung eines Schlüssels gibt. Da die Schreibdaten Klartext sind, führt die Umschreibziel-ECU 19 die Umschreibverarbeitung durch weglassen einer Entschlüsselungsverarbeitung aus. Die Umschreibziel-ECU 19 bestimmt, ob das Schreiben der Schreibdaten abgeschlossen wurde (S2915). Wenn bestimmt wird, dass das Schreiben der Schreibdaten abgeschlossen wurde (S2915: JA), setzt die Umschreibziel-ECU 19 das Fabrik-Flag auf AUS (S2916) und beendet die Umschreibverarbeitung in dem spezifischen Modus. Durch Setzen des Fabrik-Flags auf AUS, schreibt die Umschreibziel-ECU 19 die Schreibdaten in dem Fabrikmodus nicht, sogar, wenn eine Anweisung zum Schreiben der Schreibdaten nach Schreiben der Schreibdaten gegeben ist, das heißt, verbietet das zweite Schreiben der Schreibdaten in dem Fabrikmodus. Da die Verarbeitung zum Ausführen der Sicherheitsfunktion in dem Fabrikmodus weggelassen wird, ist eine Schreibverarbeitung nur einmal hinsichtlich des Sicherheitsaspekts zulässig.
  • Obwohl der Fall, in dem eine Anweisung zum Schreiben der Schreibdaten an die Umschreibziel-ECU 19 in der Fabrikumgebung gegeben wird, beschrieben wurde, gilt das gleiche für einen Fall, in dem eine Anweisung zum Schreiben der Schreibdaten an die Umschreibziel-ECU 19 in der Händlerumgebung gegeben wird. Das heißt, wenn das CGW 13 die Modusinformationen in den Umschreibspezifikationsdaten bestimmt und bestimmt, dass der Händlermodus festgelegt ist, gibt das CGW 13 eine Anweisung zum Umschreiben in dem Händlermodus und die Umschreibziel-ECU 19 führt Umschreiben in dem Händlermodus aus, wenn bestimmt wird, dass das Händler-Flag auf EIN gesetzt ist.
  • Nachfolgend werden Inhalte des Umschreibens in dem Fabrikmodus und dem Händlermodus gemäß 246 beschrieben. Als erstes wird beschrieben, ob oder nicht es erforderlich ist, den Fortschritt des Umschreibens anzuzeigen. Beim Umschreiben in dem Fabrikmodus und dem Händlermodus weist das CGW 13 die Fahrzeugbordanzeige 7 oder dergleichen nicht an, den Fortschritt des Umschreibens ab einer Kampagnenmitteilung bis zum nächsten IG-EIN anzuzeigen. Das heißt, in dem Fabrikmodus besteht eine Wahrscheinlichkeit, dass eine Anzeigevorrichtung wie die Fahrzeugbordanzeige 7 während des Herstellens eines Fahrzeugs nicht montiert ist, und sogar, wenn eine Anzeigevorrichtung wie die Fahrzeugbordanzeige 7 montiert ist, wird der Fortschritt des Umschreibens nicht angezeigt, da ein Operator ausreichend die Prozedur der Programmaktualisierung oder dergleichen versteht. Auch in diesem Fall weist das CGW 13 im Händlermodus, sogar, wenn eine Anzeigevorrichtung wie die Fahrzeugbordanzeige 7 montiert ist, die Fahrzeugbordanzeige 7 oder dergleichen nicht an, den Fortschritt des Umschreibens ab einer Kampagnenmitteilung bist zum nächsten IG-EIN anzuzeigen, da ein Operator die Prozedur der Programmaktualisierung ausreichend versteht.
  • Als nächstes wird Umschreiben in dem Fabrikmodus beschrieben. In dem Fabrikmodus gibt es als Umschreibziel einen Fall, in dem Umschreiben kollektiv auf allen ECUs ausgeführt wird, die an einem Fahrzeug montiert sind (nachfolgend als Umschreibprozedur 1 beschrieben), und einen Fall, in dem Umschreiben jedes Mal ausgeführt wird, wenn eine ECU montiert wird (nachfolgend als eine Umschreibprozedur 2 bezeichnet). In einem Fall, in dem Umschreiben kollektiv auf allen ECUs ausgeführt wird, die an einem Fahrzeug montiert sind, wird eine Reihenfolge des Montierens der ECUs auf dem Fahrzeug angenommen und die Reihenfolge wird durch Umschreibspezifikationsdaten bestimmt. Das heißt, die Fabrikanlage 1001 erzeugt Umschreibspezifikationsdaten, in denen eine Reihenfolge vorab bestimmt wird, erzeugt eine Paketdatei einschließlich Aktualisierungsdaten und Umschreibspezifikationsdaten vorab und verteilt die Paketdatei an die Mastervorrichtung 11. In dem Fall, in dem Umschreiben jedes Mal ausgeführt wird, wenn eine ECU montiert ist, nachdem die Verbindung mit der ECU abgeschlossen ist, wird die verbundene ECU durch Umschreibspezifikationsdaten bestimmt. Das heißt, die Fabrikanlage 1001 erzeugt Umschreibspezifikationsdaten für jede ECU vorab, erzeugt eine Paketdatei für jede ECU einschließlich Aktualisierungsdaten und Umschreibspezifikationsdaten vorab und verteilt die Paketdatei für die ECU, deren Verbindung abgeschlossen wurde, an die Mastervorrichtung 11.
  • Im Fabrikmodus ist eine Kampagnenmitteilung in der Kampagnenmitteilungsphase nicht erforderlich. In der Herunterladephase ist eine Herunterladegenehmigung nicht erforderlich und Herunterladen wird ausgeführt. Das heißt, das CGW 13 weist die Fahrzeugbordanzeige 7 nicht an, den Herunterladegenehmigungsbildschirm anzuzeigen (34 und 35). In diesem Fall wird, da Umschreiben kollektiv auf allen ECUs, die an dem Fahrzeug montiert sind, in der Umschreibprozedur 1 ausgeführt wird, Herunterladen einmal ausgeführt und, da Umschreiben auf einer ECU jedes Mal ausgeführt wird, wenn die ECU in der Umschreibprozedur 2 montiert wird, wird Herunterladen für jede ECU ausgeführt, deren Verbindung abgeschlossen ist. In der Installationsphase ist eine Installationsgenehmigung nicht erforderlich und Installation wird ausgeführt. Das heißt, das CGW 13 weist die Fahrzeugbordanzeige 7 nicht an, einen Installationsgenehmigungsbildschirm anzuzeigen (vgl. 39). In der Aktivierungsphase wird in Umschreibprozedur 1 Aktivierung angemessen für jede Gruppe, auf der Installation abgeschlossen wurde, ausgeführt oder Aktivierung wird ausgeführt, nachdem Installation für alle ECUs abgeschlossen wurde, und in der Umschreibprozedur 2 wird Aktivierung angemessen für jede ECU ausgeführt, auf der Installation abgeschlossen wurde. Wenn IG beim nächsten Mal EIN ist, ist die Überprüfung durch den Operator nicht erforderlich. Das heißt, das CGW 13 weist die Fahrzeugbordanzeige 7 nicht an, einen Aktualisierungsabschlussbestätigungsbildschirm (vgl. 44) anzuzeigen.
  • Als nächstes wird Umschreiben durch einen Händler beschrieben. In dem Händlermodus, gibt es als Umschreibziel nur eine Ersatzziel-ECU. Das heißt, da eine Ersatzziel-ECU abhängig von einem Reparaturinhalt unsicher ist, wird Umschreiben nacheinander ausgeführt (Umschreibprozedur 2). Unvollständige provisorische Software wird in einem Schreibbereich für die Schreibdaten einer ECU nach dem Austausch geschrieben und ein Programm der ECU nach dem Austausch wird in einer Kommunikationsumgebung zwischen der Händlereinrichtung 1002 und der Mastervorrichtung 11 auf gleiche Weise wie im Fabrikmodus aktualisiert. In diesem Fall erlangt die Händlereinrichtung 1002 Konfigurationsinformationen jeder ECU von dem Fahrzeug und verteilt ein Paket einschließlich eines Programms, das mit dem Fahrzeug übereinstimmt.
  • Im Händlermodus wird in der Kampagnenmitteilungsphase dem in der vorstehend beschriebenen (24) Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung beschriebenen Händler-Flag gefolgt. Das heißt, wenn Ausführung durch das Händler-Flag bestimmt ist, wird eine Kampagnenmitteilung ausgeführt und durch das Händler-Flag unnötig (nicht notwendig) bestimmt wird, ist eine Kampagnenmitteilung nicht erforderlich. Auch in der Herunterladephase ist gemäß dem Händler-Flag, das in der vorstehenden (24) Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung beschrieben ist, wenn Notwendigkeit der Zustimmung bzw. Genehmigung bestimmt ist, eine Zustimmung zum Herunterladen erforderlich und, wenn Unnotwendigkeit der Zustimmung bestimmt ist, ist eine Zustimmung zum Herunterladen nicht erforderlich, und das Herunterladen wird für jede ECU ausgeführt, deren Verbindung abgeschlossen wurde. Auch in der Installationsphase ist gemäß dem Händler-Flag, das in der vorstehenden (24) Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung beschrieben ist, wenn Notwendigkeit der Zustimmung bzw. Genehmigung bestimmt ist, eine Zustimmung zur Installation erforderlich und, wenn Unnotwendigkeit der Zustimmung bestimmt ist, ist eine Zustimmung zur Installation nicht erforderlich, und Installation wird für jede ECU ausgeführt, die Herunterladen abgeschlossen hat. In der Aktivierungsphase wird Aktivierung angemessen für jede ECU ausgeführt, auf der Installation abgeschlossen wurde. Sogar, wenn IG das nächste Mal EIN ist, ist in einem Fall, in dem die Notwendigkeit einer Überprüfung gemäß dem Händler-Flag bestimmt ist, das in der vorstehenden (24) Fortschrittsanzeigebildschirmanzeigesteuerverarbeitung beschrieben ist, die Überprüfung, ob oder nicht die Aktivierung abgeschlossen wurde erforderlich, und in einem Fall, in dem die Unnotwendigkeit einer Überprüfung bestimmt ist, ist es nicht erforderlich, zu überprüfen, ob oder nicht die Aktivierung abgeschlossen wurde.
  • Wie vorstehend beschrieben ist, wenn der spezifische Modus festgelegt ist, weist das CGW 13 die Umschreibziel-ECU 19 an, die Schreibdaten in dem spezifischen Modus durch Ausführen der Umschreibanweisungsverarbeitung in dem spezifischen Modus zu schreiben. Auf gleiche Weise wie in dem Fall, in dem die Schreibdaten, die von der Zentralvorrichtung 3 heruntergeladen werden, in die Umschreibziel-ECU 19 geschrieben sind, ist es ebenso möglich, die Schreibdaten in die Umschreibziel-ECU 19 in einer Fabrikumgebung, einer Händlerumgebung oder dergleichen zu schreiben. Das heißt, es ist es möglich, Programmaktualisierung in der Fabrikumgebung oder Händlerumgebung zu verwirklichen, während die Funktion der Programmaktualisierung in dem Markt im normalen Modus verwendet wird. Da es nicht notwendig ist, mehrere ECUs aufgrund eines Unterschieds im Programm in Abhängigkeit von einer Klasse oder dergleichen jedes Fahrzeugs vorzubereiten, ist es möglich, die Schreibdaten angemessen zu schreiben und gleichzeitig den Bestand an elektronischen Steuereinheiten zu reduzieren, die Verwaltungsziele in einer vorbestimmten Umgebung wie einer Fabrikumgebung oder einer Händlerumgebung sind.
  • Die Gesamtsequenz der Programmaktualisierung einschließlich der vorstehend beschriebenen charakteristischen Verarbeitungen (1) bis (29) wird nun gemäß 247 bis 257 beschrieben. Es wird ein Beispiel beschrieben, in dem Anwendungsprogramme der ECU (ID1), der ECU (ID2) und der ECU (ID3), die mit dem ersten Bus verbunden sind, umgeschrieben werden und Anwendungsprogramme der ECU (ID4), der ECU (ID5) und der ECU (ID6), die mit dem zweiten Bus verbunden sind, nicht umgeschrieben werden. Die ECU (ID1) und die ECU (ID4) haben Einzelbankspeicher, die ECU (ID5) hat einen Einzelbankaussetzspeicher und die ECU (ID2), die ECU (ID3) und die ECU (ID6) haben Doppelbankspeicher. Die ECU (ID1), die ECU (ID4), die ECU (ID5) und die ECU (ID6) sind IG-Energie-ECUs, die ECU (ID2) ist eine ACC-Energie-ECU und die ECU (ID3) ist eine +B-Energie-ECU.
  • Als erstes operiert als vorläufige Vorbereitung der Benutzer das mobile Endgerät 6 oder dergleichen, gibt personenbezogene Informationen wie eine Fahrzeugnummer (eine Identifikationsnummer eines Fahrzeugs) oder eine Mobiltelefonnummer ein und registriert ein Konto in der Zentralvorrichtung 3 (S5001). Ferner operiert der Benutzer das mobile Endgerät 6 oder dergleichen, gibt Ausführungsbedingungen ein und bestimmt eine Fahrzeugposition, eine Zeitperiode oder dergleichen als Bedingungen zum Erlauben der Ausführung einer Programmaktualisierung. Die Zentralvorrichtung 3 speichert personenbezogene Informationen oder dergleichen, die mittels des mobilen Endgerät 6 empfangen werden, in einer Datenbank (S5002).
  • In dem fahrzeugseitigen System 4 sammelt das CGW 13 Informationen hinsichtlich des Fahrzeugs (S5011) und lädt die Informationen an die Zentralvorrichtung 3 mittels des DCM 12 hoch (S5012). Insbesondere beinhalten die Informationen eine Programmversion, eine Speicherkonfiguration jeder ECU 19, Aktive-Bank-Informationen, elektrische Komponenten, die auf dem Fahrzeug montiert sind, eine Fahrzeugposition, einen Fahrzeugenergiezustand und dergleichen. Die Zentralvorrichtung 3 speichert die Informationen, die von dem fahrzeugseitigen System 4 empfangen werden, in der Datenbank (S5013).
  • Wenn Programmaktualisierung erforderlich ist, erzeugt die Zentralvorrichtung 3 die Umschreibspezifikationsdaten, die in 7 und 8 illustriert sind, einschließlich Schreibdaten, die von einem Zulieferer bereitgestellt werden, der ein Bereitsteller eines Anwendungsprogramms ist, und der Informationen, die in der Datenbank gespeichert sind. Die Zentralvorrichtung 3 erzeugt Umprogrammierungsdaten einschließlich der Schreibdaten, einem Authentifikator davon und der Umschreibspezifikationsdaten. Die Zentralvorrichtung 3 verpackt die erzeugten Umprogrammierungsdaten, die separat erzeugten Verteilungsspezifikationsdaten (9) und einen Paketauthentifikator in eine Datei und erzeugt und registriert ein Verteilungspaket (S5021).
  • Nachdem das Verteilungspaket vorbereitet ist, teilt die Zentralvorrichtung 3 dem Benutzer die Programmaktualisierung mit. Die Zentralvorrichtung 3 nimmt Bezug auf personenbezogene Informationen, die in der Datenbank gespeichert sind, und sendet eine SMS (Kurznachricht) an das mobile Endgerät 6 (S5031). Das mobile Endgerät 6 wird durch die Benutzeroperation mit einer in der SMS beschriebenen Uniform Resource Locator (URL) verbunden und zeigt einen Mitteilungsinhalt an (S5032). Das mobile Endgerät 6 teilt der Zentralvorrichtung 3 eine Zustimmung bzw. Genehmigung oder Ablehnung für die Programmaktualisierung durch die Benutzeroperation mit (S5033). Die Zentralvorrichtung 3 registriert die Benutzerintentionsinformationen (Genehmigung oder Ablehnung) in der Datenbank (S5034). Hierbei kann der Benutzer anstatt durch das mobile Endgerät 6 unter Verwendung der Fahrzeugbordanzeige 7 benachrichtigt werden.
  • Das CGW 13 empfängt die Verteilungsspezifikationsdaten, die von der Zentralvorrichtung 3 über das DCM 12 gesendet werden, und überträgt die Verteilungsspezifikationsdaten an die Fahrzeugbordanzeige 7 (S5035). Die Fahrzeugbordanzeige 7 analysiert die Verteilungsspezifikationsdaten und zeigt einen Anzeigewortlaut oder dergleichen an, der der Mitteilungsinhalt ist (S5036). Die Fahrzeugbordanzeige 7 zeigt Bilddaten wie Elemente bzw. Symbole an und empfängt eine Eingabe hinsichtlich dessen, ob oder nicht der Benutzer der Programmaktualisierung zustimmt. Das CGW 13 empfängt die Benutzerintentionsinformationen von der Fahrzeugbordanzeige 7 und teilt der Zentralvorrichtung 3 die Benutzerintentionsinformationen mittels des DCM 12 mit (S5037).
  • In einem Fall, in dem die Zustimmung für die Programmaktualisierung von dem Benutzer erlangt wird, lädt das fahrzeugseitige System 4 das Verteilungspaket von der Zentralvorrichtung 3 herunter. Als erstes überprüft die Zentralvorrichtung 3, ob die Ausführungsbedingungen, die vorab für den Benutzer bestimmt werden, erfüllt sind (S5041). In einem Fall, in dem mindestens eine der Ausführungsbedingungen nicht erfüllt ist, sendet die Zentralvorrichtung 3 das Verteilungspaket nicht an das DCM 12. In einem Fall, in dem alle der Ausführungsbedingungen erfüllt sind, sendet die Zentralvorrichtung 3 die Verteilungspakete an das DCM 12 (S5042). Wenn das Verteilungspaket von der Zentralvorrichtung 3 heruntergeladen wird, speichert das DCM 12 das heruntergeladene Verteilungspaket in dem Flash-Speicher. Das DCM 12 extrahiert den Verteilungspaketauthentifikator von dem Verteilungspaket und verifiziert die Integrität der Umprogrammierungsdaten und der Verteilungsspezifikationsdaten (S5043).
  • Das DCM 12 berechnet Authentifikatoren der Umprogrammierungsdaten und der Verteilungsspezifikationsdaten beispielsweise unter Verwendung von Schlüsselinformation, die in dem CGW 13 gespeichert sind. Das DCM 12 vergleicht die berechneten Authentifikatoren mit dem Verteilungspaketauthentifikator, der von dem Verteilungspaket extrahiert wird, und bestimmt, dass die Verifizierung erfolgreich ist, wenn die Authentifikatoren übereinstimmen, und bestimmt, dass die Verifizierung fehlschlägt, wenn die Authentifikatoren nicht übereinstimmen. Wenn bestimmt wird, dass die Verifizierung fehlschlägt, löscht das DCM 12 das Verteilungspaket und teilt ebenso dem CGW 13 und der Zentralvorrichtung 3 den Verifizierungsfehler mit.
  • In einem Fall, in dem bestimmt wird, dass die Verifizierung des Verteilungspakets erfolgreich ist, entpackt das DCM 12 die Umprogrammierungsdaten, die in dem Verteilungspaket beinhaltet sind, wie in 10 illustriert ist, und teilt die entpackten Umprogrammierungsdaten in Schreibdaten und Umschreibspezifikationsdaten für jede Umschreibziel-ECU 19 auf (S5044). Die Umschreibspezifikationsdaten werden in DCM-Umschreibspezifikationsdaten und CGW-Umschreibspezifikationsdaten aufgeteilt.
  • Das DCM 12 sendet die CGW-Umschreibspezifikationsdaten an das CGW 13 (S5045). Das CGW 13 analysiert die CGW-Umschreibspezifikationsdaten, die von dem DCM 12 empfangen werden, extrahiert erforderliche Informationen und authentifiziert dann die Schreibdaten für jede ECU 19 mit dem DCM 12 (S5046). Beispielsweise berechnet das CGW 13 einen Authentifikator der Schreibdaten (Differenzdaten) der ECU (ID1) unter Verwendung der Schlüsselinformation der ECU (ID1), die darin gespeichert sind. Das CGW 13 vergleicht den berechneten Authentifikator mit dem Authentifikator, der aus den Umprogrammierungsdaten extrahiert wird, und bestimmt, dass die Verifizierung erfolgreich ist, in einem Fall, in dem die Authentifikatoren übereinstimmen, und bestimmt, dass die Verifizierung fehlschlägt, in einem Fall, in dem die Authentifikatoren nicht übereinstimmen. Wenn bestimmt wird, dass die Verifizierung fehlschlägt, löscht das CGW 13 das Verteilungspaket und teilt dem DCM 12 und der Zentralvorrichtung 3 den Verifizierungsfehler mit. Hierbei führt in einem Fall, in dem bestimmt wird, dass Verifizierung von irgendeinem der Stücke von Schreibdaten fehlschlägt, das CGW 13 Programmaktualisierung nicht auf allen der ECUs 19 aus.
  • Wenn bestimmt wird, dass alle der Stücke von Schreibdaten erfolgreich verifiziert sind, empfängt das CGW 13 die Verteilungsspezifikationsdaten von dem DCM 12 und überträgt die empfangenen Verteilungsspezifikationsdaten an die Fahrzeugbordanzeige 7 (S5047). Die Fahrzeugbordanzeige 7 speichert die Verteilungsspezifikationsdaten, die von dem CGW 13 übertragen werden. Wenn die Herunterladeverarbeitung, die vorstehend beschrieben ist, abgeschlossen ist, teilt das CGW 13 der Zentralvorrichtung 3 Herunterladeabschluss mittels des DCM 12 mit (S5048).
  • Wenn der Zentralvorrichtung 3 der Herunterladeabschluss von dem fahrzeugseitigen System 4 mitgeteilt wird, sendet die Zentralvorrichtung 3 eine SMS an das mobile Endgerät 6 (S5049). Das mobile Endgerät 6 wird durch die Benutzeroperation mit einer in der SMS beschriebenen URL verbunden und zeigt einen Installationsreservierungsbildschirm an (S5050). Das mobile Endgerät 6 teilt der Zentralvorrichtung 3 das Installationsdatum und die Zeit mit, die durch die Benutzeroperation eingegeben werden (S5051). Die Zentralvorrichtung 3 speichert das Installationsdatum und die Zeit in der Datenbank in Verknüpfung mit personenbezogenen Informationen (S5052). Hierbei kann der Benutzer veranlasst werden, das Installationsdatum und die Installationszeit unter Verwendung der Fahrzeugbordanzeige 7 anstelle des mobilen Endgeräts 6 zu reservieren. Wenn der Fahrzeugbordanzeige 7 der Herunterladeabschluss von dem CGW 13 mitgeteilt wird (S5053), zeigt die Fahrzeugbordanzeige 7 den Installationsreservierungsbildschirm an (S5054). Das CGW 13 teilt der Zentralvorrichtung 3 das Installationsdatum und die Installationszeit, die von der Fahrzeugbordanzeige 7 empfangen werden, mittels des DCM 12 mit (S5055).
  • In einem Fall, in dem das gegenwärtige Datum und die gegenwärtige Zeit das Installationsdatum und die Installationszeit erreichen, die in der Datenbank registriert sind, weist die Zentralvorrichtung 3 das fahrzeugseitige System 4 an, Installation zu initiieren (S5071). Wenn eine Anweisung zur Installation von der Zentralvorrichtung 3 gegeben wird, überprüft das DCM 12 Installationsausführungsbedingungen (S5072). Das DCM 12 überprüft beispielsweise eine Fahrzeugposition oder einen Status von Kommunikation mit der Zentralvorrichtung 3. In einem Fall, in dem alle der Ausführungsbedingungen erfüllt sind, verwendet das DCM 12 den Paketauthentifikator zum Authentifizieren des Verteilungspakets (S5073). Wenn die Authentifizierung erfolgreich ist, entpackt das DCM 12 das Verteilungspaket (S5074), extrahiert die DCM-Umschreibspezifikationsdaten und die CGW-Umschreibspezifikationsdaten, teilt die Umschreibspezifikationsdaten in Stücke von Schreibdaten für die jeweiligen ECUs 19 und teilt dem CGW 13 Installationsinitiierung mit (S5075).
  • Wenn dem CGW 13 die Installationsinitiierung von dem DCM 12 mitgeteilt wird, analysiert das CGW 13 die CGW-Umschreibspezifikationsdaten, die von dem DCM 12 erlangt werden, und bestimmt eine Reihenfolge des Ausführens des Umschreibens für die ECUs 19 (S5076). Hierbei wird angenommen, dass die ECU (ID1) als erstes Umschreiben unterzogen wird, die ECU (ID2) als zweites Umschreiben unterzogen wird und die ECU (ID3) als drittes Umschreiben unterzogen wird. Das CGW 13 verifiziert alle der Stücke von Schreibdaten für die jeweiligen Umschreibziel-ECUs 19, die in dem DCM 12 gespeichert sind, unter Verwendung der jeweiligen Authentifikatoren (S5077). Hierbei ist es besser, nicht nur Schreibdaten für ein Versions-Upgrade, sondern ebenso Schreibdaten für Rollback zu verifizieren.
  • Wenn die Verifizierung der Schreibdaten erfolgreich ist, fordert das CGW 13 die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie einzuschalten (S5078). Wenn Installation während Parkens ausgeführt wird (der IG-Schalter 42 ist ausgeschaltet und der ACC-Schalter 41 ist ausgeschaltet), in einem Fall, in dem die Umschreibziel-ECU 19 eine IG-ECU oder eine ACC-ECU ist, muss Energie zum Starten der Umschreibziel-ECU 19 bereitgestellt werden. Die Energieversorgungsverwaltungs-ECU 20 fordert die Energieversorgungssteuerschaltung 43 auf, die gleiche Energie wie in einem EIN-Zustand der IG-Energie bereitzustellen (S5079). Wenn die Energie der IG-Energieleitung 39 durch die Energieversorgungssteuerschaltung 43 zugeführt wird, werden die IG-ECU und die ACC-ECU gestartet (aufgeweckt).
  • Danach fordert das CGW 13 die ECU (ID5), die ECU (ID5) und die ECU (ID6), die die Nicht-Umschreibziel-ECUs 19 sind, und die ECU (ID2) und die ECU (ID3), die einem zweiten und nachfolgendem Umschreiben unterzogen werden, auf, zu schlafen (S5080). Hierbei wird die zweite Umschreibziel-ECU 19 Umschreiben unterzogen, nachdem die erste Umschreibziel-ECU 19 Umschreiben unterzogen wird, aber mehrere Umschreibziel-ECUs 19 können Umschreiben simultan und parallel unterzogen werden. In diesem Fall wird nur die Nicht-Umschreibziel-ECU 19 aufgefordert, zu schlafen.
  • Das CGW 13 überwacht eine Restbatterieladung (S5081) und überwacht Kommunikationslasten der Busse (S5082) parallel zur Installation in jeder Umschreibziel-ECU 19. Das CGW 13 nimmt Bezug auf einen Wert einer Batterielast und einen Wert einer Buslast (Buslasttabelle), die aus den CGW-Umschreibspezifikationsdaten extrahiert werden, und steuert Installation innerhalb eines Bereichs, der einen zulässigen Wert nicht überschreitet. Beispielsweise, wenn die Batterielast den zulässigen Wert in einem Parkzustand erreicht, stoppt das CGW 13 die Installation zu dieser Zeit.
  • Beispielsweise, wenn die Buslast des ersten Busses, mit dem die Umschreibziel-ECU (ID1) verbunden ist, den zulässigen Wert erreicht, reduziert das CGW 14 die Frequenz des Sendens der Schreibdaten an die ECU (ID1). Das Überwachen ist beendet, wenn Installation in allen der Umschreibziel-ECUs 19 abgeschlossen ist. Im Fall eines Einzelbankspeichers, da die Installation nicht inmitten der Installation beendet werden kann, ist es erforderlich vor der Initiierung der Installation zu überprüfen, ob es ausreichende Restbatterieladung gibt.
  • Das CGW 13 teilt der ECU (ID1), die als erstes Umschreiben unterzogen wird, mit, Installation zu initiieren (S5101). Wenn der ECU (ID1) Initiierung der Installation von dem CGW 13 mitgeteilt wird, veranlasst die ECU (ID1), dass ein Zustand in einen Modus für drahtlose Programmaktualisierung übergeht (S5102). Da die ECU (ID1) eine Einzelbankspeicher-ECU ist, kann die ECU (ID1) ein Anwendungsprogramm nicht ausführen oder eine Diagnoseverarbeitung unter Verwendung eines Werkzeugs parallel ausführen und tritt in einen Nur-drahtlose-Programmaktualisierung-Modus ein.
  • Wenn das CGW 13 Installation auf der ECU (ID1) ausführt, die als erstes Umschreiben unterzogen wird, authentifiziert das CGW 13 Zugriff unter Verwendung eines Sicherheitszugriffsschlüssels (S5103). Wenn Authentifizierung für den Zugriff auf die ECU (ID1) erfolgreich ist, sendet das CGW 13 Informationen der gesamten Daten, die die Schreibdaten sind, an die ECU (ID1). Die ECU (ID1) verwendet die Informationen der empfangenen gesamten Daten zum Bestimmen, ob oder nicht die Schreibdaten mit der ECU übereinstimmen bzw. konsistent sind (S5104). In einem Fall, in dem bestimmt wird, dass die Schreibdaten konsistent sind, führt die ECU (ID1) eine Schreibverarbeitung aus.
  • Das CGW 13 erlangt eine geteilte Datei einer vorbestimmten Größe (beispielsweise 1 Kilobyte) der Schreibdaten, die von dem DCM 12 an die ECU (ID1) gesendet werden, und verteilt die geteilte Datei an die ECU (ID1) (S5105). Die ECU (ID1) schreibt die geteilte Datei, die von dem CGW 13 empfangen wird, in den Flash-Speicher 33d (S5106). Wenn Schreiben abgeschlossen ist, speichert die ECU (ID1) einen Wiederholungspunkt, der eine Flash-Speicheradresse angibt, an der die geteilte Datei geschrieben ist, so dass Schreiben von der Mitte aus fortgesetzt werden kann (S5107). Als Wiederholungspunkt kann ein Flag gespeichert werden, das eine Verarbeitung angibt, die zwischen Löschen, Schreiben und den nachfolgenden Verarbeitungen auf dem Flash-Speicher ausgeführt wurde. Wenn der Wiederholungspunkt gespeichert ist, teilt die ECU (ID1) dem CGW 13 Schreibabschluss mit (S5108).
  • Wenn die Schreibabschlussmitteilung von dem ECU (ID1) empfangen wird, teilt das CGW 13 der Zentralvorrichtung 3 Umschreibstatusfortschrittsinformationen mittels des DCM 12 mit (S5109). Die Fortschrittsinformationen beinhalten Daten wie die Installationsphase und die Schreibdaten, die in kumulativen Bytes in das ECU (ID1) geschrieben wurden. Die Zentralvorrichtung 3 aktualisiert einen Webbildschirm, der von dem mobilen Endgerät 6 aus verbunden werden kann, basierend auf den Fortschrittsinformationen, die von dem DCM 12 gesendet werden (S5110). Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt beispielsweise einen Prozentsatz gegenwärtig abgeschlossener Installation als die aktualisierte Fortschrittssituation an (S5111). Demzufolge kann sogar in einem Fall, in dem das Fahrzeug in dem Parkzustand ist und der Benutzer außerhalb des Fahrzeugs ist, das mobile Endgerät 6 eine Fortschrittssituation der Installation erkennen. Hierbei kann der Fortschritt an der Fahrzeugbordanzeige 7 statt auf dem mobilen Endgerät 6 angezeigt werden. Wenn eine Umschreibabschlussmitteilung von der ECU (ID1) empfangen wird, teilt das CGW 13 der Fahrzeugbordanzeige 7 Umschreibstatusfortschrittsinformationen mit (S5112). Die Fahrzeugbordanzeige 7 aktualisiert und zeigt einen Fortschrittssituationsbildschirm an (S5113). In einem Fall einer Doppelbankspeicherkonfiguration wie der ECU (ID2) und der ECU (ID3) ist Installation sogar möglich, wenn das Fahrzeug in einem Fahrzustand ist. Somit kann beispielsweise, wenn das Fahrzeug in einem IG-Schalter-ein-Zustand ist, die Fahrzeugbordanzeige 7 die Fortschrittssituation anzeigen.
  • Wenn die Schreibabschlussmitteilung von der ECU (ID1) empfangen wird, erlangt das CGW 13 eine zweite geteilte Datei als die nächsten Schreibdaten und verteilt die geteilte Datei an die ECU (ID1). Danach werden die Verarbeitungen bei S5105 bis S5113 wiederholt bis zu einer N-ten geteilten Datei ausgeführt, die die letzten Schreibdaten darstellt. Wenn Schreiben der N-ten geteilten Datei abgeschlossen ist, verifiziert die ECU (ID1) die Integrität des Aktualisierungsprogramm des Flash-Speichers und überprüft, ob oder nicht das Aktualisierungsprogramm korrekt geschrieben wurde (S5114). Wenn dem CGW 13 von der ECU (ID1) mitgeteilt wird, dass alle der geteilten Dateien geschrieben wurden und die Integritätsverifizierung erfolgreich war, fordert das CGW 13 die ECU (ID1) auf, zu schlafen (S5115). Die ECU (ID1) schläft temporär, ohne durch das installierte Aktualisierungsprogramm gestartet zu werden.
  • Das CGW 13 fordert die zweite Umschreib-ECU (ID2) aus, aufzuwachen (S5201). Das CGW 13 teilt der ECU (ID2) mit, dass ein Programm drahtlos zu aktualisieren ist und Installation initiiert ist (S5202). Die ECU (ID2) veranlasst, dass ein Zustand in einen Modus für drahtlose Programmaktualisierung als ein interner Zustand übergeht (S5203). Die ECU (ID2), die einen Doppelbankspeicher hat, kann ein Anwendungsprogramm und Diagnose unter Verwendung von Werkzeugen während des Modus für drahtlose Programmaktualisierung ausführen. Das CGW 13 authentifiziert Zugriff auf die ECU (ID2) (S5204). Die ECU (ID2) bestimmt, ob oder nicht Differenzdaten, die die Schreibdaten sind, mit der ECU konsistent sind (S5205). Da die ECU (ID2) einen Doppelbankspeicher hat, bestimmt die ECU (ID2) ebenso, ob oder nicht die Schreibdaten konsistent mit einer inaktiven Bank des Flash-Speichers sind. Beispielsweise unter der Annahme, dass die Bank-A der ECU (ID2) eine aktive Bank ist und die Bank-B eine inaktive Bank ist, in einem Fall, in dem die Schreibdaten eine Adresse sind, die nicht mit der Bank-B konsistent ist, teilt das CGW 13 der Zentralvorrichtung 3 mittels des DCM 12 mit, dass die Schreibdaten fehlerhaft sind, ohne mit der nachfolgenden Verarbeitung fortzufahren. Das CGW 13 führt eine später beschriebene Rollbackverarbeitung aus. In einem Fall, in dem bestimmt wird, dass die Schreibdaten konsistent mit der ECU sind, wird eine Schreibverarbeitung auf der ECU (ID2) ausgeführt. Danach sind Verarbeitungen bei S5206 bis S5216 bezüglich der ECU (ID2) die gleichen wie die bei S5105 bis S5115. Bei S5207, wenn die Differenzdaten in die ECU (ID2) geschrieben werden, die einen Doppelbankspeicher hat, wie in 18 illustriert ist, wird eine Differenz wiederhergestellt, indem alte Daten und die Differenzdaten verwendet werden, um neue Daten zu erzeugen, und die neuen Daten werden in den Flash-Speicher 33d geschrieben.
  • Der CGW 13 fordert die dritte Umschreib-ECU (ID3) auf, aufzuwachen, wenn die gesamte Installation in der ECU (ID2) abgeschlossen ist und die ECU (ID2) schläft (S5301). Das CGW 13 teilt der ECU (ID3) mit, dass das Programm drahtlos zu aktualisieren ist und Installation initiiert ist (S5302). Die ECU (ID3) veranlasst, dass ein Zustand in einen Modus für drahtlose Programmaktualisierung als in interner Zustand übergeht (S5303). Das CGW 13 authentifiziert Zugriff auf die ECU (ID3) (S5304). Die ECU (ID3) bestimmt, ob oder nicht Differenzdaten, die die Schreibdaten sind, mit der ECU konsistent sind (S5305). In einem Fall, in dem bestimmt wird, dass die Schreibdaten konsistent mit der ECU sind, wird eine Schreibverarbeitung auf der ECU (ID3) ausgeführt. Danach sind Verarbeitungen bei S5306 bis S5315 bezüglich der ECU (ID3) die gleichen wie die bei S5105 bis S5114.
  • Wenn die gesamte Installation in den ECUs (ID3) abgeschlossen ist, beendet das CGW 13 Überwachung der Restbatterieladung und Überwachung der Kommunikationslasten der Busse (S5316 und S5317). Das CGW 13 fordert die ECU (ID1) und die ECU (ID2) auf, aufzuwachen (S5401).
  • Das CGW 13 fordert jede ECU auf, das aktualisierte Programm zu aktivieren, um die ECU (ID1), die ECU (ID2) und die ECU (ID3) simultan mit den aktualisierten Programmen zu starten (S5402). In einem Fall, in dem eine ECU nicht mit einer Aktivierungsanforderung umgehen kann, ist es bevorzugt, der ECU Energie-aus und Energie-ein anstelle der Aktivierungsanforderung mitzuteilen und somit zu veranlassen, dass die ECU neugestartet wird.
  • Wenn eine Aktivierungsanforderung von dem CGW 13 empfangen wird, startet sich die ECU (ID1) selbst neu (S5403). Da die ECU (ID1) einen Einzelbankspeicher hat, wird die ECU (ID1) durch das aktualisierte Programm gestartet, wenn sie neugestartet wird. Wenn Neustarten nach Installation abgeschlossen ist, teilt die ECU (ID1) dem CGW 13 eine aktualisierte Programmversion zusammen mit Aktivierungsabschluss mit (S5404).
  • Wenn eine Aktivierungsanforderung von dem CGW 13 empfangen wird, aktualisiert die ECU (ID2) die gespeicherten Aktive-Bank-Informationen von der Bank-A zur Bank-B (S5405) und startet sich selbst neu (S5406). Wenn die ECU (ID2) in der Bank-B normal gestartet wird, teilt die ECU (ID2) dem CGW 13 Aktivierungsabschluss zusammen mit einer aktualisierten Programmversion und den Aktive-Bank-Informationen mit (S5407).
  • Wenn eine Aktivierungsanforderung von dem CGW 13 empfangen wird, aktualisiert die ECU (ID3) die gespeicherten Aktive-Bank-Informationen von der Bank-A zur Bank-B (S5408) und startet sich selbst neu (S5409). Wenn die ECU (ID3) in der Bank-B normal gestartet wird, teilt die ECU (ID3) dem CGW 13 Aktivierungsabschluss zusammen mit einer aktualisierten Programmversion und den Aktive-Bank-Informationen mit (S5410).
  • Wenn die Aktivierungsabschlussmitteilungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, teilt das CGW 13 der Zentralvorrichtung 3 den Programmaktualisierungsabschluss zusammen mit den aktualisierten Programmversionen und den Aktive-Bank-Informationen bezüglich der Umschreibziel-ECU (ID1), ECU (ID2) und der ECU (ID3) mittels des DCM 12 mit (S5411). Die Zentralvorrichtung 3 registriert die Informationen, deren Mitteilung vom DCM 12 gesendet wird, in der Datenbank (S5412) und aktualisiert auch den Webbildschirm, um den Abschluss als Fortschrittssituation anzuzeigen (S5413). Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt einen Webbildschirm an, der angibt, dass die Programmaktualisierung abgeschlossen ist (S5414). Wenn die Aktivierungsabschlussmitteilungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, teilt das CGW 13 der Fahrzeugbordanzeige 7 den Programmaktualisierungsabschluss als eine Fortschrittssituation mit (S5415). Die Fahrzeugbordanzeige 7 zeigt Informationen an, die angeben, dass die Programmaktualisierung abgeschlossen wurde (S5416). In einem Fall, in dem Fortschrittsanzeige nicht erforderlich ist, beispielsweise, wenn das Fahrzeug in einem Parkzustand ist, teilt das CGW 13 der Fahrzeugbordanzeige 7 den Fortschritt nicht mit.
  • Schließlich fordert das CGW 13 die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie auszuschalten (S5418). Die Energieversorgungsverwaltungs-ECU 20 fordert die Energieversorgungssteuerschaltung 43 auf, die Zufuhr von Energie zu unterbrechen, um einen Energieversorgungszustand IG-Schalter-aus vor Initiierung der Installation zurückzubringen. Wenn die Zufuhr von Energie an die IG-Energieleitung 39 und die ACC-Energieleitung 38 durch die Energieversorgungssteuerschaltung 43 unterbrochen wird, werden die ECU (ID1), die ECU (ID2), die ECU (ID4), die ECU (ID5) und die ECU (ID6) in einen Stoppzustand gebracht.
  • In den vorstehenden Beispielen wurde ein Fall beschrieben, in dem die ECU (ID1), die einen Einzelbankspeicher hat, ebenfalls Programmaktualisierung unterzogen wird, und somit, wenn die Verarbeitungen von der Installation bis zur Aktivierung kontinuierlich ausgeführt werden, wenn das Fahrzeug in einem Parkzustand ist. Jedoch kann beispielsweise in einem Fall, in dem alle der Umschreibziel-ECUs 19 Doppelbankspeicher haben, Installation im Hintergrund ausgeführt werden, während das Fahrzeug fährt. Es kann eine Konfiguration geben, in der das mobile Endgerät 6 eine Zustimmung zur Aktivierung bzw. eine Genehmigung der Aktivierung von dem Benutzer zu der Zeit erlangt, bei der Installation in dem Umschreibziel-ECU 19 abgeschlossen ist.
  • Als nächstes wird eine Rollbacksequenz beschrieben, wenn Aufhebung der Programmaktualisierung durch den Benutzer während Installation eines Anwendungsprogramms gemäß 254 bis 257 ausgewählt wird. Insbesondere wird ein Fall beschrieben, in dem Installation in der ECU (ID1) abgeschlossen ist und Aufhebung durch den Benutzer während Installation in der ECU (ID2) ausgewählt wird.
  • Wenn der Zentralvorrichtung 3 Aufhebung der Programmaktualisierung von dem mobilen Endgerät 6 mitgeteilt wird, weist die Zentralvorrichtung 3 das fahrzeugseitige System 4 an, die Programmaktualisierung aufzuheben (S6001). Die Zentralvorrichtung 3 ändert einen Webbildschirm in einen Anzeigeaspekt während Rollbacks als eine Fortschrittssituation (S6002). Das mobile Endgerät 6 zeigt einen Webbildschirm an, der die Fortschrittssituation während Rollbacks angibt (S6003).
  • Wenn das CGW 13 von der Zentralvorrichtung 3 mittels des DCM 12 angewiesen wird, die Programmaktualisierung aufzuheben, bestimmt das CGW 13 eine ECU, die eine Rollbackverarbeitung erfordert, und eine erforderliche Rollbackverarbeitung basierend auf Speicherkonfigurationen und Installationsstatus der Umschreibziel-ECU (ID1), ECU (ID2) und ECU (ID3) (S6004). In diesem Beispiel wird bestimmt, dass eine Rollbackverarbeitung erforderlich ist, bei der die Installation in der ECU (ID2) abgeschlossen und die ECU (ID1) auf eine originale Version zurückgebracht wird.
  • Das CGW 13 teilt der Fahrzeugbordanzeige 7 einen Rollbackfortschritt mit (S6005). Wenn der Fahrzeugbordanzeige 7 der Rollbackfortschritt von dem CGW 13 mitgeteilt wird, ändert die Fahrzeugbordanzeige 7 einen Anzeigeaspekt in einen Rollbackanzeigeaspekt und zeigt den Fortschritt an (S6006). Die Fahrzeugbordanzeige 7 zeigt beispielsweise „Während Rollback“ an und zeigt ebenso den Fortschritt der ECU (ID1), die Rollback erfordert, als 0% und den Fortschritt der ECU (ID2) als 0% an.
  • Das CGW 13 fährt fort, die Schreibdaten als eine Rollbackverarbeitung für die ECU (ID2) zu installieren. Da die ECU (ID2) einen Doppelbankspeicher hat, kann die ECU (ID2) die Installation in der Bank-B, die eine inaktive Bank ist, auf halbem Weg stoppen und kann kontinuierlich mit der Bank-A als eine aktive Bank operiert werden. Jedoch kann in einem Fall, in dem die Schreibdaten halbwegs in der Bank-B installiert sind, was somit ein unvollständiger Zustand ist, eine Differenz bei der nächsten Installation unter Verwendung von Differenzdaten nicht korrekt wiederhergestellt werden. Demnach wird die Installation kontinuierlich in der ECU (ID2) bis zum Ende ausgeführt.
  • Insbesondere erlangt das CGW 13 eine geteilte Datei (beispielsweise 1 Kilobyte) der Schreibdaten, die an die ECU (ID2) von dem DCM 12 gesendet werden, und verteilt die geteilte Datei an die ECU (ID2) (S6007). Die ECU (ID2) schreibt die geteilte Datei, die von dem CGW 13 empfangen wird, in den Flash-Speicher 33d (S6008). Wenn Schreiben abgeschlossen ist, speichert die ECU (ID2) einen Wiederholungspunkt (S6009) derart, dass Schreiben von der Mitte wiederaufgenommen werden kann, und teilt dem CGW 13 den Schreibabschluss mit (S6010).
  • Wenn die Schreibabschlussmitteilung von dem ECU (ID2) empfangen wird, teilt das CGW 13 der Zentralvorrichtung 3 Rollbackstatusfortschrittsinformationen mittels des DCM 12 mit (S6011). Die Rollbackstatusfortschrittsinformationen sind beispielsweise Daten wie eine Datenmenge, die als Rollback für die ECU (ID2) zu schreiben ist, und eine kumulative Menge von geschriebenen Daten der erforderlichen Datenmenge. Die Zentralvorrichtung 3 aktualisiert einen Webbildschirm, der von dem mobilen Endgerät 6 aus verbunden werden kann, basierend auf den Fortschrittsinformationen, die von dem DCM 12 gesendet werden (S6012). Das mobile Endgerät 6 zeigt beispielsweise einen Webbildschirm bezüglich eines Prozentsatzes gegenwärtig abgeschlossenen Rollbacks oder dergleichen als die aktualisierte Fortschrittssituation an (S6013). Hierbei kann der Fortschritt an der Fahrzeugbordanzeige 7 statt auf dem mobilen Endgerät 6 angezeigt werden. Wenn eine Umschreibabschlussmitteilung von der ECU (ID2) empfangen wird, teilt das CGW 13 der Fahrzeugbordanzeige 7 Rollbackstatusfortschrittsinformationen mit (S6014). Die Fahrzeugbordanzeige 7 aktualisiert und zeigt einen Fortschrittssituationsbildschirm an (S6015). Danach werden die Verarbeitungen bei S6007 bis S6015 wiederholt bis zu einer N-ten geteilten Datei, die die letzten Schreibdaten darstellen, ausgeführt.
  • Wenn die N-te geteilte Datei geschrieben wird, verifiziert die ECU (ID2) die Integrität des Aktualisierungsprogramms des Flash-Speichers 33d (S6016). Wenn eine Installationsabschlussmitteilung von der ECU (ID2) empfangen wird, fordert das CGW 13 die ECU (ID2) auf, zu schlafen (S6017). Die ECU (ID2) schläft, ohne durch das Aktualisierungsprogramm gestartet zu werden, das in der Bank-B installiert ist, die eine inaktive Bank ist.
  • Anschließend fordert das CGW 13 die ECU (ID1) auf, aufzuwachen, um eine Rollbackverarbeitung auf der ECU (ID1) auszuführen (S6101). Das CGW 13 teilt der ECU (ID1) mit, dass Installation für den Rollback zu initiieren ist (S6102). Wenn der ECU (ID1) Installationsinitiierung von dem CGW 13 mitgeteilt wird, veranlasst die ECU (ID1), dass ein Zustand in einen Modus für drahtlose Programmaktualisierung übergeht (S6103). Das CGW 13 authentifiziert Zugriff auf die ECU (ID1) (S6104). Wenn Zugriffsauthentifizierung erfolgreich ist, bestimmt die ECU (ID1), ob oder nicht Rollbackschreibdaten mit der ECU konsistent sind (S6105). In einem Fall, in dem bestimmt wird, dass die Rollbackschreibdaten konsistent mit der ECU sind, wird eine Schreibverarbeitung auf der ECU (ID1) ausgeführt.
  • Das CGW 13 erlangt eine geteilte Datei einer vorbestimmten Größe (beispielsweise 1 Kilobyte) der Rollbackschreibdaten, die von dem DCM 12 an die ECU (ID1) gesendet werden, und verteilt die geteilte Datei an die ECU (ID1) (S6016). Die ECU (ID1) schreibt die geteilte Datei, die von dem CGW 13 empfangen wird, in den Flash-Speicher 33d (S6107). Wenn Schreiben abgeschlossen ist, speichert die ECU (ID1) einen Wiederholungspunkt, der eine Flash-Speicheradresse angibt, an der die geteilte Datei geschrieben ist, so dass Schreiben von der Mitte aus fortgesetzt werden kann (S6108). Wenn der Wiederholungspunkt gespeichert ist, teilt die ECU (ID1) dem CGW 13 Schreibabschluss mit (S6109).
  • Wenn die Schreibabschlussmitteilung von dem ECU (ID1) empfangen wird, teilt das CGW 13 der Zentralvorrichtung 3 Umschreibstatusfortschrittsinformationen mittels des DCM 12 mit (S6110). Die Zentralvorrichtung 3 aktualisiert einen Webbildschirm, der von dem mobilen Endgerät 6 aus verbunden werden kann, basierend auf den Fortschrittsinformationen, die von dem DCM 12 gesendet werden (S6111). Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt beispielsweise einen Prozentsatz gegenwärtig abgeschlossenen Rollbacks als die aktualisierte Fortschrittssituation an (S6112). Hierbei kann der Fortschritt an der Fahrzeugbordanzeige 7 statt auf dem mobilen Endgerät 6 angezeigt werden. Wenn eine Schreibabschlussmitteilung von der ECU (ID1) empfangen wird, teilt das CGW 13 der Fahrzeugbordanzeige 7 Umschreibstatusfortschrittsinformationen mit (S6113). Die Fahrzeugbordanzeige 7 aktualisiert und zeigt einen Rollbackfortschrittssituationsbildschirm an (S6114). Wenn die Schreibabschlussmitteilung von der ECU (ID1) empfangen wird, erlangt das CGW 13 eine zweite geteilte Datei als die nächsten Schreibdaten und verteilt die geteilte Datei an die ECU (ID1). Danach werden die Verarbeitungen bei S6106 bis S6114 wiederholt bis zu einer N-ten geteilten Datei ausgeführt, die die letzten Schreibdaten darstellt.
  • Wenn Schreiben der N-ten geteilten Datei abgeschlossen ist, verifiziert die ECU (ID1) die Integrität des Rollbackprogramms des Flash-Speichers und überprüft, ob oder nicht das Rollbackprogramm korrekt geschrieben wurde (S6115). Wenn dem CGW 13 von der ECU (ID1) mitgeteilt wird, dass alle der geteilten Dateien geschrieben wurden und die Integritätsverifizierung erfolgreich war, beendet das CGW 13 Überwachung der Restbatterieladung und Überwachung der Kommunikationslasten der Busse (S6116 und S6117).
  • Anschließend fordert das CGW 13 die ECU (ID2) und die ECU (ID3) auf, aufzuwachen (S6201). Das CGW 13 fordert Rollbackaktivierung bei der ECU (ID1), der ECU (ID2) und der ECU (ID3) auf, um in einer alten Version vor der Installation (S6202) gestartet zu werden. Die ECU (ID1), die einen Einzelbankspeicher hat, startet das Programm der alten Version durch Neustart wie beim Umschreiben während der normalen Zeit. Im Gegensatz zum Umschreiben während der normalen Zeit, starten die ECU (ID2) und die ECU (ID3), die die Doppelbankspeicher haben, die Programme in der Bank-A, die die gegenwärtige Bank ist, ohne die aktive Bank zu ändern.
  • Wenn eine Rollbackaktivierungsanforderung von dem CGW 13 empfangen wird, startet sich die ECU (ID1) selbst neu (S6203). Wenn das Neustarten abgeschlossen ist, teilt die ECU (ID1) dem CGW 13 eine Programmversion zusammen mit dem Rollbackaktivierungsabschluss mit (S6204).
  • Wenn die Rollbackaktivierungsanforderung von dem CGW 13 empfangen wird, startet sich die ECU (ID2) selbst neu, ohne die gespeicherten Aktive-Bank-Informationen zu aktualisieren (S6205). Wenn die ECU (ID2) normal in der Bank-A, die immer noch eine aktive Bank ist, gestartet wird, teilt die ECU (ID2) dem CGW 13 eine Programmversion und Aktive-Bank-Informationen zusammen mit dem Rollbackaktivierungsabschluss mit (S6206).
  • Wenn die Rollbackaktivierungsanforderung von dem CGW 13 empfangen wird, startet sich die ECU (ID3) selbst neu, ohne die gespeicherten Aktive-Bank-Informationen zu aktualisieren (S6207). Wenn die ECU (ID3) normal in der Bank-A, die immer noch eine aktive Bank ist, gestartet wird, teilt die ECU (ID3) dem CGW 13 eine Programmversion und Aktive-Bank-Informationen zusammen mit dem Rollbackaktivierungsabschluss mit (S6208).
  • Wenn die Rollbackaktivierungsabschlussmitteilungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, teilt das CGW 13 der Zentralvorrichtung 3 den Rollbackabschluss mittels des DCM 12 mit (S6209). Hierbei sendet das CGW 13 ebenso eine Mitteilung der Programmversion und die Aktive-Bank-Informationen bezüglich der ECU (ID1), der ECU (ID2) und der ECU (ID3). Die Zentralvorrichtung 3 registriert die Informationen, die von dem DCM 12 gesendet werden, in der Datenbank (S6210) und aktualisiert ebenso den Webbildschirm zum Anzeigen eines Aufhebungsabschlusses als eine Fortschrittssituation (S6211). Das mobile Endgerät 6 ist mit der Zentralvorrichtung 3 verbunden und zeigt einen Webbildschirm an, der angibt, dass Aufhebung abgeschlossen ist (S6212).
  • Wenn die Rollbackaktivierungsabschlussmitteilungen von der ECU (ID1), der ECU (ID2) und der ECU (ID3) empfangen werden, teilt das CGW 13 der Fahrzeugbordanzeige 7 den Rollbackabschluss als eine Fortschrittssituation mit (S6213). Die Fahrzeugbordanzeige 7 zeigt die Tatsache an, dass der Rollback abgeschlossen ist (S6214).
  • Schließlich fordert das CGW 13 die Energieversorgungsverwaltungs-ECU 20 auf, die IG-Energie auszuschalten (S6215). Die Energieversorgungsverwaltungs-ECU 20 fordert die Energieversorgungssteuerschaltung 43 auf, die Zufuhr von Energie zu unterbrechen, um einen Zustand IG-Schalter-aus vor Initiierung der Installation zurückzubringen. Wenn die Zufuhr von Energie an die IG-Energieleitung 39 und die ACC-Energieleitung 38 durch die Energieversorgungssteuerschaltung 43 unterbrochen wird, werden die ECU (ID1), die ECU (ID2), die ECU (ID4), die ECU (ID5) und die ECU (ID6) in einen Stoppzustand gebracht.
  • Wie vorstehend beschrieben ist, ist es möglich, Programmaktualisierung auf mehreren der Umschreibziel-ECUs 19 unter Verwendung des CGW 13 als Umprogrammierungs-Master auszuführen. In der vorliegenden Ausführungsform wurde ein Fall beschrieben, in dem ein Anwendungsprogramm mit der ECU (ID1), der ECU (ID2) und der ECU (ID3) als eine Gruppe umgeschrieben wird, aber das gleiche gilt für einen Fall, in dem das Anwendungsprogramm in der ECU (ID4), der ECU (ID5) und der ECU (ID6) als eine zweite Gruppe umgeschrieben wird. In diesem Fall werden Installation und Aktivierung auf den ECUs 19 der ersten Gruppe ausgeführt und dann werden Installation und Aktivierung auf den ECUs 19 der zweiten Gruppe ausgeführt.
  • Anwendungsprogramme in dem DCM 12, dem CGW 13 der Fahrzeugbordanzeigevorrichtung 7, der Energieversorgungsverwaltungs-ECU 20 können alternativ auf die gleiche Weise umgeschrieben werden. Jedoch, da die Anwendungsprogramme während Programmaktualisierung operiert werden können müssen, sind diese ECUs konfiguriert, Doppelbankspeicher zu haben.
  • Als nächstes wird eine Konfiguration der Zentralvorrichtung 3 gemäß 258 bis 294 beschrieben. Eine erste bis fünfte Ausführungsform werden beschrieben.
  • (Erste Ausführungsform)
  • Nachfolgend wird eine erste Ausführungsform gemäß 258 bis 277 beschrieben. Ein Fahrzeugprogrammumschreibsystem ist ein System, das ein Anwendungsprogramms wie Fahrzeugsteuerung und Diagnose einer ECU, die an einem Fahrzeug montiert ist, durch OTA umschreiben kann. Wie in 258 illustriert ist, beinhaltet ein Fahrzeugprogrammumschreibsystem 1 eine Zentralvorrichtung 3 auf einer Seite eines Kommunikationsnetzwerk 2, ein fahrzeugseitiges System 4 auf einer Fahrzeugseite und ein Anzeigeendgerät 5. Das Kommunikationsnetzwerk 2 ist konfiguriert, um beispielsweise ein Mobilobjektkommunikationsnetzwerk wie etwa eine 4G-Leitung, das Internet und Wireless Fidelity (Wi-Fi (registrierte Marke)) zu beinhalten.
  • Das Anzeigeendgerät 5 ist ein Endgerät mit einer Funktion zum Empfangen einer Operationseingabe von einem Benutzer und einer Funktion zum Anzeigen unterschiedlicher Bildschirme und ist beispielsweise ein mobiles Endgerät 6 wie ein Smartphone oder ein Tablet, die durch einen Benutzer getragen werden können, und eine Fahrzeugbordanzeige 7 wie eine Anzeige oder eine Instrumentenanzeige, die ebenso als Navigationsfunktion verwendet werden und in einer Fahrzeugkabine angeordnet sind. Das mobile Endgerät 6 kann mit dem Kommunikationsnetzwerk 2 verbunden sein, solange das mobile Endgerät 6 innerhalb eines Kommunikationsbereichs eines Mobilobjektkommunikationsnetzwerks ist. Die Fahrzeugbordanzeige 7 ist mit dem fahrzeugseitigen System 4 verbunden.
  • Solange sich ein Benutzer außerhalb der Fahrzeugkabine befindet und innerhalb des Kommunikationsbereichs des Mobilobjektkommunikationsnetzwerks ist, kann der Benutzer Operationseingabe ausführen, während er unterschiedliche Bildschirme bezüglich Umschreibens eines Anwendungsprogramms mit dem mobilen Endgerät 6 überprüft, und kann eine Prozedur bezüglich des Umschreibens des Anwendungsprogramms ausführen. In der Fahrzeugkabine kann der Benutzer Operationseingabe ausführen, während er unterschiedliche Bildschirme bezüglich Umschreibens des Anwendungsprogramms mit der Fahrzeugbordanzeige 7 überprüft, und kann eine Prozedur bezüglich Umschreibens des Anwendungsprogramms ausführen. Das heißt, der Benutzer kann das mobile Endgerät 6 und die Fahrzeugbordanzeige 7 separat außerhalb der Fahrzeugkabine und in der Fahrzeugkabine verwenden und kann eine Prozedur bezüglich Umschreibens des Anwendungsprogramms ausführen.
  • Die Zentralvorrichtung 3 steuert eine OTA-Funktion der Seite des Kommunikationsnetzwerks 2 in dem Fahrzeugprogrammumschreibsystem 1 und funktioniert als ein OTA-Zentrum. Die Zentralvorrichtung 3 beinhaltet einen Dateiserver 8, einen Webserver 9 und einen Verwaltungsserver 10 und jeder der Server 8 bis 10 ist konfiguriert, um Datenkommunikation miteinander ausführen zu können.
  • Der Dateiserver 8 hat eine Funktion zum Verwalten eines Anwendungsprogramms, das von der Zentralvorrichtung 3 an das fahrzeugseitige System 4 gesendet wird, und ist ein Server, der ein ECU-Programm, das von einem Zulieferer oder dergleichen, der ein Bereitsteller des Anwendungsprogramms ist, Informationen, die mit dem ECU-Programm verknüpft sind, Verteilungsspezifikationsdaten, die von einem Originalausrüstungshersteller (OEM) bereitgestellt werden, Fahrzeugverfassungen, die von dem fahrzeugseitigen System 4 erlangt werden, und dergleichen verwaltet. Der Dateiserver 8 kann Datenkommunikation mit dem fahrzeugseitigen System 4 mittels des Kommunikationsnetzwerks 2 ausführen und sendet ein Verteilungspaket, in dem die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten gepackt sind, an das fahrzeugseitige System 4, wenn eine Herunterladeanforderung für das Verteilungspaket erzeugt wird. Der Webserver 9 ist ein Server, der Webinformationen verwaltet und dem mobilen Endgerät 6 unterschiedliche Bildschirme bezüglich Umschreibens eines Anwendungsprogramms bereitstellt. Der Verwaltungsserver 10 verwaltet personenbezogene Informationen eines Benutzers, der für einen Dienst zum Umschreiben eines Anwendungsprogramms registriert ist, eine Umschreibhistorie eines Anwendungsprogramms für jedes Fahrzeug und dergleichen.
  • Das fahrzeugseitig System 4 hat eine Mastervorrichtung 11. Die Mastervorrichtung 11 hat ein DCM 12 und ein CGW 13 und das DCM 12 und das CGW 13 sind miteinander mittels eines ersten Busses 14 verbunden, um Datenkommunikation ausführen zu können. Das DCM 12 ist eine Fahrzeugbordkommunikationsvorrichtung, die Datenkommunikation mit der Zentralvorrichtung 3 mittels des Kommunikationsnetzwerks 2 ausführt, und, wenn ein Verteilungspaket von dem Dateiserver 8 heruntergeladen wird, Schreibdaten von dem Verteilungspaket extrahiert und die Schreibdaten an das CGW 13 überträgt.
  • Das CGW 13 ist eine Fahrzeug-Gateway-Vorrichtung mit einer Datenrelaisfunktion und, wenn die Schreibdaten von dem DCM 12 erlangt werden, die Schreibdaten an eine Umschreibziel-ECU verteilt, in der ein Anwendungsprogramm umgeschrieben wird. Die Mastervorrichtung 11 steuert die OTA-Funktion der Fahrzeugseite in dem Fahrzeugprogrammumschreibsystem 1 und funktioniert als ein OTA-Master. In 258 ist eine Konfiguration, in der das DCM 12 und die Fahrzeugbordanzeige 7 mit dem gleichen ersten Bus 14 verbunden sind, als ein Beispiel illustriert, aber das DCM 12 und die Fahrzeugbordanzeige 7 können konfiguriert sein, um mit separaten Bussen verbunden zu sein.
  • Zusätzlich zu dem ersten Bus 14, sind ein zweiter Bus 15, ein dritter Bus 16, ein vierter Bus 17 und ein fünfter Bus 18 mit dem CGW 13 als Busse innerhalb des Fahrzeugs verbunden und unterschiedliche ECUs 19 sind mittels der Busse 15 bis 17 verbunden und eine Energieversorgungsverwaltungs-ECU 20 ist mittels des Busses 18 verbunden.
  • Der zweite Bus 15 ist beispielsweise ein Karosseriesystemnetzwerkbus. Die ECUs 19, die mit dem zweiten Bus 15 verbunden sind, sind ECUs, die das Karosseriesystem steuern, einschließlich beispielsweise einer Tür-ECU, die Verriegeln/Entriegeln einer Tür steuert, einer Instrumenten-ECU, die Anzeige auf der Instrumentenanzeige steuert, einer Klimaanlagen-ECU, die Antreiben einer Klimaanlage steuert, und einer Fenster-ECU, die Öffnen und Schließen eines Fensters steuert. Der dritte Bus 16 ist beispielsweise ein Fahrsystemnetzwerkbus. Die ECUs 19, die mit dem dritten Bus 16 verbunden sind, sind ECUs, die das Fahrsystem steuern, das beispielsweise eine Brennkraftmaschinen-ECU, die Antreiben einer Brennkraftmaschine steuert, eine Bremsen-ECU, die Antreiben einer Bremse steuert, eine ETC-ECU (ECU für elektronisches Mauterhebungssystem, Electronic Toll Collection System (ETC, registrierte Marke), eine ECU, die Antreiben eines Automatikgetriebes steuert, und eine Servolenkungs-ECU beinhaltet, die Antreiben einer Servolenkung steuert.
  • Der vierte Bus 17 ist beispielsweise ein Multimediasystemnetzwerkbus. Die ECUs 19, die mit dem vierten Bus 17 verbunden sind, sind ECUs, die das Multimediasystem steuern, das beispielsweise eine Navigations-ECU, die ein Navigationssystem steuert, und eine ETC-ECU beinhaltet, die ein elektronisches Mauterhebungssystem steuert, das heißt, ein ECT-System. Die Busse 15 bis 17 können Systembusse außer dem Karosseriesystemnetzwerkbus, dem Fahrsystemnetzwerkbus und dem Multimediasystemnetzwerkbus sein. Die Anzahl von Bussen und die Anzahl der ECUs 19 sind nicht auf die beispielhaften Konfigurationen beschränkt.
  • Die Energieversorgungsverwaltungs-ECU 20 ist eine ECU, die eine Funktion zum Verwalten von Energie hat, die dem DCM 12, dem CGW 13, den unterschiedlichen ECUs 19 und dergleichen zuzuführen ist.
  • Ein sechster Bus 21 ist mit dem CGW 13 als ein Bus außerhalb des Fahrzeugs verbunden. Ein DLC-Verbinder (Data Link Coupler) 22, mit dem ein Werkzeug 23 abnehmbar verbunden ist, ist mit einem sechsten Bus 21 verbunden. Die Busse 14 bis 18 innerhalb des Fahrzeugs und der Bus 21 außerhalb des Fahrzeugs sind beispielsweise mit CAN-Bussen (Controller Area Network) (registrierte Marke) verbunden und das CGW 13 führt Datenkommunikation mit dem DCM 12, den unterschiedlichen ECUs 19 und dem Werkzeug 23 gemäß dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard (UDS: ISO14229) aus. Das DCM 12 und das CGW 13 können miteinander mittels Ethernet verbunden sein und der DLC-Verbinder 22 und das CGW 13 können miteinander mittels Ethernet verbunden sein.
  • Wenn Schreibdaten von dem CGW 13 empfangen werden, schreibt die Umschreibziel-ECU 19 die Schreibdaten in einen Flash-Speicher zum Umschreiben eines Anwendungsprogramms. In der vorstehenden Konfiguration, wenn eine Anforderung zum Erlangen von Schreibdaten von der Umschreibziel-ECU 19 empfangen wird, funktioniert das CGW 13 als ein Umprogrammierungs-Master, der die Schreibdaten an die Umschreibziel-ECU 19 verteilt. Wenn die Schreibdaten von dem CGW 13 empfangen werden, funktioniert die Umschreibziel-ECU 19 als ein Umprogrammierungs-Slave, der die Schreibdaten in den Flash-Speicher schreibt, um das Anwendungsprogramm umzuschreiben.
  • Als ein Aspekt des Umschreibens des Anwendungsprogramms gibt es einen Aspekt drahtgebundenen Umschreibens und einen Aspekt drahtlosen Umschreibens. In dem Aspekt, in dem das Anwendungsprogramm auf drahtgebundene Weise umgeschrieben wird, wenn das Werkzeug 23 mit dem DLC-Verbinder 22 verbunden ist, überträgt das Werkzeug 23 die Schreibdaten an das CGW 13. Der CGW 13 leitet die vom Werkzeug 23 übertragenen Schreibdaten auf die Umschreibziel-ECU 19 weiter oder verteilt sie an diese. In dem Aspekt des Umschreibens des Anwendungsprogramms auf drahtlose Weise, wie vorstehend beschrieben ist, wenn das Verteilungspaket von dem Dateiserver 8 heruntergeladen wird, extrahiert das DCM 12 die Schreibdaten von dem Verteilungspaket und überträgt die Schreibdaten an das CGW 13.
  • Wie in 259 illustriert ist, beinhaltet das CGW 13 einen Mikrocomputer 24, eine Datenübertragungsschaltung 25, eine Energieversorgungsschaltung 26 und eine Energieerfassungsschaltung 27 als elektrische Funktionsblöcke. Der Mikrocomputer 24 beinhaltet eine zentrale Verarbeitungseinheit (CPU) 24a, einen Nur-Lese-Speicher (ROM) 24b, einen Speicher mit wahlfreiem Zugriff (RAM) 24c und einen Flash-Speicher 24d. Der Mikrocomputer 24 führt unterschiedliche Verarbeitungen durch Ausführen unterschiedlicher Steuerprogramme aus, die in einem nichtflüchtigen greifbaren Speichermedium gespeichert sind, und steuert eine Operation des CGW 13.
  • Die Datenübertragungsschaltung 25 steuert Datenkommunikation mit den Bussen 14 bis 18 und 21 gemäß dem CAN-Datenkommunikationsstandard und dem Diagnosekommunikationsstandard. Die Energieversorgungsschaltung 26 empfängt Batterieenergie (nachfolgend als +B-Energie bezeichnet), Zubehörenergie (nachfolgend als ACC-Energie bezeichnet) und Zündungsenergie (nachfolgend als IG-Energie bezeichnet). Die Energieerfassungsschaltung 27 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die durch die Energieversorgungsschaltung 26 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 24 aus. Der Mikrocomputer 24 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die dem CGW 13 von der Außenseite zugeführt werden, normal oder abnormal sind, basierend auf den Vergleichsergebnissen, die von der Energieerfassungsschaltung 27 eingegeben werden.
  • Wie in 260 illustriert ist, beinhaltet das ECU 19 einen Mikrocomputer 28, eine Datenübertragungsschaltung 29, eine Energieversorgungsschaltung 30 und eine Energieerfassungsschaltung 31 als elektrische Funktionsblöcke. Der Mikrocomputer 28 beinhaltet eine CPU 28a, ein ROM 28b, ein RAM 28c und einen Flash-Speicher 28d. Der Mikrocomputer 28 führt unterschiedliche Verarbeitungen durch Ausführen unterschiedlicher Steuerprogramme aus, die in einem nichtflüchtigen greifbaren Speichermedium gespeichert sind, und steuert eine Operation des ECU 19.
  • Die Datenübertragungsschaltung 29 steuert Datenkommunikation mit den Bussen 15 bis 17 gemäß dem CAN-Datenkommunikationsstandard. Die Energieversorgungsschaltung 30 empfängt +B-Energie, ACC-Energie und IG-Energie. Die Energieerfassungsschaltung 31 erfasst einen Spannungswert der +B-Energie, einen Spannungswert der ACC-Energie und einen Spannungswert der IG-Energie, die durch die Energieversorgungsschaltung 30 empfangen werden, vergleicht die erfassten Spannungswerte mit vorbestimmten Spannungsschwellenwerten und gibt Vergleichsergebnisse an den Mikrocomputer 28 aus. Der Mikrocomputer 28 bestimmt, ob die +B-Energie, die ACC-Energie und die IG-Energie, die der ECU 19 von der Außenseite zugeführt werden, normal oder abnormal sind, basierend auf den Vergleichsergebnissen die von der Energieerfassungsschaltung 27 eingegeben werden. Die ECUs 19 haben grundsätzlich die gleiche Konfiguration, außer dass sich Lasten wie Sensoren oder Aktoren, die damit verbunden sind, unterscheiden. Eine grundlegende Konfiguration jedes des DCM 12, der Fahrzeugbordanzeige 7 und der Energieversorgungsverwaltungs-ECUs ist die gleiche wie die der ECU 19, die in 260 illustriert ist.
  • Wie in 261 illustriert ist, sind die Energieversorgungsverwaltungs-ECU 20, das CGW 13 und die ECU 19 mit einer +B-Energieleitung 32, einer ACC-Energieleitung 33 und einer IG-Energieleitung 34 verbunden. Die +B-Energieleitung 32 ist mit einer positiven Elektrode einer Fahrzeugbatterie 35 verbunden. Die ACC-Energieleitung 33 ist mit der positiven Elektrode der Fahrzeugbatterie 35 mittels eines ACC-Schalters 36 verbunden. Wenn der Benutzer eine ACC-Operation ausführt, schaltet der ACC-Schalter 36 von einem AUS-Zustand in einen EIN-Zustand und eine Ausgangsspannung der Fahrzeugbatterie 35 wird an die ACC-Energieleitung 33 angelegt. Beispielsweise in einem Fall eines Fahrzeugs des Typs, in dem ein Schlüssel in einen Einführport eingeführt wird, ist die ACC-Operation eine Operation des Drehens des Schlüssels von einer „AUS“-Position in eine „ACC“-Position durch Einführen des Schlüssels in den Einführport und in einem Fall eines Fahrzeugs des Typs, in dem eine Starttaste gedrückt wird, ist die Operation eine Operation des einmaligen Drückens der Starttaste.
  • Die IG-Energieleitung 34 ist mit der positiven Elektrode der Fahrzeugbatterie 35 mittels eines IG-Schalters 37 verbunden. Wenn der Benutzer eine IG-Operation ausführt, schaltet der IG-Schalter 37 von einem AUS-Zustand in einen EIN-Zustand um und eine Ausgangsspannung der Fahrzeugbatterie 35 wird an die IG-Energieleitung 34 angelegt. Beispielsweise in einem Fall eines Fahrzeugs des Typs, in dem ein Schlüssel in einen Einführport eingeführt wird, ist die IG-Operation eine Operation des Drehens des Schlüssels von einer „AUS“-Position in eine „EIN“-Position durch Einführen des Schlüssels in den Einführport und in einem Fall eines Fahrzeugs des Typs, in dem eine Starttaste gedrückt wird, ist die IG-Operation eine Operation des zweimaligen Drückens der Starttaste. Eine negative Elektrode der Fahrzeugbatterie 35 ist geerdet.
  • Wenn sowohl der ACC-Schalter 36 als auch der IG-Schalter 37 in einem AUS-Zustand sind, wird nur die +B-Energie dem fahrzeugseitigen System 4 zugeführt. Der Zustand, in dem nur die +B-Energie dem fahrzeugseitigen System 4 zugeführt wird, wird als ein +B-Energieversorgungszustand bezeichnet. Wenn der ACC-Schalter 36 in einem EIN-Zustand ist und der IG-Schalter 37 in einem AUS-Zustand ist, werden die ACC-Energie und die +B-Energie dem fahrzeugseitigen System 4 zugeführt. Der Zustand, in dem die ACC-Energie und die +B-Energie dem fahrzeugseitigen System 4 zugeführt werden, wird als ein ACC-Energieversorgungszustand bezeichnet. Wenn sowohl der ACC-Schalter 36 als auch der IG-Schalter 37 in einem EIN-Zustand sind, werden die +B-Energie, die ACC-Energie und die IG-Energie dem fahrzeugseitigen System 4 zugeführt. Der Zustand, in dem die +B-Energie, die ACC-Energie und die IG-Energie dem fahrzeugseitigen System 4 zugeführt werden, wird als ein IG-Energieversorgungszustand bezeichnet.
  • Die ECUs 19 haben unterschiedliche Startbedingungen abhängig von Energieversorgungszustände und sind als eine +B-ECU, die in dem +B-Energieversorgungszustand gestartet wird, eine ACC-ECU, die in dem ACC-Energieversorgungszustand gestartet wird, und eine IG-ECU, die in dem IG-Energieversorgungszustand gestartet wird, klassifiziert. Beispielsweise ist die ECU 19, die in einer Anwendung wie bei Fahrzeugdiebstahl angesteuert wird, die +B-ECU. Beispielsweise ist die ECU 19, die in einer Nicht-Fahrsystem-Anwendung wie Audio angesteuert wird, die ACC-ECUs. Beispielweise ist die ECU 19, die in einer Fahrsystemanwendung wie Brennkraftmaschinensteuerung angesteuert wird, die IG-ECU.
  • Das CGW 13 sendet eine Startanforderung an die ECU 19, die in einem Schlafzustand ist, und veranlasst somit die ECU 19, die ein Sendeziel der Startanforderung ist, von dem Schlafzustand in einen Startzustand überzugehen. Das CGW 13 sendet ebenso eine Schlafanforderung an die ECU 19, die in einem Startzustand ist, und veranlasst somit die ECU 19, die ein Sendeziel der Schlafanforderung ist, von dem Startzustand in einen Schlafzustand überzugehen. Das CGW 13 wählt die ECU 19, die ein Sendeziel der Startanforderung oder der Schlafanforderung ist, aus den mehreren ECUs aus, indem beispielsweise Signalverläufe der Sendesignale, die an die Busse 15 bis 17 zu senden sind, unterschiedlich zueinander gemacht werden.
  • Die Energieversorgungssteuerschaltung 38 ist parallel mit dem ACC-Schalter 36 und dem IG-Schalter 37 verbunden. Das CGW 13 sendet eine Energieversorgungssteueranforderung an die Energieversorgungsverwaltungs-ECU 20 und veranlasst die Energieversorgungsverwaltungs-ECU 20 zum Steuern der Energieversorgungssteuerschaltung 38. Das heißt, das CGW 13 sendet eine Energieversorgungsstartanforderung als die Energieversorgungssteueranforderung an die Energieversorgungsverwaltungs-ECU 20 zum Verbinden der ACC-Energieleitung 33 oder der IG-Energieleitung 34 mit der positiven Elektrode der Fahrzeugbatterie 35 in der Energieversorgungssteuerschaltung 38. In diesem Zustand wird die ACC-Energie oder IG-Energie dem fahrzeugseitigen System 4 zugeführt, sogar, wenn der ACC-Schalter 36 und der IG-Schalter 37 ausgeschaltet ist. Das CGW 13 sendet eine Energieversorgungsstoppanforderung als die Energieversorgungssteueranforderung an die Energieversorgungsverwaltungs-ECU 20 zum Trennen der ACC-Energieleitung 33 oder der IG-Energieleitung 34 von der positiven Elektrode der Fahrzeugbatterie 35 in der Energieversorgungssteuerschaltung 38.
  • Das DCM 12, das CGW 13 und die ECU 19 haben eine Selbsterhaltungsenergiefunktion. Das heißt, wenn die Fahrzeugenergie von der ACC-Energie oder der IG-Energie in die +B-Energie in dem Startzustand schaltet, gehen das DCM 12, das CGW 13 und die ECU 19 nicht unmittelbar nach dem Umschalten von dem Startzustand in den Stoppzustand oder den Schlafzustand über, aber setzen den Startzustand für eine vorbestimmte Zeit sogar unmittelbar nach dem Umschalten fort und selbsterhalten somit Antriebsenergie. Das DCM 12, das CGW 13 und die ECU 19 gehen von dem Startzustand in den Stoppzustand oder den Schlafzustand über, wenn eine vorbestimmte Zeit (beispielsweise mehrere Sekunden) unmittelbar, nachdem die Fahrzeugenergie von der ACC-Energie oder IG-Energie zur +B-Energie schaltet, abgelaufen ist.
  • Als nächstes wird ein Verteilungspaket, das von der Zentralvorrichtung 3 an die Mastervorrichtung 11 verteilt wird, gemäß 262 und 263 beschrieben. In dem Fahrzeugprogrammumschreibsystem 1 werden Umprogrammierungsdaten einschließlich Schreibdaten von einem Zulieferer, der einen Bereitsteller eines Anwendungsprogramms darstellt, und Umschreibspezifikationsdaten, die von einem OEM bereitgestellt werden, erzeugt. Die Schreibdaten, die vom Zulieferer bereitgestellt werden, beinhalten Differenzdaten entsprechend einer Differenz zwischen einem alten Anwendungsprogramm und einem neuen Anwendungsprogramm und die gesamten Daten entsprechend der Gesamtheit des neuen Anwendungsprogramms. Die Differenzdaten oder die gesamten Daten können unter Verwendung einer allgemein bekannten Datenkomprimierungstechnik komprimiert werden. 262 stellt beispielhaft einen Fall dar, in dem Differenzdaten als Schreibdaten von Zulieferern A bis C bereitgestellt werden und Umprogrammierungsdaten aus verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID1), die von dem Zulieferer A bereitgestellt werden, verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID2), die von dem Zulieferer B bereitgestellt werden, und verschlüsselten Differenzdaten und einem Authentifikator der ECU (ID3), die von dem Zulieferer C bereitgestellt werden, und Umschreibspezifikationsdaten, die von dem OEM bereitgestellt werden, erzeugt werden. Der Authentifikator wird jedem Stück von Schreibdaten hinzugefügt.
  • Obwohl 262 die Differenzdaten illustriert, die verwendet werden, um das alte Anwendungsprogramm auf das neue Anwendungsprogramm zu aktualisieren, können Rollback-Differenzdaten, die verwendet werden, um das neue Anwendungsprogramm auf das alte Anwendungsprogramm zurückzurollen, ebenso in den Umprogrammierungsdaten beinhaltet sein. Beispielsweise in einem Fall, in dem die Umschreibziel-ECU 19 einen Einzelbankspeicher hat, sind die Rollback-Differenzdaten in dem Umprogrammierungsdaten beinhaltet.
  • Die Umschreibspezifikationsdaten, die von dem OEM bereitgestellt werden, beinhalten als Informationen bezüglich Umschreibens des Anwendungsprogramms Informationen zum Spezifizieren der Umschreibziel-ECU 19, Informationen zum Spezifizieren einer Umschreibreihenfolge, wenn es mehrere Umschreibziel-ECUs 19 gibt, Informationen zum Spezifizieren eines später beschriebenen Rollbackverfahrens und dergleichen und sind Daten, die eine Operation bezüglich Umschreibens in dem DCM 12, dem CGW 13 oder der Umschreibziel-ECU 19 definieren. Die Umschreibspezifikationsdaten sind in DCM-Umschreibspezifikationsdaten, die durch das DCM 12 verwendet werden, und CGW-Umschreibspezifikationsdaten spezifiziert, die durch das CGW 13 verwendet werden. Informationen, die erforderlich sind, um Dateien entsprechend der Umschreibziel-ECU 19 zu lesen, sind in den DCM-Umschreibspezifikationsdaten beschrieben. Wie vorstehend beschrieben ist, sind Informationen, die erforderlich sind, um Umschreiben in der Umschreibziel-ECU 19 zu steuern, in den CGW-Umschreibspezifikationsdaten beschrieben.
  • Wenn die DCM-Umschreibspezifikationsdaten erlangt werden, analysiert das DCM 12 die DCM-Umschreibspezifikationsdaten und steuert Operationen bezüglich Umschreibens wie Übertragen von Schreibdaten an das CGW 13 gemäß dem Analyseergebnis. Wenn die CGW-Umschreibspezifikationsdaten erlangt werden, analysiert das CGW 13 die CGW-Umschreibspezifikationsdaten und steuert Operationen bezüglich Umschreibens wie Erlangen von Schreibdaten von dem DCM 12 und Verteilung der Schreibdaten an die Umschreibziel-ECU 19 gemäß dem Analyseergebnis.
  • In dem Dateiserver 8 sind die vorstehend beschriebenen Umprogrammierungsdaten registriert und die Verteilungsspezifikationsdaten, die von dem OEM bereitgestellt werden, sind registriert. Die Verteilungsspezifikationsdaten, die von dem OEM bereitgestellt werden, sind Daten, die eine Operation bezüglich einer Anzeige unterschiedlicher Bildschirme in dem Anzeigeendgerät 5 definieren.
  • Wenn die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten registriert sind, verschlüsselt der Dateiserver 8 die registrierten Umprogrammierungsdaten und erzeugt ein Verteilungspaket, in dem ein Paketauthentifikator zum Authentifizieren des Pakets, die verschlüsselten Umprogrammierungsdaten und die Verteilungsspezifikationsdaten in einer einzelnen Datei verpackt sind. Wenn eine Herunterladeanforderung für das Verteilungspaket von der Außenseite empfangen wird, sendet der Dateiserver 8 das Verteilungspaket an das DCM 12. In 262 ist ein Fall beispielhaft dargestellt, in dem der Dateiserver 8 das Verteilungspaket erzeugt, das die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten speichert, und die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten zusammen an das DCM 12 sendet, aber die Umprogrammierungsdaten und die Verteilungsspezifikationsdaten können separat an das DCM 12 gesendet werden. Das heißt, der Dateiserver 8 kann die Verteilungsspezifikationsdaten als erstes an das DCM 12 senden und kann die Umprogrammierungsdaten später an das DCM 12 senden. Der Dateiserver 8 kann das Verteilungspaket und den Paketauthentifikator an das DCM 12 durch Erzeugen der Umprogrammierungsdaten und der Verteilungsspezifikationsdaten als ein Verteilungspaket, das eine einzelne Datei ist, senden.
  • Wenn das Verteilungspaket von dem Dateiserver 8 heruntergeladen wird, verifiziert das DCM 12 den Paketauthentifikator, der in dem Verteilungspaket gespeichert ist, und die verschlüsselten Umprogrammierungsdaten und entschlüsselt die verschlüsselten Umprogrammierungsdaten, wenn das Verifizierungsergebnis positiv ist. Wenn die verschlüsselten Umprogrammierungsdaten entschlüsselt sind, entpackt das DCM 12 die entschlüsselten Umprogrammierungsdaten und erzeugt verschlüsselte Differenzdaten, einen Authentifikator, DCM-Umschreibspezifikationsdaten und CGW-Umschreibspezifikationsdaten für jede der ECUs. 263 illustriert einen Fall, in dem die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID1), die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID2), die verschlüsselten Differenzdaten und der Authentifikator der ECU (ID3) und die Umschreibspezifikationsdaten erzeugt werden.
  • 264 ist ein Blockschaltbild, das hauptsächlich Abschnitte bezüglich Funktionen der Server 8 bis 10 in der Zentralvorrichtung 3 illustriert. 265 illustriert einen Umriss von Verarbeitungen, die durch Zentralvorrichtung 3 hinsichtlich Programmaktualisierung in der ECU ausgeführt werden. In der folgenden Beschreibung wird eine „Datenbank“ in manchen Fällen als „DB“ bezeichnet wird. Wie in 264 illustriert ist, beinhaltet die Zentralvorrichtung 3 eine Paketverwaltungseinheit 3A, eine Konfigurationsinformationsverwaltungseinheit 3B, eine Verwaltungseinheit 3C für individuelle Fahrzeuginformationen und eine Kampagnenverwaltungseinheit 3D. Die Paketverwaltungseinheit 3A beinhaltet eine Spezifikationsdatenerzeugungseinheit 201, eine Paketerzeugungseinheit 202, eine Paketverteilungseinheit 203, eine ECU-Umprogrammierungs-DB 204, eine ECU-Metadaten-DB 205 und eine Paket-DB 206. Die Konfigurationsinformationsverwaltungseinheit 3B beinhaltet eine Konfigurationsinformationsregistrierungseinheit 207 und eine Konfigurationsinformations-DB 208.
  • Der Zulieferer registriert ECU-Individualdaten unter Verwendung einer Eingabeeinheit 218 und einer Anzeigeeinheit 219, die Benutzerschnittstellenfunktionen (UI) des Verwaltungsservers 10 sind. Die ECU-Individualdaten beinhalten eine Programmdatei wie ein neues Programm oder Differenzdaten, Verifizierungsdaten oder eine Größe der Programmdatei, programmdateibezogene Informationen wie Verschlüsselungsverfahren und ECU-Attributinformationen wie eine Speicherstruktur der ECU 19. Die Programmdatei ist in der ECU-Umprogrammierungs-DB 204 gespeichert. Die ECU-Attributinformationen werden in der ECU-Metadaten-DB 205 gespeichert. Die programmdateibezogenen Informationen können in der ECU-Umprogrammierungs-DB 204 gespeichert werden oder können in der ECU-Metadaten-DB 205 gespeichert werden. Die ECU-Umprogrammierungs-DB 204 ist ein Beispiel einer Aktualisierungsdatenspeichereinheit. Die ECU-Metadaten-DB 205 ist ein Beispiel einer vorrichtungsbezogenen Informationsspeichereinheit.
  • Der OEM registriert genehmigte Konfigurationsinformationen in der Konfigurationsinformations-DB 208 für jeden Fahrzeugtyp mittels der Konfigurationsinformationsregistrierungseinheit 207. Die genehmigten Konfigurationsinformationen sind Konfigurationsinformationen eines Fahrzeugs, die durch eine öffentliche Organisation genehmigt sind. Die Konfigurationsinformationen sind Identifikationsinformationen hinsichtlich Hardware und Software der ECU 19, die an dem Fahrzeug montiert ist, und ist ein Beispiel von fahrzeugbezogenen Informationen. Die Konfigurationsinformationen beinhalten Identifikationsinformationen einer Systemkonfiguration, die aus mehreren ECUs 19 ausgebildet ist, und Identifikationsinformationen einer Fahrzeugkonfiguration, die aus mehreren Systemen ausgebildet ist. Als die Konfigurationsinformationen können Fahrzeugbeschränkungsinformationen bezüglich Programmaktualisierung registriert werden. Beispielsweise können Gruppeninformationen der ECU, die in den Umschreibspezifikationsdaten spezifiziert sind, eine Buslasttabelle und Informationen hinsichtlich einer Batterielast registriert werden. Die ECU-Metadaten-DB 205 ist ein Beispiel einer vorrichtungsbezogenen Informationsspeichereinheit. Die Konfigurationsinformations-DB 208 ist ein Beispiel einer Fahrzeuginformationspeichereinheit.
  • Die Spezifikationsdatenerzeugungseinheit 201 nimmt Bezug auf jede DB und erzeugt Umschreibspezifikationsdaten. Die Paketerzeugungseinheit 202 erzeugt ein Verteilungspaket einschließlich Umschreibspezifikationsdaten und Umprogrammierungsdaten und registriert das Verteilungspaket in der Paket-DB 206. Die Paketerzeugungseinheit 202 kann ein Verteilungspaket einschließlich der Verteilungsspezifikationsdaten erzeugen. Die Paketverteilungseinheit 203 verteilt das registrierte Verteilungspaket an das fahrzeugseitige System 4. Das Verteilungspaket entspricht einer Datei.
  • Die Verwaltungseinheit 3C für individuelle Fahrzeuginformationen beinhaltet eine Registrierungseinheit 209 für individuelle Fahrzeuginformationen, eine Konfigurationsinformationsüberprüfungseinheit 210, eine Aktualisierungsverfügbarkeitsprüfeinheit 211, eine SMS-Sendesteuereinheit 212 und eine Individuelle-Fahrzeuginformationen-DB 213. Die Registrierungseinheit 209 für individuelle Fahrzeuginformationen registriert individuelle Fahrzeuginformationen, die von individuellen Fahrzeugen hochgeladen werden, in der Individuelle-Fahrzeuginformationen-DB 213. Die Registrierungseinheit 209 für individuelle Fahrzeuginformationen kann als Anfangswerte individuelle Fahrzeuginformationen zur Zeit der Fahrzeugproduktion oder des Fahrzeugverkaufs in der Individuelle-Fahrzeuginformationen-DB 213 registrieren. Wenn die hochgeladenen individuellen Fahrzeuginformationen registriert sind, vergleicht die Konfigurationsinformationsüberprüfungseinheit 210 die individuellen Fahrzeuginformationen mit den Konfigurationsinformationen des gleichen Fahrzeugtyps, die in der Konfigurationsinformations-DB 208 registriert sind. Die Aktualisierungsverfügbarkeitsprüfeinheit 211 überprüft die Verfügbarkeit von Aktualisierung unter Verwendung eines neuen Programms, das heißt, die Verfügbarkeit einer Kampagne hinsichtlich der individuellen Fahrzeuginformationen. In einem Fall, in dem die individuellen Fahrzeuginformationen aktualisiert werden, sendet die SMS-Sendesteuereinheit 212 eine Nachricht bezüglich der Aktualisierung an ein entsprechendes Fahrzeug durch einen Kurznachrichtendienst (SMS).
  • Die Kampagnenverwaltungseinheit 3D beinhaltet eine Kampagnenerzeugungseinheit 214, eine Kampagnenverteilungseinheit 215, eine Anweisungsmitteilungseinheit 216 und eine Kampagnen-DB 217. Der OEM veranlasst die Kampagnenerzeugungseinheit 214 Kampagneninformationen zu erzeugen, die Informationen bezüglich der Programmaktualisierung sind, und registriert die Kampagneninformationen in der Kampagnen-DB 217. Die Kampagneninformationen hier entsprechen den „Verteilungsspezifikationsdaten“, die vorstehend beschrieben sind, und sind hauptsächlich Informationen hinsichtlich eines Aktualisierungsinhalts, der auf dem fahrzeugseitigen System 4 angezeigt wird. Die Kampagnenverteilungseinheit 215 verteilt die Kampagneninformationen an das Fahrzeug. Die Anweisungsmitteilungseinheit 216 teilt dem Fahrzeug eine erforderliche Anweisung bezüglich der Programmaktualisierung mit. In dem fahrzeugseitigen System 4 bestimmt beispielsweise der Benutzer, ob oder nicht das Aktualisierungsprogramm herunterzuladen ist, basierend auf den Kampagneninformationen, die von der Zentralvorrichtung 3 gesendet werden, und lädt das Aktualisierungsprogramm bei Bedarf herunter. Die Abschnitte jeder der Verwaltungseinheiten 3A bis 3D mit Ausnahme der Datenbanken sind Funktionen, die durch Computerhardware und - Software verwirklicht werden. Die Fahrzeugkommunikationseinheit 222 ist ein Funktionsblock zum Ausführen von Datenkommunikation zwischen der Zentralvorrichtung 3 und dem fahrzeugseitigen System 4 auf drahtlose Weise.
  • Nachfolgen werden die vorstehenden Verarbeitungen detaillierter beschrieben und als erstes wird ein Inhalt von Daten beschrieben, die in jeder Datenbank registriert sind. Wie in 266 illustriert ist, werden beispielsweise die folgenden Daten in der Konfigurationsinformations-DB 208 registriert. Ein „Fahrzeugtyp“ gibt den Typ eines Fahrzeugs an. Eine „Fahrzeug-SW-ID“ ist eine Software-ID für das gesamte Fahrzeug und entspricht einer Fahrzeug-Software-ID. Jedem Fahrzeug wird nur eine „Fahrzeug-SW-ID“ gewährt, die aktualisiert wird, wenn Versionen von Anwendungsprogrammen einer oder mehrerer ECUs aktualisiert werden. Eine „Sys-ID“ ist eine ID eines Systems, wenn eine Gruppe mehrerer ECUs 19, die an jedem Fahrzeug montiert sind, als ein „System“ bezeichnet wird.
  • Beispielsweise ist in 258 eine Gruppe von Karosseriesystem-ECUs 19 ein Karosseriesystem und eine Gruppe von Fahrsystem-ECUs 19 ist ein Fahrsystem. Die „Sys-ID“ wird aktualisiert, wenn Versionen von Anwendungsprogrammen einer oder mehrerer ECUs, die ein System bilden, aktualisiert werden. Eine „ECU-ID“ ist eine ID zum Identifizieren einer Vorrichtung, die den Typ der ECU angibt. Eine „ECU-SW-ID“ ist eine Software-ID für jede ECU und entspricht einer ECU-Software-ID. Der Einfachheit halber wird die „ECU-ID“ illustriert, um mit einer Version von Software hinzugefügt zu werden. Die „ECU-SW-ID“ wird aktualisiert, wenn eine Version eines Anwendungsprogramms einer entsprechenden ECU aktualisiert wird. Sogar, wenn dieselbe Programmversion in derselben „ECU-ID“ verwendet wird, werden unterschiedliche „ECU-SW-IDs“ verwendet, wenn sich Hardwarekonfigurationen voneinander unterscheiden. Das heißt, die „ECU-SW-ID“ ist ebenso Informationen, die eine Produktnummer der ECU angeben.
  • 266 illustriert die Konfigurationsinformationen hinsichtlich eine Fahrzeugs vom „Fahrzeugtyp“ = „aaa“. Unter den ECUs 19, die an einem Fahrzeug montiert sind, sind beispielhaft eine Autonomes-Fahren-ECU (ADS), eine Brennkraftmaschinen-ECU (ENG), eine Bremsen-ECU (BRK) und eine Elektrische-Servolenkungs-ECU (EPS) dargestellt. Zum Beispiel sind „ECU-SW-IDs“ von „Fahrzeug-SW-ID“ = „0001“ „ads_001‟, „eng_010“, „brk_001“ und „eps_010“, während „ECU-SW-IDs“ von „Fahrzeug-SW-ID“ = „0002“ „ads_002“, „eng_010“, „brk_005“ und „eps_011“ sind und drei Softwareversionen aktualisiert werden. Demzufolge wird „Sys-ID“ = „SA01“ auf „SA02“ aktualisiert und „Sys-ID“ = „SA02“ wird auf „SA03“ aktualisiert. Wie vorstehend erwähnt wird, ist der Anfangswert in der Konfigurationsinformations-DB 208 zum Zeitpunkt der Produktion oder des Verkaufs des Fahrzeugs registriert und wird dann aktualisiert, wenn Versionen von Anwendungsprogramm von irgendeiner oder mehrere ECUs aktualisiert werden. Das heißt, die Konfigurationsinformations-DB 208 gibt genehmigte Konfigurationsinformationen, die in dem Markt vorhanden sind, für jeden Fahrzeugtyp an.
  • Wie in 267 illustriert ist, sind beispielsweise die folgenden Programme und Daten in der ECU-Umprogrammierungs-DB 204 registriert. In 267 sind unter den ECUs 19, die an einem bestimmten Fahrzeugtyp montiert werden sollen, als ECUs 19, in denen Anwendungsprogramme aktualisiert werden, eine Autonomes-Fahren-ECU (ADS), eine Bremsen-ECU (BRK) und eine Elektrische-Servolenkungs-ECU (EPS) beispielhaft dargestellt. Hinsichtlich der jüngsten „ECU-SW-ID“ der Aktualisierungsziel-ECU 19 werden alte Programmdateien und neue Programmdateien der ECU, die Integritätsverifizierungsdaten des neuen Programms, eine Aktualisierungsdatendatei, die Differenzdaten zwischen dem neuen Programm und dem alten Programm ist, Integritätsverifizierungsdaten der Aktualisierungsdaten, eine Rollbackdatendatei, die die Differenzdaten ist, und Integritätsverifizierungsdaten der Rollbackdaten registriert. Die Integritätsverifizierungsdaten ist ein Hash-Wert, der erlangt wird, indem eine Hash-Funktion auf einen Datenwert angewendet wird. Wenn die gesamten Daten des neuen Programms als die Aktualisierungsdaten anstelle der Differenzdaten verwendet werden, sind die Integritätsverifizierungsdaten der Aktualisierungsdaten dieselben wie die gesamten Daten des neuen Programms.
  • Obwohl eine Datenstruktur der jüngsten „ECU-SW-ID“ in 267 illustriert ist, kann in einem Fall, in dem Daten der alten „ECU-SW-ID“ gespeichert sind, auf eine neue Programmdatei mit der vorherigen „ECU-SW-ID“ hinsichtlich der alten Programmdatei Bezug genommen werden. Jedes Stück der Integritätsverifizierungsdaten kann ein Format haben, in dem ein Wert, der durch den Zulieferer berechnet wird, registriert ist, oder kann ein Format haben, in dem ein Wert, der durch die Zentralvorrichtung 3 berechnet wird, registriert ist.
  • Wie in 268 als ein Beispiel illustriert ist, werden die folgenden individuellen Spezifikationsdaten in der ECU-Metadaten-DB 205 registriert. Für die jüngste „ECU-SW-ID“ sind eine Größe einer Aktualisierungsdatendatei, eine Größe einer Rollbackdatendatei, Bankinformationen, die eine Bank hinsichtlich eines Programm aus einer Bank-A, einer Bank-B, einer Bank-C und dergleichen in einem Fall angeben, in dem der in der ECU 19 beinhaltete Flash-Speicher 28d zwei oder mehr Banken hat, eine Übertragungsgröße, eine Leseadresse einer Programmdatei und dergleichen registriert. Diese sind Beispiele von aktualisierungsdatenbezogenen Informationen.
  • Attributinformationen, die ein Attribut der ECU 19 angeben, sind auch in der ECU-Metadaten-DB 205 registriert. Die Attributinformationen sind Informationen, die ein Hardwareattribut und ein Softwareattribut hinsichtlich der ECU angeben. Die „Übertragungsgröße“ ist eine Übertragungsgröße, wenn Umschreibdaten geteilt bzw. unterteilt werden und von dem CGW 13 an die ECU 19 übertragen werden, und der „Schlüssel“ ist ein Schlüssel, der verwendet wird, wenn das CGW 13 sicher auf die ECU 19 zugreift. Diese sind Beispiele von Softwareattributinformationen. Der „Fahrzeugtyp“ und die „ECU-ID“ beinhalten ebenso eine Speicherkonfiguration des Flash-Speichers 28d der ECU 19, den Bustyp, mit dem die ECU 19 verbunden ist, den Energieversorgungstyp, der mit der ECU 19 verbunden ist, und dergleichen. Diese sind Beispiele von Hardwareattributinformationen.
  • Hierbei ist als die Speicherkonfiguration eine „Einzelbank“ ein Einzelbankspeicher mit einer einzelnen Flash-Bank, eine „Doppelbank“ ein Doppelbankspeicher mit doppelten Flash-Bänken und „Aussetz“ ein Einzelbankaussetzspeicher mit Pseudodoppel-Flash-Bänken. Die Hardwareattributinformationen und die Softwareattributinformationen sind Informationen, die zur Umschreibsteuerung jeder ECU 19 in dem fahrzeugseitigen System 4 verwendet werden. Obwohl die Hardwareattributinformationen vorab in dem CGW 13 gespeichert sein können, werden in der vorliegenden Ausführungsform die Hardwareattributinformationen durch die Zentralvorrichtung 3 verwaltet, um die Verwaltungslast auf dem fahrzeugseitigen System 4 zu reduzieren. Die Softwareattributinformationen sind Daten, die direkt eine Umschreiboperation jeder ECU 19 bezeichnen. Die Softwareattributinformationen werden durch die Zentralvorrichtung 3 derart verwaltet, dass flexible Steuerung in dem fahrzeugseitigen System 4 verwirklicht werden kann.
  • Wie in 269 als ein Beispiel illustriert ist, werden die folgenden Daten für jedes einzelne Fahrzeug in der Individuelle-Fahrzeuginformationen-DB 213 registriert. Im Allgemeinen werden Konfigurationsinformationen für jedes individuelle Fahrzeug oder Statusinformationen eines individuellen Fahrzeugs hinsichtlich Programmaktualisierung registriert. Insbesondere für „VIN“, die eine ID jedes Fahrzeugs ist, sind die „Fahrzeug-SW-ID“, die „Sys-ID“, die „ECU-ID“, die „ECU-SW-ID“ und dergleichen, die Konfigurationsinformationen sind, registriert. Ein „Auszug“-Wert, der ein Hash-Wert für die Konfigurationsinformationen ist, wird ebenso in der Zentralvorrichtung 3 berechnet und gespeichert. Eine „aktive Bank“ ist eine Bank, in der ein Programm, das gegenwärtig durch die ECU 19 operiert wird, in einem Fall, in dem eine Speicherkonfiguration eine Doppelbank ist, geschrieben ist, und ein hochgeladener Wert zusammen mit den Konfigurationsinformationen registriert ist.
  • Ein „Zugriffsprotokoll“ ist das Datum und die Zeit, wenn das Fahrzeug die individuellen Fahrzeuginformationen auf die Zentralvorrichtung 3 hochgeladen hat. Ein „Umprogrammierungsstatus“ gibt einen Status der Umprogrammierung in dem Fahrzeug an und beinhaltet beispielsweise „Kampagne ausgegeben“, „Aktivierung abgeschlossen“ und „Herunterladen abgeschlossen“. Das heißt, es ist aus diesem Fortschrittsstatus ersichtlich, in welche Phase das Umprogrammieren in dem Fahrzeug fortschreitet und in welcher Phase das Umprogrammieren verzögert ist. Wenn die Konfigurationsinformationen oder dergleichen von dem fahrzeugseitigen System 4 in die Zentralvorrichtung 3 hochgeladen werden, wird die „VIN“ jedes Fahrzeugs zu den Informationen oder dergleichen hinzugefügt.
  • Wie in 270 illustriert ist, werden eine ID eines Verteilungspakets, eine Verteilungspaketdatei und Daten zum Verifizieren der Integrität des Verteilungspakets in der Paket-DB 206 registriert. Wie in 271 illustriert ist, werden die folgenden Daten in der Kampagnen-DB 217 registriert. Die Daten sind eine ID von Kampagneninformationen, eine Verteilungspaket-ID, Nachrichteninformationen wie Textaussagen, die einen spezifischen Aktualisierungsinhalt als einen Kampagneninhalt angeben, eine Liste von „VINs“, die IDs von Kampagnenzielfahrzeugen sind, eine Liste von „Fahrzeug-SW-IDs“ vor und nach dem Aktualisieren, eine Liste von „ECU-SW-IDs“ vor und nach der Aktualisierung und dergleichen. Eine „Ziel-VIN“-Liste kann durch Vergleichen der Individuelle-Fahrzeuginformationen-DB 213 mit der Kampagnen-DB 217 registriert werden. Die Kampagneninformationen können ebenso in der Paket-DB 206 registriert werden.
  • Als nächstes wird eine Operation der vorliegenden Ausführungsform beschrieben. In 272 wird eine Verarbeitung zum Registrieren von Daten in der ECU-Umprogrammierungs-DB 204 der Paketverwaltungseinheit 3A beschrieben. Wie in 272 illustriert ist, starten die Anzeigeeinheit 219 und die Eingabeeinheit 218 einen Umprogrammierungsdatenregistrierungsbildschirm des Verwaltungsservers 10 und empfangen eine Eingabe neuer und alter Programmdateien der ECU 19 von einem Operator des Zulieferers (A1). Beispielsweise kann ein UI (Benutzerschnittstelle) oder dergleichen verwendet werden, um eine Datei zu registrieren, in die Konfigurationsinformationen in einem CSV-Format oder ähnlichem als Datei geschrieben werden. Anschließend erzeugt die Paketverwaltungseinheit 3A Integritätsverifizierungsdaten des neuen Programms (A2) und erzeugt eine Differenzdatendatei als Aktualisierungsdifferenzdaten zur Aktualisierung des neuen Programms basierend auf dem alten Programm und Integritätsverifizierungsdaten der Aktualisierungsdifferenzdaten (A3 und A4).
  • Als nächstes werden eine Differenzdatendatei als Rollback-Differenzdaten zur Aktualisierung des alten Programms basierend auf dem neuen Programm und Integritätsverifizierungsdaten der Daten erzeugt (A5 und A6). Die Programmdatei und die Verifizierungsdaten werden in der ECU-Umprogrammierungs-DB 204 registriert und eine neue „ECU-SW-ID“ wird basierend auf der vorherigen „ECU-SW-ID“ erzeugt und registriert (A7). Hierbei, wenn die gesamten Daten anstelle der Differenz verteilt werden, kann der Schritt bezüglich der Differenzdaten weggelassen werden.
  • Die Integritätsverifizierungsdaten sind ein Hash-Wert, der beispielsweise durch Anwendung einer Hash-Funktion erzeugt wird. In einem Fall, in dem beispielsweise sicherer Hash-Algorithmus 256 Bits (Secure Hash Algorithm 256-Bit (SHA-256)) als Hash-Funktion verwendet wird, werden Datenwerte alle 64 Bytes in Nachrichtenblöcke unterteilt. Dann, wenn Datenwerte des ersten Nachrichtenblocks auf einen anfänglichen Hash-Wert angewendet werden und somit ein Hash-Wert mit 32 Byte Länge erlangt wird, wird ein Hash-Wert mit 32 Byte Länge sequentiell und wiederholt durch Anwenden von Datenwerten des nächsten Nachrichtenblocks auf den Hash-Wert erlangt.
  • In 273 wird eine Umschreibspezifikationsdatenerzeugungsverarbeitung in der Spezifikationsdatenerzeugungseinheit 201 beschrieben. Hierbei wird die Umschreibspezifikationsdatenerzeugungsverarbeitung für das Fahrzeug des „Fahrzeugtyps“ = „aaa“ beschrieben, aber dasselbe gilt für die anderen Fahrzeuge.
  • Die Zentralvorrichtung 3 startet ein Spezifikationsdatenerzeugungsprogramm der Spezifikationsdatenerzeugungseinheit 201 und empfängt eine Eingabe von einem Operator des OEM mittels der Anzeigeeinheit 219 und der Eingabeeinheit 218. Als erstes bestimmt die Spezifikationsdatenerzeugungseinheit 201 die Aktualisierungsziel-ECU 19. Wie in 273 illustriert ist, greift die Spezifikationsdatenerzeugungseinheit 201 auf die ECU-Umprogrammierungs-DB 204 zu und gibt einen Anzeigebildschirm, auf dem ein Aktualisierungsziel unter den registrierten „ECU-SW-IDs“ ausgewählt werden kann, an die Anzeigeeinheit 219 aus. Die Spezifikationsdatenerzeugungseinheit 201 speichert eine oder mehrere „ECU-SW-IDs“, die durch den Operator des OEM mittels der Eingabeeinheit 218 ausgewählt werden, in einer spezifischen ECU-Reihenfolge (B1). Hierbei gibt die ECU-Reihenfolge eine Umschreibreihenfolge des ECUs 19 in dem fahrzeugseitigen System 4 an. Die Spezifikationsdatenerzeugungseinheit 201 legt die Reihenfolge, die durch den Operator des OEM bestimmt wird, als die spezifische ECU-Reihenfolge fest.
  • Die Spezifikationsdatenerzeugungseinheit 201 kann auf die Konfigurationsinformations-DB 208 zum Bestimmen der Aktualisierungsziel-ECU 19 ohne Empfangen einer Eingabe von dem Operator des OEM zugreifen. Die Spezifikationsdatenerzeugungseinheit 201 nimmt Bezug auf eine „ECU-SW-ID“ für die jüngste „Fahrzeug-SW-ID“ und eine „ECU-SW-ID“ für die vorherige „Fahrzeug-SW-ID“ und extrahiert die ECU 19, die Aktualisierung unterzogen wird. Beispielsweise sind in 266 die „ADS“, die „BRK“ und die „EPS“ die Aktualisierungsziel-ECUs 19. Die Spezifikationsdatenerzeugungseinheit 201 legt die Reihenfolge der ECUs, die in der Konfigurationsinformations-DB 208 registriert sind, als die spezifische ECU-Reihenfolge fest.
  • Die Spezifikationsdatenerzeugungseinheit 201 erzeugt Gruppeninformationen für ECUs mit mehreren Aktualisierungsziel-„ECU-SW-IDs“ (B2). Mit Bezugnahme auf die Konfigurationsinformations-DB 208 beispielsweise unter Verwendung der „Sys-ID“ beinhaltet eine Gruppe 1 „ECU-IDs“, wobei die „Sys-ID“ „SA01_02“ ist, und eine Gruppe 2 beinhaltet „ECU-IDs“, wobei die „Sys-ID“ „SA02_02“ ist. Beispielsweise ist in 266 die Gruppe 1 auf die „ADS“ festgelegt, die Gruppe 2 ist als erstes auf die „BRK“ festgelegt und die Gruppe 2 ist als zweites auf die „EPS“ festgelegt. Wie vorstehend beschrieben ist, bestimmt die Spezifikationsdatenerzeugungseinheit 201 eine Aktualisierungsziel-ECU, eine Gruppe, zu der die ECU gehört, und eine ECU-Reihenfolge in der Gruppe.
  • Als nächstes greift die Spezifikationsdatenerzeugungseinheit 201 auf die ECU-Metadaten-DB 205 zu und erlangt die aktualisierungsdatenbezogenen Informationen, die Hardwareattributinformationen und die Softwareattributinformationen als die Spezifikationsdaten hinsichtlich der Aktualisierungsziel-ECU 19 (B3). Beispielsweise, wie in 274 illustriert ist, beinhalten die aktualisierungsdatenbezogenen Informationen eine „Aktualisierungsprogrammversion“, eine „Aktualisierungsprogrammerlangungsadresse“, eine „Aktualisierungsprogrammgröße“, eine „Rollbackprogrammversion“, eine „Rollbackprogrammerlangungsadresse“, eine „Rollbackprogrammgröße“, einen „Schreibdatentyp“ und eine „Schreibbank“. Die Hardwareattributinformationen beinhalten einen „Verbindungsbus“, eine „Verbindungsenergieversorgung“ und einen „Speichertyp“. Die Softwareattributinformationen beinhalten „Umschreibbankinformationen“, „Sicherheitszugriffsschlüsselinformationen“, ein „Umschreibverfahren“ und eine „Übertragungsgröße“. Die „Umschreibverfahren“ sind Daten, die angeben, ob das Umschreiben durch Aktivieren der Selbsterhaltungsenergieschaltung ausgeführt wird, wenn Umschalten von IG-EIN zu IG-AUS (Selbsterhaltungsenergie) auftritt, oder das Umschreiben gemäß IG-EIN und IG-AUS (Energieversorgungssteuerung) ausgeführt wird. Informationen außer einem Schlüssel können als die „Sicherheitszugriffsschlüsselinformationen“ beinhaltet sein.
  • Nachfolgend wird jedes Stück von Information beschrieben.
    „Schreibdatentyp“ ist ein Typ, der angibt, ob ein Programm Differenzdaten oder die gesamten Daten ist. Der Schreibdatentyp für ein Aktualisierungsprogramm und der Schreibdatentyp für ein Rollbackprogramm können später separat beschrieben werden.
    „Schreibbank“ ist Information, die eine Bank angeben, in der ein Programm für die Doppelbank-Speicher-ECU 19 geschrieben ist.
    „Verbindungsbus“ ist Information zum Identifizieren eines Busses, mit dem die ECU 19 verbunden ist.
    „Verbindungsenergieversorgung“ ist Informationen, die einen Zustand einer Energieversorgung angeben, mit der die ECU 19 verbunden ist, wobei ein Wert beschrieben ist, der irgendeine der Batterieenergie (+B-Energie), der Zubehörenergie (ACC-Energie) und der Zündungsenergie (IG-Energie) angibt.
    „Speichertyp“ ist Informationen zum Identifizieren einer Speicherkonfiguration der ECU 19, wobei Werte beschrieben sind, die einen Doppelbankspeicher, einen Einzelbankaussetzspeicher (Pseudodoppelbankspeicher), einen Einzelbankspeicher und dergleichen angeben.
    „Umschreibbankinformationen“ sind Informationen, die angeben welche Bank der ECU 19 eine Startbank (aktive Bank) ist und welche Bank eine Umschreibbank (inaktive Bank) ist.
    „Sicherheitszugriffsschlüsselinformationen“ sind Informationen zum Authentifizieren des Zugriffs auf die ECU 19 unter Verwendung eines Schlüssels und beinhaltet Informationen wie einen Schlüsselableitungsschlüssel, ein Schlüsselmuster und ein Entschlüsselungsoperationsmuster.
    Die „Übertragungsgröße“ ist eine Datengröße, wenn ein Programm geteilt ist und an die ECU 19 übertragen wird.
  • Beispielsweise, wie in 274 illustriert ist, wird die „ECU-ID“ als ein Schlüssel zum Speichern dieser Informationsstücke in der spezifischen ECU-Reihenfolge, die vorstehend beschrieben ist, verwendet. Wen Informationen hinsichtlich all der ECUs erlangt werden (B4; JA), bestimmt die Spezifikationsdatenerzeugungseinheit 201 „Umschreibumgebungsinformationen“ für ein Aktualisierungszielfahrzeug (B5). Die „Umschreibumgebungsinformationen“ sind Informationen, die zur Umschreibsteuerung in dem fahrzeugseitigen System 4 für die Gruppe von ECUs oder gesamte Fahrzeug verwendet werden, und sind Daten, die direkt eine Umschreiboperation bestimmen. Zum Beispiel beinhalten die Umschreibumgebungsinformationen für das gesamte Fahrzeug eine „Fahrzeugverfassung“, was angibt, ob die Programmaktualisierung im fahrzeugseitigen System 4 ausgeführt wird, während das Fahrzeug fährt (während der IG-Schalter eingeschaltet ist) oder während das Fahrzeug geparkt ist (während der IG-Schalter ausgeschaltet ist), eine „Batterielast (eine Restbatterieladung)“, die eine Einschränkung der Restbatterieladung angibt, mit der die Programmaktualisierung im fahrzeugseitigen System 4 ausgeführt werden kann, Buslasttabelleninformationen, die eine Einschränkung einer Buslast angeben, mit der Schreibdaten im fahrzeugseitigen System 4 übertragen werden können, und dergleichen.
  • Die Umschreibumgebungsinformationen für die Gruppe beinhalten die ECUs 19, die zur Gruppe gehören, die Reihenfolge der ECUs in der Gruppe und dergleichen. In dem fahrzeugseitigen System 4 wird Programmaktualisierung gesteuert, um in der Gruppeneinheit synchronisiert zu werden, und Schreiben in die ECU 19 wird in der bestimmten ECU-Reihenfolge ausgeführt. Die Spezifikationsdatenerzeugungseinheit 201 startet einen Bildschirm zur Registrierung von Umschreibumgebungsinformationen und empfängt eine Eingabe von dem Operator des OEM. Alternativ kann Excel (registrierte Marke) importiert werden, in das Umschreibumgebungsinformationen eingegeben werden. Alternativ können die Einschränkungsinformationen, die in der Konfigurationsinformations-DB 208 registriert sind, extrahiert werden. Die Spezifikationsdatenerzeugungseinheit 201 verwendet das Erzeugungsergebnis in dem vorstehenden Schritt B2 als die Umschreibumgebungsinformationen für die Gruppe.
  • Die Buslasttabelle ist eine Tabelle, die eine Korrespondenzbeziehung zwischen einem Energieversorgungszustand und einer zulässigen Sendemenge für einen Bus illustriert. Wie in 275 illustriert ist, ist die zulässige Sendemenge eine Summe einer Sendemenge von Fahrzeugsteuerdaten und Schreibdaten, die hinsichtlich der maximal zulässigen Sendemenge gesendet werden können. In diesem Beispiel, da eine zulässige Sendemenge „80%“ hinsichtlich der maximal zulässigen Sendemenge für den ersten Bus ist, erlaubt in dem IG-Energieversorgungszustand das CGW 13 „50%“ hinsichtlich der maximal zulässigen Sendemenge als eine zulässige Sendemenge von Fahrzeugsteuerdaten und „30%“ hinsichtlich der maximal zulässigen Sendemenge als eine zulässige Sendemenge von Schreibdaten. In dem ACC-Energieversorgungszustand erlaubt das CGW 13 „30%“ bezüglich der maximal zulässigen Sendemenge als eine zulässige Sendemenge der Fahrzeugsteuerdaten und „50%“ hinsichtlich der maximal zulässigen Sendemenge als zulässige Sendemenge der Schreibdaten. Im +B-Energieversorgungszustand erlaubt das CGW 13 „20%“ bezüglich der maximal zulässigen Sendemenge als eine zulässige Sendemenge der Fahrzeugsteuerdaten und erlaubt „60%“ hinsichtlich der maximal zulässigen Sendemenge als zulässige Sendemenge der Schreibdaten. Das gleiche gilt für den zweiten Bus und den dritten Bus.
  • Schließlich lokalisiert die Spezifikationsdatenerzeugungseinheit 201 jedes Stück der erzeugten oder erlangten Daten gemäß einer vorbestimmten Datenstruktur und erzeugt somit Umschreibspezifikationsdaten, wie in 274 illustriert ist (B6). Das heißt, die Spezifikationsdatenerzeugungseinheit 201 erzeugt die Umschreibspezifikationsdaten in einer Datenstruktur, die durch das fahrzeugseitige System 4 analysiert werden kann. Jedes Stück von ECU-Informationen kann in den Umschreibspezifikationsdaten in der Reihenfolge der jüngeren Gruppe und gemäß der Reihenfolge von ECUs in der Gruppe beschrieben werden. Beispielsweise sind in 266 in einem Fall, in dem die Gruppe 1 auf „ADS“ und die Gruppe 2 zuerst auf „BRK“ und als zweites auf „EPS“ gesetzt ist, zuerst die ECU-Informationen der „ADS“, als nächstes die ECU-Informationen der „BRK“ und als letztes die ECU-Informationen der „EPS“ im ECU-Informationsfeld der Spezifikationsdaten angeordnet.
  • In den Spezifikationsdaten, die in 274 illustriert sind, sind die „ECU-ID“ bis zur „Übertragungsgröße“ der ECU-Informationen Beispiele der zielvorrichtungsbezogenen Informationen einschließlich des Typs der Ziel-ECU 19 und entsprechen den vorstehend beschriebenen Hardwareattributinformationen und Softwareattributinformationen. „Aktualisierungsprogrammversion“ bis „Schreibbank“ sind Beispiele von aktualisierungsdatenbezogenen Informationen. „Umschreibumgebung“ für die Gruppe von ECUs oder das gesamte Fahrzeug ist ein Beispiel für Aktualisierungsverarbeitungsinformationen zum Bestimmen bzw. Bezeichnen einer Aktualisierungsverarbeitung in einem Fahrzeug.
  • In 276 wird die Paketerzeugungsverarbeitung in der Paketerzeugungseinheit 202 beschrieben. Wie vorstehend beschrieben ist, wird hier die Paketerzeugungsverarbeitung für das Fahrzeug vom „Fahrzeugtyp“ = „aaa“ beschrieben. Wie in 276 illustriert ist, startet die Zentralvorrichtung 3 die Paketerzeugungseinheit 202 der Paketverwaltungseinheit 3A mit einer Anweisung von dem Operator als ein Auslöser. Die Paketerzeugungseinheit 202 bestimmt ein Aktualisierungsziel „ECU-SW-ID“ auf gleiche Weise wie in Schritt B1 (C1). Die Paketerzeugungseinheit 202 erlangt jedes Stück von Daten entsprechend dem Aktualisierungsziel „ECU-SW-ID“ von der ECU-Umprogrammierungs-DB 204 und erzeugt ein Stück von Umprogrammierungsdaten (C2). Beispielsweise erlangt in 267 die Paketerzeugungseinheit 201 die Integritätsverifizierungsdaten des neuen Programms, die Aktualisierungsdaten, die Differenzdaten sind, die Integritätsverifizierungsdaten der Aktualisierungsdaten, die Integritätsverifizierungsdaten des alten Programms, die Rollbackdaten, die Differenzdaten sind, und die Integritätsverifizierungsdaten der Rollbackdaten und erzeugt die Umprogrammierungsdaten. Die erzeugten Umprogrammierungsdaten und die entsprechenden Umschreibspezifikationsdaten, die in Schritt B1 bis B6 beschrieben sind, sind integriert, um eine einzelne Verteilungspaketdatei zu erzeugen (C3). Als nächstes werden Integritätsverifizierungsdaten für die erzeugte Paketdatei erzeugt (C4) und die Integritätsverifizierungsdaten werden in der Paket-DB 206 zusammen mit der Paketdatei (C5) registriert.
  • 277 ist ein Bilddiagramm, das Inhalte der Paketdatei illustriert, die wie vorstehend beschrieben erzeugt wird. Das Bild illustriert einen Fall, in dem Aktualisierungsdaten oder Integritätsverifizierungsdaten entsprechend der „ADS“, der „BRK“ und der „EPS“, die Aktualisierungsziele sind, in ein Stück von Umprogrammierungsdaten gemäß der ECU-Reihenfolge integriert sind, und eine einzelne Verteilungspaketdatei wird durch Integrieren der Umprogrammierungsdaten mit Umschreibspezifikationsdaten erzeugt. Hierbei können die Rollbackdaten in den Umprogrammierungsdaten nur in einem Fall beinhaltet sein, in dem eine Speicherkonfiguration der Aktualisierungsziel-ECU 19 die Einzelbank ist. Wenn die Speicherkonfiguration die Doppelbank oder Aussetzen ist, können die Rollbackdaten, die ein altes Programm sind, weggelassen werden, da Umschreiben nicht auf einer aktiven Bank ausgeführt wird.
  • Wie vorstehend beschrieben ist, werden gemäß der vorliegenden Ausführungsform Daten eines Aktualisierungsprogramms der Anwendungsprogrammaktualisierungsziel-ECU 19 aus mehreren ECUs 19, die an dem Fahrzeug montiert sind, in der ECU-Umprogrammierungs-DB 204 der Zentralvorrichtung 3 gespeichert. Die fahrzeugbezogenen Informationen wie eine „ECU-ID“ für jede von mehreren der ECUs 19, die an dem Fahrzeug montiert sind, und eine „ECU-SW-ID“ eines Anwendungsprogramms, das in der ECU 19 gespeichert ist, werden in der Konfigurationsinformations-DB 208 zusammen mit dem Typ des Fahrzeugs gespeichert. Das Attribut der Umschreibziel-ECU 19 und die aktualisierungsdatenbezogenen Informationen bezüglich Aktualisierungsdaten werden in der ECU-Metadaten-DB 205 gespeichert.
  • Die Spezifikationsdatenerzeugungseinheit 201 erzeugt die Spezifikationsdaten, die an das Fahrzeug zusammen mit den Aktualisierungsdaten zu senden sind, die in die Ziel-ECU 19 zu schreiben sind, wobei die Spezifikationsdaten den Typ, das Attribut, die aktualisierungsdatenbezogenen Informationen und die Informationen beinhalten, die die Umschreibumgebung bezüglich der Datenaktualisierung für die Ziel-ECU 19 angeben, basierend auf den Informationen, die in der Konfigurationsinformations-DB 208 und der ECU-Metadaten-DB 205 gespeichert sind. Die Paketerzeugungseinheit 202 erzeugt das Verteilungspaket einschließlich der Spezifikationsdaten und Umprogrammierungsdaten und registriert das Verteilungspaket in der Paket-DB 206. Die Paketverteilungseinheit 203 verteilt das registrierte Verteilungspaket an das fahrzeugseitige System 4. Somit empfängt das fahrzeugseitige System 4 die Spezifikationsdaten, die zusammen mit den Aktualisierungsdaten gesendet werden, und kann somit angemessen die Ziel-ECU 19 basierend auf den Spezifikationsdaten auswählen und angemessen Steuern einer Schreibverarbeitung unter Verwendung der Aktualisierungsdaten steuern.
  • Da die Spezifikationsdatenerzeugungseinheit 201 Spezifikationsdaten für mehrere ECUs 19 als eine Datei erzeugt und die Paketerzeugungseinheit 202 ferner die Datei in eine Datei zusammen mit den Umprogrammierungsdaten für die mehreren ECUs 19 verpackt, kann das fahrzeugseitige System 4 die Aktualisierungsdaten in die mehreren ECUs 19 schreiben, wenn ein einzelnes Verteilungspaket empfangen wird.
  • Das die fahrzeugbezogenen Informationen als die Spezifikationsdaten Gruppeninformationen beinhalten, in denen manche mehrerer ECUs 19 gruppiert sind, kann das fahrzeugseitige System 4 eine Ziel-ECU 19 gemäß einer Reihenfolge auswählen, die durch die Gruppeninformationen definiert ist, und kann Aktualisierungsdaten schreiben. Beispielsweise, wenn es mehrere ECUs 19 gibt, die Verbesserungsziele einer bestimmten Funktion sind, kann durch Festlegen der Gruppe 1 als die Karosseriesystem-ECU 19, der Gruppe 2 als die Fahrsystem-ECU 19 und der Gruppe 3 als die MM-System-ECU 19 Programmaktualisierung in dem fahrzeugseitigen System 4 geteilt drei Mal ausgeführt werden. Demnach kann die Wartezeit eines Benutzers für jede Aktualisierungszeit verglichen mit einem Fall verkürzt werden, in dem die Programmaktualisierung kollektiv in all den ECUs ausgeführt wird.
  • Da die Umschreibumgebungsinformationen „Fahrzeugverfassung (IG-EIN-Zustand)“ und „Batterielast“ bezüglich des Fahrzeugs und „Buslasttabelle“ bezüglich der ECU 19 beinhalten, kann das fahrzeugseitige System 4 einen Zeitpunkt oder dergleichen zum Schreiben von Aktualisierungsdaten basierend auf den Informationen bestimmen. Das heißt, ein Dienstanbieter, der den OEM oder die Zentralvorrichtung 3 verwendet, kann eine flexible Programmaktualisierung durchführen, indem er Ausführungseinschränkungsbedingungen für das Fahrzeug als Umschreibumgebungsinformationen bestimmt.
  • Da die Spezifikationsdatenerzeugungseinheit 201 Spezifikationsdaten gemäß vorbestimmten Datenstrukturen der Reihe nach unter Verwendung von Informationen bezüglich der ECU 19 mit der vorab festgelegten früheren Umschreibreihenfolge bzw. dem früheren Umschreibrang erzeugt, kann das fahrzeugseitige System 4 Aktualisierungsdaten gemäß der Ortsreihenfolge von ECU-IDs in den Spezifikationsdaten schreiben. Das heißt, da die ECUs 19, die wechselseitig kooperative Verarbeitungen haben, in eine Gruppe gruppiert sind, und eine ECU-Reihenfolge durch Berücksichtigung eines Inhalts der wechselseitig kooperativen Verarbeitung definiert ist, kann sogar in einem Fall, in dem eine Aktualisierungszeitgebung für das neue Programm in dem fahrzeugseitigen System 4 nicht vollständig synchronisiert ist, die Programmaktualisierung problemlos abgeschlossen werden. Beispielsweise in einem Fall, in dem ein neues Programm der ECU (ID1) eine Verarbeitung zum Senden einer vorbestimmten Nachricht an die ECU (ID2) hat, und ein neues Programm der ECU (ID2) eine Verarbeitung zum Erzeugen eines Zeitüberschreitungsfehlers hat, wenn die vorbestimmte Nachricht, die von der ECU (ID1) gesendet wird, nicht empfangen werden kann, ist es bevorzugt, eine ECU-Reihenfolge derart zu definieren, dass die ECU (ID1) als erstes Aktualisierung unterzogen wird und die ECU (ID2) später Aktualisierung unterzogen wird.
  • (Zweite Ausführungsform)
  • Wie in 278 illustriert ist, bezieht sich die zweite Ausführungsform auf „Fahrzeugkonfigurationsinformationssynchronisation“, dass anfänglich von dem fahrzeugseitigen System 4 an die Zentralvorrichtung 3 in 265 gesendet wird. Wenn auf der Fahrzeugseite der IG-Schalter 37 eingeschaltet wird, sendet das CGW 13 eine „Synchronisationsinitiierungsanforderung“ an das DCM 12 mit dem Einschalten als ein Auslöser. Das DCM 12 empfängt die Synchronisationsinitiierungsanforderung und gibt eine „Konfigurationsinformationssammelanforderung“ an das CGW 13 zurück. Das CGW 13 fragt jede ECU 19 nach einer Programmversion ab. Jede ECU 19 gibt eine „ECU-SW-ID“ an das CGW 13 zurück. Die ECU 19, deren Speicherkonfiguration die Doppelbank ist oder die Aussetzung ist, gibt ebenso Bankinformationen, die angeben, welche mehrerer Bänke eine aktive Bank und welche eine inaktive Bank ist, an das CGW 13 zurück. Jede ECU 19 kann auch Kalibrierungsinformationen eines Steuerzielaktuators oder dergleichen, Lizenzinformationen zum Empfangen eines Programmaktualisierungsdienstes und einen in der ECU 19 auftretenden Fehlercode an die CGW 13 senden.
  • Wenn Empfang der „ECU-SW-ID“ von jeder ECU 19 abgeschlossen ist, sendet das CGW 13 alle der Informationsstücke an das DCM 12 zusammen mit der „VIN“. In diesem Fall können die „Fahrzeug-SW-ID“ und die „Sys-ID““, die durch das CGW 13 verwaltet werden, ebenso an das DCM 12 gesendet werden. Das DCM 12 empfängt die Informationen und erzeugt einen einzelnen Hash-Wert, der ein Auszugswert für alle der „ECU-SW-IDs“ ist, unter Verwendung beispielsweise einer Hash-Funktion. Wie vorstehend beschrieben ist, in einem Fall, in dem SHA-256 als die Hash-Funktion verwendet wird, werden Datenwerte, die durch serielles Verbinden von Werten aller der „ECU-SW-IDs“ miteinander erlangt werden, alle 64 Byte in Nachrichtenblöcke unterteilt, die Datenwerte des ersten Nachrichtenblocks werden auf einen Anfangs-Hash-Wert angewendet, um einen Hash-Wert mit 32 Byte Länge zu erlangen, und die Datenwerte des nachfolgenden Nachrichtenblocks werden sequentiell auf den Hash-Wert angewendet und schließlich wird ein Hash-Wert mit 32 Byte Länge erlangt. Hierbei kann das DCM 12 einen einzelnen Hash-Wert nicht nur für alle der „ECU-SW-IDs“, sondern ebenso für Werte einschließlich der „Fahrzeug-SW-ID“, der „Sys-ID“, der Bankinformationen und der Kalibrierungsinformationen erzeugen.
  • Das DCM 12 sendet den Auszugswert der „ECU-SW-ID“, der wie vorstehend beschrieben erlangt wird, an die Zentralvorrichtung 3 zusammen mit der „VIN“. Das DCM 12 kann den Fehlercode (trouble code) oder die Lizenzinformationen zusammen mit dem Auszugswert senden. Nachfolgend kann der Auszugswert als ein „Auszug aus Konfigurationsinformation“ bezeichnet werden und alle Datenwerte der „ECU-SW-IDs“, die eine Basis davon sind, können als „alle Konfigurationsinformationen“ bezeichnet werden. „Alle Konfigurationsinformationen“ können die „Fahrzeug-SW-ID“, die „Sys-ID“, die Bankinformationen und die Kalibrierungsinformationen beinhalten.
  • Wie später beschrieben wird, vergleicht die Zentralvorrichtung 3 Auszugswerte oder Aktualisierungen der Individuelle-Fahrzeuginformationen-DB 213. Die Zentralvorrichtung 3, die mit den Konfigurationsinformationen synchronisiert ist, überprüft Verfügbarkeit von Programmaktualisierung und teilt dem fahrzeugseitigen System 4 die Kampagneninformationen in einem Fall mit, in dem die Programmaktualisierung verfügbar ist. Danach lädt das fahrzeugseitige System 4 ein Verteilungspaket herunter, installiert das Verteilungspaket in der Ziel-ECU 19 und aktiviert ein neues Programm. Das CGW 13 sendet eine „Synchronisationsinitiierungsanforderung“ an das DCM 12 mit Abschluss der Aktualisierungsverarbeitung als ein Auslöser und führt dann die gleiche Verarbeitung, wie vorstehend beschrieben, aus, bis eine Synchronisationsabschlussmitteilung ausgeführt wird. Die vorstehend beschriebene Verarbeitung, die mit Einschalten des IG-Schalters 37 als Auslöser ausgeführt wird, kann ebenso ausgeführt werden, nachdem das Programm aktualisiert ist.
  • Wie in 279 illustriert ist, wenn „Auszug aus Konfigurationsinformation“ von dem fahrzeugseitigen System 4 (D1) empfangen wird, vergleicht die Verwaltungseinheit 3C für individuelle Fahrzeuginformationen der Zentralvorrichtung 3 den „Auszug aus Konfigurationsinformation“ mit einem „Auszug aus Konfigurationsinformation“ eines entsprechenden Fahrzeugs, das zu dieser Zeit in der Individuelle-Fahrzeuginformationen-DB 213 registriert ist, und bestimmt, ob oder nicht beide Auszüge übereinstimmen (D2). Als der „Auszug aus individuellen Fahrzeuginformationen“ kann ein vorab berechneter Wert in der Individuelle-Fahrzeuginformationen-DB 213 registriert werden oder ein Auszugswert kann unter Verwendung der Konfigurationsinformationen berechnet werden, die in der Individuelle-Fahrzeuginformationen-DB 213 zur Zeit des Empfangs von dem fahrzeugseitigen System 4 registriert sind. Wenn beide der Auszüge übereinstimmen (JA), wird bestimmt, ob oder nicht die individuellen Fahrzeuginformationen des Fahrzeugs einer genehmigten Kombination entsprechen, die in der Konfigurationsinformations-DB 208 registriert ist (D6). Da es eine Wahrscheinlichkeit gibt, dass die Konfigurationsinformations-DB 208 zu einem vorbestimmten Zeitpunkt aktualisiert werden kann, wird die Bestimmung bei Schritt D6 sowohl in einem Fall ausgeführt, in dem beide der Auszüge bei Schritt D2 (JA) übereinstimmen, als auch in einem Fall, in dem beide der Auszüge nicht übereinstimmen (NEIN).
  • Hierbei wird beispielsweise, wie in 280 illustriert ist, um die Konformität zu bestimmen, überprüft, ob oder nicht die Kombination der „Fahrzeug-SW-ID“ und der „ECU-SW-ID“ der Konfigurationsinformationen, die von dem fahrzeugseitigen System 4 hochgeladen werden, genehmigt ist. In einer in derselben Figur dargestellten Liste ist eine „ECU-SW-ID“ von „ECU-ID = ADS“ entsprechend „Fahrzeug-SW-ID = 0001“, die in der Konfigurationsinformations-DB 208 registriert ist, „ads_001“, eine „ECU-SW-ID“ von „ECU ID = BRK“ ist „brk_001“ und eine „ECU-SW-ID“ von „ECU-ID = EPS“ ist „eps_010“.
  • Im Gegensatz dazu ist das Fahrzeug C mit VIN = 300 auch „Fahrzeug-SW-ID = 0001“, aber eine „ECU-SW-ID“ von „ECU-ID = ADS“ ist „ads_002“ und eine „ECU-SW-ID“ von „ECU-ID = BRK“ ist „brk_003“. Diese zwei ECUs 19 unterscheiden sich von den Konfigurationsinformationen, die in der Konfigurationsinformations-DB 208 registriert sind. Daher wird bei Schritt D6 „NEIN“ bestimmt, das heißt, es wird als abgelehnt und „NG“ bestimmt und die Konfigurationsinformationsüberprüfungseinheit 210 teilt dem fahrzeugseitigen System 4 und der Verwaltungsvorrichtung 220, die in 265 illustriert ist und die eine Vorrichtung ist, die Informationen hinsichtlich eines Fahrzeugs verwaltet, das durch den OEM oder dergleichen hergestellt wird, eine Anomalie mit (D12). Die Mitteilung der Anomalie wird beispielsweise durch die SMS-Sendesteuereinheit 212 unter Verwendung einer SMS ausgeführt. Die SMS-Sendesteuereinheit 212 ist ein Beispiel einer Kommunikationseinheit. Sogar, wenn die zwei ECUs 19 keine Aktualisierungsziel-ECUs unter Verwendung neuer Programme sind, bestimmt die Zentralvorrichtung 3, dass das Fahrzeug abgelehnt ist, und führt die Verarbeitung bei Schritt D7 und den nachfolgenden Schritten nicht aus.
  • Andererseits hat das Fahrzeug A mit der VIN = 100 „Fahrzeug-SW-ID = 0001“, die „ECU-SW-ID“ von „ECU-ID = ADS“ ist „ads_001“ und die „ECU-SW-ID“ von „ECU-ID = BRK“ ist „brk_001“, die alle mit den Konfigurationsinformationen übereinstimmen, die in der Konfigurationsinformations-DB 208 registriert ist. Demnach wird bei Schritt D6 „JA“ bestimmt, das heißt, es wird als genehmigt und „OK“ bestimmt und die Verarbeitung fährt mit Schritt D7 fort. Hierbei kann die Konfigurationsinformationsüberprüfungseinheit 210 bestimmen, ob die Kombination von „ECU-SW-ID“ des Fahrzeugs C in der Konfigurationsinformations-DB 208 vorhanden ist, um zu bestimmen, ob das Fahrzeug C genehmigt oder abgelehnt ist. Die „Sys-ID“ kann ebenso zur Bestimmung zusätzlich zur „Fahrzeug-SW-ID“ verwendet werden.
  • Als nächstes greift die Aktualisierungsverfügbarkeitsprüfeinheit 211 auf die Kampagnen-DB 217 mittels der Kampagnenverwaltungseinheit 3D zu, um Verfügbarkeit von Aktualisierung unter Verwendung eines neuen Programms zu überprüfen (D7). Die Verfügbarkeit der Aktualisierung wird durch Vergleichen der „Fahrzeug-SW-ID“, die von dem fahrzeugseitigen System 4 hochgeladen wird, mit der „Vor-Aktualisierungs-Fahrzeug-SW-ID“ der Kampagnen-DB 217 bestimmt. Beispielsweise, wie in 271 illustriert ist, da das Fahrzeug A mit VIN = 100 vor der Aktualisierung „Fahrzeug-SW-ID = 0001“ hat, wird bestimmt, dass die Aktualisierung in dem Fahrzeug A verfügbar ist (JA). In diesem Fall teilt die Aktualisierungsverfügbarkeitsprüfeinheit 211 dem fahrzeugseitigen System 4 des Fahrzeugs A die entsprechende Kampagnen-ID „Cpn_001“ mit (D8). Die Kampagneninformation entsprechen Aktualisierungsmitteilungsinformationen und die Kampagnen-DB 217 ist ein Beispiel einer Aktualisierungsmitteilungsinformationsspeichereinheit.
  • Wenn die Kampagnen-DB 217 „Sys-ID“ vor und nach Aktualisierung speichert, kann Verfügbarkeit der Aktualisierung unter Verwendung der „Sys-IDs“ überprüft werden. Anstelle der „Fahrzeug-SW-ID“ kann die hochgeladene „ECU-SW-ID“-Liste mit der „Voraktualisierungs-ECU-SW-ID-Liste“ der Kampagnen-DB 217 verglichen werden, um die Aktualisierungsverfügbarkeit zu bestimmen.
  • Das fahrzeugseitige System 4 erlangt eine Kampagnendatei entsprechend der ID von der Zentralvorrichtung 3 unter Verwendung der mitgeteilten Kampagnen-ID als ein Schlüssel (D9). Die Kampagnendatei beinhaltet Textaussagen, die einen Kampagneninhalt beschreiben, Einschränkungen einer Ausführung von Programmaktualisierung und so weiter. Die Einschränkungen sind Bedingungen zum Ausführen von Herunterladen oder Installation und beinhalten beispielsweise eine Restbatterieladung, eine freie Kapazität des RAM, die zum Herunterladen eines Verteilungspakets erforderlich ist, und die gegenwärtige Position des Fahrzeugs. Das fahrzeugseitige System 4 analysiert die Kampagnendatei und zeigt den Kampagneninhalt unter Verwendung der Fahrzeugbordanzeige 7 an. Der Benutzer nimmt Bezug auf eine Nachricht, die auf der Fahrzeugbordanzeige 7 angezeigt wird, gemäß dem Kampagneninhalt und entscheidet, ob oder nicht ein Anwendungsprogramm der ECU 19 zu aktualisieren ist. Wenn die Benutzerzustimmungsoperation mittels der Fahrzeugbordanzeige 7 empfangen wird, teilt das CGW 13 der Zentralvorrichtung 3 die Genehmigung für die Aktualisierung mittels des DCM 12 mit. Die Zentralvorrichtung 3 sendet die Verteilungspaketdatei mit der Paket-ID entsprechend der Kampagnen-ID und den Integritätsverifizierungsdaten an das fahrzeugseitige System 4 (D10).
  • Wenn die Aktualisierung bei Schritt D7 (NEIN) nicht verfügbar ist, wird dem fahrzeugseitigen System 4 „Aktualisierung nicht verfügbar“ mitgeteilt (D11). Beispielsweise, wie in 280 illustriert ist, da das Fahrzeug A mit VIN = 200 „Fahrzeug-SW-ID = 0002“ nach der Aktualisierung hat, was nicht mit irgendeiner der „Vor-Aktualisierungs-Fahrzeug-SW-IDs“ der Kampagnen-DB 217 übereinstimmt, wird bestimmt, dass die Aktualisierung nicht verfügbar ist.
  • Andererseits, wenn das Vergleichsergebnis des „Auszug aus Konfigurationsinformationen“ Nichtübereinstimmung (NEIN) bei Schritt D2 zeigt, fordert die Zentralvorrichtung 3 das fahrzeugseitige System 4 auf, die „alle Konfigurationsinformationen“ zu senden (D3). Dieses Senden entspricht einer „Gesamtdatensendeanforderungsmitteilung“. Wenn das fahrzeugseitige System 4 „alle Konfigurationsinformationen“ in Antwort auf die Anforderung sendet, empfängt die Zentralvorrichtung 3 „alle Konfigurationsinformationen“ (D4). Die Verwaltungseinheit 3C für individuelle Fahrzeuginformationen der Zentralvorrichtung 3 aktualisiert die Informationen hinsichtlich des Fahrzeugs, das in der Individuelle-Fahrzeuginformationen-DB 213 registriert ist (D4). Die Verarbeitung fährt mit Schritt D6 fort. Die Individuelle-Fahrzeuginformationen-DB 213 ist ein Beispiel einer fahrzeugseitigen Konfigurationsinformationsspeichereinheit. Das CGW 13 kann die „Synchronisationsinitiierungsanforderung“ zu einem Zeitpunkt übertragen, bei dem der IG-Schalter 37 ausgeschaltet ist.
  • Wie vorstehend beschrieben ist, erzeugt gemäß der zweiten Ausführungsform, wenn Konfigurationsinformationen hinsichtlich einer Konfiguration jeder ECU 19 von mehreren ECUs 19 empfangen werden, das fahrzeugseitige System 4 einen Hash-Wert basierend auf Datenwerten mehrerer Stücke von Konfigurationsinformationen und sendet den Hash-Wert an die Zentralvorrichtung 3. Die Zentralvorrichtung 3 beinhaltet die Individuelle-Fahrzeuginformationen-DB 213 und vergleicht den Hash-Wert, der von dem fahrzeugseitigen System 4 gesendet wird, mit einem Hash-Wert der Fahrzeugkonfigurationsinformation, die in der Individuelle-Fahrzeuginformationen-DB 213 gespeichert sind. Wenn beide Werte nicht übereinstimmen, wird eine Anforderung zum Senden von „alle Konfigurationsinformationen“ an das fahrzeugseitige System 4 gesendet. Das fahrzeugseitige System 4 empfängt das Senden der Anforderung und sendet „alle Konfigurationsinformationen“ an die Zentralvorrichtung 3. Wenn „alle Konfigurationsinformationen“ empfangen wird, aktualisiert die Zentralvorrichtung 3 die Konfigurationsinformationen, die in der Individuelle-Fahrzeuginformationen-DB 213 gespeichert sind, basierend auf den Datenwerten davon.
  • Mit dieser Konfiguration sendet das fahrzeugseitige System 4 anfänglich den Hash-Wert der Konfigurationsinformationen an die Zentralvorrichtung 3 und sendet alle Datenwerte der Konfigurationsinformationen an die Zentralvorrichtung 3 nur, wenn ein Vergleichsergebnis der Hash-Werte in der Zentralvorrichtung 3 Nichtübereinstimmung zeigt. Demzufolge, da eine Größe von Daten, die von dem fahrzeugseitigen System 4 gesendet werden, reduziert werden kann, sogar, wenn das fahrzeugseitige System 4 an mehreren Fahrzeugen montiert ist, ist es möglich, eine Gesamtkommunikationsmenge zu reduzieren. Insbesondere in einem Fall, in dem die Konfigurationsinformationen zu einem vorbestimmten Zeitpunkt wie IG-EIN in dem fahrzeugseitigen System 4 hochgeladen werden, kann eine Zeitperiode, in der sich die Kommunikation konzentriert, auftreten. Somit wird eine Menge von gesendeten Daten unter Verwendung eines Hash-Werts reduziert und somit ist es möglich, eine Kommunikationslast zu reduzieren.
  • Das CGW 13 empfängt die Konfigurationsinformationen von all den Umschreibziel-ECUs 19 von Aktualisierungsdaten und erzeugt einen Hash-Wert basierend auf allen Datenwerten davon und das DCM 12 sendet den Hash-Wert zu einem Zeitpunkt, bei dem der Zündungsschalter 37 des Fahrzeugs ein- oder ausgeschaltet wird. Demnach ist es möglich, den Hash-Wert an die Zentralvorrichtung 3 zu einem Zeitpunkt zu senden, bei dem Fahren des Fahrzeugs initiiert wird oder beendet wird. Somit kann die Zentralvorrichtung 3 angemessen die Konfigurationsinformationen der Individuelle-Fahrzeuginformationen-DB 213 mit denen des Fahrzeugs synchronisieren.
  • Wenn eine „ECU-SW-ID“ jeder ECU 19 von mehreren ECUs 19 empfangen wird, sendet das fahrzeugseitige System 4 eine Konfigurationsinformationsliste, in der eine „Fahrzeug-SW-ID“ damit kombiniert wird, an die Zentralvorrichtung 3. Die Zentralvorrichtung 3 vergleicht die „ECU-SW-ID“-Liste, die von dem fahrzeugseitigen System 4 gesendet wird, mit einer genehmigten „ECU-SW-ID“-Liste eines entsprechenden Fahrzeugs, die in der Konfigurationsinformations-DB 208 gespeichert ist, und sendet Anomalieerfassung an das fahrzeugseitige System 4 und die Verwaltungsvorrichtung 220, wenn bestimmt wird, dass die gesendeten Listen von Kombinationen abgelehnt sind.
  • Mit dieser Konfiguration kann die Zentralvorrichtung 3 als eine Anomalie erfassen, dass eine Kombination der Konfigurationsinformationen des Fahrzeugs in einem Zustand ist, in dem die mehreren ECUs 19 nicht miteinander kooperieren können und Fahren des Fahrzeugs behindert ist, und dem fahrzeugseitigem System 4 die Anomalie mitteilen. Somit kann das fahrzeugseitige System 4 Maßnahmen wie Verbieten der Fahrt des Fahrzeugs ausführen.
  • Die Zentralvorrichtung 3 führt die Aktualisierungsverfügbarkeitsüberprüfungsverarbeitung (D7) an einem Fahrzeug nicht aus, in dem eine Kombination der Fahrzeugkonfigurationsinformationen abgelehnt wird. Somit ist es möglich, zu verhindern, dass Programmaktualisierung in einem abgelehnten Fahrzeug ausgeführt wird. Sogar, wenn die abgelehnte ECU 19 keine Aktualisierungsziel-ECU eines neuen Programms ist, führt die Zentralvorrichtung 3 die Aktualisierungsverfügbarkeitsüberprüfungsverarbeitung nicht aus (D7). In dem fahrzeugseitigen System 4, wenn Programmaktualisierung ausgeführt wird, wird auch eine Steuerung für die ECU 19 erzeugt, die kein Aktualisierungsziel ist. Demnach besteht in einem Fahrzeug mit einer abgelehnten ECU 19 eine Wahrscheinlichkeit, dass die Programmaktualisierung nicht normal abgeschlossen werden kann, und somit verhindert die Zentralvorrichtung 3, dass die Programmaktualisierung in dem Fahrzeug ausgeführt wird.
  • Die Zentralvorrichtung 3 beinhaltet die Kampagnen-DB 217, in der die Kampagneninformationen, die verwendet werden, um der Fahrzeugseite mitzuteilen, dass Aktualisierung unter Verwendung eines neuen Programms aufgetreten ist, gespeichert sind, und überprüft für ein Fahrzeug, das als genehmigt bestimmt wird, Verfügbarkeit der Kampagneninformationen des entsprechenden Fahrzeugs. Wenn die Aktualisierung verfügbar ist, werden die Kampagneninformation an das fahrzeugseitige System 4 gesendet. Demzufolge können die Kampagneninformationen einem Benutzer präsentiert werden und somit kann Aktualisierung eines Anwendungsprogramms veranlasst werden. Synchronisation der Konfigurationsinformationen, Bestimmung, ob oder nicht die Konfigurationsinformationen genehmigt sind, und Überprüfen der Aktualisierungsverfügbarkeit werden als eine Reihe von Verarbeitungen durch die Zentralvorrichtung 3 mit dem Hochladen der Konfigurationsinformationen aus einem Fahrzeug als Auslöser ausgeführt, so dass es möglich ist, einem geeigneten Fahrzeug umgehend die Aktualisierung eines Programms mitzuteilen.
  • Die zweite Ausführungsform kann folgendermaßen modifiziert und implementiert werden. Die Zentralvorrichtung 3 kann „Synchronisationsinitiierungsanforderung“ an das fahrzeugseitige System 4 senden und das DCM 12 kann „Konfigurationsinformationssammelanforderung“ an das CGW 13 senden, wenn „Synchronisationsinitiierungsanforderung“ empfangen wird. Beispielsweise, wenn die Konfigurationsinformations-DB 208 mit „Fahrzeugtyp = aaa“ aktualisiert wird, sendet die Zentralvorrichtung 3 „Synchronisationsinitiierungsanforderung“ an ein Fahrzeug des Fahrzeugtyps. Der Hash-Wert kann an die Zentralvorrichtung 3 zu einem Zeitpunkt gesendet werden, wenn Umschreiben der Aktualisierungsdaten in der Umschreibziel-ECU 19 abgeschlossen ist. Das heißt, das Ablaufdiagramm der Schritte D1 bis D12, das in 279 illustriert ist, wird sogar zu einem Zeitpunkt ausgeführt, bei dem Aktualisierung von Programmen von all den Umschreibziel-ECUs 19 abgeschlossen ist. Die Zentralvorrichtung 3 fordert das fahrzeugseitige System 4 auf, eine Kombinationsliste der Konfigurationsinformationen der jeweiligen ECUs 16 zu senden, wenn ein Vergleichsergebnis beider Hash-Werte Übereinstimmung zeigt. Wenn die Kombinationsliste empfangen wird, können die Verarbeitungen bei den Schritten D6 bis D12 ausgeführt werden. Sogar, wenn das Vergleichsergebnis beider Hash-Werte Übereinstimmung zeigt, kann die Zentralvorrichtung 3 auf die Kampagnen-DB 217 Bezug nehmen, um Verfügbarkeit der Kampagneninformation eines entsprechenden Fahrzeugs zu überprüfen.
  • Das Senden eines Hash-Werts von dem fahrzeugseitigen System 4 an die Zentralvorrichtung 3 kann, wie in 280 illustriert ist, ausgeführt werden. 280 ist ein Ablaufdiagramm, das eine Verarbeitung in dem CGW 13 illustriert. Beispielsweise, wenn der IG-Schalter 37 eingeschaltet ist, sammelt das CGW 13 Konfigurationsinformationen von jeder ECU 19 (D21) und erzeugt einen Hash-Wert für Datenwerte der gesammelten Konfigurationsinformationen (D22). Der erzeugte Hash-Wert wird mit einem Hash-Wert (vorhergehend erzeugter Wert) verglichen, der in dem Flash-Speicher 24d gespeichert ist, und somit wird bestimmt, ob oder nicht es eine Differenz dazwischen gibt (D23). Wenn es eine Differenz gibt (JA), wird der dieses Mal erzeugte Hash-Wert in dem Flash-Speicher 24d gespeichert (D24) und der Hash-Wert wird an die Zentralvorrichtung 3 gesendet. Wenn es keine Differenz zwischen beiden Hash-Werten bei Schritt D23 gibt, ist die Verarbeitung beendet (NEIN). Es wird angenommen, dass ein Hash-Wert für Anfangswerte der Konfigurationsinformationen vorab in dem Flash-Speicher 24d gespeichert wird. Demzufolge kann die Häufigkeit des Hochladens der Konfigurationsinformationen von dem fahrzeugseitigen System 4 auf die Zentralvorrichtung 3 reduziert werden.
  • (Dritte Ausführungsform)
  • Die dritte Ausführungsform bezieht sich auf eine Funktion, die durch eine Kampagnenverwaltungseinheit 3D der Zentralvorrichtung 3 ausgeführt wird, um eine Aktualisierungsrate eines Anwendungsprogramms in dem fahrzeugseitigen System 4 zu verbessern. Wie in 282 illustriert ist, legt in dem fahrzeugseitigen System 4 ein Benutzer ein HTTP-Polling-Intervall auf ungefähr drei Tage unter Verwendung einer Config-Datei fest und somit überprüft das fahrzeugseitige System 4 periodisch Aktualisierungsverfügbarkeit des Anwendungsprogramms hinsichtlich der Zentralvorrichtung 3. Demzufolge, wenn die Aktualisierung überprüft wird, wenn die Kampagneninformation einer VIN eines Fahrzeugs entsprechend der Kampagnen-DB 217 festgelegt sind, teilt die Zentralvorrichtung 3 dem fahrzeugseitigen System 4 „Aktualisierung ist verfügbar“ mit. Das heißt, wie in der zweiten Ausführungsform beschrieben ist, wird die Verarbeitung, bei der die Zentralvorrichtung 3 die Aktualisierung mit Hochladen der Konfigurationsinformationen mittels HTTP aus dem fahrzeugseitigen System 4 als Auslöser prüft, zum Zeitpunkt des IG-EIN nach Ablauf von drei Tagen ausgeführt.
  • Auf die vorstehend beschriebene Weise muss in der Konfiguration, in der Aktualisierungsverfügbarkeit mit einer Mitteilung von einem Fahrzeug als Auslöser überprüft wird, die Zentralvorrichtung 3 Kampagneninformationen von der Zentralvorrichtung 3 nicht an all die Fahrzeuge, die Kampagnenziele sind, zu der Zeit, zu der die Kampagneninformation festgelegt sind, nicht senden. Jedoch in einem Fall, in dem ein Benutzer ein Fahrzeug über eine längere Zeitperiode nicht verwendet, überprüft der Benutzer die Aktualisierungsverfügbarkeit unter Verwendung von HTTP nicht. Somit wird angenommen, dass der Benutzer nicht weiß, dass eine neue Kampagne ausgegeben wurde, und ein Anwendungsprogramm wird möglicherweise nicht in dem Fahrzeug aktualisiert.
  • Demnach, wie in 283 illustriert ist, überprüft die SMS-Sendesteuereinheit 212 der Zentralvorrichtung 3 ein Zugriffsprotokoll jedes Fahrzeugs durch Bezugnahme auf die Individuelle-Fahrzeuginformationen-DB 213 zu regelmäßigen oder vorbestimmten Zeitpunkten (E1). Es wird bestimmt, ob oder nicht es ein Fahrzeug gibt, das keinen Zugriff auf die Zentralvorrichtung 3 getätigt hat, das heißt, ein Fahrzeug, das für eine vorbestimmte Periode keine Konfigurationsinformationen zum Überprüfen von Aktualisierung eines Anwendungsprogramms gesendet hat (E2). Die vorbestimmte Periode ist beispielsweise ungefähr sieben Tage, wobei der Tag, wenn eine neue Kampagnen-DB 217 festgelegt wird, als Starttag der Abrechnung funktioniert. Das heißt, die SMS-Sendesteuereinheit 212 spezifiziert ein Fahrzeug, in dem Aktualisierung über sieben Tage hinweg nicht überprüft wurde, für Fahrzeuge, deren „Fahrzeug-SW-IDs“ der Individuelle-Fahrzeuginformationen-DB 213 „Vor-Aktualisierungs-Fahrzeug-SW-IDs“ der Kampagnen-DB 217 entsprechen. Die SMS-Sendesteuereinheit 212 kann ein Fahrzeug, in dem für eine vorbestimmte Periode Aktualisierung nicht überprüft wurde, für all die Fahrzeuge spezifizieren.
  • In der Individuelle-Fahrzeuginformationen-DB 213 werden durch den OEM bei der Produktion eines Fahrzeugs in einer Fabrik Anfangsdaten registriert und danach aufgrund einer Mitteilung von dem OEM beispielsweise in Antwort auf einen Verkauf des Fahrzeugs ein Anfangszugriffsprotokoll eingegeben. Dieses Zugriffsprotokoll entspricht im Wesentlichen einer Mitteilung zum Validieren einer nachfolgenden Programmaktualisierung. Ein Fahrzeug, für das ein Zugriffsprotokoll nicht eingegeben wurde, wird von der Bestimmung bei Schritt E2 ausgeschlossen.
  • Wenn es ein Fahrzeug gibt, für das die Aktualisierung über eine vorbestimmte Periode nicht überprüft wurde (JA), bestimmt die SMS-Sendesteuereinheit 212 Charakteristika des Fahrzeugs basierend auf dem Fahrzeugtyp in der Individuelle-Fahrzeuginformationen-DB 213, Ausstattungsinformationen und dergleichen (E3). Hier bestimmt die SMS-Sendesteuereinheit 212 als Charakteristika, ob das Fahrzeug ein Elektrofahrzeug ist, ein Elektrofahrzeug ist, das SMS (Kurznachricht, Short Message Service) empfangen kann, ein herkömmliches Fahrzeug mit Benzinmotor ist, das SMS empfangen kann, das heißt ein herkömmliches Verbrennerfahrzeug (herkömmliches Fahrzeug) oder ein Fahrzeug ist, bei dem es schwierig ist, eine SMS zu empfangen. Beispielsweise in einem Fall, in dem das DCM 12, das an dem Fahrzeug montiert ist, keine Funktion zum Empfangen einer SMS hat oder keinen Vertrag zum Empfangen einer SMS hat, wird bestimmt, dass es schwierig für das Fahrzeug ist, eine SMS zu empfangen.
  • Im Falle des Elektrofahrzeugs wird eine SMS zum Initiieren einer Konfigurationsinformationssendesequenz durch Starten der ECU 19 des Fahrzeugs gesendet (E5; siehe 284). Wenn das DCM 12 die SMS empfängt und einen Befehl ausführt, der in der SMS beschrieben ist, wird in den IG-EIN-Energieversorgungszustand eingetreten und das gestartete CGW 13 sendet die Konfigurationsinformationen an die Zentralvorrichtung 3 mittels des DCM 12. Danach wird bei den Schritten D1 bis D12, die in 279 illustriert sind, Aktualisierung überprüft und ein Verteilungspaket oder dergleichen wird heruntergeladen. In dem Fall des EV, da eine Kapazität der Batterie groß ist, wird angenommen, dass es ausreichend möglich ist, das Programm in dem IG-EIN-Energieversorgungszustand in dem Parkzustand herunterzuladen. Demnach wird die ECU 19 unter Verwendung einer SMS gestartet und eine Sequenz nach Aktualisierungsüberprüfung und Herunterladen wird automatisch initiiert.
  • In einem Fall, in dem eine Restbatterieladung der Batterie des Elektrofahrzeugs klein ist, nimmt das fahrzeugseitige System 4 Bezug auf die Umschreibspezifikationsdaten, die in 274 illustriert sind, und in einem Fall, in dem eine Restbatterieladung kleiner als eine bestimmte Quantität ist, wird gesteuert, dass Installation nicht initiiert wird. Alternativ wird in einem Fall, in dem auf eine Restbatterieladung, die als Beschränkungen in der Kampagnendatei beschrieben ist, die von der Zentralvorrichtung 3 bei Schritt D9 gesendet wird, Bezug genommen wird und sie kleiner als eine bestimmte Restbatterieladung ist, das fahrzeugseitige System 4 so gesteuert, dass es Herunterladen des Verteilungspakets nicht initiiert.
  • In dem herkömmlichen Fahrzeug sendet die SMS-Sendesteuereinheit 212 eine SMS, die auf der Fahrzeugbordanzeige 7 anzeigbar ist, an ein Fahrzeug, das bereit ist, die SMS in einer Periode zu empfangen, in der das DCM 12 intermittierend gestartet wird (E4; vgl.: 284). Beispielsweise weist das CGW 13 die Fahrzeugbordanzeige 7 an, Textaussagen, die in der empfangenen SMS beschrieben sind, beim nächsten IG-EIN-Zeitpunkt anzuzeigen. In einem Fall, in dem Informationen des mobilen Endgeräts 6 des Benutzers in der Individuelle-Fahrzeuginformationen-DB 213 registriert sind, kann die SMS an das mobile Endgerät 6 gesendet werden. Beispielsweise wird eine Textnachricht wie „Es gibt Kampagneninformationen; IG-EIN ausführen“ angezeigt. Die Individuelle-Fahrzeuginformationen-DB 213 ist ein Beispiel einer Benutzerinformationsspeichereinheit. Andererseits wird ein Fahrzeug in einem Zustand, in dem eine SMS schwer zu empfangen ist, nichts unterzogen und Bewältigung wird durch separates Senden einer Mail an einen Benutzer ausgeführt (E6).
  • Wie vorstehend beschrieben ist, sendet gemäß der dritten Ausführungsform das fahrzeugseitige System 4 die Konfigurationsinformationen mehrerer ECUs 19 an die Zentralvorrichtung 3 und die Individuelle-Fahrzeuginformationen-DB 213 speichert die Konfigurationsinformationen, die von den jeweiligen Fahrzeugen gesendet werden, zusammen mit dem Sendedatum. Die Kampagnen-DB 217 speichert als Kampagneninformationen eine Ziel-VIN-Liste zum Identifizieren einer Kampagnen-ID und eines Datenaktualisierungszielfahrzeuges. Die Zentralvorrichtung 3 nimmt Bezug sich auf die Individuelle-Fahrzeuginformationen-DB 213 und sendet, wenn innerhalb einer vorbestimmten Periode ab dem Sendedatum, das mit einem Zielfahrzeug verknüpft ist, kein Senden der Konfigurationsinformationen erfolgt, eine Nachricht zur Aufforderung zur Datenaktualisierung mittels einer SMS an das fahrzeugseitige System 4 des Zielfahrzeugs.
  • Mit dieser Konfiguration, sogar in einem Fall, in dem die Situation fortgesetzt wird, in der die Konfigurationsinformationen nicht an die Zentralvorrichtung 3 gesendet werden, da ein Benutzer keine Möglichkeit hat, in einem Fahrzeug zu fahren, sendet die Zentralvorrichtung 3 eine Nachricht zum Veranlassen von Datenaktualisierung an das fahrzeugseitige System 4 des Zielfahrzeugs, wenn eine vorbestimmte Periode seit dem Sendedatum abgelaufen ist, das in der Individuelle-Fahrzeuginformationen-DB 213 gespeichert ist. Demnach kann der Benutzer erkennen, dass die Datenaktualisierung erforderlich ist, indem er Bezug auf die Nachricht nimmt.
  • Die Zentralvorrichtung 3 nimmt Bezug auf die Individuelle-Fahrzeuginformationen-DB 213 und die Kampagnen-DB 217 zum Bestimmen eines Programmaktualisierungszielfahrzeugs. Das heißt, die Individuelle-Fahrzeuginformationen-DB 213 speichert das Datum, an dem die Konfigurationsinformationen von jedem Fahrzeug gesendet werden, und die Kampagnen-DB 217 speichert eine Ziel-VIN-Liste. Demnach kann die Zentralvorrichtung 3 ein Programmaktualisierungszielfahrzeug basierend auf dem Sendedatum der Konfigurationsinformationen von jedem Fahrzeug und der Ziel-VIN-Liste bestimmen.
  • Wenn die Konfigurationsinformationen von jeder ECU 19 mit Einschalten des Zündungsschalters 37 als Auslöser empfangen werden, sendet das fahrzeugseitige System 4 die Konfigurationsinformationen an die Zentralvorrichtung 3. Demnach, wenn der Benutzer mit dem Fahrzeug fährt, können die Konfigurationsinformationen verlässlich an die Zentralvorrichtung 3 gesendet werden.
  • Wenn das Zielfahrzeug ein Elektrofahrzeug ist, sendet die Zentralvorrichtung 3 eine Nachricht einschließlich eines Befehls zum Starten einer ECU des Zielfahrzeugs und das fahrzeugseitige System 4, das die Nachricht empfangen hat, startet die ECU 19 zum Ausführen einer Verarbeitung bezüglich Datenaktualisierung. Das heißt, da das Elektrofahrzeug eine relativ große Kapazität der Batterie hat, kann die ECU 19 Verarbeitungen bezüglich Datenaktualisierung ausführen, ohne auf eine Benutzeroperation zu warten. Demnach ist es möglich, die Datenaktualisierung effizient auszuführen.
  • Wenn das Zielfahrzeug ein herkömmliches Fahrzeug ist, sendet die Zentralvorrichtung 3 mindestens Textinformationen, die auf der Fahrzeugbordanzeige 7 des Zielfahrzeugs anzeigbar sind, als eine Nachricht. Demnach kann ein Benutzer des herkömmlichen Fahrzeugs erkennen, dass die Datenaktualisierung erforderlich ist, durch Bezugnahme auf die Textinformationen, die auf der Fahrzeugbordanzeige 7 angezeigt werden.
  • Wenn ein Sendeziel des mobilen Endgeräts 6 des Benutzers in der Individuelle-Fahrzeuginformationen-DB 213 gespeichert ist, sendet die Zentralvorrichtung 3 Textinformationen, die auf dem mobilen Endgerät 6 anzeigbar sind, als eine Nachricht. Demzufolge kann der Benutzer erkennen, dass die Datenaktualisierung erforderlich ist, durch Bezugnahme auf die Textinformationen, die auf dem mobilen Endgerät 6 angezeigt werden, sogar, wenn es keine Möglichkeit gibt, mit dem Fahrzeug zu fahren.
  • Wenn der Benutzer das Sendedatum und ein Sendeziel einer Kampagne an die Zentralvorrichtung 3 vorab mittels des mobilen Endgeräts 6 sendet, speichert die Zentralvorrichtung 3 das Sendedatum und das Sendeziel in der Individuelle-Fahrzeuginformationen-DB 213. Beispielsweise bestimmt der Benutzer den Tag, nachdem die Kampagne abgegeben ist, als das Sendedatum und bestimmt das mobile Endgerät 6 als das Sendeziel anstelle der Fahrzeugbordanzeige 7. Der Benutzer bestimmt eine vorbestimmte Zeit, zu der der Benutzer nicht fährt, als Sendedatum, bestimmt das Fahrzeug als Sendeziel und führt eine Operation zum Bestätigen aus, dass ein Programm automatisch aktualisiert wird. Demzufolge sendet die Zentralvorrichtung 3 die Kampagneninformation an das Sendeziel an dem Sendedatum ungeachtet dessen, ob oder nicht die Konfigurationsinformationen gesendet werden. Demnach, wenn der Benutzer vorab weiß, dass es keine Möglichkeit gibt, eine Weile mit dem Fahrzeug zu fahren, kann für die Kampagneninformation festgelegt werden, dass sie an dem durch den Benutzer festgelegten Sendedatum empfangen werden.
  • Die dritte Ausführungsform kann folgendermaßen modifiziert und implementiert werden.
  • Die Benutzerinformationsspeichereinheit kann separat zu der Individuelle-Fahrzeuginformationen-DB 213 bereitgestellt werden.
  • Die Kampagneninformationen können unter Verwendung von Mitteln außer SMS gesendet werden.
  • Anstatt das Sendedatum in der Individuelle-Fahrzeuginformationen-DB 213 zu speichern, kann die Zentralvorrichtung 3 beispielsweise einen Tag, an dem keine Daten von dem Fahrzeug gesendet werden, speichern und kann eine Nachricht zum Veranlassen von Datenaktualisierung senden, wenn der Tag sieben aufeinanderfolgende Tage andauert.
  • (Vierte Ausführungsform)
  • Die vierte Ausführungsform bezieht sich auf einen Fall, in dem ein Benutzer Kampagneninformation und ein Nachrichtenmitteilungsverfahren bestimmt. Beispielsweise wird ein Fall angenommen, dass der Benutzer etwa einen Monat lang nicht fährt und dass vorab bestimmt wird, dass es keine Möglichkeit gibt, den IG-Schalter 37 einzuschalten. Wie in 285 illustriert ist, sendet der Benutzer Festlegungen eines Mitteilungsziels und des Mitteilungsdatums und der Mitteilungszeit zur Zeit eines Auftretens einer Kampagne an eine Zentralvorrichtung 3 unter Verwendung des mobilen Endgeräts 6. Beispielsweise ist festgelegt, dass dem mobilen Endgerät 6 Kampagneninformationen einen Monat später mitgeteilt werden. Demzufolge speichert die Verwaltungseinheit 3C für individuelle Fahrzeuginformationen Informationen, die das Mitteilungsziel und das Mitteilungsdatum und die Mitteilungszeit angeben, in der Individuelle-Fahrzeuginformationen-DB 213 und teilt dem Benutzer Informationen gemäß den Festlegungen mit. Wenn beispielsweise zwei Kampagnen (1, 2) während eines Monats festgelegt sind, teilt die SMS-Sendesteuereinheit 212 dem mobilen Endgerät 6 des Benutzers Informationen hinsichtlich der Kampagnen (1, 2) einen Monat später mit, um Programmaktualisierung anzufordern.
  • Wie vorstehend beschrieben ist, speichert gemäß der vierten Ausführungsform, wenn der Benutzer das Sendedatum und ein Sendeziel von Kampagneninformationen an die Zentralvorrichtung 3 mittels des mobilen Endgeräts 6 sendet, die Zentralvorrichtung 3 das Sendedatum und das Sendeziel in der Individuelle-Fahrzeuginformationen-DB 213. Die Zentralvorrichtung 3 sendet die Kampagneninformationen an das Sendeziel an dem gespeicherten Sendedatum. Demzufolge ist es möglich, Senden unnötiger Kampagneninformationen von der Zentralvorrichtung 3 zu stoppen, wenn bestimmt wird, dass der Benutzer das Fahrzeug eine bestimmte Periode nicht fährt.
  • (Fünfte Ausführungsform)
  • Die fünfte Ausführungsform bezieht sich auf eine Funktion zum Hinzufügen von Verifizierungsdaten, die für das fahrzeugseitige System 4 verwendet werden, zum Verifizieren der Integrität von Daten, wenn die Zentralvorrichtung 3 Daten eines Aktualisierungsprogramms an das fahrzeugseitige System 4 sendet. Wie in 286 und 287 illustriert ist, erzeugt ein Zulieferer Daten, die in der ECU-Umprogrammierungs-DB 204 zu registrieren sind, unter Verwendung der Paketverwaltungseinheit 3A. Insbesondere erzeugt die Paketverwaltungseinheit 3A neue Differenzdaten zum Umschreiben eines alten Programms in ein neues Programm als Aktualisierungsdaten (Y1) und erzeugt einen Hash-Wert, der Integritätsverifizierungsdaten ist, für das neue Programm der ECU 19 und einen Hash-Wert für die neuen Differenzdaten (Y2). Hierbei können in einem Fall, in dem die ECU einen Einzelbankspeicher hat, alte Differenzdaten zum Umschreiben des neuen Programms auf das alte Programm als Rollbackdaten erzeugt werden und ein Hash-Wert für das alte Programm für die ECU 19 und ein Hash-Wert für die alten Differenzdaten können erzeugt werden.
  • Die Paketverwaltungseinheit 3A erzeugt einen Authentifikator durch Anwendung von Verschlüsselung unter Verwendung eines Schlüsselwerts, der ein vorbestimmter Schlüssel für jeden Hash-Wert ist (Y3). Die Paketverwaltungseinheit 3a sendet die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit jedem Authentifikator und speichert die gesendeten Daten in der ECU-Umprogrammierungs-DB 204 (Y4). Wie vorstehend beschrieben ist, erzeugt die Paketverwaltungseinheit 3a ein Paket, erzeugt Integritätsverifizierungsdaten für das Paket und sendet die Integritätsverifizierungsdaten an das fahrzeugseitige System 4 (Y5).
  • Die Mastervorrichtung (OTA-Master) 11 berechnet die Integritätsverifizierungsdaten für das Paket, vergleicht einen berechneten Wert mit den Integritätsverifizierungsdaten des empfangenen Pakets und verifiziert die Integrität des Pakets (Y6). Wenn das Paketintegritätsverifizierung erfolgreich ist, sendet die Mastervorrichtung 11 die Aktualisierungsdaten und die Integritätsverifizierungsdaten der ECU an die Umschreibziel-ECU 19 (Ziel-ECU) (Y7).
  • Die Umschreibziel-ECU 19 berechnet die Integritätsverifizierungsdaten für die Aktualisierungsdaten, vergleicht einen berechneten Wert mit den Integritätsverifizierungsdaten der empfangenen Aktualisierungsdaten und verifiziert die Integrität der Aktualisierungsdaten (Y8). Wenn die Aktualisierungsdatenintegritätsverifizierung erfolgreich ist, stellt die Umschreibziel-ECU 19 die Differenzdaten, das heißt, die Aktualisierungsdaten wieder her und schreibt die Daten in den Flash-Speicher 28d (Y9). Wenn das Schreiben abgeschlossen ist, berechnet die Umschreibziel-ECU 19 die Integritätsverifizierungsdaten für die Daten, die in dem Flash-Speicher 28d geschrieben sind, vergleicht einen berechneten Wert mit den Integritätsverifizierungsdaten des empfangenen neuen Programms und verifiziert die Integrität des Flash-Speichers 28d (Y10). Die Umschreibziel-ECU 19 sendet das Verifizierungsergebnis an die Mastervorrichtung 11 (Y11) und die Mastervorrichtung 11 sendet das empfangene Verifizierungsergebnis an die Zentralvorrichtung 3 als eine Installationsergebnismitteilung (Y12).
  • Beispielsweise, wie in 267 illustriert ist, erzeugt die Paketverwaltungseinheit 3A die folgenden Integritätsverifizierungsdaten für die jüngste „ECU-SW-ID“. In einem Fall, in dem eine Speicherkonfiguration der ECU der Doppelbankspeicher oder die Aussetzung ist, kann das folgende (3) und (4) weggelassen werden.
    • (1) Ein Hash-Wert, der Integritätsverifizierungsdaten für ein neues Programm der ECU ist, wird erzeugt. Ein Funktionsabschnitt zum Ausführen dieser Verarbeitung ist ein Beispiel einer ersten Verifizierungswerterzeugungseinheit (Schritt A1).
    • (2) Aktualisierungsdaten, die Differenzdaten zur Aktualisierung in ein neues Programm basierend auf einem alten Programm der ECU sind, und ein Hash-Wert, der Integritätsverifizierungsdaten der Aktualisierungsdaten ist, werden erzeugt. Der Funktionsabschnitt zum Ausführen dieser Verarbeitung ist ein Beispiel einer zweiten Verifizierungswerterzeugungseinheit bei Schritt A4.
    • (3) Ein Hash-Wert, der die Integritätsverifizierungsdaten für das alte Programm der ECU ist, wird erzeugt. Ein Funktionsabschnitt zum Ausführen dieser Verarbeitung ist ein Beispiel einer vierten Verifizierungswerterzeugungseinheit bei Schritt A5.
    • (4) Aktualisierungsdaten, die Differenzdaten zur Aktualisierung in das alte Programm basierend auf dem neuen Programm der ECU sind, und ein Hash-Wert, der die Integritätsverifizierungsdaten der Aktualisierungsdaten ist, werden erzeugt. Ein Funktionsabschnitt zum Ausführen dieser Verarbeitung ist ein Beispiel einer fünften Verifizierungswerterzeugungseinheit bei Schritt A7.
  • Das „Programm“ beinhaltet konstante Daten, die in dem Programm zu verwenden sind. Wenn „ECU-SW-ID = ads_002“ gilt, wird ein Hash-Wert x1 für Aktualisierungsdaten „Adsfile001-002“ erzeugt. Als eine Hash-Funktion wird beispielsweise SHA-256 verwendet, wie vorstehend beschrieben ist. Der Hash-Wert entspricht einem Verifizierungswert. Hierbei kann die Paketverwaltungseinheit 3A konfiguriert sein, um Integritätsverifizierungsdaten mit einem Authentifikator durch Erzeugen eines Authentifikators durch Anwenden von Verschlüsselung unter Verwendung eines Schlüsselwerts, der ein vorbestimmter Schlüssel ist, auf den Hash-Wert zu erzeugen.
  • Als nächstes erzeugt der Zulieferer Integritätsverifizierungsdaten mit einem Authentifikator durch Anwenden von Verschlüsselung unter Verwendung eines Schlüsselwerts, der ein vorbestimmter Schlüssel ist, auf die Integritätsverifizierungsdaten, und stellt dem OEM die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit dem Authentifikator in Korrelation miteinander bereit. In anderen Worten stellt die Paketverwaltungseinheit 3A dem OEM jedes Programm und Integritätsverifizierungsdaten mit einem Authentifikator für das Programm, das in der ECU-Umprogrammierungs-DB 204 registriert ist, bereit. In Antwort auf eine Anweisung von dem OEM erzeugt die Paketverwaltungseinheit 3A Umschreibspezifikationsdaten, wie vorstehend beschrieben, unter Verwendung der ECU-Umprogrammierungs-DB 204 oder dergleichen, erzeugt ein Verteilungspaket und registriert es in der Paket-DB 206. Wenn eine Herunterladeanforderung für Aktualisierungsdaten aus dem fahrzeugseitigen System 4 erzeugt wird, verteilt die Zentralvorrichtung 3 ein Verteilungspaket einschließlich der Aktualisierungsdaten und der Integritätsverifizierungsdaten mit dem Authentifikator an das fahrzeugseitige System 4 in Antwort auf die Herunterladeanforderung. Die „Integritätsverifizierungsdaten“ in den Ansprüchen beinhalten sowohl nur einen Hash-Wert als auch Integritätsverifizierungsdaten mit einem Authentifikator, einschließlich einer Verschlüsselung unter Verwendung eines Schlüssels.
  • Wenn das Verteilungspaket empfangen wird, verifiziert die Mastervorrichtung 11 des fahrzeugseitigen Systems 4 die Gültigkeit des Verteilungspakets unter Verwendung der Integritätsverifizierungsdaten (dritter Verifizierungswert), die dem Verteilungspaket hinzugefügt sind. Insbesondere werden Integritätsverifizierungsdaten, die unter Verwendung des Verteilungspakets berechnet werden, mit den empfangenen Integritätsverifizierungsdaten verglichen und, wenn die Stücke von Daten übereinstimmen, werden sie als normal bestimmt. Wenn als ein Ergebnis der Verifizierung überprüft wird, dass das Verteilungspaket normal ist, entpackt die Mastervorrichtung 11 das Verteilungspaket in Daten für jede ECU (vgl. 263). Das Mastervorrichtung 11 überträgt die Aktualisierungsdaten und die Integritätsverifizierungsdaten mit dem Authentifikator an das Ziel der ECU 19.
  • Die ECU 19 verifiziert die Gültigkeit der Aktualisierungsdaten unter Verwendung von Integritätsverifizierungsdaten mit dem Authentifikator (zweiter Verifizierungswert). Insbesondere werden die Integritätsverifizierungsdaten, die unter Verwendung der empfangenen Aktualisierungsdaten berechnet werden, mit den empfangenen Integritätsverifizierungsdaten verglichen und, wenn die Daten übereinstimmen, werden sie als normal bestimmt. Wenn sie als Ergebnis der Verifizierung als normal überprüft werden, führt die CPU 28a der ECU 19 eine Schreibverarbeitung auf dem Flash-Speicher 28d aus. Wenn die Schreibverarbeitung abgeschlossen ist, verwendet die ECU 19 die Integritätsverifizierungsdaten mit dem Authentifikator (erster Verifizierungswert) zum Lesen der Daten, die in dem Flash-Speicher 28d geschrieben sind, und Verifizieren ihrer Gültigkeit. Insbesondere werden Integritätsverifizierungsdaten, die unter Verwendung der gelesenen Daten berechnet werden, mit den empfangenen Integritätsverifizierungsdaten vergleichen und, wenn die Stücke von Daten übereinstimmen, werden sie als normal bestimmt. Die Integritätsverifizierungsdaten sind in einem vorbestimmten Bereich des Flash-Speichers 28d zur Verwendung gespeichert, wenn die ECU 19 gestartet wird. Wenn diese Verarbeitungen abgeschlossen sind, sendet die ECU 19 eine Schreibantwort an die Mastervorrichtung 11 einschließlich der Verifizierungsergebnisse. Die Mastervorrichtung 11 teilt der Zentralvorrichtung 3 ein Installationsergebnis mit. „Ziel-ECU“ in der Figur ist gleichbedeutend mit einer „Ziel-ECU“ und „OTA-Master“ ist gleichbedeutend mit „DCM“. Die CPU 28a ist ein Beispiel einer Schreibverarbeitungseinheit.
  • Hierbei führt in einem Fall, in dem Programmaktualisierungsaufhebung während Installation auftritt, die ECU 19 eine Rollbackverarbeitung aus. Die ECU 19 schreibt die Aktualisierungsdaten und verifiziert die Gültigkeit der Rollback-Differenzdaten unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifikator (fünfter Verifizierungswert). Insbesondere werden die Integritätsverifizierungsdaten, die unter Verwendung der Rollback-Differenzdaten berechnet werden, mit den empfangenen Integritätsverifizierungsdaten verglichen und, wenn die Daten übereinstimmen, werden sie als normal bestimmt. Wenn sie als Ergebnis der Verifizierung als normal überprüft werden, initiiert die ECU 19 Schreiben unter Verwendung der Rollback-Differenzdaten, nachdem Schreiben der Aktualisierungsdaten abgeschlossen ist. Nachdem das Schreiben abgeschlossen ist, liest die ECU 19 die Daten, die in dem Flash-Speicher 28d geschrieben sind, unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifikator (vierter Verifizierungswert) und verifiziert ihre Gültigkeit. Die Integritätsverifizierung der empfangenen Differenzdaten (die Aktualisierungsdaten oder die Rollback-Differenzdaten) kann durch die Mastervorrichtung 11 anstelle der ECU 19 ausgeführt werden.
  • Wie in 288 illustriert ist, führt danach, wenn der IG-Schalter 37 des Fahrzeugs eingeschaltet ist, die ECU 19 Datenverifizierung zur Zeit des Startens aus, wobei das Einschalten der Auslöser dafür ist. Die ECU 19 verifiziert die Integrität eines gestarteten Programms oder dergleichen, das unter Verwendung der Integritätsverifizierungsdaten mit dem Authentifikator (dem ersten Verifizierungswert oder dem vierten Verifizierungswert) gestartet wurde. Als erstes wird in dem Flash-Speicher 28d eine Hash-Funktion auf Datenwerte eines Evaluierungszielbereichs angewendet, in dem ein aktualisiertes Programm oder konstante Daten geschrieben sind, und somit wird ein Hash-Wert erlangt. Als nächstes werden die Integritätsverifizierungsdaten mit dem Authentifikator entschlüsselt und ein Hash-Wert (erwarteter Wert), der in dem Entschlüsselungsergebnis beinhaltet ist, wird mit dem erlangten Hash-Wert (berechneter Wert) verglichen und es wird bestimmt, ob oder nicht das Programm oder dergleichen, die in dem Flash-Speicher 28d geschrieben sind, gefälscht wurden. Wenn beide Hash-Werte miteinander übereinstimmen und somit als „OK“ bestimmt werden, führt die ECU 19 wie gewohnt eine Startverarbeitung aus. Dieselbe Verarbeitung wird auf jeder ECU 19 ausgeführt und wenn Ergebnisse in all den Evaluierungsziel-ECUs 19, die evaluiert sind, „OK“ sind, wird die Verarbeitung beendet.
  • Andererseits, wenn ein Verifizierungsergebnis für irgendeine ECU 19 anormal ist, das heißt „NG“, speichert die ECU 19 ein Protokoll der Verarbeitung und teilt der Mastervorrichtung 11 den Fehler mit. Die Mastervorrichtung 11 speichert auf ähnliche Weise das Protokoll und teilt der Zentralvorrichtung 3 den Fehler mit. Die Zentralvorrichtung 3 speichert auf ähnliche Weise das Protokoll und teilt der Verwaltungsvorrichtung 220 des OEM oder dergleichen einen Fehler mit. Die Mitteilung, die an die Verwaltungsvorrichtung 220 gesendet wird, erfolgt beispielsweise durch die SMS-Sendesteuereinheit 212 unter Verwendung von SMS oder durch Senden einer E-Mail über eine Internetleitung.
  • In der vorstehend beschriebenen Ausführungsform ist das fahrzeugseitige System 4 konfiguriert, um die Integrität zu verifizieren. In 289 wird ein Fall beschrieben, in dem Verifizierung der Integrität (Vergleich mit einem erwarteten Wert) durch die Zentralvorrichtung 3 ausgeführt wird. Wenn in 289 beispielsweise Versionsinformationen eines aktualisierten Anwendungsprogramms zu einem Zeitpunkt von IG-EIN oder dergleichen an die Mastervorrichtung 11 gesendet werden, erzeugt und sendet die ECU 19 Integritätsverifizierungsdaten mit einem Authentifikator auf die vorstehend beschriebene Weise zusammen mit den Versionsinformationen (X1). Die ECU 19 berechnet Integritätsverifizierungsdaten für die Daten in dem Flash-Speicher 28d und sendet den berechneten Wert an die Mastervorrichtung 11. Die Mastervorrichtung 11 sendet Konfigurationsinformationen einschließlich der Integritätsverifizierungsdaten mit dem Authentifikator an die Zentralvorrichtung 3 (X2).
  • Die Zentralvorrichtung 3 greift auf die ECU-Umprogrammierungs-DB 204 zu, erlangt Integritätsverifizierungsdaten mit einem Authentifikator, der mit der „ECU-SW-ID“ der Ziel-ECU 19 (X3 und X4) übereinstimmt, und verifiziert die erlangten Daten mit den Integritätsverifizierungsdaten, die von dem Fahrzeug hochgeladenen werden (X5). Insbesondere werden Integritätsverifizierungsdaten des neuen Programms entsprechend der „ECU-SW-ID“ von der ECU-Umprogrammierungs-DB erlangt und mit den hochgeladenen Integritätsverifizierungsdaten verglichen. Wenn ein Ergebnis des Vergleichs inkonsistent ist, das heißt (X6; NG), wird der Verwaltungsvorrichtung 220 des OEM eine Anomalie mitgeteilt (X7). Eine Funktion dieser Verarbeitungseinheit entspricht einer Anomaliemitteilungseinheit.
  • Die Zentralvorrichtung 3 sendet das Vergleichsergebnis an die Mastervorrichtung 11 (X8) und die Mastervorrichtung 11 sendet das empfangene Vergleichsergebnis an die Umschreibziel-ECU 19 (X9). In einem Fall, in dem das Vergleichsergebnis OK ist, operiert die Umschreibziel-ECU 19 ein Anwendungsprogramm wie gewohnt. In einem Fall, in dem das Vergleichsergebnis NG ist, wird das Anwendungsprogramm nicht operiert. In der vorliegenden Ausführungsform kann die Paketverwaltungseinheit 3A die Integritätsverifizierungsdatenerzeugung (Schritt A1) eines neuen Programms und die Integritätsverifizierungsdatenerzeugung (Schritt A5) eines alten ECU-Programms weglassen.
  • In der vorstehenden Beschreibung verifiziert die ECU 19 die Integrität von Aktualisierungsdaten zu einem Zeitpunkt, bei dem der IG-Schalter 37 des Fahrzeugs eingeschaltet wird, nachdem die Aktualisierungsdaten geschrieben werden, aber stattdessen kann die Integrität der Aktualisierungsdaten unmittelbar nachdem die Aktualisierungsdaten geschrieben sind, verifiziert werden
  • In der vorstehenden Ausführungsform werden die Integritätsverifizierungsdaten mit einem Authentifikator nur zu Aktualisierungsdaten hinzugefügt, aber dies kann folgendermaßen implementiert werden.
    • - Ein neues Programm und entsprechende Aktualisierungsdaten werden von der ECU-Umprogrammierungs-DB 204 erlangt (Datenerlangungsprozedur; Schritt A1).
    • - Die erste Verifizierungswerterzeugungseinheit erzeugt einen ersten Hash-Wert für das neue Programm (erste Verifizierungswerterzeugungsprozedur; Schritt A2).
    • - Die zweite Verifizierungswerterzeugungseinheit erzeugt einen zweiten Hash-Wert für die Aktualisierungsdaten (zweite Verifizierungswerterzeugungsprozedur; Schritt A4). Die Paketerzeugungseinheit 202 veranlasst, dass die Aktualisierungsdaten, Spezifikationsdaten und der erste und zweite Hash-Wert in einem Verteilungspaket beinhaltet sind (Verteilungspaketerzeugungsprozedur). Die Aktualisierungsdaten entsprechen neuen Differenzdaten.
    • - Die dritte Verifizierungswerterzeugungseinheit erzeugt einen dritten Hash-Wert für das Verteilungspaket (dritte Verifizierungswerterzeugungsprozedur; Schritt C4).
    • - Die Paketverteilungseinheit 203 sendet das Verteilungspaket und den dritten Hash-Wert an das fahrzeugseitige System 4.
  • Ein Authentifikator kann nur zu dem Verteilungspaket und dem dritten Hash-Wert hinzugefügt werden oder kann in jeder Stufe des Erzeugens jedes Hash-Wert hinzugefügt werden. Die Paketverteilungseinheit 203 entspricht einer Sendeeinheit.
  • In diesem Fall gilt im fahrzeugseitigen System 4:
    • - Das DCM 12, das eine Empfangsverarbeitungseinheit ist, empfängt die Verteilungspakete und die dritten Hash-Werte.
    • - Die dritte Verifizierungsverarbeitungseinheit vergleicht einen Hash-Wert, der aus den Verteilungspaketdaten erzeugt wird, mit dem empfangenen dritten Hash-Wert und verifiziert die Integrität der Verteilungspaketdaten.
    • - Die zweite Verifizierungsverarbeitungseinheit vergleicht einen Hash-Wert, der aus den Aktualisierungsdaten erzeugt wird, mit dem empfangenen zweiten Hash-Wert und verifiziert die Integrität der Aktualisierungsdaten.
    • - Die CPU 28a, die ein Beispiel einer Schreibverarbeitungseinheit ist, schreibt die Aktualisierungsdaten in den Flash-Speicher 28d.
    • - Die erste Verifizierungsverarbeitungseinheit schreibt die Aktualisierungsdaten zum Erzeugen eines Hash-Werts für Datenwerte in dem Flash-Speicher 28d, die als ein neues Programm dienen, und vergleicht den Hash-Wert mit dem empfangenen ersten Hash-Wert zum Verifizieren der Integrität des neuen Programms.
  • Wenn ein Verifizierungsergebnis der Aktualisierungsdaten NG ist, wird Schreiben in den Flash-Speicher 28d gestoppt. Wenn ein Verifizierungsergebnis des neuen Programms, das in den Flash-Speicher 28d geschrieben ist, NG ist, wird das neue Programm für ungültig erklärt und eine Rollbackverarbeitung wird nach Bedarf ausgeführt. Die erste bis dritte Verifizierungsverarbeitungseinheit kann durch die CPU 28a verwirklicht werden. Wenn irgendeines der Verifizierungsergebnisse in der ersten bis dritten Verifizierungsverarbeitungseinheit NG ist, teilt das DCM 12 als eine Sendeverarbeitungseinheit der Zentralvorrichtung 3 eine Anomalie bzw. Abnormalität mit.
  • Zusätzlich zu der vorstehenden Konfiguration, wie in 267 gezeigt ist, kann die folgende Verarbeitung wie folgt ausgeführt werden, wenn Rollbackdaten für das Zurückkehren zu einem Zustand des alten Programms vor dem Schreiben der Aktualisierungsdaten vorhanden sind.
    • - Die vierte Verifizierungswerterzeugungseinheit erzeugt einen vierten Hash-Wert für das alte Programm (vierte Verifizierungswerterzeugungsprozedur; Schritt A5).
    • - Die fünfte Verifizierungswerterzeugungseinheit erzeugt einen fünften Hash-Wert für die Rollbackdaten zum Zurückbringen des neuen Programms zu dem alten Programm (fünfte Verifizierungswerterzeugungsprozedur; Schritt A7). Die Rollbackdaten geben Rollback-Differenzdaten an und entsprechen alten Differenzdaten.
    • - Die Paketerzeugungseinheit 202 veranlasst, dass die Aktualisierungsdaten, die Rollback-Differenzdaten, Umschreibspezifikationsdaten und der erste, zweite, dritte und vierte Hash-Wert in einem Verteilungspaket beinhaltet sind (Verteilungspaketerzeugungsprozedur).
  • In diesem Fall wird in dem fahrzeugseitigen System 4, während Aktualisierungsdaten in dem Flash-Speicher 28d umgeschrieben werden, beispielsweise wenn der Benutzer eine Anweisung zum Stoppen des Umschreibens gibt, das Umschreiben aufgehoben und Wiederherstellung des alten Programms, das heißt, Rollback wird ausgeführt. Dies entspricht nur einem Fall, in dem eine Speicherkonfiguration der ECU 19 ein Einzelbankspeicher ist.
    • - Die zweite Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für die Rollbackdaten, die in dem Verteilungspaket beinhaltet sind, vergleicht den berechneten Hash-Wert mit dem fünften Hash-Wert und verifiziert die Integrität der Rollbackdaten.
    • - Die CPU 28a führt Schreiben in den Flash-Speicher 28d unter Verwendung der Rollbackdaten aus.
    • - Die erste Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für das alte Programm, das durch Schreiben in den Flash-Speicher 28d wiederhergestellt wird, vergleicht den berechneten Hash-Wert mit dem vierten Hash-Wert und verifiziert die Integrität des alten Programms.
  • Wie vorstehend beschrieben ist, speichert gemäß der fünften Ausführungsform die ECU-Umprogrammierungs-DB 204 ein neues Programm der Ziel-ECU 19, die ein Umschreibziel ist, ein altes Programm und Aktualisierungsdaten, die neue Differenzdaten zur Aktualisierung von dem alten Programm auf das neue Programm sind. Die erste Verifizierungswerterzeugungseinheit erzeugt einen ersten Hash-Wert unter Verwendung des neuen Programms und die zweite Verifizierungswerterzeugungseinheit erzeugt einen zweiten Hash-Wert unter Verwendung der Aktualisierungsdaten. Die Paketerzeugungseinheit 202 erzeugt ein Paket einschließlich der Aktualisierungsdaten, ersten und zweiten Verifizierungswerten und Spezifikationsdaten für die mehreren Ziel-ECUs 19. Die dritte Verifizierungswerterzeugungseinheit erzeugt einen dritten Hash-Wert unter Verwendung des Verteilungspakets und die Paketverteilungseinheit 203 sendet das Verteilungspaket an das fahrzeugseitige System 4 zusammen mit dem dritten Hash-Wert.
  • Wenn das fahrzeugseitige System 4 das Verteilungspaket und den dritten Hash-Wert empfängt, berechnet die dritte Verifizierungsverarbeitungseinheit einen Hash-Wert für das Verteilungspaket und verifiziert die Integrität des Verteilungspakets durch Vergleichen des Hash-Werts mit dem dritten Hash-Wert. Die zweite Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für die Aktualisierungsdaten entsprechend der in dem Verteilungspaket beinhalteten Ziel-ECU 19, vergleicht den Hash-Wert mit dem zweiten Hash-Wert, der in dem Verteilungspaket beinhaltet ist, und verifiziert die Integrität der Aktualisierungsdaten.
  • Die CPU 28a schreibt die Aktualisierungsdaten in den Flash-Speicher 28d und die erste Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für Daten des aktualisierten neuen Programms in dem Flash-Speicher 28d, vergleicht den Hash-Wert mit dem ersten Hash-Wert und verifiziert die Integrität der Daten des neuen Programms. Somit kann jeder Hash-Wert verwendet werden, um die Integrität jedes Datenwerts in mehreren Stufen zu verifizieren. Die Integrität des neuen Programms kann in dreifacher Ausfertigung verifiziert werden und somit ist es möglich, zu verhindern, dass das fahrzeugseitige System 4 ein unvollständiges neues Programm schreibt und mit einem inkorrekten neuen Programm operiert.
  • Wenn die Rollbackdaten in der ECU-Umprogrammierungs-DB 204 vorhanden sind, erzeugt die vierte Verifizierungswerterzeugungseinheit einen vierten Hash-Wert für das alte Programm und die fünfte Verifizierungswerterzeugungseinheit erzeugt einen fünften Hash-Wert für die Rollbackdaten. Die Paketerzeugungseinheit 202 veranlasst, dass die Aktualisierungsdaten, der erste und zweite Hash-Wert, die Rollbackdaten und der vierte und fünfte Hash-Wert in einem Verteilungspaket beinhaltet sind.
  • Wenn Rollback in dem fahrzeugseitigen System 4 ausgeführt wird, berechnet die zweite Verifizierungsverarbeitungseinheit einen Hash-Wert für die Rollbackdaten, die in dem Verteilungspaket beinhaltet sind, und verifiziert die Integrität der Rollbackdaten durch Vergleichen des Hash-Werts mit dem fünften Hash-Wert. Die CPU 28a führt Schreiben in den Flash-Speicher 28d unter Verwendung der Rollbackdaten aus. - Die erste Verifizierungsverarbeitungseinheit berechnet einen Hash-Wert für das alte Programm, das durch Schreiben in den Flash-Speicher 28d wiederhergestellt wird, und verifiziert die Integrität des alten Programms durch Vergleichen des Hash-Werts mit dem vierten Hash-Wert. Demzufolge kann die Integrität des alten Programms, das zurückgerollt wurde, verifiziert werden. In der vorstehenden Beschreibung sind die erste bis fünfte Verifizierungswerterzeugungseinheit Funktionsblöcke in der Paketverwaltungseinheit 3A der Zentralvorrichtung 3. Die erste, zweite, vierte und fünfte Verifizierungsverarbeitungseinheit sind Funktionsblöcke in der Ziel-ECU 19 des fahrzeugseitigen Systems 4. Die dritte Verifizierungsverarbeitungseinheit ist ein Funktionsblock in der Mastervorrichtung 11 des fahrzeugseitigen Systems 4 (OTA-Master 11).
  • (Modifikationsbeispiel 1 der ersten Ausführungsform)
  • Wie in 290 und 291 illustriert ist, können mehrere Pakete „pkg_001_1“ und „pkg_001_2“ einer Kampagne „cpn_001“ entsprechen. Mehrere Pakete können in mehrere Gruppen gruppiert werden. In der vorstehen beschriebenen Ausführungsformen beinhaltet ein Paket mehrere Gruppen. In dem vorliegenden Modifikationsbeispiel wird ein Paket für eine Gruppe erzeugt und mehrere Pakete werden für eine Kampagne verteilt. Beispielsweise beinhaltet das Paket „pkg_001_1“ die „ADS“ und die „BRK“, die ECUs sind, die zur Gruppe 1 gehören, und das Paket „pkg_001_2“ beinhaltet die „EPS“, die eine ECU ist, die zur Gruppe 2 gehört.
  • In diesem Fall, wie in 292 und 293 illustriert ist, werden Spezifikationsdaten und ein Verteilungspaket individuell für jede Gruppe erzeugt. In 292 erzeugt die Spezifikationsdatenerzeugungseinheit 201 beispielsweise erste Spezifikationsdaten, die ECU-Informationen der „ADS“ und der „BRK“ beschreiben, als Spezifikationsdaten der Gruppe 1. Die Spezifikationsdatenerzeugungseinheit 201 erzeugt beispielsweise zweite Spezifikationsdaten, die ECU-Informationen der „EPS“ beschreiben, als Spezifikationsdaten der Gruppe 2. In 293 erzeugt die Paketerzeugungseinheit 202 Umprogrammierungsdaten, in denen beispielsweise Aktualisierungsdaten der „ADS“ und der „BRK“, die zur Gruppe 1 gehören, gemäß einer ECU-Reihenfolge integriert sind, und erzeugt eine Paketdatei „pkg001_1.dat“ durch Integrieren der erzeugten Umprogrammierungsdaten mit ersten Spezifikationsdaten. Die Paketerzeugungseinheit 202 erzeugt Umprogrammierungsdaten unter Verwendung von Aktualisierungsdaten der „EPS“, die zur Gruppe 2 gehört, und erzeugt eine Paketdatei „pkg001_2.dat“ durch Integrieren der erzeugten Umprogrammierungsdaten mit den zweiten Spezifikationsdaten.
  • (Modifikationsbeispiel 2 der ersten Ausführungsform)
  • 294 illustriert einen Verarbeitungsinhalt in einem Fall, in dem die Funktion der Spezifikationsdatenerzeugungseinheit 201 und der Paketerzeugungseinheit 202 integriert sind, um ein Paketerzeugungswerkzeug 221 zu konfigurieren. Nachfolgend wird jede Verarbeitung erneut beschrieben.
  • In der Spezifikationsdatenerzeugungsverarbeitung wird ein Wert, der durch einen Operator als Spezifikationsdateninformationen eingegeben wird, in einer Datenstruktur ausgegeben, in der die Anzahl der Bits oder eine Reihenfolge der Anordnung vorab bestimmt wird, und Spezifikationsdaten werden erzeugt. Die Spezifikationsdateninformationen sind beispielsweise Werte, die beispielhaft in 274 veranschaulicht sind, und Informationen in Einheiten von Fahrzeugen oder Systemen (Gruppen) werden zusätzlich zu Informationen in Einheiten von ECUs wie der ECU (ID1), der ECU (ID2) und der ECU (ID3) eingegeben. Die Informationen in Einheiten von Fahrzeugen sind beispielsweise die Umschreibumgebungsinformationen, die in 274 illustriert sind, und die Informationen in Einheiten von Systemen sind beispielsweise die Gruppeninformationen oder die ECU-Reihenfolge-Informationen, die in 274 illustriert sind. Eingegebene Informationen in Einheiten von Fahrzeugen und eingegebene Informationen in Einheiten von Systemen können unterschiedliche Dateien sein. Die Spezifikationsdatenerzeugungsverarbeitung kann eine Funktion zum automatischen Berechnen mancher Werte wie einer Dateigröße von Aktualisierungsdaten und zum Reflektieren der berechneten Werte in Spezifikationsdaten haben.
  • In der Paketerzeugungsverarbeitung werden erzeugte Spezifikationsdaten, Aktualisierungsdaten jeder ECU und ein Wert und eine Datei, die als Integritätsverifizierungsdaten für jede ECU eingegeben werden, in einer Datenstruktur ausgegeben, in der die Anzahl von Bits oder die Anordnungsreihenfolge vorab bestimmt ist, und eine Datei eines Verteilungspakets wird erzeugt. Die Aktualisierungsdaten und die Integritätsvalidierungsdaten für jede ECU sind in einer aufsteigenden Reihenfolge von Gruppen oder einer aufsteigenden Reihenfolge von ECU-Reihenfolgen bzw. - rängen angeordnet. Hierbei können zusätzlich die Aktualisierungsdaten (neue Differenzdaten), ebenso Rollbackdaten (alte Differenzdaten) eingegeben werden. Als die Integritätsverifizierungsdaten werden „Integritätsverifizierungsdaten eines ECU-Programms (neu)“ und „Integritätsverifizierungsdaten von Aktualisierungsdaten“ eingegeben. Falls ebenso Rollbackdaten hinzugefügt werden, werden ebenso „Integritätsverifizierungsdaten eines alten ECU-Programms“ und „Integritätsverifizierungsdaten alter Differenzdaten“ eingegeben.
  • In der Integritätsverifizierungsdatenerzeugungsverarbeitung werden Integritätsverifizierungsdaten für die erzeugte Paketdatei erzeugt, wie in Schritt C4 von 276 beschrieben ist.
  • Die erzeugte Paketdatei oder die Integritätsverifizierungsdaten, die für die Paketdatei erzeugt werden, werden in der Paket-DB 206 durch einen Operator registriert.
  • Die Funktionen, die durch die Zentralvorrichtung 3 ausgeführt werden, können durch Hardware oder Software verwirklicht werden. Die Funktionen können durch Hardware und Software in Kooperation verwirklicht werden.
  • Die Umschreibdaten können nicht nur ein Anwendungsprogramm, sondern ebenso Daten wie eine Karte bzw. Aufzeichnung oder Daten wie Steuerparameter sein.
  • Ein Inhalt der Konfigurationsinformationen ist nicht auf dieses Beispiel beschränkt und kann angemessen gemäß individuellem Design ausgewählt werden.
  • Ein Inhalt der Spezifikationsdaten ist nicht auf das Beispiel beschränkt.
  • Die Kampagneninformationen und die Verteilungsspezifikationsdaten können in einem Verteilungspaket beinhaltet sein und an die Fahrzeugseite gesendet werden oder können an die Fahrzeugseite separat von dem Verteilungspaket gesendet werden.
  • In der fünften Ausführungsform können das Verteilungspaket und der dritte Verifizierungswert vorab in der Paketspeichereinheit gespeichert werden und die Paketsendeeinheit 213 kann das Verteilungspaket und den dritten Verifizierungswert, der mit einer Anfrage an das Fahrzeugbordsystem 4 verknüpft ist, in Antwort auf die Anforderung von dem Fahrzeugbordsystem 4 senden.
  • Gemäß der vorliegenden Ausführungsform können die folgenden Operationen und Wirkungen durch Ausführen der vorstehenden (27) Umschreibungsanweisungsverarbeitung, die auf Überschreiben von Konfigurationsinformationen basiert, erlangt werden. Das CGW 13 weist die Umschreibziel-ECU 19 an, mit neuen Konfigurationsinformationen zu überschreiben, während die Umschreibziel-ECU 19 das Anwendungsprogramm überschreibt oder nach Umschreiben des Anwendungsprogramms. Durch Anweisen der Umschreibziel-ECU 19 zum Umschreiben der neuen Konfigurationsinformationen kann die Umschreibziel-ECU 19 die alten Konfigurationsinformationen in die neuen Konfigurationsinformationen umschreiben. Sogar, wenn die Struktur des Flash-Speichers durch Umschreiben des Anwendungsprogramms der Umschreibziel-ECU 19 geändert wird, können die Konfigurationsinformationen angemessen nach dem Umschreiben des Anwendungsprogramms verwendet werden.
  • Das CGW 13 sendet die spezifischen Informationen an die Zentralvorrichtung 3, empfängt die neuen Konfigurationsinformationen entsprechend der spezifischen Informationen von der Zentralvorrichtung 3 und weist die Umschreibziel-ECU 19 an, die empfangenen neuen Konfigurationsinformationen umzuschreiben. Die neuen Konfigurationsinformationen, die von der Zentralvorrichtung 3 erlangt werden, können in der Umschreibziel-ECU 19 umgeschrieben werden.
  • Das CGW 13 erlangt die spezifischen Informationen von der Umschreibziel-ECU 19, wenn die Fahrzeuginformationen von der Fahrzeugseite erlangt werden. Beispielsweise können die spezifischen Informationen von der Umschreibziel-ECU 19 erlangt werden, wenn die Fahrzeuginformationen von der Fahrzeugseite erlangt werden, beispielsweise wenn die Zündung eingeschaltet wird.
  • Das CGW 13 erlangt eine Softwareversion, die eine Programmversion angibt, als die spezifischen Informationen. Eine Anweisung zum Überschreiben der Konfigurationsinformationen entsprechend der Softwareversion kann an die Umschreibziel-ECU 19 gegeben werden und somit kann die Umschreibziel-ECU 19 die neuen Konfigurationsinformationen entsprechend der Softwareversion umschreiben.
  • Das CGW 13 erlangt die Konfigurationsinformationsversion, die die Version der Konfigurationsinformationen angibt, als die spezifischen Informationen. Eine Anweisung zum Überschreiben der Konfigurationsinformationen entsprechend der Konfigurationsinformationsversion kann an die Umschreibziel-ECU 19 gegeben werden und somit kann die Umschreibziel-ECU 19 die neuen Konfigurationsinformationen entsprechend der Konfigurationsinformationsversion umschreiben.
  • Obwohl die vorliegende Offenbarung gemäß den Ausführungsformen beschrieben wurde, ist es ersichtlich, dass die vorliegende Offenbarung nicht auf die vorstehend beschriebenen Ausführungsformen und Strukturen beschränkt ist. Die vorliegende Offenbarung umfasst unterschiedliche Modifikationsbeispiele oder Variationen innerhalb des Umfangs von Äquivalenten. Verschiedene Kombinationen oder Formen sowie andere Kombinationen oder Formen, die nur ein Element, ein oder mehrere Elemente oder ein oder weniger Elemente enthalten, fallen in den Umfang oder den Geist der vorliegenden Offenbarung.
  • Die Steuereinheit und das in der vorliegenden Offenbarung beschriebene Verfahren können durch einen dedizierten Computer realisiert werden, der bereitgestellt wird, indem ein Prozessor und ein nichtflüchtiger Speicher konfiguriert werden, der programmiert ist, um eine oder mehrere Funktionen auszuführen, die durch ein Computerprogramm verkörpert sind. Alternativ können die Steuereinheit und das in der vorliegenden Offenbarung beschriebene Verfahren durch einen dedizierten Computer realisiert werden, der bereitgestellt wird, indem ein Prozessor mit einer oder mehreren dedizierten Hardwarelogikschaltungen konfiguriert wird. Alternativ können die Steuereinheit und das in der vorliegenden Offenbarung beschriebene Verfahren durch einen oder mehrere dedizierte Computer realisiert werden, die durch eine Kombination aus einem Prozessor und einem nichtflüchtigen Speicher konfiguriert sind, der zur Ausführung einer oder mehrerer Funktionen programmiert ist, und eines Prozessors, der durch eine oder mehrere Hardwarelogikschaltungen konfiguriert ist. Das Computerprogramm kann ebenso auf einem computerlesbaren und nichtflüchtigen, greifbaren Aufzeichnungsmedium als Anweisungen, die durch einen Computer ausgeführt werden, gespeichert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2019155686 [0001]
    • JP 2016224898 A [0004]

Claims (13)

  1. Elektronisches Fahrzeugsteuersystem (1), aufweisend: eine Fahrzeugmastervorrichtung (11), die konfiguriert ist, um Aktualisierungsdaten, die von einer Zentralvorrichtung empfangen werden, an eine Umschreibziel-ECU zu verteilen und die Umschreibziel-ECU anzuweisen, die Aktualisierungsdaten zu schreiben; und eine elektronische Steuervorrichtung (ECU) (19), die konfiguriert ist, um ein Programm in einem nichtflüchtigen Speicher unter Verwendung der Aktualisierungsdaten umzuschreiben, die von der Fahrzeugmastervorrichtung empfangen werden, wobei Konfigurationsfestlegungsinformationen in dem nichtflüchtigen Speicher in der ECU gespeichert sind, und die Fahrzeugmastervorrichtung beinhaltet eine Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit (93a), die konfiguriert ist, um die Umschreibziel-ECU anzuweisen, mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, während die Umschreibziel-ECU ein Programm umschreibt oder nachdem die Umschreibziel-ECU das Programm umschreibt.
  2. Elektronisches Fahrzeugsteuersystem gemäß Anspruch 1, wobei die Fahrzeugmastervorrichtung beinhaltet: eine Erlangungseinheit (93b) für spezifische Informationen, die konfiguriert ist, um spezifische Informationen zum Spezifizieren alter Konfigurationsfestlegungsinformationen, die in dem nichtflüchtigen Speicher gespeichert sind, von der Umschreibziel-ECU zu erlangen; eine Sendeeinheit (93c) für spezifische Informationen, die konfiguriert ist, um die spezifischen Informationen, die durch die Erlangungseinheit für spezifische Informationen erlangt werden, an die Zentralvorrichtung zu senden; und eine Empfangseinheit (93d) für neue Konfigurationsfestlegungsinformationen, die konfiguriert ist, um neue Konfigurationsfestlegungsinformationen entsprechend den spezifischen Informationen von der Zentralvorrichtung zu empfangen, und die Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit ferner konfiguriert ist, um die Umschreibziel-ECU anzuweisen, mit den neuen Konfigurationsfestlegungsinformationen zu überschreiben, wenn die neuen Konfigurationsfestlegungsinformationen durch die Empfangseinheit für neue Konfigurationsfestlegungsinformationen empfangen werden.
  3. Elektronisches Fahrzeugsteuersystem gemäß Anspruch 2, wobei die Erlangungseinheit für spezifische Informationen konfiguriert ist, um die spezifischen Informationen zum Spezifizieren der alten Konfigurationsfestlegungsinformationen, die in dem nichtflüchtigen Speicher gespeichert sind, von der ECU gemäß einer Prozedur zu erlangen, die durch die Umschreibspezifikationsdaten bestimmt ist, die von der Zentralvorrichtung empfangen werden.
  4. Elektronisches Fahrzeugsteuersystem gemäß Anspruch 2 oder 3, wobei die Erlangungseinheit für spezifische Informationen konfiguriert ist, um die spezifischen Informationen von der ECU zu erlangen, wenn Fahrzeuginformationen von der ECU erlangt werden.
  5. Elektronisches Fahrzeugsteuersystem gemäß einem der Ansprüche 2 bis 4, wobei die Erlangungseinheit für spezifische Informationen konfiguriert ist, um als die spezifischen Informationen einer Softwareversion zu erlangen, die eine Version eines Programms angibt.
  6. Elektronisches Fahrzeugsteuersystem gemäß einem der Ansprüche 2 bis 4, wobei die Erlangungseinheit für spezifische Informationen konfiguriert ist, um als die spezifischen Informationen eine Konfigurationsfestlegungsinformationsversion zu erlangen, die eine Version von Konfigurationsfestlegungsinformationen angibt.
  7. Elektronisches Fahrzeugsteuersystem gemäß einem der Ansprüche 1 bis 6, wobei die Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit konfiguriert ist, um: einen Umschreibzeitpunkt basierend auf Umschreibspezifikationsdaten zu spezifizieren, die von der Zentralvorrichtung empfangen werden; und die Umschreibziel-ECU anzuweisen, mit den neuen Konfigurationsfestlegungsinformationen zu dem spezifizierten Umschreibzeitpunkt umzuschreiben.
  8. Elektronisches Fahrzeugsteuersystem gemäß einem der Ansprüche 1 bis 7, wobei die Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit konfiguriert ist, um: ein Überschreibungsverfahren basierend auf Umschreibspezifikationsdaten zu spezifizieren, die von der Zentralvorrichtung empfangen werden; und die Umschreibziel-ECU anzuweisen, mit den neuen Konfigurationsfestlegungsinformationen gemäß dem spezifizierten Überschreibungsverfahren umzuschreiben.
  9. Elektronisches Fahrzeugsteuersystem gemäß einem der Ansprüche 1 bis 8, wobei die Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit konfiguriert ist, um: zu bestimmen, ob die Konfigurationsfestlegungsinformationen durch Überschreiben oder Rollback umzuschreiben sind, basierend auf Umschreibspezifikationsdaten, die von der Zentralvorrichtung empfangen werden; und die Umschreibziel-ECU anzuweisen, mit den neuen Konfigurationsfestlegungsinformationen ausgehend von der Bestimmung zu überschreiben, dass die Konfigurationsfestlegungsinformationen durch Überschreiben umzuschreiben sind.
  10. Fahrzeugmastervorrichtung (11), die konfiguriert ist, um Aktualisierungsdaten, die von einer Zentralvorrichtung empfangen werden, an eine Umschreibziel-ECU zu verteilen und die Umschreibziel-ECU anzuweisen, die Aktualisierungsdaten zu schreiben, wobei die Fahrzeugmastervorrichtung aufweist: eine Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit (93a), die konfiguriert ist, um die Umschreibziel-ECU anzuweisen, mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, während die Umschreibziel-ECU ein Programm umschreibt oder nachdem die Umschreibziel-ECU das Programm umschreibt.
  11. Fahrzeugmastervorrichtung gemäß Anspruch 10, ferner aufweisend: eine Erlangungseinheit (93b) für spezifische Informationen, die konfiguriert ist, um spezifische Informationen zum Spezifizieren alter Konfigurationsfestlegungsinformationen, die in einem nichtflüchtigen Speicher gespeichert sind, von der ECU zu erlangen; eine Sendeeinheit (93c) für spezifische Informationen, die konfiguriert ist, um die spezifischen Informationen, die durch die Erlangungseinheit für spezifische Informationen erlangt werden, an die Zentralvorrichtung zu senden; und eine Empfangseinheit (93d) für neue Konfigurationsfestlegungsinformationen, die konfiguriert ist, um neue Konfigurationsfestlegungsinformationen entsprechend den spezifischen Informationen von der Zentralvorrichtung zu empfangen, wobei die Konfigurationsfestlegungsinformationsüberschreibanweisungseinheit konfiguriert ist, um die Umschreibziel-ECU anzuweisen, den nichtflüchtigen Speicher mit den neuen Konfigurationsfestlegungsinformationen zu überschreiben, wenn die neuen Konfigurationsfestlegungsinformationen durch die Empfangseinheit für neue Konfigurationsfestlegungsinformationen empfangen werden.
  12. Umschreibanweisungsverfahren, das auf Überschreiben von Konfigurationsfestlegungsinformationen basiert, für eine Fahrzeugmastervorrichtung (11), die konfiguriert ist, um Aktualisierungsdaten, die von einer Zentralvorrichtung empfangen werden, an eine Umschreibziel-ECU zu verteilen und die Umschreibziel-ECU anzuweisen, die Aktualisierungsdaten zu schreiben, wobei das Verfahren umfasst: einen Konfigurationsfestlegungsinformationsüberschreibanweisungsschritt zum Anweisen der Umschreibziel-ECU, mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, während die Umschreibziel-ECU ein Programm umschreibt oder nachdem die Umschreibziel-ECU das Programm umschreibt.
  13. Umschreibanweisungsprogramm, das auf Überschreiben von Konfigurationsfestlegungsinformationen basiert, für eine Fahrzeugmastervorrichtung (11), die konfiguriert ist, um Aktualisierungsdaten, die von einer Zentralvorrichtung empfangen werden, an eine Umschreibziel-ECU zu verteilen und die Umschreibziel-ECU anzuweisen, die Aktualisierungsdaten zu schreiben, wobei das Programm die Fahrzeugmastervorrichtung veranlasst, auszuführen: einen Konfigurationsfestlegungsinformationsüberschreibanweisungsschritt zum Anweisen der Umschreibziel-ECU, mit neuen Konfigurationsfestlegungsinformationen zu überschreiben, während die Umschreibziel-ECU ein Programm umschreibt oder nachdem die Umschreibziel-ECU das Programm umschreibt.
DE112020004103.4T 2019-08-28 2020-08-05 Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einem überschreiben von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem überschreiben von konfigurationsfestlegungsinformationen Pending DE112020004103T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019155686 2019-08-28
JP2019-155686 2019-08-28
PCT/JP2020/030001 WO2021039326A1 (ja) 2019-08-28 2020-08-05 車両用電子制御システム、車両用マスタ装置、コンフィグ情報の上書きによる書換え指示方法及びコンフィグ情報の上書きによる書換え指示プログラム

Publications (1)

Publication Number Publication Date
DE112020004103T5 true DE112020004103T5 (de) 2022-06-15

Family

ID=74685870

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004103.4T Pending DE112020004103T5 (de) 2019-08-28 2020-08-05 Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einem überschreiben von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem überschreiben von konfigurationsfestlegungsinformationen

Country Status (5)

Country Link
US (1) US11960875B2 (de)
JP (1) JP7287476B2 (de)
CN (1) CN114698390A (de)
DE (1) DE112020004103T5 (de)
WO (1) WO2021039326A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11685276B2 (en) 2019-06-07 2023-06-27 Anthony Macaluso Methods and apparatus for powering a vehicle
US11837411B2 (en) 2021-03-22 2023-12-05 Anthony Macaluso Hypercapacitor switch for controlling energy flow between energy storage devices
US11641572B2 (en) * 2019-06-07 2023-05-02 Anthony Macaluso Systems and methods for managing a vehicle's energy via a wireless network
US11615923B2 (en) 2019-06-07 2023-03-28 Anthony Macaluso Methods, systems and apparatus for powering a vehicle
US11289974B2 (en) 2019-06-07 2022-03-29 Anthony Macaluso Power generation from vehicle wheel rotation
JP7147721B2 (ja) 2019-09-05 2022-10-05 トヨタ自動車株式会社 車載通信装置及び通信方法
JP2023019048A (ja) * 2021-07-28 2023-02-09 トヨタ自動車株式会社 センタ、方法、及びプログラム
US11886860B2 (en) * 2021-09-27 2024-01-30 Red Hat, Inc. Distribution of digital content to vehicles
US11577606B1 (en) 2022-03-09 2023-02-14 Anthony Macaluso Flexible arm generator
US11472306B1 (en) 2022-03-09 2022-10-18 Anthony Macaluso Electric vehicle charging station
US11955875B1 (en) 2023-02-28 2024-04-09 Anthony Macaluso Vehicle energy generation system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016224898A (ja) 2015-05-27 2016-12-28 株式会社デンソー 車載電子制御装置
JP2019155686A (ja) 2018-03-12 2019-09-19 京セラドキュメントソリューションズ株式会社 画像形成装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4234062B2 (ja) * 2004-06-08 2009-03-04 富士通テン株式会社 ソフトウェア管理装置
JP5152297B2 (ja) 2010-10-28 2013-02-27 株式会社デンソー 電子装置
JP5601239B2 (ja) 2011-02-17 2014-10-08 株式会社デンソー 車載システム、マスタecuおよび診断ツール
JP5454517B2 (ja) 2011-06-15 2014-03-26 株式会社デンソー ゲートウェイ装置
DE102012212962A1 (de) 2011-07-28 2013-01-31 Denso Corporation Gateway und fahrzeuginternes Netzwerksystem
JP5375905B2 (ja) 2011-09-06 2013-12-25 株式会社デンソー 車載ネットワークシステム
JP5423736B2 (ja) 2011-07-28 2014-02-19 株式会社デンソー ゲートウェイ装置
JP5709055B2 (ja) 2011-09-27 2015-04-30 株式会社デンソー 車両用電子制御装置
JP2016170471A (ja) * 2015-03-11 2016-09-23 日立オートモティブシステムズ株式会社 電子制御装置
JP6216730B2 (ja) * 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
JP6428652B2 (ja) * 2016-01-06 2018-11-28 株式会社オートネットワーク技術研究所 車載更新装置、更新システム及び更新処理プログラム
JP6697357B2 (ja) * 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム
JP6667430B2 (ja) * 2016-12-27 2020-03-18 クラリオン株式会社 ソフトウェア更新装置、ソフトウェア更新システム
WO2018142750A1 (ja) * 2017-02-01 2018-08-09 住友電気工業株式会社 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6666281B2 (ja) * 2017-02-16 2020-03-13 株式会社日立製作所 ソフトウェア更新システム、サーバ
JP2018160207A (ja) * 2017-03-24 2018-10-11 日立オートモティブシステムズ株式会社 車載制御装置、及び、プログラム更新ソフトウェア

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016224898A (ja) 2015-05-27 2016-12-28 株式会社デンソー 車載電子制御装置
JP2019155686A (ja) 2018-03-12 2019-09-19 京セラドキュメントソリューションズ株式会社 画像形成装置

Also Published As

Publication number Publication date
US11960875B2 (en) 2024-04-16
JP7287476B2 (ja) 2023-06-06
JPWO2021039326A1 (de) 2021-03-04
US20220179641A1 (en) 2022-06-09
WO2021039326A1 (ja) 2021-03-04
CN114698390A (zh) 2022-07-01

Similar Documents

Publication Publication Date Title
DE112020004017T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren unter spezifischem modus und umschreibanweisungsprogramm unter spezifischem modus
DE112020004103T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einem überschreiben von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem überschreiben von konfigurationsfestlegungsinformationen
DE112019004041T5 (de) Fahrzeuginformationskommunikationssystem
DE112019004040T5 (de) Fahrzeug-master-vorrichtung, aktualisierungsdatenverteilungssteuerungsverfahren, aktualisierungsdatenverteilungssteuerungsprogramm und datenstruktur von spezifikationsdaten
DE112019004058T5 (de) Fahrzeugprogrammneuschreibsystem, fahrzeug-master-vorrichtung, fortschrittsynchronisationsverfahren und fortschrittssynchronisationsprogramm
DE112019004042T5 (de) Fahrzeug-Master-Vorrichtung, Aktualisierungsdatenverifizierungsverfahren und Aktualisierungsdatenverifizierungsprogramm
DE112019004071T5 (de) Elektronisches fahrzeugsteuerungssystem, fortschrittsbildschirmanzeigesteuerungsverfahren und fortschrittsbildschirmanzeigesteuerungsprogramm
DE112019004068T5 (de) Elektronisches fahrzeugsteuerungssystem, verteilungspaket-download-bestimmungsverfahren und verteilungspaket-download-bestimmungsprogramm
DE112021001659T5 (de) Zentralvorrichtung, verfahren zum erzeugen von verteilungspaket undprogramm zum erzeugen von verteilungspaket
DE112019004061T5 (de) Elektronische Steuerungseinheit, elektronisches Fahrzeugsteuerungssystem, Neuschreibausführungsverfahren, Neuschreibausführungsprogramm und Datenstrukturspezifikationsdaten
DE112019004059T5 (de) Fahrzeug-master-vorrichtung, elektronisches fahrzeugsteuerungssystem, aktivierungsanfragebefehlsverfahren und aktivierungsanfragebefehlsprogramm
DE112019004054T5 (de) Fahrzeug-master-vorrichtung, installationsbefehlsbestimmungsverfahren und installationsbefehlsbestimmungsprogramm
DE112019004025T5 (de) Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, differenzdatenkonsistenzbestimmungsverfahren und differenzdatenkonsistenzbestimmungsprogramm
DE112019004051T5 (de) Fahrzeug-master-vorrichtung, steuerungsverfahren zum ausführen eines rollbacks, steuerungsprogramm zum ausführen eines rollbacks und datenstruktur von spezifikationsdaten
DE112019004029T5 (de) Fahrzeug-master-vorrichtung, nicht-neuschreibziel-stromversorgungsverwaltungsverfahren und nicht-neuschreibziel-stromversorgungsverwaltungsprogramm
DE112020004011T5 (de) Elektronisches fahrzeugsteuersystem, fahrzeugmastervorrichtung, umschreibanweisungsverfahren basierend auf einer aktualisierung von konfigurationsfestlegungsinformationen und umschreibanweisungsprogramm basierend auf einem aktualisieren von konfigurationsfestlegungsinformationen
DE112019004069T5 (de) Elektronisches fahrzeugsteuerungssystem, dateiübertragungssteuerungsverfahren, dateiübertragungssteuerungsprogramm und datenstruktur von spezifikationsdaten
DE112019004050T5 (de) Fahrzeug-master-vorrichtung, neuschreibzielgruppenverwaltungsverfahren, neuschreibzielgruppenverwaltungsprogramm und datenstruktur von spezifikationsdaten
DE112019004020T5 (de) Anzeigesteuerungsvorrichtung, neuschreibfortschrittsanzeigesteuerungsverfahren und neuschreibfortschrittsanzeigesteuerungsprogramm
DE112019004056T5 (de) Fahrzeug-master-vorrichtung, sicherheitszugangsschlüsselverwaltungsverfahren, sicherheitszugangsschlüsselverwaltungsprogramm und datenstruktur von spezifikationsdaten
DE112019004063T5 (de) Elektronisches fahrzeugsteuerungssystem, zentrumsvorrichtung, fahrzeug-master-vorrichtung, anzeigesteuerungsinformations-übertragungssteuerungsverfahren, anzeigesteuerungsinformations-empfangssteuerungsverfahren, anzeigesteuerungsinformations-übertragungssteuerungsprogramm und anzeigesteuerungsinformations-empfangssteuerungsprogramm
DE112019004028T5 (de) Elektronische steuerungseinheit, elektronisches fahrzeugsteuerungssystem, aktivierungsausführungssteuerungsverfahren und aktivierungsausführungssteuerungsprogramm
JP2023126403A (ja) 車両情報通信システム及び車両情報通信方法
JP2022120055A (ja) 車両用マスタ装置、ロールバックの実行制御方法及びロールバックの実行制御プログラム
JP7451927B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)