DE19839680A1 - Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten - Google Patents

Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten

Info

Publication number
DE19839680A1
DE19839680A1 DE19839680A DE19839680A DE19839680A1 DE 19839680 A1 DE19839680 A1 DE 19839680A1 DE 19839680 A DE19839680 A DE 19839680A DE 19839680 A DE19839680 A DE 19839680A DE 19839680 A1 DE19839680 A1 DE 19839680A1
Authority
DE
Germany
Prior art keywords
programs
data
memory
copying
routines
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.)
Granted
Application number
DE19839680A
Other languages
English (en)
Other versions
DE19839680B4 (de
Inventor
Martin Hurich
Gerald Holzapfel
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE19839680A priority Critical patent/DE19839680B4/de
Priority to RU99118913/09A priority patent/RU2248627C2/ru
Priority to JP24797799A priority patent/JP4480815B2/ja
Priority to US09/383,309 priority patent/US6430662B1/en
Publication of DE19839680A1 publication Critical patent/DE19839680A1/de
Application granted granted Critical
Publication of DE19839680B4 publication Critical patent/DE19839680B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Abstract

Es wird ein Verfahren zur Änderung und/oder zum Einschreiben von Daten und Programmen, insbesondere zur Steuerung von Betriebsabläufen in einem Fahrzeug, in wenigstens einem ersten Speicher (104) eines Computersystems beschrieben. Insbesondere der Speicherinhalt von Steuergeräten (100) wird dadurch verändert bzw. neu programmiert. Dabei sind die Programme in wenigstens erste Programme und zweite Programme aufgeteilt. Neben dem ersten Speicher wird dabei zumindest ein zweiter Speicher (105) eingesetzt, wobei eine definierte Aufteilung in Speicherbereiche vorgegeben wird. Die Programme und/oder Daten werden in den Speicherbereichen gesichert, indem vor dem Löschen und/oder Kopieren und/oder Einlesen der Daten und/oder Programme von diesen eine Sicherungskopie in wenigstens einem der wenigstens zwei Speicher (104, 105) erzeugt wird. Diese Sicherungskopie wird nach erfolgreichem Programmieren entweder gelöscht oder als Original weiter verwendet, muß also nicht bleibend abgelegt oder von außen neu eingeschrieben werden.

Description

Stand der Technik
Die vorliegende Erfindung betrifft Verfahren und die zugehörige Vorrichtung zur Änderung und/oder zum Einschreiben bzw. zur Neuprogrammierung von Daten und/oder Programmen in wenigstens einem Speicher eines Computersystems, insbesondere in einem Speicher eines Steuergerätes zur Steuerung von Betriebsabläufen in einem Fahrzeug.
Aus der EP 0664 387 B1 ist ein Verfahren zum Ändern der Arbeitsweise eines Steuergerätes von Kraftfahrzeugen bekannt. Dabei wird zur Programmänderung eine Programmkennung ausgelesen und gespeichert. Diese Programmkennung wird bleibend als Referenzprogrammkennung abgespeichert. Der bisher für Programm und Programmkennung verwendete Speicherbereich wird nun gelöscht und anschließend neu programmiert. Zur Neuprogrammierung wird die gespeicherte Referenzprogrammkennung als neue Programmkennung eingeschrieben und anschließend das neue Programm von außen geladen. Durch das Erzeugen der Referenzprogrammkennung kann auch eine Bordnetzschwankung oder ein Bordnetzausfall während des Neuprogrammiervorgangs nicht zu einem Verlust dieser Information führen. Dabei müssen allerdings restaurierungswürdige Bereiche von außen über ein zweites Steuergerät bzw. ein Programmiergerät erneut eingeschrieben werden. Ebenso müssen Sicherungskopien bleibend hinterlegt werden, da es im Fall einer Bordnetzschwankung oder eines Bordnetzausfalls erforderlich ist, den Programmiervorgang vollständig zu wiederholen.
Daneben ist aus der DE 43 32 499 A1 ein Verfahren zur vollständigen Neuprogrammierung eines elektrisch löschbaren, nicht flüchtigen Speichers in einem Steuergerät, insbesondere einem Kraftfahrzeugsteuergerät bekannt. Der Programmiervorgang läuft dabei ohne die Verwendung eines nicht mehr änderbaren ROM. Dabei wird der löschbare, nicht flüchtige Speicher in mindestens zwei getrennt lösch- und programmierbare Bereiche eingeteilt, in die jeweils ein Programmiermodul eingeschrieben wird. Durch die Einteilung in zwei Bereiche wird es möglich, bei einem Spannungsausfall vor Abschluß des Programmiervorgangs zwischen Kraftfahrzeug und Datenendgerät diesen Programmiervorgang vollständig zu wiederholen, da das Programmiermodul quasi doppelt in dem programmierbaren, nicht flüchtigen Speicher, also in jedem der beiden Speicherbereiche vorhanden ist. Demnach ist selbst bei Löschung eines dieser beiden Programmiermodule trotzdem noch ein intaktes Programmiermodul im Speicher enthalten. In dieser Offenlegungsschrift ist lediglich die komplette Neuprogrammierung offenbart, eine zweiteilige Programmierung und/oder eine Hinzunahme weiterer Programmteile bzw. Programmroutinen ohne Löschung der ursprünglichen Programmteile bzw. Programmroutinen ist nicht dargestellt. Dabei müssen Sicherungskopien bleibend hinterlegt werden, da eine Störung, wie z. B. ein Spannungsausfall eine komplette Neuprogrammierung nach sich zieht. Diese Neuprogrammierung läuft dann nicht automatisch ab, sondern muß von außen vorgegeben werden.
Um Datenfehler, beispielsweise bei fehlerhaften Speicher- oder Programmiervorgängen zu erkennen sind vielfältige Verfahren bekannt. Dazu müssen die Daten und/oder Programme in einem Fehlercode bzw. Fehlererkennungscode dargestellt werden, in welchem neben den eigentlichen Informationen auch redundante Informationen zur Fehlererkennung enthalten sind. Solche Informationen sind beispielsweise Paritätsbits, die eine Fehlererkennung durch Checksummenbildungen wie Quersummen- und/oder Längssummenbildung (even parity check) erlauben. Weitere linear und/oder zyklisch ausführbare Prüfverfahren sind mit dem Hamming-Code, dem BCH-Code (Bose, Chandhuri, Hocquenghem) und dem Abramson-Code bekannt. Zu diesen Prüfmethoden ist auch der Cyclic Redundancy Check (CRC) zu zählen, bei welchem aus den Daten und/oder Programmen, also den zu löschenden und/oder zu kopierenden und/oder einzulesenden Informationen, blockweise Prüfbytes, eben nach dem CRC-Verfahren erzeugt und mit diesen Informationen verarbeitet bzw. aufgezeichnet werden. Bei einigen dieser Verfahren ist sogar neben einer Fehlererkennung eine Fehlerkorrektur vorgesehen, welche aber nur den jeweiligen, erkannten Einzelfehler betrifft. Da die jeweiligen Prüfzeichen nach bestimmten Gesetzmäßigkeiten gebildet werden müssen, werden einzelne Fehler, die diese Gesetzmäßigkeiten nachbilden, nicht erkannt. Dadurch ist eine Fehlererkennung und nachfolgende Korrektur mit diesen Verfahren nicht vollständig gewährleistet. Andererseits ist die Wahrscheinlichkeit, daß lediglich nicht erkennbare Fehler auftreten, sehr gering, in der Regel werden dadurch einfach nicht alle Fehler erkannt und somit nicht alle Fehler korrigiert. Darüber hinaus kann bei einem Verlust größerer Daten- und/oder Programmbereiche, wie dies beispielsweise bei einer Spannungsunterbrechung während des Programmiervorgangs auftreten kann, zwar eine Fehlererkennung, aber keine Fehlerkorrektur mehr durchgeführt werden, da die Korrektur in diesen Prüfverfahren nur Einzelfehler auszugleichen vermag.
Es hat sich gezeigt, daß die genannten Verfahren nicht in jeder Beziehung optimale Ergebnisse zu liefern vermögen. So müssen einerseits restaurierungswürdige Bereiche bzw. der gesamte Speicherinhalt im Fehlerfall von außen erneut eingeschrieben werden. Daneben erfolgt kein automatisches Wiederherstellen der durch Störung unvollständigen Bereiche, auch dies muß von außen mittels vollständiger Programmierung durchgeführt werden. Dadurch werden in den genannten Verfahren Sicherungskopien der Daten und Programme bleibend hinterlegt. Daneben werden nicht erkannte Fehler in den Verfahren zur Fehlerüberprüfung nicht korrigiert, selbst wenn in dem betreffenden Speicherbereich ein anderer Fehler erkannt wurde. Eine Korrektur ganzer Speicherbereiche ohne eine komplette Neuprogrammierung durchzuführen ist ebenfalls nicht vorgesehen.
Aufgaben und Vorteile der Erfindung
Daraus ergibt sich zunächst die Aufgabe, Verfahren zur Veränderung des Speicherinhalts von Steuergeräten zu entwickeln, welche einerseits robust gegenüber beliebigen Störungen bzw. Unterbrechungen zu beliebigen Zeitpunkten sind und andererseits selbständig für definierte Speicherbereiche eine vordefinierte Ausgangssituation wiederherstellen können. Diese Aufgabe wird einmal dadurch gelöst, daß ein Programmierkern verwendet wird, welcher in einem nicht veränderbaren Speicherbereich steht, wodurch ein beliebiger Start des Programmiervorgangs und damit ein Ausführen der vorgebbaren erfindungsgemäßen Verfahren gesichert und selbständig durchführbar ist. Damit wird im Anschluß die genannte Aufgabe durch die erfindungsgemäßen Verfahren gelöst.
Außerdem soll die Möglichkeit der unvollständigen Fehlerkorrektur auf den Fall eingeschränkt werden, daß ausschließlich nicht erkennbare Fehler vorliegen, da die Wahrscheinlichkeit dafür sehr gering ist. Diese Aufgabe wird dadurch gelöst, daß bei Erkennung bereits eines Fehlers der gesamte Speicherbereich in welchem dieser aufgetreten ist automatisch rekonstruiert wird, wodurch gleichzeitig die nicht erkennbaren Fehler korrigiert werden.
Daneben werden diese Aufgaben durch die kennzeichnenden Merkmale der Ansprüche gelöst, welche darüber hinaus weitere Vorteile offenbaren.
Durch die Verwendung von wenigstens ersten und zweiten Programmen bzw. Programmroutinen ist eine nachträgliche Ergänzung der ursprünglichen Daten und/oder Programme möglich. Abgesichert wird dies durch eine definierte Aufteilung der Speicherbereiche, wodurch es möglich ist, vor dem Löschen und/oder Kopieren und/oder Einlesen der Daten und/oder der Programme bzw. Programmroutinen von diesen innerhalb des Computersystems eine Sicherungskopie in einem anderen Speicherbereich als dem Originalbereich zu erzeugen.
Die erfindungsgemäßen Verfahren sind so gestaltet, daß zusätzliche Programmroutinen (Zusatzroutinen) und/oder sicherungswürdige Daten bzw. restaurierungswürdige Speicherbereiche im Fehlerfall automatisch gesichert und/oder restauriert werden und/oder der ursprünglich gestartete Vorgang neu initialisiert wird.
Daneben kann die Sicherungskopie sicherungswürdiger Daten und/oder Programmroutinen sofort nach dem Löschen des Originals zurückgeschrieben werden oder die Sicherungskopie kann im Fall der die Programmierung steuernden Routinen, wenn der Programmiervorgang erfolgreich durchgeführt ist gelöscht werden, wodurch diese in beiden Fällen nicht bleibend abgelegt werden muß. Der Backup-Bereich für die Daten und/oder Programme bzw. Routinen kann im Normalfall andere nicht sicherungswürdige Daten und/oder Programme bzw. Routinen enthalten und wird zum Zweck der Sicherung gelöscht. Dadurch wird ein größerer Speicherplatzaufwand vermieden.
Es können optional erste und zweite Routinen zusammen und/oder getrennt ausgeführt werden. Für den Fall einer Programmierung eines Steuergerätes für ein Fahrzeug durch den Steuergerätehersteller bedeutet dies, daß wenn als zweite Routinen, d. h. Zusatzroutinen z. B. kundenspezifischen Programme bzw. Routinen eingesetzt werden, also Programme des Fahrzeugherstellers, kann bei einem Programmiervorgang den speziellen Kundenanforderungen, individuell angepaßt an Fahrzeugtyp, Einsatzort und -bedingungen, usw. Rechnung getragen werden. Darüberhinaus kann die Einbindung der Zusatzroutinen zu beliebigen Zeitpunkten erfolgen.
Damit ergibt sich einerseits die automatische Wiederherstellung eines vordefinierten Ausgangszustands bezüglich der Speicherbereiche ohne Eingriff von außen und zum anderen ein robustes Verfahren ohne erhöhten Speicherbedarf, welches eine sehr flexibel angepaßte Programmierung ermöglicht.
Die Bezeichnungen Programme, Programmroutinen und Routinen sind in dieser Anmeldung als gleichbedeutend zu verstehen.
Zeichnung
In Fig. 1 ist eine erfindungsgemäß verwendbare Hardwareanordnung gezeigt.
Fig. 2 zeigt die Speicherbereichsaufteilung für das erste Ausführungsbeispiel mit einem Flash-, RAM- und ROM- Speicher.
Fig. 3 beschreibt ein Flußdiagramm zur Sicherung von zweiten bzw. Zusatzroutinen.
In Fig. 4 ist ein Flußdiagramm zur Sicherung von sicherungswürdigen Daten beschrieben.
Fig. 5 zeigt die Speicherbereichsaufteilung des zweiten Ausführungsbeispiels mit einem Flash- und einem RAM-Speicher.
In Fig. 6 ist ein Flußdiagramm zur Sicherung von Programmen und Zusatzroutinen dargestellt.
Fig. 7 dagegen zeigt ein Flußdiagramm des Verfahrens zur Sicherung von sicherungswürdigen Daten.
Beschreibung der Ausführungsbeispiele
In Fig. 1 ist beispielhaft eine Hardwareandordnung zur Umsetzung der vorgestellten Verfahren dargestellt. Darin ist mit 100 ein Computersystem, insbesondere ein Steuergerät, dargestellt. Darin sind mit 104, 105 und optional 106 verschiedene Speicher enthalten. Dabei stellt 104 einen löschbaren, nicht flüchtigen Speicher beispielsweise einen Flash-EPROM-Speicher dar, bei welchem eine blockweise Löschung und Programmierung des Speicherinhalts möglich ist. Darüber hinaus existiert ein flüchtiger Speicher 105 z. B. in Form eines RAM, der als zweiter Speicher unter anderem zur Zwischenspeicherung von Daten und/oder Programmen dient. Daneben können vom RAM 105 aus ebenfalls Programmroutinen gestartet werden. Optional kann hierbei noch ein nicht flüchtiger Speicher z. B. in Form eines EPROM vorgesehen sein. Um besondere Sicherheit zu erzielen kann dieser Speicher 106 als nicht flüchtiger und nicht veränderbarer Speicher, z. B. in Form eines ROM ausgeführt werden. Diese Speicher 104, 105 und optional 106 sind über ein systeminternes Bussystem 103 unter anderem mit einer CPU 101 und einer Ein-Ausgabe-Einheit 102 verbunden. Daneben kann das Computersystem, insbesondere ein Steuergerät, noch weitere hier nicht dargestellte Bestandteile, z. B. weitere CPUs und Speicher, verschiedene Ein-Ausgabe-Einheiten, usw. enthalten. Über eine Ein- und Ausgangsschnittstelle 107, z. B. serieller oder paralleler Art, ist das Computersystem 100 mit einem externen Steuer- bzw. Programmiergerät 108 verbunden. Dieses Externe Programmiergerät 108, das auch ein üblicher Computer sein kann, dient zur Eingabe von Daten und/oder Programmen, beispielsweise zum programmieren einer neuen Programm- und/oder Datenversion. Daneben sind an dieser Stelle auch andere Eingabemedien, die z. B. direkt an die weiteren Ein- Ausgabe-Einheiten angebunden werden, denkbar.
Die Aufteilung der Speicher in Speicherbereiche für das erste Ausführungsbeispiel, in welchem das ROM 106 verwendet wird, ist in Fig. 2 dargestellt. Dabei ist mit 200 symbolisch der gesamte Flash-EPROM-Speicher 104 gezeigt. Dieser beinhaltet unter anderem einen Speicherbereich SB 201, der den Backup-Bereich für die Daten darstellt. Daneben existiert ein Speicherbereich SB 202, welcher den Backup-Bereich der zweiten Programmroutinen bzw. Zusatzroutinen ZR repräsentiert. Der Speicherbereich SB 203 entspricht im weiteren dem Originalbereich für die Daten.
Der Originalbereich für die Zusatzroutinen ist mit Speicherbereich SB 204 gekennzeichnet. Der RAM-Speicher 105 wird symbolisch mit Block 206 dargestellt. Darin befindet sich ein Speicherbereich SB 207, welcher zum Teil die im Verfahren des ersten Ausführungsbeispiels entstehenden Kopien der Flash-Speicherbereiche SB 201 bis SB 204 zeitweise aufnimmt. Daneben wird auch das ROM 106 symbolisch im Block 208 dargestellt. Der dort gekennzeichnete Speicherbereich SB 209 enthält den Bootblock bzw. Routinen zum Start des Systems und des Verfahrens und/oder die ersten Programmroutinen. Diese Programmroutinen im ROM werden mit Routinen im ROM RR bezeichnet.
In Fig. 3 ist nun für das erste Ausführungsbeispiel die Sicherung der Zusatzroutinen ZR unter Verwendung des ROM- Speichers gezeigt. Je nachdem ob ein Systemstart bzw. Neuprogrammierung oder eine einfache Programmieranforderung zugrunde liegt, wird im Block 300 oder im Block 301 gestartet. Bei einer Programmieranforderung nach Block 301 werden durch diese Programmieranforderung die Routinen im ROM RR in Block 303 ausgeführt. Die Routinen im ROM RR veranlassen das Kopieren der Zusatzroutinen ZR in Block 305 aus dem Speicherbereich SB 204 in den Speicherbereich SB 207 im RAM. Diese Zusatzroutinen ZR aus Block 305 dienen beispielsweise zur spezifischen, individuellen Flash-EPROM- Programmierung. Die Zusatzroutinen ZR werden anschließend im RAM-Speicherbereich SB 207 ausgeführt und steuern selbständig oder unter Zuhilfenahme von Programmroutinen aus dem ROM RR die weiteren Kopier-, Lösch- und/oder Programmiervorgänge für den Flash-Speicher 104. D. h. Zusatzroutinen ZR und ROM-Routinen RR können optional zusammen ausgeführt werden. Diese Steuerung der weiteren Kopier-, Lösch- und/oder Programmiervorgänge für den Flash- Speicher kann jedoch auch von den Routinen im ROM RR (SB 209) autark übernommen werden. Zur Programmierung werden die Daten und/oder Programme bzw. Programmroutinen im Speicherbereich SB 202, dem Backup-Bereich der Zusatzroutinen ZR, in Block 306 zunächst gelöscht und im Block 307 des Flußdiagramms durch eine Sicherheitskopie der Zusatzroutinen ZR ersetzt. Dabei werden die Zusatzroutinen ZR aus dem Speicherbereich SB 204 in den Backup-Bereich, den Speicherbereich SB 202 kopiert.
Nun kann im Block 308 eine Löschung und anschließende Programmierung des Speicherbereichs SB 204 mit einer vollkommen neuen Version der Zusatzroutinen ZR von außen erfolgen, beispielsweise aus Steuergerät 108 über Schnittstelle 107. Dabei können in Block 308 optional auch weitere Teile des Flash-Speichers (z. B. Speicherbereiche der Programmroutinen) gelöscht und/oder programmiert werden.
Danach wird im Block 309 geprüft, ob bei der Programmierung der Zusatzroutinen im Block 308 in dem Speicherbereich 204 ein Fehler aufgetreten ist. Dies geschieht beispielsweise mit den im Stand der Technik genannten Verfahren, wie mit dem Cyclic Redundancy Check. Ist kein Fehler aufgetreten, können nun nach vollendeter Programmierung die Zusatzroutinen ZR im Speicherbereich SB 202 verworfen bzw. gelöscht, in Block 310, und entweder durch die ursprünglich hier vorhandenen Daten und/oder Programmroutinen oder durch eine veränderte bzw. neue Version dieser Daten und/oder Programmroutinen z. B. von außen ersetzt werden. Dies geschieht im Block 311. Im Fehlerfall, wenn also in Block 309 ein Fehler aufgetreten ist, d. h. nach Abbruch der Programmierung aus beliebigem Grund, während sich im Speicherbereich SB 204 keine gültigen Daten und/oder Programmroutinen befinden, wird dies durch die Routinen im ROM RR im Block 302 beim Systemstart bzw. Neuprogrammierung im Block 300 erkannt. Die Routinen im ROM RR veranlassen das Kopieren der Sicherungskopie der Zusatzroutinen ZR aus dem Speicherbereich SB 202 in das RAM in den Speicherbereich SB 207. Auch hierbei können optional Zusatzroutinen ZR zusammen mit den ROM-Routinen RR ausgeführt werden. Dazu muß dann eine von außen veranlaßte Programmierung des Speicherbereichs SB 204 wie ursprünglich vorgesehen erfolgen. Nach vollendeter Programmierung werden die Zusatzroutinen ZR im Speicherbereich SB 202 ebenfalls verworfen (Block 310) und entweder durch die ursprüngliche vorhandenen Daten und/oder Programmroutinen oder eine veränderte neue Version dieser Daten und/oder Programmroutinen von außen ersetzt (Block 311). Das bedeutet, daß die Sicherungskopie der Zusatzroutinen ZR nicht bleibend abgelegt, sondern nach erfolgreichem Programmieren gelöscht und mit veränderten oder den sonst in diesem Speicherbereich stehenden Daten und/oder Programmen überschrieben werden kann. Dabei können in Block 311 optional auch weitere Teile des Flash-Speichers gelöscht und/oder programmiert werden.
In Fig. 4 wird ein vergleichbares Verfahren beschrieben bezüglich des Ausführungsbeispiels mit der Speicheranordnung aus Fig. 2, das nun zur Datensicherung dient. Die hier zu sichernden Daten SD sind beispielsweise sicherungswürdige Daten, unter denen man Daten versteht, welche während der gesamten Lebensdauer des Steuergeräts nicht verloren gehen dürfen. Es besteht aber die Möglichkeit, daß diese Daten während der Lebensdauer des Steuergerätes erweitert werden. Dem wird durch die Ausführungsform des Verfahrens in Fig. 4 Rechnung getragen. Auch hier wird bei Systemstart oder Neuprogrammierung im Block 400, bei einer Programmieranforderung im Block 401 gestartet. Wenn bei einer Programmieranforderung Daten SD gesichert werden müssen, werden durch die Programmieranforderung im Block 401 im Block 403 die entsprechenden Routinen im ROM RR ausgeführt. Auch hierbei veranlassen die Routinen im ROM RR im Block 405 das Kopieren der Zusatzroutinen ZR zur Flash- Programmierung aus dem Speicherbereich SB 204 im Flash- Speicher in den Speicherbereich SB 207 des RAM. Die Zusatzroutinen ZR werden anschließend im RAM- Speicherbereich SB 207 ausgeführt und steuern selbständig oder unter Zuhilfenahme von Programmroutinen aus dem ROM RR die weiteren Kopier-, Lösch- und/oder Programmiervorgänge für den Flash-Speicher 104. D. h. Zusatzroutinen ZR und ROM- Routinen RR können optional zusammen ausgeführt werden. Diese Steuerung der weiteren Kopier-, Lösch- und/oder Programmiervorgänge für den Flash-Speicher kann jedoch auch von den Routinen im ROM RR (SB 209) autark übernommen werden. Für den Fall, daß der Datenbereich bzw. Speicherbereich SB 203 in dem sich die Daten befinden bei einer Programmierung gelöscht werden muß, werden diese Daten SD im Speicherbereich SB 201 gesichert. Dies geschieht im Block 406. Nun wird der Speicherbereich der Daten SB 203 im Block 407 gelöscht bzw. umprogrammiert. Daraufhin werden im Block 408 die zu sichernden Daten SD aus dem Speicherbereich SB 201 wieder in den Originalbereich der Daten, Speicherbereich SB 203 kopiert. Die Steuerung dieser Vorgänge erfolgt von den, in das RAM in Speicherbereich SB 207 kopierten Zusatzroutinen ZR aus dem Speicherbereich SB 204 und/oder von den Routinen im ROM RR (vgl. Beschreibung Fig. 3). In Abfrage 309 wird die Speicherung der Daten wie vorher bei den Routinen auf ihre Korrektheit überprüft. Im Fehlerfall, also nach Abbruch der Programmierung aus beliebigen Grund, während sich im Speicherbereich SB 203 keine gültigen Daten befinden, stellen die Routinen im ROM RR nach dem Neustart bzw. der Neuprogrammierung des Systems im Block 400 dies im Block 402 fest. Die Fehlerüberprüfung erfolgt auch hier mit den im Stand der Technik genannten Verfahren. Die Routinen RR und/oder ZR veranlassen das Kopieren der Sicherungskopie der zu sichernden Daten SD aus dem Speicherbereich SB 201 in den Originalbereich, den Speicherbereich SB 203. Dazu werden die Zusatzroutinen ZR im Block 404 aus dem Flash- Speicher SB 204 in das RAM SB 207 geladen. Die Steuerung der dann wieder vorgegebenen Vorgänge in Block 407, 408 und 410 sowie 309 erfolgt wieder durch die Routinen im ROM RR und/oder die Zusatzroutinen ZR. Ist bei der Sicherung der zu sichernden Daten SD kein Fehler aufgetreten, kann der Datenbereich SB 201 beispielsweise von außen mittels Eingabemittel 108 neu programmiert werden. Aber auch eine Verwendung interner Daten ist situationsbedingt möglich.
In diesem Ausführungsbeispiel können in den Blöcken 308 und/oder 311 und/oder 407 und/oder 410 optional auch weitere Teile des Flash-Speichers gelöscht und/oder programmiert werden.
Im zweiten Ausführungsbeispiel kann bei der dabei durchgeführten automatischen Wiederherstellung eines definierten Ausgangszustandes auf einen nicht-flüchtigen, nicht veränderbaren Speicher wie im vorhergehenden Ausführungsbeispiel das ROM verzichtet werden. Das Verfahren ohne die Verwendung von ROM geht von der Existenz eines Bootblocks aus. Dieser Bootblock ist entweder in der CPU 101 lokalisiert, kann sich jedoch auch in einem für den Benutzer unzugänglichen oder schreibgeschützten Bereich des Flash-Speichers 104 befinden. Bei der symbolischen Speicherbereichsaufteilung kann somit auf die Darstellung des ROM verzichtet werden.
Dies zeigt Fig. 5. Dabei wird wieder der Flash-Speicher 104 symbolisch durch Block 200 dargestellt. Auch hier werden vergleichbare Speicherbereiche SB 201a bis SB 204a wie im vorherigen Ausführungsbeispiel definiert. Im Speicherbereich SB 205 befindet sich der hier notwendige Bootblock bzw. die Bootroutinen RB. Die vorher im ROM lokalisierten Routinen RR werden nun in einen Anteil im Flash, die Flash-Routinen RF und den im Bootblock notwendigen Anteil, die Routinen im Bootblock RB aufgeteilt. Block 206 repräsentiert wieder den RAM-Speicher 105. Der Speicherbereich SB 207a dient in diesem Ausführungsbeispiel dazu die Routinen im Flash-Speicher RF und/oder die Zusatzroutinen ZR aufzunehmen, welche die Verfahrenssteuerung aus dem RAM durchführen. Der im RAM verwendete Speicherbereich SB 207a kann sich durch Größe oder Position von dem in Fig. 2 benannten vergleichbaren Speicherbereich SB 207 unterscheiden. Gleiches gilt für die Speicherbereiche SB 201a bis SB 204a des den Flash-Speicher 105 repräsentierenden Blocks 200. Auch diese Bereiche können sich in Größe und Position von dem in Fig. 2 beschriebenen unterscheiden. Im Speicherbereich 201a befindet sich wiederum der Backup-Bereich für die Daten. Im Speicherbereich SB 202a befindet sich der Backup-Bereich für die Routinen die sich in diesem Ausführungsbeispiel wieder aus den Zusatzroutinen ZR aber diesmal ergänzt um Teile der vorherigen ROM-Routinen RR, die hier als Routinen im Flash-Speicher RF bezeichnet werden, zusammensetzt. Der Speicherbereich SB 203a ist in diesem Ausführungsbeispiel der Originalbereich für die Daten. Der Speicherbereich SB 204a ist ebenso Originalbereich, diesmal aber für die Routinen. Wie schon im Backup-Bereich für die Routinen, SB 202a erwähnt, setzen sich die Routinen durch Verzicht auf das ROM aus den Zusatzroutinen ZR und Teilen der vorherigen ROM-Routinen RR zusammen. Der übrige Teil der vorher im ROM gespeicherten Routinen befindet sich nun im Bootblock in Speicherbereich SB 205 und werden demnach als Bootblock- Routinen RB bezeichnet.
In Fig. 6 werden durch eine Programmieranforderung im Block 601 die Routinen im Flash-Speicher RF im Block 606 ausgeführt. Die Routinen im Flash RF veranlassen das Kopieren der Zusatzroutinen ZR und Teilen der früheren ROM- Routinen RR vom Speicherbereich 204a im Speicherbereich 207a des RAM. Dies geschieht im Block 607. Die Teile der Routinen im ROM RR aus dem vorhergehenden Ausführungsbeispiel, die sich nun im Flash-Speicher außerhalb des Bootblocks (Bootroutinen RB) befinden werden als Routinen im Flash RF bezeichnet. Da sich diese Routinen im Flash somit quasi selbst mitkopieren müssen, werden für diesen Vorgang im Folgenden unterschiedliche Verfahrensweisen angegeben.
Die erste Möglichkeit wäre, daß die Routinen im Flash RF nicht vollständig in den RAM-Speicher übertragen werden, daß also der Teil der RF, welcher für das Kopieren der übrigen RF und der Zusatzroutinen ZR zuständig ist im Flash-Bereich, insbesondere in SB 204a verbleibt.
Eine weitere Vorgehensweise ist, in dem Teil der RF, der in den RAM-Speicher in SB 207a kopiert wird ebenfalls Routinen vorzusehen, die vom RAM-Speicher aus den im Flash-Speicher verbliebenen Teil der RF, welcher für das Kopieren der übrigen RF und der Zusatzroutinen ZR zuständig ist in einem nächsten Schritt ebenfalls in den RAM-Speicher kopieren. Dadurch wäre der gesamte Inhalt des Speicherbereichs SB 204a in den RAM-Speicher kopierbar. Diese Routinen zum nachkopieren der letzten im Flash verbliebenen Routinen können sich in den RF und/oder den ZR befinden, so daß der Vorgang von den bereits in den RAM-Speicher übertragenen RF und/oder den Zusatzroutinen ZR gesteuert sein kann.
Daneben besteht eine weitere Möglichkeit durch die Zweiteilung in Routinen im Flash RF und in Zusatzroutinen ZR. Dadurch könnten, wenn die ZR als erstes aus SB 204a in den RAM-Bereich SB 207a kopiert würden, diese selbsttätig vom RAM aus, die Routinen im Flash RF aus dem Flash in den RAM-Speicher kopieren. Dadurch wäre der gesamte Kopiervorgang in einem Schritt möglich und würde zu Beginn von den Routinen im Flash RF und danach von den Zusatzroutinen ZR gesteuert. Die RF könnten dabei das Ausführen der ZR anstoßen und damit die Steuerverantwortung an diese übergeben.
Die in den RAM-Speicher kopierten Routinen (ZR und/oder RF) werden anschließend dort ausgeführt und steuern die weiteren Kopier-, Lösch- und Programmiervorgänge für den Flash-Speicher. Die weitere Steuerung der folgenden Vorgänge kann somit durch die ZR und/oder die RF erfolgen.
Zur Programmierung werden die Daten und/oder Programme im Speicherbereich 202a (Backup-Bereich) zunächst in Block 608 gelöscht. Im Block 609 wird dafür eine Sicherungskopie der Zusatzroutinen ZR und/oder der Routinen im Flash RF aus dem Speicherbereich SB 207a in den Speicherbereich 202a eingeschrieben. Nun kann eine Löschung und Programmierung des Speicherbereichs SB 204a mit einer vollkommen neuen Version der Zusatzroutinen ZR und/oder der Routinen im Flash RF von außen erfolgen. Dies wird im Block 610 durchgeführt. Durch die bereits in den vorherigen Figuren erwähnte Überprüfung im Block 309 wird nun die Korrektheit der Programmierung überprüft. Ist die Programmierung korrekt durchgeführt, wird der gesamte Backup-Bereich SB 202a im Block 612 verworfen bzw. gelöscht und entweder durch die ursprünglich hier vorhandenen Daten und/oder Programme oder eine neue Version dieser Daten und/oder Programme von außen im Block 613 ersetzt. Diese werden dann in dem Speicherbereich SB 202a neu eingeschrieben. Dabei können in den Blöcken 610 und/oder 613 optional auch weitere Teile des Flash-Speichers gelöscht und/oder programmiert werden.
Im Fehlerfall (Block 309), d. h. nach Abbruch der Programmierung aus beliebigem Grund, während sich im Bereich SB 204a keine gültigen Daten und/oder Programme befinden, wird dies von den Routinen im Bootblock RB in Block 602 nach dem Systemstart bzw. Neuprogrammierung in Block 600 festgestellt. Die Routinen im Bootblock veranlassen das Kopieren der Sicherungskopie der Routinen im Flash RF und/oder der Zusatzroutinen ZR aus dem Speicherbereich 202a in den Speicherbereich 207a des RAM. Die Routinen im RAM, ZR und/oder RF im Speicherbereich 207a steuern nun autark ein sofortiges Zurückschreiben der Routinen ZR und/oder RF. Dazu wird im Block 604 der Originalbereich, Speicherbereich SB 204a gelöscht. Durch Einschreiben der Zusatzroutinen ZR und/oder der Flashroutinen RF im Block 605 aus Speicherbereich 202a in Speicherbereich 204a wird dieser Originalbereich restauriert. Somit kann danach von außen ein beliebiger Programmiervorgang angefordert werden, ohne daß es zu Konflikten mit der Sicherungskopie im Bereich SB 202a kommen kann. Das Steuergerät fordert im Fehlerfall stets eine Neuprogrammierung des betroffenen Bereichs an, jedoch befinden sich alle zu sichernden Daten zu Beginn dieser Neuprogrammierung wieder in den ihren ursprünglich zugewiesenen Bereichen. Somit wird eine Wiederherstellung eines definierten Anfangszustands automatisch erzielt.
In Fig. 7 erfolgt nun die Sicherung der zu sichernden Daten SD, ohne Verwendung des ROM. Wiederum ausgehend von einer Programmieranforderung in Block 701 werden die Routinen im Flash RF in Block 706 ausgeführt. Diese veranlassen in Block 707 das Kopieren der Zusatzroutinen ZR und/oder der Routinen im Flash RF und/oder Teilen der Flash-Routinen RF, beispielsweise ebenfalls mittels der zu Fig. 6 genannten Verfahren, aus Speicherbereich 204a in den Speicherbereich 207a des RAM. Die Routinen werden anschließend ausgeführt und steuern die weiteren Kopier-, Lösch- und Programmiervorgänge für den Flash-Speicher. Beispielsweise für den Fall, daß der Bereich, in dem sich die zu sichernden Daten SD befinden, bei einer Programmierung ganz oder teilweise gelöscht werden muß, werden diese Daten aus Speicherbereich 203a in den Speicherbereich 201a kopiert und damit gesichert. Dies geschieht in Block 708. Daraufhin wird in Block 709 wenigstens der Datenbereich SB 203a ganz oder teilweise gelöscht und in Block 710 die zu sichernden Daten SD von Speicherbereich SB 201a im Speicherbereich SB 203a kopiert. In Abfrage 309 wird wieder wie in den vorherigen Figuren überprüft, ob beim Programmiervorgang ein Fehler aufgetreten ist. Ist kein Fehler aufgetreten, kann in Block 711 der Datenbereich sprich der Speicherbereich SB 201a durch die ursprünglich vorhandenen Daten und/oder Programmteile oder eine neue Version dieser Daten und/oder Programme von außen ersetzt werden. Dabei können in den Blöcken 709 und/oder 711 optional auch weitere Teile des Flash-Speichers gelöscht und/oder programmiert werden.
Im Fehlerfall während sich nach Abbruch der Programmierung aus beliebigem Grund im Bereich 203a keine gültigen Daten befinden, wird dies nach bzw. durch Systemstart und Neuprogrammierung in Block 700 von den Routinen im Bootblock RB in Block 702 festgestellt. Die Routinen veranlassen das Kopieren der Sicherungskopie der zu sichernden Daten SD aus dem Bereich 201a in den Originalbereich Speicherbereich SB 203a. Die Routinen im Bootblock RB veranlassen in Block 707 wiederum das Kopieren der Zusatzroutinen ZR und/oder der Routinen im Flash RF und/oder Teilen dieser Flash-Routinen RF, beispielsweise ebenfalls mittels der zu Fig. 6 genannten Verfahren, aus Speicherbereich 204a in den Speicherbereich 207a des RAM. Die Routinen werden anschließend ausgeführt und steuern die weiteren Kopier-, Lösch- und Programmiervorgänge für den Flash-Speicher. Dazu wird im Anschluß in Block 704 der Originalbereich sprich Speicherbereich SB 203a gelöscht und im Block 705 werden die zu sichernden Daten SD vom Backup- Bereich in den Originalbereich kopiert und somit der Speicherbereich SB 203a restauriert. Somit kann danach von außen ein beliebiger Programmiervorgang angefordert werden, wie beispielsweise in Block 701, ohne daß es zu Konflikten mit der Sicherungskopie im Bereich SB 201a kommen kann. Das Steuergerät fordert auch hier im Fehlerfall stets eine Neuprogrammierung des betroffenen Bereichs an, jedoch befinden sich alle zu sichernden Daten SD zu Beginn dieser Neuprogrammierung wieder in den ihnen ursprünglich zugewiesenen Bereichen. Somit kann auch bezüglich der zu sichernden Daten SD ebenso wie vorher bezüglich der Routinen automatisch ein definierter Ausgangszustand wiederhergestellt werden. Damit wird im Fehlerfall der ursprünglich gestartete Vorgang neu initialisiert und die zu sichernden Daten SD automatisch restauriert. Die Sicherungskopie der zu sichernden Daten SD wird sofort nach dem Löschen des Originals zurückgeschrieben, wodurch diese darüber hinaus nicht bleibend hinterlegt wird.
In diesem Ausführungsbeispiel können in den Blöcken 610 und/oder 613 und/oder 709 und/oder 711 optional auch weitere Teile des Flash-Speichers gelöscht und/oder programmiert werden. Dabei kann sogar der gesamte Flash- Speicher, mit Ausnahme des Bereichs oder der Bereiche in denen die zu sichernden Daten SD und/oder die zu sichernden Routinen gespeichert sind, neu programmiert werden.
Für alle Ausführungsbeispiele gilt, daß die Sicherungskopie der zu sichernden Daten SD sofort nach dem Löschen des Originals aus dem Originalbereich, in diesen Originalbereich zurückgeschrieben wird. Ebenso wird in allen Ausführungsbeispielen die Sicherungskopie der zu sichernden Routinen nach dem erfolgreichen Programmieren (Überprüfung in Block 309) gelöscht und es werden die sonst dort befindlichen und/oder beliebige neue Daten und/oder Programme eingeschrieben.

Claims (16)

1. Verfahren zur Änderung und/oder zum Einschreiben von Daten und/oder Programmen, insbesondere zur Steuerung von Betriebsabläufen in einem Fahrzeug, in wenigstens einem ersten Speicher (104, 200) eines Computersystems (100), insbesondere eines Speichers in Steuergeräten, dadurch gekennzeichnet, daß
  • 1. die Programme in wenigstens erste Programme (RR, RB, RF) und zweite Programme (ZR) aufgeteilt sind,
  • 2. wenigstens ein zweiter Speicher (105, 206) existiert,
  • 3. eine definierte Aufteilung in Speicherbereiche (z. B. SB 201 bis SB 204, SB 207) wenigstens des ersten Speichers (104, 200) durchgeführt wird,
  • 4. die ersten Programme (RR, RB, RF) und/oder die zweiten Programme (ZR) und/oder die Daten (SD) durch Löschen (z. B. 306) und/oder Kopieren (z. B. 307) und/oder Einlesen (z. B. 308) der Programme und/oder der Daten in den Speicherbereichen gesichert werden, indem vor dem Löschen und/oder Kopieren und/oder Einlesen der Daten und/oder Programme von diesen eine Sicherungskopie in wenigstens einem (z. B. 200) der wenigstens zwei Speicher (200, 206) erzeugt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die ersten Programme die zweiten Programme laden und/oder aufrufen und die ersten Programme und/oder die zweiten Programme das Kopieren und/oder Löschen und/oder Einlesen der Daten und/oder Programme durchführen.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Sicherungskopie der Daten nach dem Kopieren und/oder Löschen und/oder Einlesen der Daten und/oder Programme wieder als Original eingeschrieben wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Sicherungskopie der Programme nach dem Kopieren und/oder Löschen und/oder Einlesen der Daten und/oder Programme wenn dabei kein Fehler aufgetreten ist gelöscht wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß bei Auftreten eines Fehlers beim Kopieren und/oder Löschen und/oder Einlesen der Daten und/oder Programme diese automatisch wiederhergestellt werden.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß bei Auftreten eines Fehlers beim Kopieren und/oder Löschen und/oder Einlesen der Daten und/oder Programme diese automatisch wiederhergestellt werden und ein ursprünglich gestarteter Vorgang zur Änderung und/oder zum Einschreiben von Daten und/oder Programmen, insbesondere zur Steuerung von Betriebsabläufen in einem Fahrzeug, in wenigstens einem ersten Speicher eines Computersystems neu initialisiert wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die wenigstens ersten Programme sich im nicht flüchtigen, ersten Speicher befinden oder in diesen eingelesen oder kopiert werden.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der zweite Speicher als Zwischenspeicher verwendet wird und somit als flüchtiger oder nicht flüchtiger Speicher ausgebildet sein kann, in welchem die ersten und/oder zweiten Programme und/oder Daten zeitweise abgelegt werden.
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die definierte Aufteilung in Speicherbereiche in wenigstens einen Originalbereich, einen Backup-Bereich und/oder einen Zwischenspeicherbereich erfolgt.
10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eine Steuerung der Vorgänge zum Kopieren und/oder Löschen und/oder Einlesen der Daten und/oder Programme von den Programmen und/oder Daten durchgeführt wird, die zunächst in den Zwischenspeicher kopiert und/oder eingelesen wurden.
11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß im Backup-Bereich weitere Daten und/oder Programme abgespeichert werden und zum Zweck der Sicherung durch Kopieren und/oder Einschreiben der ersten Programme und/oder der zweiten Programmen und/oder von zu sichernden Daten, der Backup-Bereich gelöscht wird.
12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die ersten Programme (RR, RB) oder wenigstens Teile der ersten Programme zum Starten des jeweiligen Vorgangs zum Kopieren und/oder Löschen und/oder Einlesen der Daten und/oder Programme in einem nicht veränderbaren Speicher (106, 208) oder Speicherbereich (SB 209, SB 205) abgelegt sind oder abgelegt werden.
13. Computersystem, insbesondere ein Steuergerät zur Steuerung von Betriebsabläufen in einem Fahrzeug, zur Änderung und/oder zum Einschreiben von Daten und/oder Programmen, in wenigstens einem ersten Speicher (104, 200) des Computersystems (100), dadurch gekennzeichnet, daß
  • 1. die Programme in wenigstens erste Programme (RR, RB, RF) und zweite Programme (ZR) aufgeteilt sind,
  • 2. wenigstens ein zweiter Speicher (105, 206) existiert,
  • 3. eine definierte Aufteilung in Speicherbereiche (z. B. SB 201 bis SB 204, SB 207) wenigstens des ersten Speichers (104, 200) existiert,
  • 4. die ersten Programme (RR, RB, RF) und/oder die zweiten Programme (ZR) und/oder die Daten (SD) durch Löschen (z. B. 306) und/oder Kopieren (z. B. 307) und/oder Einlesen (z. B. 308) der Programme und/oder der Daten in den Speicherbereichen gesichert werden, indem vor dem Löschen und/oder Kopieren und/oder Einlesen der Daten und/oder Programme von diesen eine Sicherungskopie in wenigstens einem (z. B. 200) der wenigstens zwei Speicher (200, 206) erzeugt wird.
14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, daß der erste Speicher als nicht flüchtiger Speicher und der zweite Speicher als flüchtiger oder nicht flüchtiger Speicher ausgebildet ist.
15. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der zweite Speicher als Zwischenspeicher ausgelegt ist, in welchem die ersten und/oder zweiten Programme und/oder Daten zeitweise abgelegt werden.
16. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die definierte Aufteilung in Speicherbereiche in wenigstens einen Originalbereich, einen Backup-Bereich und/oder einen Zwischenspeicher erfolgt.
DE19839680A 1998-09-01 1998-09-01 Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten Expired - Fee Related DE19839680B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE19839680A DE19839680B4 (de) 1998-09-01 1998-09-01 Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
RU99118913/09A RU2248627C2 (ru) 1998-09-01 1999-08-31 Способ и устройство для изменения содержимого запоминающих устройств блоков управления
JP24797799A JP4480815B2 (ja) 1998-09-01 1999-09-01 メモリ書き換え方法及びコンピュータシステム
US09/383,309 US6430662B1 (en) 1998-09-01 2000-02-14 Method and device for changing memory contents in a control unit, especially of a motor vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19839680A DE19839680B4 (de) 1998-09-01 1998-09-01 Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten

Publications (2)

Publication Number Publication Date
DE19839680A1 true DE19839680A1 (de) 2000-03-02
DE19839680B4 DE19839680B4 (de) 2005-04-14

Family

ID=7879351

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19839680A Expired - Fee Related DE19839680B4 (de) 1998-09-01 1998-09-01 Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten

Country Status (4)

Country Link
US (1) US6430662B1 (de)
JP (1) JP4480815B2 (de)
DE (1) DE19839680B4 (de)
RU (1) RU2248627C2 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003025748A2 (de) * 2001-09-04 2003-03-27 Paragon Ag Verfahren zum betreiben einer schaltungsanordnung, die einen mikrocontroller und ein eeprom enthält
US6654288B2 (en) 2001-09-28 2003-11-25 Robert Bosch Gmbh Method and device for backing up data in a memory module and memory module
DE10252059B3 (de) * 2002-11-08 2004-04-15 Infineon Technologies Ag Verfahren zum Betreiben einer Speicheranordnung
DE102008002494A1 (de) 2008-06-18 2009-12-24 Robert Bosch Gmbh Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment
US7869920B2 (en) 2004-02-05 2011-01-11 Bayerische Motoren Werke Aktiengesellschaft Device and method for controlling control appliances in an on-board supply system of a motor vehicle
US8365037B2 (en) 2007-01-03 2013-01-29 GM Global Technology Operations LLC Vehicle parameter infrastructure security strategy

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4842417B2 (ja) * 1999-12-16 2011-12-21 ソニー株式会社 記録装置
US6633807B2 (en) * 2000-08-14 2003-10-14 Audi Performance & Racing Enhanced module chipping system
KR100516551B1 (ko) * 2000-11-25 2005-09-22 엘지전자 주식회사 원격 소프트웨어 업그레이드 시스템 및 방법
US20050142509A1 (en) * 2003-12-29 2005-06-30 Kim Young S. Burner assembly for gas burners of radiant heating type
DE102005059319A1 (de) 2005-12-09 2007-06-14 Robert Bosch Gmbh Verfahren zum Betreiben einer Einrichtung
JP4333745B2 (ja) * 2007-01-15 2009-09-16 株式会社デンソー 電子制御装置
US8417928B2 (en) 2008-09-24 2013-04-09 Marvell International Ltd. Turbo boot systems and methods for subsequent booting from a captured data stored in a non-volatile semiconductor memory
JP5683518B2 (ja) * 2012-03-27 2015-03-11 三菱電機株式会社 ファームウェア更新装置およびその方法
TWI493341B (zh) * 2012-07-09 2015-07-21 Phison Electronics Corp 記憶體儲存裝置及其修復方法
JP6543122B2 (ja) * 2015-07-17 2019-07-10 キヤノン株式会社 情報処理装置と、前記情報処理装置による不揮発記憶装置の初期化方法、及びプログラム
WO2019026442A1 (ja) * 2017-08-02 2019-02-07 フェリカネットワークス株式会社 情報処理装置、および情報処理方法
JP7134753B2 (ja) * 2018-07-10 2022-09-12 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
JP7244352B2 (ja) * 2019-05-22 2023-03-22 ファナック株式会社 ファイル管理装置
FR3114415A1 (fr) * 2020-09-21 2022-03-25 Psa Automobiles Sa Procédé et dispositif de mise à jour d’un logiciel d’un calculateur embarqué d’un véhicule, comportant une mémoire d’exécution et une mémoire de sauvegarde

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0715313A2 (de) * 1994-12-03 1996-06-05 Robert Bosch Gmbh Verfahren zur Programmierung eines elektrisch löschbaren, nichtflüchtigen Speichers in einem elektronischen Rechengerät sowie Steuergerät zur Verwendung bei dem Verfahren

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE715313C (de) 1939-09-01 1941-12-18 Max Berz Dipl Ing Verfahren zum Foerdern von Schuettgut
DE4332499A1 (de) 1993-09-24 1995-03-30 Bosch Gmbh Robert Verfahren zur vollständigen Neuprogrammierung eines löschbaren, nichtflüchtigen Speichers
DE4401891A1 (de) 1994-01-24 1995-07-27 Bayerische Motoren Werke Ag Verfahren zum Ändern der Arbeitsweise eines Steuergeräts von Kraftfahrzeugen
JP2812189B2 (ja) * 1994-02-10 1998-10-22 日本電気株式会社 プログラムダウンロード方法
US6009500A (en) * 1995-06-07 1999-12-28 Compaq Computer Corporation Replacement of erroneous firmware in a redundant non-volatile memory system
US5717887A (en) * 1995-07-28 1998-02-10 Nomai Sa System for the automatic substitution of control firmware embedded in a removable disk drive
JP3003619B2 (ja) * 1997-04-09 2000-01-31 日本電気株式会社 装置内部設定情報バックアップ装置及び方法並びに装置内部設定情報バックアップ制御プログラムを記憶した記憶媒体
US6009520A (en) * 1997-12-10 1999-12-28 Phoenix Technologies, Ltd Method and apparatus standardizing use of non-volatile memory within a BIOS-ROM

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0715313A2 (de) * 1994-12-03 1996-06-05 Robert Bosch Gmbh Verfahren zur Programmierung eines elektrisch löschbaren, nichtflüchtigen Speichers in einem elektronischen Rechengerät sowie Steuergerät zur Verwendung bei dem Verfahren

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003025748A2 (de) * 2001-09-04 2003-03-27 Paragon Ag Verfahren zum betreiben einer schaltungsanordnung, die einen mikrocontroller und ein eeprom enthält
WO2003025748A3 (de) * 2001-09-04 2004-01-29 Bosch Gmbh Robert Verfahren zum betreiben einer schaltungsanordnung, die einen mikrocontroller und ein eeprom enthält
US6654288B2 (en) 2001-09-28 2003-11-25 Robert Bosch Gmbh Method and device for backing up data in a memory module and memory module
DE10148047B4 (de) * 2001-09-28 2013-06-27 Robert Bosch Gmbh Verfahren und Vorrichtung zur Sicherung von Daten in einem Speicherbaustein und Speicherbaustein
DE10252059B3 (de) * 2002-11-08 2004-04-15 Infineon Technologies Ag Verfahren zum Betreiben einer Speicheranordnung
US7869920B2 (en) 2004-02-05 2011-01-11 Bayerische Motoren Werke Aktiengesellschaft Device and method for controlling control appliances in an on-board supply system of a motor vehicle
US8365037B2 (en) 2007-01-03 2013-01-29 GM Global Technology Operations LLC Vehicle parameter infrastructure security strategy
DE102008002494A1 (de) 2008-06-18 2009-12-24 Robert Bosch Gmbh Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment

Also Published As

Publication number Publication date
US6430662B1 (en) 2002-08-06
RU2248627C2 (ru) 2005-03-20
JP4480815B2 (ja) 2010-06-16
JP2000090011A (ja) 2000-03-31
DE19839680B4 (de) 2005-04-14

Similar Documents

Publication Publication Date Title
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE69421925T2 (de) Speichergerät mit Fehlerdetektion und -korrektur und Verfahren zum Schreiben und Löschen des Speichergeräts
DE69323225T2 (de) Datenbehandlung in einem System mit Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE112017003641T5 (de) Datenüberschreibvorrichtung und Datenüberschreibprogramm
DE102005013285B4 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE69231873T2 (de) Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
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
EP0067364B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
DE102010043011A1 (de) Parallele Programmierung und Aktualisierung von Gebäudetechnik-Busteilnehmern
EP1190324B1 (de) Verfahren zum gesicherten schreiben eines zeigers für einen ringspeicher
DE102014116321A1 (de) Update einer Firmware
DE19931184A1 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
EP1924916A2 (de) Speicheranordnung und betriebsverfahren dafür
DE102015207795A1 (de) Verfahren und Vorrichtung zum Aktualisieren von Software in einem Transportmittel
EP3378006B1 (de) Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller
DE10148047B4 (de) Verfahren und Vorrichtung zur Sicherung von Daten in einem Speicherbaustein und Speicherbaustein
EP1876533A1 (de) Anordnung und Verfahren zum Laden von Daten in einen Speicher
EP1241570A2 (de) Automatisierte Versions-Analyse von zu einer Softwareapplikation gehörenden Softwarekomponenten
WO2006089943A1 (de) Verfahren zur datensicherung und gerät zu dessen ausführung
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
WO2019242996A1 (de) Verfahren zum aktualisieren von software auf einem zielgerät
WO2009103728A1 (de) Verfahren und vorrichtung zum speichern von informationsdaten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R084 Declaration of willingness to licence
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee