[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE102018210956A1 - Elektronische steuereinheit und aktualisierungssoftware-verteilungssystem - Google Patents

Elektronische steuereinheit und aktualisierungssoftware-verteilungssystem Download PDF

Info

Publication number
DE102018210956A1
DE102018210956A1 DE102018210956.7A DE102018210956A DE102018210956A1 DE 102018210956 A1 DE102018210956 A1 DE 102018210956A1 DE 102018210956 A DE102018210956 A DE 102018210956A DE 102018210956 A1 DE102018210956 A1 DE 102018210956A1
Authority
DE
Germany
Prior art keywords
logical area
area
control
calibration data
logical
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
DE102018210956.7A
Other languages
English (en)
Inventor
Toshikazu HIOKI
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 DE102018210956A1 publication Critical patent/DE102018210956A1/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
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

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

Abstract

Eine elektronische Steuereinheit (1) weist eine CPU (2) und ein Flash-ROM (9) auf. Das Flash-ROM weist einen ersten physikalischen Bereich (16a), einen zweiten physikalischen Bereich (16b) und einen dritten physikalischen Bereich (16c) auf. Die CPU weist die drei physikalischen Bereiche mit einem ersten logischen Bereich, einem zweiten logischen Bereich und einem dritten logischen Bereich zu. Der erste logische Bereich wird als ein logischer Bereich zum Speichern eines Steuerprogramms zugewiesen. Der zweite logische Bereich wird als ein logischer Bereich zum Speichern von Kalibrierdaten zugewiesen. Der dritte logische Bereich wird als ein logischer Bereich zum Arbeiten zugewiesen. Die CPU wechselt den ersten logischen Bereich und den dritten logischen Bereich miteinander, wenn ein Steuerprogramm geschrieben wird. Die CPU wechselt den zweiten logischen Bereich und den dritten logischen Bereich miteinander, wenn Kalibrierdaten geschrieben werden.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine elektronische Steuereinheit und ein Aktualisierungssoftware-Verteilungssystem.
  • STAND DER TECHNIK
  • Eine elektronische Steuereinheit, die einen Motor oder ein Getriebe eines Fahrzeuges, wie beispielsweise eines Automobils, steuert, weist beispielsweise einen nichtflüchtigen Speicher auf, dessen gespeicherte Inhalte umgeschrieben bzw. wiederbeschrieben werden können. Eine derartige elektronische Steuereinheit ist so konfiguriert, dass es möglich ist, ein in einem nicht-flüchtigen Speicher gespeichertes Anwendungsprogramm umzuschreiben bzw. neu zu schreiben (d.h. eine Umprogrammierung durchzuführen). JP 2013-254264 A offenbart beispielsweise eine Konfiguration für eine Umprogrammierung bzw. Neuprogrammierung; eine derartige Konfiguration dient dazu einen Lesebereich zum Ausführen eines Programms und einen Schreibbereich für eine Umprogrammierung vorzubereiten bzw. bereitzustellen und den Lesebereich und den Schreibbereich miteinander zu wechseln, nachdem eine Umprogrammierung erfolgreich oder normal abgeschlossen ist. JP 2006-301960 A offenbart beispielsweise ferner eine andere Konfiguration; eine andere derartige Konfiguration dient dazu, einen Hauptbereich zum Ausführen eines Programms und einen Hilfsbereich für eine Umprogrammierung jeweils mit Bezug auf die Anwendungsprogramme vorzubereiten und den Hauptbereich und den Hilfsbereich miteinander zu wechseln, nachdem eine Umprogrammierung erfolgreich oder normal abgeschlossen ist. Den Konfigurationen aus JP 2013 - 254264 A und JP 2006-301960 A ist es möglich, eine Umprogrammierung während einer Ausführung eines Programms durchzuführen.
  • PATENTLITERATUR
    • Patentliteratur 1: JP 2013-254264 A
    • Patentliteratur 2: JP 2006-301960 A
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Konfigurationen aus JP 2013-254264 A und JP 2006-301960 A benötigen jedoch einen nicht-flüchtigen Speicher, der eine doppelt so große als die zum Speichern eines Anwendungsprogramms benötige Speicherkapazität, die hohe Kosten aufgrund einer Erhöhung der Speicherkapazität darstellt, aufweist.
  • In Hinblick auf die oben erwähnte Situation ist es eine Aufgabe der vorliegenden Erfindung, eine elektronische Steuereinheit und ein Aktualisierungssoftware-Verteilungssystem bereitzustellen, die hohe Kosten aufgrund einer Erhöhung einer Speicherkapazität eines nicht-flüchtigen Speichers vermeiden können, während eine Umprogrammierung während einer Ausführung eines Anwendungsprogramms durchgeführt wird.
  • Gemäß einem Beispiel der vorliegenden Erfindung ist eine elektronische Steuereinheit so bereitgestellt, dass sie (i) einen nicht-flüchtigen Speicher, der ein Anwendungsprogramm speichert, um ein Steuerziel zu steuern, und (ii) eine Verarbeitungseinheit, die das Anwendungsprogramm ausführt, um das Steuerziel zu steuern, aufweist. Ein gespeicherter Inhalt des nichtflüchtigen Speichers ist umschreibbar. Der nicht-flüchtige Speicher weist drei physikalische Bereiche bzw. Regionen aus einem ersten physikalischen Bereich, einem zweiten physikalischen Bereich und einem dritten physikalischen Bereich auf.
  • Die elektronische Steuereinheit weist ferner einen Zuweisungsverarbeitungsabschnitt, einen Steuerverarbeitungsabschnitt, einen Schreibverarbeitungsabschnitt und einen Wechselverarbeitungsabschnitt auf. Der Zuweisungsverarbeitungsabschnitt ist so konfiguriert, dass der den drei physikalischen Bereichen mit einem ersten logischen Bereich, einem zweiten logischen Bereich und einem dritten logischen Bereich zuweist, wobei er den ersten logischen Bereich als einen logischen Bereich zum Speichern eines im Anwendungsprogramm vorhandenen Steuerprogramms zuweist, den zweiten logischen Bereich als einen logischen Bereich zum Speichern von im Anwendungsprogramm vorhandenen Kalibrierdaten zuweist und den dritten logischen Bereich als einen logischen Bereich zum Arbeiten zuweist. Der Steuerverarbeitungsabschnitt ist so konfiguriert, dass er eine Steuerung des Steuerziels unter Verwendung des im ersten logischen Bereich gespeicherten Steuerprogramms und der im zweiten logischen Bereich gespeicherten Kalibrierdaten durchführt. Der Schreibverarbeitungsabschnitt ist so konfiguriert, dass er eine Aktualisierungssoftware, die das als ein Umschreibziel dienende Anwendungsprogramm aufweist, in den dritten logischen Bereich schreibt. Der Wechselverarbeitungsabschnitt ist so konfiguriert, dass er den ersten logischen Bereich und den dritten logischen Bereich miteinander als Antwort, dass das Steuerprogramm geschrieben wird, und den zweiten logischen Bereich und den dritten logischen Bereich miteinander als Antwort, dass die Kalibierdaten geschrieben werden, wechselt.
  • Das Steuerziel wird unter Verwendung des ersten logischen Bereichs, der als ein logischer Bereich zum Speichern eines Steuerprogramms zugewiesen ist, und dem zweiten logischen Bereich, der als ein logischer Bereich zum Speichern von Kalibrierdaten zugewiesen ist, gesteuert. Der dritte logische Bereich ist anders als der erste logische Bereich und der zweite logische Bereich als ein logischer Bereich zum Arbeiten zugewiesen. Der erste logische Bereich und der zweite logische Bereich werden verwendet, um ein Anwendungsprogramm auszuführen, während der dritte logische Bereich verwendet wird, um eine Umprogrammierung durchzuführen; dies kann die Umprogrammierung während der Ausführung des Anwendungsprogramms durchführen. Der dritte logische Bereich wird ferner von einem Steuerprogramm und Kalibierdaten so geteilt, dass entweder ein Steuerprogramm oder Kalibrierdaten selektiv bzw. ausgewählt in den dritten logischen Bereich geschrieben werden. Eine derartige Konfiguration beseitigt den Bedarf, einen nicht-flüchtigen Speicher vorzubereiten, der eine doppelt so große als die zum Speichern eines Anwendungsprogramms benötige Speicherkapazität aufweist.
  • Das heißt, ein Verfahren im Stand der Technik benötigt eine Vorbereitung eines Speicherbereichs eines alten Steuerprogramms, eines Speicherbereichs von alten Kalibrierdaten, eines Speicherbereichs eines neuen Steuerprogramms und eines Speicherbereichs von neuen Kalibrierdaten. Im Gegensatz dazu benötigt das obige Beispiel der vorliegenden Erfindung nur die Vorbereitung eines Speicherbereichs eines alten Steuerprogramms, eines Speicherbereichs von alten Kalibrierdaten und eines Speicherbereichs, der von einem neuen Steuerprogramm und neuen Kalibrierdaten geteilt wird, wobei die Speicherkapazität verglichen mit dem Verfahren im Stand der Technik auf ungefähr Dreiviertel (3/4) verringert wird. Diese Konfiguration kann hohe Kosten aufgrund der Erhöhung einer Speicherkapazität eines nicht-flüchtigen Speichers vermeiden, während eine Umprogrammierung während einer Ausführung eines Anwendungsprogramms durchgeführt wird.
  • Figurenliste
  • Die obigen und andere Objekte, Merkmale und Vorteile der vorliegenden Erfindung werden durch die folgende detaillierte Beschreibung unter Bezugnahme auf die beigefügten Figuren verdeutlicht. Es zeigen:
    • 1 ein Funktionsblockdiagramm, das eine Konfiguration einer ersten Ausführungsform der vorliegenden Erfindung darstellt;
    • 2 ein Diagramm, das eine Bestimmungstabelle eines logischen Bereichs darstellt;
    • 3 ein Ablaufdiagramm, das einen Aktivierungsvorgang darstellt;
    • 4 ein Ablaufdiagramm, das einen Umschreibvorgang darstellt;
    • 5 ein Beispiel eines Umschreibens eines Steuerprogramms;
    • 6 ein Beispiel eines Löschens eines Steuerprogramms;
    • 7 ein Beispiel eines Umschreibens von Kalibrierdaten;
    • 8 ein Beispiel eines Löschens von Kalibrierdaten; und
    • 9 ein Beispiel eines Umschreibens von Daten.
  • AUSFÜHRUNGSFORMEN ZUM AUSFÜHREN DER ERFINDUNG
  • Im Folgenden wird eine Ausführungsform, die die vorliegende Erfindung für eine elektronische Steuereinheit in einem Fahrzeug zum Steuern eines Motors eines Fahrzeuges, wie beispielsweise eines Automobils, anwendet, mit Bezug auf die Figuren beschrieben. Die elektronische Steuereinheit 1, die auch als ECU 1 bezeichnet werden kann, weist eine CPU 2 (die äquivalent zu einer Verarbeitungseinheit ist), eine Flash-ROM-Steuereinheit 3, ein RAM 4, ein EEPROM 5, einen Kommunikationsschnittstellen-Schaltkreis 6 und einen Eingabe/Ausgabe-Schaltkreis 7 bzw. Input/Output-Schalkreis auf, die über einen internen Bus 8 miteinander verbunden sind.
  • Die Flash-ROM-Steuereinheit 3 ist mit einem Flash-ROM 9 (der äquivalent zu einem nicht-flüchtigem Speicher ist) verbunden und führt ein Lesen und ein Schreiben von Daten bezogen auf das Flash-ROM 9 gemäß einer von der CPU 2 eingegebenen Anweisung durch. Das RAM 4 ist ein flüchtiger Speicher zum temporären Speichern von Betriebsergebnissen durch die CPU 2. Das EEPROM 5 ist ein nicht-flüchtiger Speicher, in dem es möglich ist gespeicherte Inhalte (d.h. Speicherinhalte) umzuschreiben.
  • Der Kommunikationsschnittstellen-Schaltkreis 6 führt Datenkommunikationen mit im Fahrzeug angebrachten verschiedenen Vorrichtungen bzw. Geräten über ein LAN 10 im Fahrzeug durch. Das LAN 10 im Fahrzeug ist mit einem kabellosen Kommunikator 12 verbunden, der kabellose Kommunikationen mit einem in einem Netzwerk außerhalb des Fahrzeuges angeordneten Server 11 durchführt. Der kabellose Kommunikator 12 kann eine für kabellose Kommunikationen dediziere bzw. bestimmte Vorrichtung oder eine andere elektronische Steuereinheit, die eine kabellose Kommunikationsfunktion aufweist, sein. Der Server 11 verteilt ein Anwendungsprogramm, mit dem die elektronische Steuereinheit 1 einen Motor 14 (der äquivalent zu einem Steuerziel ist), wie später erwähnt, steuert. Nach Empfangen einer Anfrageanweisung von der CPU 2 gibt der Kommunikationsschnittstellen-Schaltkreis 6 eine Übertragungsanweisung eines Anfragesignals an den kabellosen Kommunikator 12 aus. Nach Empfangen der Übertragungsanweisung des Anfragesignals vom Kommunikationsschnittstellen-Schaltkreis 6, überträgt der kabellose Kommunikator 12 ein Anfragesignal an den Server 11.
  • Nach Empfangen des Anfragesignals vom kabellosen Kommunikator 12 bestimmt der Server 11, ob eine Aktualisierung eines Anwendungsprogramms für die elektronische Steuereinheit 1, die als eine Übertragungsquelle des Anfragesignals dient, benötigt wird. Auf Grundlage des vom kabellosen Kommunikator 12 empfangenen Anfragesignals vergleicht der Server 11 die Version eines durch die elektronische Steuereinheit 1 als die Übertragungsquelle des Anfragesignals gehaltenen neuesten Anwendungsprogramms mit der Version eines durch den Server 11 selbst gehaltenen neuesten Anwendungsprogramms, um dadurch zu bestimmen, ob eine Aktualisierung eines Anwendungsprogramms für die elektronische Steuereinheit 1 als die Übertragungsquelle des Anfragesignals benötigt wird. Wenn bestimmt wird, dass die Versionen der zwei Anwendungsprogramme einander entsprechen, bestimmt der Server 11, dass irgendeine Aktualisierung des Anwendungsprogramms nicht erforderlich ist; der Server 11 überträgt eine Nachricht, die anzeigt, dass irgendeine Aktualisierung nicht erforderlich ist, an die elektronische Steuereinheit 1 als die Übertragungsquelle.
  • Wenn im Gegensatz dazu bestimmt wird, dass die Versionen der zwei Anwendungsprogramme einander aufgrund einer Versionsverbesserung, wie beispielsweise einer Fehlermodifikation bzw. Bugmodifikation oder eines Leistungsfortschritts, nicht entsprechen, bestimmt der Server 11, dass eine Aktualisierung des Anwendungsprogramms erforderlich ist; der Server 11 überträgt eine Nachricht, die anzeigt, dass eine Aktualisierung erforderlich ist, an die elektronische Steuereinheit 1 als die Übertragungsquelle, während er eine Aktualisierungssoftware verteilt, die das neueste Anwendungsprogramm aufweist.
  • Die durch den Server 11 verteilte Aktualisierungssoftware ist so konfiguriert, dass sie ein Steuerprogramm und Kalibrierdaten aufweist; die Aktualisierungssoftware weist die Versionsinformation und die Informationsart, die entweder die Art eines Steuerprogramms oder von Kalibrierdaten anzeigt, auf. Der Server 11 überträgt darüber hinaus ein Steuerprogramm und Kalibrierdaten separat, wenn er die Aktualisierungssoftware verteilt. Nach Empfangen der vom Server 11 verteilten Aktualisierungssoftware gibt der kabellose Kommunikator 12 die empfangene Aktualisierungssoftware an den Kommunikationsschnittstellen-Schaltkreis 6 aus. Das Aktualisierungssoftware-Verteilungssystem 13 ist so konfiguriert, dass es die elektronische Steuereinheit 1, den kabellosen Kommunikator 12 und den Server 11 aufweist.
  • Der mit dem oben erwähnten Motor 14 verbundene Eingabe/Ausgabe-Schaltkreis 7 empfängt Sensorsignale von verschiedenen Sensoren, die einen Betriebszustand des Motors 14 erfassen und führt eine Signalverarbeitung, wie beispielsweise eine Wellenformverarbeitung, des empfangenen Signals durch, wobei er die das Ergebnis der Signalverarbeitung anzeigenden Daten an die CPU 2 ausgibt. Nach Empfangen der Daten vom Eingabe/Ausgabe-Schaltkreis 7 bestimmt die CPU 2 einen Betriebszustand des Motors 14 unter Verwendung der Daten und berechnet die zum Steuern des Motors 14 erforderlichen Daten, wie beispielsweise einen Ventilöffnungszeitpunkt oder einen Ventilöffnungszeitraum des Injektors, der den Kraftstoff injiziert, wobei sie eine Antriebsanweisung an den Eingabe/Ausgabe-Schaltkreis 7 gemäß dem Berechnungsergebnis ausgibt. Nach Empfangen der Antriebsanfrage von der CPU 2 gibt der Eingabe/Ausgabe-Schaltkreis 7 ein Antriebssignal an den Motor 14 gemäß der Antriebsanfrage aus und steuert beispielsweise die Kraftstoffinjektion des Injektors.
  • Das Flash-ROM 9, das ein nicht-flüchtiger Speicher ist, dessen gespeicherter Inhalt umschreibbar ist, weist einen Bootbereich 15 und einen Benutzerbereich 16 auf. Der Bootbereich 15 speichert ein Bootprogramm zum Aktivieren (d.h. zum Durchführen eines Startes) der elektronischen Steuereinheit 1, wenn Energie zugeführt wird. Der Benutzerbereich 16 speichert ein Anwendungsprogramm zum Steuern des Motors 14. Der Benutzerbereich 16 weist drei physikalische Bereiche 16a, 16b und 16c aus einem ersten physikalischen Bereich 16a, einem zweiten physikalischen Bereich 16b und einem dritten physikalischen Bereich 16c als Speicherbereiche für ein Anwendungsprogramm auf. Die CPU 2 führt das im Bootbereich 15 gespeicherte Bootprogramm aus und das Bootprogramm führt das im Benutzerbereich 16 gespeicherte Anwendungsprogramm zum Steuern des Motors 14 aus.
  • Die CPU 2 erfasst eine Zündung, die gemäß einem von einer Quelle außerhalb der elektronischen Steuereinheit 1 eingegebenen Zündungssignal angeschaltet wird. Die CPU 2 weist einen Zuweisungsverarbeitungsabschnitt 2a, einen Steuerverarbeitungsabschnitt 2b, einen Schreibverarbeitungsabschnitt 2c und einen Wechselverarbeitungsabschnitt 2d auf, die unterschiedliche Funktionen aufweisen. Das heißt, die CPU 2 funktioniert als die betreffenden Verarbeitungsabschnitte 2a bis 2d durch Ausführen des im Flash-ROM 9 gespeicherten Programms.
  • Der Zuweisungsverarbeitungsabschnitt 2a weist einen ersten logischen Bereich, einen zweiten logischen Bereich und einen dritten logischen Bereich so zu, dass sie den drei physikalischen Bereichen 16a bis 16c des Flash-ROM 9 entsprechen. Der Zuweisungsverarbeitungsabschnitt 2a weist den ersten logischen Bereich als einen logischen Bereich zum Speichern eines in einem Anwendungsprogramm vorhandenen Steuerprogramms zu, weist den zweiten logischen Bereich als einen logischen Bereich zum Speichern von im Anwendungsprogramm vorhandenen Kalibrierdaten zu und weist den dritten logischen Bereich als logischen Bereich zum Arbeiten zu. Die Steuerverarbeitungsabschnitt 2b steuert den Motor 14 unter Verwendung des im ersten logischen Bereich gespeicherten Steuerprogramms und den im zweiten logischen Bereich gespeicherten Kalibrierdaten.
  • Als Antwort, dass der kabellose Kommunikator 12 eine vom Server 11 verteile Aktualisierungssoftware empfängt und die empfangene Aktualisierungssoftware in den Kommunikationsschnittstellen-Schaltkreis 6 eingibt, schreibt der Schreibverarbeitungsabschnitt 2c die eingegebene Aktualisierungssoftware in den dritten logischen Bereich. Falls die vom Server 11 verteilte Aktualisierungssoftware ein Steuerprogramm ist, schreibt der Schreibverarbeitungsabschnitt 2c das Steuerprogramm in den dritten logischen Bereich. Falls die vom Server 11 verteilte Aktualisierungssoftware Kalibrierdaten sind, schreibt der Schreibverarbeitungsabschnitt 2c die Kalibrierdaten in den dritten logischen Bereich.
  • Als Antwort, dass das Steuerprogramm durch den Schreibverarbeitungsabschnitt 2c in den dritten logischen Bereich geschrieben wird, wechselt der Wechselverarbeitungsabschnitt 2d den ersten logischen Bereich und den dritten logischen Bereich miteinander. Als Antwort darauf, dass die Kalibrierdaten durch den Schreibverarbeitungsabschnitt 2c in den dritten logischen Bereich geschrieben werden, wechselt der Wechselverarbeitungsabschnitt 2d den zweiten logischen Bereich und den dritten logischen Bereich miteinander.
  • Die CPU 2 speichert eine in 2 dargestellte Bestimmungstabelle für einen logischen Bereich. Die Bestimmungstabelle für einen logischen Bereich stellt die Verbindungen zwischen den Arten (K1 bis K2) der drei physikalischen Bereiche 16a bis 16c, den Versionen (V1 bis V3) und die Nummer der zurzeit zugewiesenen logischen Bereichen dar. Beispielsweise stellt der Zustand 1 folgendes dar: der erste physikalische Bereich 16a speichert ein altes Steuerprogramm; der zweite physikalische Bereich 16b speichert alte Kalibrierdaten; der dritte physikalische Bereich 16c ist in einem gelöschten Zustand; der erste physikalische Bereich 16a ist mit dem ersten logischen Bereich zugewiesen; der zweite physikalische Bereich 16b ist mit dem zweiten logischen Bereich zugewiesen; der dritte physikalische Bereich 16c ist mit dem dritten logischen Bereich zugewiesen.
  • Nachfolgend wird ein Betrieb der obigen Konfiguration mit Bezug auf die 3 bis 9 beschrieben. Nachdem erfasst wird, dass eine Zündung gemäß einem von einer Quelle außerhalb der elektronische Steuereinheit 1 eingegebenen Zündungssignal angeschaltet wird, startet die CPU 2 in der elektronische Steuereinheit 1 einen Aktivierungsvorgang (d.h. einen Startvorgang). Beim Start des Aktivierungsvorgans referenziert die CPU 2 die Bestimmungstabelle auf einen logischen Bereich, bestimmt die logischen Bereiche zu diesem Zeitpunkt (S1) und bestimmt, ob beide Bereiche, erster logischer Bereich und zweiter logischer Bereich, einem physikalischen Bereich zugewiesen sind (S2). Die CPU 2 startet darüber hinaus beim Start des Aktivierungsvorgangs einen Umschreibvorgang und führt dann den Aktivierungsvorgang und den Umschreibvorgang parallel durch.
  • Wenn bestimmt wird, dass beide Bereiche, erster logischer Bereich und zweiter logischer Bereich, den physikalischen Bereichen zugewiesen sind (S2: JA), aktiviert de CPU 2 ein im ersten logischen Bereich gespeichertes Kommunikationssteuerprogramm, referenziert das aktivierte Steuerprogramm auf die im zweiten logischen Bereich gespeicherten Kalibrierdaten und startet die Steuerung des Motors 14 (S3). Nach Starten des Motors 14, steht die CPU 2 zum Beenden der Steuerung des Motors 14 bereit und bestimmt, ob die Steuerung des Motors 14 normal beendet wird (S4). Wenn bestimmt wird, dass die Steuerung des Motors 14 normal beendet wird (S4: JA), beendet die CPU 2 den Aktivierungsvorgang.
  • Wenn bestimmt wird, dass die Steuerung des Motors 14 nicht normal beendet wird (S4: NEIN), bestimmt die CPU 2, ob der zurzeit im dritten logischen Bereich geschriebene Inhalt das Steuerprogramm oder die Kalibrierdaten ist (S5, S6). Wenn bestimmt wird, dass der zurzeit im dritten logischen Bereich geschriebene Inhalt das Steuerprogramm ist (S5: JA), löscht die CPU 2 das zu diesem Zeitpunkt im ersten logischen Bereich gespeicherte Kommunikationssteuerprogramm (S7), wechselt den ersten logischen Bereich und den dritten logischen Bereich (S8) miteinander, kehrt zu S2 zurück und wiederholt die Verarbeitung nach S2. Wenn bestimmt wird, dass der zurzeit im dritten logischen Bereich geschriebene Inhalt die Kalibrierdaten ist (S6: JA), löscht die CPU 2 die zu diesem Zeitpunkt im zweiten logischen Bereich gespeicherten Kalibrierdaten (S9), wechselt den zweiten logischen Bereich und den dritten logischen Bereich miteinander (S10), kehrt zu S2 zurück und wiederholt die Verarbeitung nach S2. Wenn bestimmt wird, dass beide Bereiche, erster logischer Bereich und zweiter logischer Bereich, keinen physikalischen Bereichen zugewiesen sind (S2: NO), beendet die CPU 2 den Aktivierungsvorgang ohne Starten der Steuerung des Motors 14.
  • Die CPU 2 startet einen Umschreibvorgang. Falls die Aktualisierung eines Anwendungsprogramms erforderlich ist, aktualisiert die CPU 2 das Anwendungsprogramm wie folgt. Die elektronische Steuereinheit 1, die den Motor eines Fahrzeuges, wie beispielsweise eines Automobils, steuert, führt ein einziges Anwendungsprogramm aus. Der Umschreibvorgang aktualisiert das Anwendungsprogramm über alle Bereiche des Benutzerbereichs 16 des Flash-ROM 9.
  • Das heißt, nach Starten des Umschreibvorgangs, gibt die CPU 2 eine Anfrageanweisung an den Kommunikationsschnittstellen-Schaltkreis 6 aus, überträgt ein Anfragesignal über den kabellosen Kommunikator 12 an den Server 11 (S11) und steht für den Empfang des Antwortsignals vom Server 11 bereit (S12). Nach Empfangen des vom kabellosen Kommunikator 12 übertragenen Anfragesignals bestimmt der Server 11, ob eine Aktualisierung des Anwendungsprogramms für die elektronische Steuereinheit 1 als eine Übertragungsquelle des Anfragesignals benötigt wird. Nachdem bestimmt wird, dass irgendeine Aktualisierung des Anwendungsprogramms nicht erforderlich ist, überträgt der Server 11 ein Antwortsignal, das anzeigt, dass irgendeine Aktualisierung nicht erforderlich ist, an die elektronische Steuereinheit 1 als die Übertragungsquelle des Anfragesignals. Nachdem im Gegensatz dazu bestimmt wird, dass die Aktualisierung eines Anwendungsprogramms, beispielsweise für die Versionsverbesserung aufgrund von fortschrittlichen Merkmalen oder einer Fehlermodifikation, erforderlich ist, überträgt der Server 11 ein Antwortsignal, dass anzeigt, dass eine Aktualisierung erforderlich ist, an die elektronische Steuereinheit 1 als die Übertragungsquelle des Anfragesignals, während er eine Aktualisierungssoftware verteilt, die ein Anwendungsprogramm aufweist.
  • Nachdem bestimmt wird, dass der kabellose Kommunikator 12 das vom Server 11 übertragene Antwortsignal empfängt (S12: JA), bestimmt die CPU 2, ob die Aktualisierung des Anwendungsprogramms erforderlich ist, auf Grundlage des empfangenen Antwortsignals (S13). Wenn bestimmt wird, dass die Aktualisierung des Anwendungsprogramms nicht erforderlich ist (S13: NEIN), beendet die CPU 2 den Umschreibvorgang.
  • Wenn im Gegensatz dazu bestimmt wird, dass die Aktualisierung des Anwendungsprogramms erforderlich ist (S13: JA), kennzeichnet die CPU 2 den dritten logischen Bereich als einen Schreibbereich (S14), startet ein Schreiben der vom Server 11 in den dritten logischen Bereich verteilten Aktualisierungssoftware (S15) und steht bis zum Ende des vollständigen Schreibens der Aktualisierungssoftware bereit (S16). Wenn bestimmt wird, dass das vollständige Schreiben der Aktualisierungssoftware beendet ist (S16: JA), wechselt die CPU 2 die logischen Bereiche gemäß der Art der Aktualisierungssoftware (S17) und beendet den Umschreibvorgang.
  • Das heißt, falls die vom Server 11 verteilte Aktualisierungssoftware, wie in 5, ein Steuerprogramm ist, startet die CPU 2 das Schreiben des Steuerprogramms in den dritten logischen Bereich. Wenn das Schreiben des Steuerprogramms in den dritten logischen Bereich beendet wird, wechselt die CPU 2 den ersten logischen Bereich und den dritten logischen Bereich miteinander. Die CPU 2 aktiviert dann ein im ersten logischen Bereich gespeichertes Kommunikationssteuerprogramm, referenziert das aktivierte Steuerprogramm auf die im zweiten logischen Bereich gespeicherten Kalibrierdaten und startet die Steuerung des Motors 14. Das heißt, die CPU 2 startet die Steuerung des Motors 14 unter Verwendung der Kombination des Steuerprogramms der Version 2 und den Kalibrierdaten der Version 1.
  • Falls das im ersten logischen Bereich gespeicherte Kommunikationssteuerprogramm (d.h. das vor dem Wechseln der logischen Bereiche in den dritten logischen Bereich geschriebene Steuerprogramm) dann normal ist, beendet oder schließt die CPU 2 die Steuerung des Motors 14 normal ab. Falls das vor dem Wechseln der logischen Bereiche im dritten logischen Bereich geschriebene Steuerprogramm im Gegensatz dazu nicht normal ist, versagt die CPU 2, die Steuerung des Motors 14 normal abzuschließen. Die CPU 2 löscht, wie in 6 dargestellt, das zu diesem Zeitpunkt im ersten logischen Bereich gespeicherte Steuerprogramm, wechselt den ersten logischen Bereich und den dritten logischen Bereich miteinander und startet die Steuerung des Motors 14 wieder. Das heißt, die CPU 2 startet die Steuerung des Motors 14 unter Verwendung der Kombination des Steuerprogramms der Version 1 und der Kalibrierdaten der Version 1. Es ist ein Fall anzunehmen, bei dem die Steuerung des Motors 14 nicht normal beendet wird, obwohl das vor einem Wechseln der logischen Bereiche in den dritten Bereich geschriebene Steuerprogramm zum Starten der Steuerung des Motors 14 aktiviert ist. In einem derartigen Fall führt die CPU 2 das Steuerprogramm in den Zustand zurück, bevor es umgeschrieben wurde, und startet die Steuerung des Motors 14 wieder.
  • Falls die vom Server 11 verteilte Aktualisierungssoftware ferner, wie in 7 dargestellt, Kalibrierdaten sind, startet die CPU 2 das Schreiben der Kalibrierdaten in den dritten logischen Bereich. Wenn das Schreiben der Kalibrierdaten in den dritten logischen Bereich beendet wird, wechselt die CPU 2 den zweiten logischen Bereich und den dritten logischen Bereich miteinander. Die CPU 2 aktiviert dann das im ersten logischen Bereich gespeicherte Steuerprogramm, referenziert die im zweiten logischen Bereich gespeicherten Kalibrierdaten mit dem aktivierten Steuerprogramm, und startet die Steuerung des Motors 14 wieder.
  • Das heißt, die CPU 2 startet die Steuerung des Motors 14 unter Verwendung der Kombination des Steuerprogramms der Version 1 und den Kalibrierdaten der Version 2.
  • Falls dann die im zweiten logischen Bereich gespeicherten Kalibrierdaten (d.h. die vor dem Wechseln der logischen Bereiche im dritten logischen Bereich geschriebenen Kalibrierdaten) normal sind, beendet oder schließt die CPU 2 die Steuerung des Motors 14 normal ab. Falls die vor dem Wechseln der logischen Bereiche im dritten logischen Bereich geschriebenen Kalibrierdaten im Gegensatz dazu nicht normal sind, versagt die CPU 2, die Steuerung des Motors 14 normal abzuschließen. Die CPU 2 löscht, wie in 8 dargestellt, die zu diesem Zeitpunkt im zweiten logischen Bereich gespeicherten Kalibrierdaten, wechselt den zweiten logischen Bereich und den dritten logischen Bereich miteinander und startet die Steuerung des Motors 14 wieder. Das heißt, die CPU 2 startet die Steuerung des Motors 14 unter Verwendung der Kombination des Steuerprogramms der Version 1 und der Kalibrierdaten der Version 1. Es ist ein Fall anzunehmen, bei dem die Steuerung des Motors 14 nicht normal beendet wird, obwohl die vor einem Wechseln der logischen Bereiche in den dritten Bereich geschriebenen Kalibrierdaten zum Starten der Steuerung des Motors 14 aktiviert sind. In einem derartigen Fall führt die CPU 2 die Kalibrierdaten in den Zustand zurück, bevor sie umgeschrieben wurden, und startet die Steuerung des Motors 14 wieder.
  • Es ist ferner ein Fall anzunehmen, in dem die Steuerung des Motors 14 versagt, dass sie abgeschlossen oder beendet wird, obwohl die Steuerung des Motors 14 gestartet wird. In einem derartigen Fall überträgt die CPU 2 die Information, die die Kombination des Steuerprogramms und der Kalibrierdaten zu diesem Zeitpunkt identifiziert, als die Fehlerinformation über den kabellosen Kommunikator 12 an den Server 11. Wenn die über den kabellosen Kommunikator 12 übertragene Fehlerinformation empfangen wird, handhabt bzw. managet der Server 11 die empfangene Fehlerinformation.
  • Die CPU 2 arbeitet wie folgt, wenn beide, Steuerprogramm und Kalibrierdaten, umgeschrieben werden. Die Kalibrierdaten weisen (i) einen Adressteil, der eine Startadresse von Daten speichert, und (ii) einen Datenteil, der die Daten speichert, auf. Eine Referenz auf die Daten erfolgt über die im Adressteil gespeicherten Adressen. Die CPU 2 schreibt die alten Kalibrierdaten in Adressen in einen nicht verwendeten Bereich im Datenteil und schreibt die neuen Kalibrierdaten in die Adressen der alten Kalibrierdaten. Die CPU 2 schreibt die auf die Kalibrierdaten referenzierende Referenzzieladresse von einer auf die alten Kalibrierdaten referenzierenden Referenzzieladresse in eine auf die neuen Kalibrierdaten referenzierende Referenzzieladresse im Speicherprogramm um.
  • Im Folgenden wird der in 9 dargestellte Fall, in dem die Adressen 100 bis 299 einem Steuerprogramm entsprechen, die Adressen 300 bis 329 einem Adressteil von Kalibrierdaten entsprechen und die Adressen 330 bis 400 einem Datenteil der Kalibrierdaten entsprechen, erklärt.
  • Vor einem Schreiben der neuen Kalibrierdaten werden alte Kalibrierdaten „10 bis 19“ in den Adressen „330 bis 339“ im Datenteil gespeichert. Eine Referenzzieladresse „330“, die eine Startadresse der alten Kalibrierdaten „10 bis 19“ ist, wird in der Adresse „300“ im Adressteil gespeichert. Die Referenzzielinformation wird in der Adresse „100“ im Steuerprogramm gespeichert; die Referenzzielinformation zeigt eine Referenzzieladresse „300“ an, die eine Startadresse „330“ der alten Kalibrierdaten „10 bis 19“ speichert, um dadurch die alten Kalibrierdaten zu referenzieren.
  • Wenn neue Kalibrierdaten geschrieben werden, schreibt die CPU 2 die alten Kalibrierdaten „10 bis 19“ in die Adressen „380 bis 389“ in einen nicht verwendeten Bereich und schreibt die neuen Kalibrierdaten „20 bis 29“ in die Adressen „330 bis 339“, in denen vorhergehend die alten Kalibrieren gespeichert waren. Die CPU 2 schreibt die Referenzzieladresse „330“, die in der Adresse „300“ gespeichert war, in die Adresse „320“ in einen nicht verwendeten Bereich und schreibt eine Referenzzieladresse „380“, die den Start der alten Kalibrierdaten referenziert, in die Adresse „300“. Die CPU 2 schreibt die in der Adresse „100“ gespeicherte Referenzzieladresse im Steuerprogramm um, und schreibt die auf die Kalibrierdaten referenzierende Referenzzieladresse von der auf die alten Kalibrierdaten referenzierenden (Referenzziel-)Adresse „300“ in die auf die neuen Kalibrierdaten referenzierende (Referenzziel-)Adresse „320“ um.
  • Wie oben beschrieben kann die vorliegende Ausführungsform die folgenden vorteilhaften Effekte bereitstellen. Drei physikalische Bereiche 16a bis 16c sind in einem Flash-ROM 9 in einer elektronischen Steuereinheit vorbereitet, wobei ein erster logischer Bereich, ein zweiter logischer Bereich und ein dritter logischer Bereich so zugewiesen sind, dass sie den drei physikalischen Bereichen 16a bis 16c entsprechen. Der erste logische Bereich ist als ein logischer Bereich zum Speichern des Steuerprogramms zugewiesen und der zweite logische Bereich ist als ein logischer Bereich zum Speichern der zum Steuern des Motors 14 verwendeten Kalibrierdaten zugewiesen. Der dritte logische Bereich ist im Gegensatz dazu als ein logischer Bereich zum Arbeiten zugewiesen. Der erste logische Bereich und der zweite logische Bereich werden verwendet, um ein Anwendungsprogramm auszuführen, während der dritte logische Bereich verwendet wird, um eine Umprogrammierung durchzuführen. Dies kann die Umprogrammierung während der Ausführung des Anwendungsprogramms durchführen. Der dritte Bereich wird darüber hinaus durch ein Steuerprogramm und von Kalibrierdaten einer Aktualisierungssoftware geteilt, wobei entweder das Steuerprogramm oder die Kalibrierdaten selektiv im dritten logischen Bereich gespeichert werden. Dies beseitigt den Bedarf eines nicht-flüchtigen Speichers, der eine doppelt so große als die zum Speichern eines Anwendungsprogramms benötige Speicherkapazität aufweist.
  • Das heißt, ein Verfahren im Stand der Technik benötigt einen Speicherbereich für ein altes Steuerprogramm, einen Speicherbereich für alte Kalibrierdaten, einen Speicherbereich für ein neues Steuerprogramm und einen Speicherbereich für neue Kalibrierdaten. Die vorliegende Erfindung benötigt im Gegensatz dazu einen Speicherbereich für ein altes Steuerprogramm, einen Speicherbereich für alte Kalibrierdaten und einen Speicherbereich entweder für ein neues Steuerprogramm oder neue Kalibrierdaten; dies reduziert die Speicherkapazität auf ungefähr dreiviertel (3/4) verglichen mit dem konventionellen Verfahren. Eine Umprogrammierung kann somit während einer Ausführung eines Anwendungsprogramms durchgeführt werden, während die hohen Kosten aufgrund der Erhöhung der Speicherkapazität des Flash-ROM 9 verhindert werden. Da die Differenz zwischen der Kapazität eines Steuerprogramms und der Kapazität von Kalibrierdaten kleiner ist, kann der durch das Steuerprogramm und die Kalibrierdaten gemeinsam verwendete dritte logische Bereich effizienter verwendet werden.
  • Es ist darüber hinaus ein Fall anzunehmen, in dem die elektronische Steuereinheit 1 nach einem Schreiben eines Steuerprogramms die Steuerung des Motors 14 startet, aber die Steuerung des Motors 14 nicht normal beendet wird. In einem derartigen Fall, wechselt die elektronische Steuereinheit 1 den ersten logischen Bereichs und den dritten logischen Bereich miteinander und startet die Steuerung des Motors 14 unter Verwendung des ersten logischen Bereichs und des zweiten logischen Bereich nach einem Wechseln des ersten logischen Bereichs und des dritten logischen Bereichs miteinander wieder. Das Steuerprogramm wird in den Zustand, bevor es geschrieben wird, zurückgeführt und die Steuerung des Motors 14 wird wieder gestartet, sogar wenn beispielsweise die Fehlanpassung zwischen dem geschriebenen Steuerprogramm und den originalen Kalibrierdaten verursacht, dass die Steuerung des Motors 14 versagt, normal beendet zu werden. Die Steuerung des Motors 14 kann somit annäherungsweise normal beendet werden. Ein Zurückführen des Steuerprogramms in den Zustand, bevor es geschrieben wird, kann somit im Voraus eine Situation vermeiden, in der eine Fehlfunktion vorhanden ist, sogar falls (i) ein geschriebenes Steuerprogramm fehlerhaft bzw. defekt ist oder (ii) ein Fehler auftritt, wenn ein Steuerprogramm geschrieben wird.
  • Es ist darüber hinaus ein Fall anzunehmen, in dem die elektronische Steuereinheit 1 die Steuerung des Motors 14 nach Schreiben der Kalibrierdaten startet, aber die Steuerung des Motors 14 nicht normal beendet wird. In einem derartigen Fall, wechselt die elektronische Steuereinheit 1 den zweiten logischen Bereich und den dritten logischen Bereich miteinander und startet die Steuerung des Motors 14 unter Verwendung des ersten logischen Bereichs und des zweiten logischen Bereichs nach Wechseln des zweiten logischen Bereichs und des dritten logischen Bereichs miteinander wieder. Das Steuerprogramm wird in den Zustand, bevor es geschrieben wird, zurückgeführt und die Steuerung des Motors 14 wird wieder gestartet, sogar wenn beispielsweise die Fehlanpassung zwischen den geschriebenen Kalibrierdaten und dem originalen Steuerprogramm verursacht, dass die Steuerung des Motors 14 versagt, normal beendet zu werden. Die Steuerung des Motors 14 kann somit annäherungsweise normal beendet werden. Ein Zurückführen der Kalibrierdaten in den Zustand, bevor sie geschrieben werden, kann somit im Voraus eine Situation vermeiden, in der eine Fehlfunktion vorhanden ist, sogar falls (i) geschriebene Kalibrierdaten fehlerhaft bzw. defekt sind oder (ii) ein Fehler auftritt, wenn Kalibrierdaten geschrieben werden.
  • Die alten Kalibrierdaten werden darüber hinaus in die Adressen in einem nicht verwendeten Bereich im Datenteil geschrieben und die neuen Kalibrierdaten werden in die Adressen im Datenteil geschrieben, in denen vorhergehend die alten Kalibrierdaten gespeichert waren. Dies kann den nicht verwendeten Bereich in einen Teil des Bereichs aufnehmen, nachdem beide, Steuerprogramm und Kalibrierdaten, geschrieben werden; dies kann im Voraus die Situation vermeiden, die verursacht, dass nicht verwendete Bereiche aufgeteilt bzw. fragmentiert werden. Des Weiteren wird die die Kalibrierdaten in einem Steuerprogramm referenzierende Referenzzieladresse von einer auf die alten Kalibrierdaten referenzierenden (Referenzziel-)Adresse auf eine auf die neuen Kalibrierdaten referenzierende (Referenzziel-) Adresse umgeschrieben. Dies beseitigt den Bedarf einen Speicherbereich für Referenzzieladressen, die auf beide Kalibrierdaten, alte Kalibrierdaten und neue Kalibrierdaten, referenzieren, vorzubereiten, wodurch die Erhöhung der Speicherkapazität vermieden wird.
  • Es ist ferner ein Fall anzunehmen, in dem die Steuerung des Motors 14 nicht normal beendet wird, obwohl die Steuerung des Motors 14 in der elektronischen Steuereinheit gestartet wird. Die Fehlerinformation erlaubt es in diesem Fall, dass die Identifikation der Kombination des Steuerprogramms und der Kalibrierdaten zu diesem Zeitpunkt an den Server 11 übertragen wird. Dies erlaubt es dem Server 11, die Kombination des Steuerprogramms und der Kalibrierdaten, die einen Fehler darstellen, zu handhaben, um die Qualität zu verbessern.
  • Während die vorliegende Erfindung mit Bezug auf Ausführungsformen davon beschrieben wurde, ist es zu verstehen, dass die Erfindung bzw. Offenbarung nicht auf die Ausführungsformen und Konstruktionen begrenzt ist. Die vorliegende Erfindung ist dafür vorgesehen, verschiedene Modifikationsbeispiele und äquivalente Anordnungen abzudecken. Zusätzlich sind verschiedene Kombinationen und Konfigurationen, und andere Kombinationen und Konfigurationen, die mehrere, weniger oder nur ein einziges Element aufweisen, auch innerhalb des Geistes und des Umfangs der vorliegenden Erfindung.
  • Die vorliegende Erfindung kann nicht nur auf die elektronische Steuereinheit, die den Motor eines Fahrzeuges, wie beispielsweise eines Automobils, steuert, sondern auch auf eine elektronische Steuereinheit, die eine sich unterscheidende Vorrichtung steuert, wie beispielweise ein Getriebe, angewandt werden. Die vorliegende Erfindung kann darüber hinaus nicht nur für eine in einem Fahrzeug verwendete elektronische Steuereinheit, sondern auch für eine elektronische Steuereinheit, die anders als im Fahrzeug genutzt wird, angewandt 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 2013254264 A [0002, 0003]
    • JP 2006301960 A [0002, 0003]
    • JP 2013 [0002]
    • JP 254264 A [0002]

Claims (7)

  1. Elektronische Steuereinheit mit (i) einem nicht-flüchtigen Speicher (9), der so konfiguriert ist, dass er ein Anwendungsprogramm speichert, um ein Steuerziel (14) zu steuern, wobei ein gespeicherter Inhalt des nichtflüchtigen Speichers umschreibbar ist, wobei der nicht-flüchtige Speicher drei physikalische Bereiche aus einem ersten physikalischen Bereich (16a), einem zweiten physikalischen Bereich (16b) und einem dritten physikalischen Bereich (16c) aufweist, und (ii) einer Verarbeitungseinheit (2), die so konfiguriert ist, dass sie das Anwendungsprogramm ausführt, um das Steuerziel zu steuern, wobei die elektronische Steuereinheit aufweist: einen Zuweisungsverarbeitungsabschnitt (2a), der so konfiguriert ist, dass er die drei physikalischen Bereiche mit einem ersten logischen Bereich, einem zweiten logischen Bereich und einem dritten logischen Bereich zuweist, den ersten logischen Bereich als einen logischen Bereich zum Speichern eines im Anwendungsprogramm vorhandenen Steuerprogramms zuweist, den zweiten logischen Bereich als einen logischen Bereich zum Speichern von im Anwendungsprogramm vorhandenen Kalibrierdaten zuweist, und den dritten logischen Bereich als einen logischen Bereich zum Arbeiten zuweist; einen Steuerverarbeitungsabschnitt (2b), der so konfiguriert, dass er eine Steuerung des Steuerziels unter Verwendung des im ersten logischen Bereich gespeicherten Steuerprogramms und der im zweiten logischen Bereich gespeicherten Kalibrierdaten durchführt; einen Schreibverarbeitungsabschnitt (2c), der so konfiguriert ist, dass er eine Aktualisierungssoftware, die das als ein Umschreibziel dienende Anwendungsprogramm aufweist, in den dritten logischen Bereich schreibt; und einen Wechselverarbeitungsabschnitt (2d), der so konfiguriert ist, dass er den ersten logischen Bereich und den dritten logischen Bereich miteinander als Antwort, dass das Steuerprogramm geschrieben wird, und den zweiten logischen Bereich und den dritten logischen Bereich miteinander als Antwort, dass die Kalibierdaten geschrieben werden, wechselt.
  2. Elektronische Steuereinheit gemäß Anspruch 1, wobei der Wechselverarbeitungsabschnitt einen ersten logischen Bereich und einen dritten logischen Bereich miteinander als Antwort, dass der Steuerverarbeitungsabschnitt versagt, eine Steuerung des Steuerziels normal abzuschließen, nachdem das Steuerprogramm geschrieben wird, wechselt; und der Steuerverarbeitungsabschnitt so konfiguriert ist, dass er eine Steuerung des Steuerziels unter Verwendung des ersten logischen Bereichs und des zweiten logischen Bereichs durchführt, nachdem der erste logische Bereich und der dritte logische Bereich durch den Wechselverarbeitungsabschnitt gewechselt werden.
  3. Elektronisch Steuereinheit gemäß Anspruch 1 oder 2, wobei der Wechselverarbeitungsabschnitt den zweiten logischen Bereich und den dritten logischen Bereich miteinander als Antwort, dass der Steuerverarbeitungsabschnitt versagt, eine Steuerung des Steuerziels normal abzuschließen, nachdem die Kalibrierdaten geschrieben werden, wechselt; und der Steuerverarbeitungsabschnitt so konfiguriert ist, dass er eine Steuerung des Steuerziels unter Verwendung des ersten logischen Bereichs und des zweiten logischen Bereichs durchführt, nachdem der zweite logische Bereich und der dritte logische Bereich durch den Wechselverarbeitungsabschnitt getauscht werden.
  4. Elektronische Steuereinheit gemäß einem der Ansprüche 1 bis 3, wobei die Aktualisierungssoftware die Versionsinformation und die Informationsart, die entweder die Art eines Steuerprogramms oder von Kalibrierdaten anzeigt, aufweist; und der Zuweisungsverarbeitungsabschnitt, so konfiguriert ist, dass er den ersten logischen Bereich einem physikalischen Bereich unter den drei physikalischen Bereichen zum Speichern eines Steuerprogramms einer neuesten Version zuweist, den zweiten logischen Bereich einem physikalischen Bereich unter den drei physikalischen Bereichen zum Speichern von Kalibrierdaten einer neuesten Version zuweist, und den dritten logischen Bereich dem anderen physikalischen Bereich unter den physikalischen Bereichen zuweist.
  5. Elektronische Steuereinheit gemäß einem der Ansprüche 1 bis 4, wobei die Kalibrierdaten (i) einen Adressteil, der eine Startadresse von Daten speichert und (ii) einen Datenteil, der die Daten speichert, aufweist; der Schreibverarbeitungsabschnitt, so konfiguriert ist, dass er (i) alte Kalibrierdaten in eine Adresse in einen nicht verwendeten Bereich im Datenteil und (ii) neue Kalibrierdaten in eine Adresse, in der vorhergehend die alten Kalibrierdaten im Datenteil gespeichert waren, schreibt, und eine auf Kalibrierdaten referenzierende Referenzzieladresse von einer auf die alten Kalibrierdaten referenzierenden Referenzzieladresse in eine auf die neuen Kalibrierdaten referenzierenden Referenzzieladresse umschreibt, wenn beide, neues Steuerprogramm und neue Kalibrierdaten, geschrieben werden.
  6. Aktualisierungssoftware-Verteilungssystem mit der elektronische Steuereinheit gemäß einem der Ansprüche 1 bis 5; und einem Server (11), der so konfiguriert ist, dass er die Aktualisierungssoftware an die elektronische Steuereinheit verteilt, wobei der Server das Steuerprogramm und die Kalibrierdaten der Aktualisierungssoftware separat verteilt.
  7. Aktualisierungssoftware-Verteilungssystem gemäß Anspruch 6, wobei die elektronische Steuereinheit so konfiguriert ist, dass sie eine Information, die eine Kombination des Steuerprogramms und der Kalibrierdaten als Antwort, dass der Steuerverarbeitungsabschnitt versagt, eine Steuerung des Steuerungsziels normal abzuschließen, an den Server überträgt.
DE102018210956.7A 2017-07-13 2018-07-04 Elektronische steuereinheit und aktualisierungssoftware-verteilungssystem Pending DE102018210956A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017137047A JP6984203B2 (ja) 2017-07-13 2017-07-13 電子制御装置及び更新ソフトウェア配信システム
JP2017-137047 2017-07-13

Publications (1)

Publication Number Publication Date
DE102018210956A1 true DE102018210956A1 (de) 2019-01-17

Family

ID=64745214

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018210956.7A Pending DE102018210956A1 (de) 2017-07-13 2018-07-04 Elektronische steuereinheit und aktualisierungssoftware-verteilungssystem

Country Status (2)

Country Link
JP (1) JP6984203B2 (de)
DE (1) DE102018210956A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7266216B2 (ja) 2020-01-31 2023-04-28 パナソニックIpマネジメント株式会社 情報処理装置および情報処理方法
JP2024154953A (ja) * 2023-04-20 2024-10-31 株式会社オートネットワーク技術研究所 車載装置、更新方法、及び更新プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301960A (ja) 2005-04-20 2006-11-02 Denso Corp 自動車用制御ユニット
JP2013254264A (ja) 2012-06-05 2013-12-19 Denso Corp 電子制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331327A (ja) * 2000-05-24 2001-11-30 Matsushita Electric Ind Co Ltd 電子機器
JP5012017B2 (ja) * 2006-12-28 2012-08-29 富士通株式会社 組込装置および制御方法
JP5057887B2 (ja) * 2007-08-22 2012-10-24 三菱電機株式会社 データ更新装置及びデータ更新方法及びデータ更新プログラム
CN102270144B (zh) * 2010-06-04 2014-12-10 鸿富锦精密工业(深圳)有限公司 嵌入式网络设备及其更新固件的方法
JP5905072B2 (ja) * 2012-03-02 2016-04-20 三菱電機株式会社 情報処理装置及び情報処理方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006301960A (ja) 2005-04-20 2006-11-02 Denso Corp 自動車用制御ユニット
JP2013254264A (ja) 2012-06-05 2013-12-19 Denso Corp 電子制御装置

Also Published As

Publication number Publication date
JP6984203B2 (ja) 2021-12-17
JP2019020897A (ja) 2019-02-07

Similar Documents

Publication Publication Date Title
DE19836748C1 (de) Verfahren zum Applizieren von Steuerdaten eines elektronischen Kraftfahrzeug-Steuergeräts
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE112016000992T5 (de) Programmneuschreibvorrichtung und programmneuschreibverfahren
DE19929796B4 (de) Vorrichtung und Verfahren zum erneuten Schreiben von Daten aus einem flüchtigen Speicher in einen nichtflüchtigen Speicher
DE112019002411T5 (de) Fahrzeuggebundene Aktualisierungseinrichtung, Aktualisierungsprozessverfahren und Aktualisierungsprozessprogramm
DE102007029285A1 (de) Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems sowie Verfahren zum Betreiben einer Testvorrichtung
DE102019100114A1 (de) Fahrzeugsteuervorrichtung, Programmupdateverfahren und Programm für Programmupdate speicherndes, computerlesbares, nichtflüchtiges Speichermedium
DE19934191B4 (de) Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
DE19935154A1 (de) Elektronische Steuerungseinheit und Verfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
DE102005013285A1 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE102018210956A1 (de) Elektronische steuereinheit und aktualisierungssoftware-verteilungssystem
DE102018202446A1 (de) Verfahren zum Modularisieren einer Softwarearchitektur
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102022113922A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE112019000179T5 (de) Fahrzeugsteuervorrichtung und programmaktualisierungssystem
WO2017125181A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
DE112019002469T5 (de) Elektronische steuereinheit und sitzungsaufbau-programm
DE102004055950A1 (de) Elektronische Steuereinheit
DE112020001385T5 (de) Elektronische Steuerungsvorrichtung und Verfahren zum Einstellen von Steuerungsdaten
DE102018210868A1 (de) Elektronische Steuereinheit
DE102022110824A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE10039766B4 (de) Verfahren zum Steuern von Betriebsparametern eines Fahrzeugs
DE102017206752A1 (de) Elektronische steuereinheit und datenumschreibesystem
DE102017202282B4 (de) Fahrzeugeigene steuerungsvorrichtung und fahrzeugeigenes netzwerk mit der fahrzeugeigenen steuerungsvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence