DE19839680A1 - Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten - Google Patents
Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von SteuergerätenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
- G11C16/105—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External 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
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.
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.
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.
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.
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)
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)
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)
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)
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 |
-
1998
- 1998-09-01 DE DE19839680A patent/DE19839680B4/de not_active Expired - Fee Related
-
1999
- 1999-08-31 RU RU99118913/09A patent/RU2248627C2/ru not_active IP Right Cessation
- 1999-09-01 JP JP24797799A patent/JP4480815B2/ja not_active Expired - Fee Related
-
2000
- 2000-02-14 US US09/383,309 patent/US6430662B1/en not_active Expired - Lifetime
Patent Citations (1)
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)
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 |