DE19931184A1 - 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
DE19931184A1
DE19931184A1 DE19931184A DE19931184A DE19931184A1 DE 19931184 A1 DE19931184 A1 DE 19931184A1 DE 19931184 A DE19931184 A DE 19931184A DE 19931184 A DE19931184 A DE 19931184A DE 19931184 A1 DE19931184 A1 DE 19931184A1
Authority
DE
Germany
Prior art keywords
data
programs
volatile memory
area
memory
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.)
Ceased
Application number
DE19931184A
Other languages
English (en)
Inventor
Martin Hurich
Robert Seyfang
Eberhard Tenbusch
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 DE19931184A priority Critical patent/DE19931184A1/de
Priority to IT2000MI001380A priority patent/IT1318025B1/it
Priority to FR0008787A priority patent/FR2798205B1/fr
Priority to US09/611,866 priority patent/US6546455B1/en
Priority to JP2000206124A priority patent/JP2001043101A/ja
Publication of DE19931184A1 publication Critical patent/DE19931184A1/de
Ceased 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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

Abstract

Verfahren und Vorrichtung zur Änderung und/oder zum Einschreiben von Daten und/oder Programmen in wenigstens einen ersten nichtflüchtigen Speicher eines Computersystems, insbesondere eines Speichers einer Steuereinheit eines Fahrzeugs. Dabei werden die Daten und/oder Programme in wenigstens erste und zweite Daten und/oder Programme aufgeteilt, wobei wenigstens die zweiten Daten und/oder Programme sicherungswürdig sind oder sicherungswürdige Daten und/oder Programme enthalten. Die alten zweiten Daten und/oder Programme in dem zugeordneten Originalbereich werden aber erst gelöscht, wenn neue zweite Daten und/oder Programme in einen nicht dem Originalbereich entsprechenden zweiten Speicherbereich eingeschrieben sind und ein Kopierprogramm in einen zweiten flüchtigen Speicher eingeschrieben ist. Das Kopierprogramm schreibt die neuen zweiten Daten und/oder Programme aus dem zweiten Speicherbereich in den Originalbereich ein. Dadurch muß keine Sicherungskopie der sicherungswürdigen Daten und/oder Programme angelegt werden. Durch einen von einem Programmiergerät ausgesendeten Löschbefehl werden die alten zweiten Daten und/oder Programme somit nicht gelöscht und diese übernehmen dann die Ablaufsteuerung.

Description

Stand der Technik
Die vorliegende Erfindung betrifft Verfahren und Vorrichtung gemäß den Oberbegriffen der unabhängigen Ansprüche. Dabei werden Daten und/oder Programme in wenigstens einem Speicher eines Computersystems, insbesondere in einer Steuereinheit zur Steuerung von Betriebsabläufen in einem Fahrzeug, geändert und/oder eingeschrieben.
Aus der DE 43 32 499 A1 ist 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 Speichers (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 als Sicherungskopie im Speicher enthalten. Dabei müssen Sicherungskopien ebenfalls 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.
Es hat sich gezeigt, daß die genannten Verfahren nicht in jeder Beziehung optimale Ergebnisse zu liefern vermögen. So erfolgt kein automatisches Wiederherstellen der durch Störung unvollständigen Bereiche, dies muß von außen mittels vollständiger Neuprogrammierung durchgeführt werden. Dadurch werden in den genannten Verfahren Sicherungskopien der Daten und Programme bleibend in einem Backup-Bereich hinterlegt. Sicherungswürdige Daten und/oder Programme werden somit durch Backups, also Sicherungskopien, die lauffähig sein müssen, dupliziert. Dadurch entstehen mehrere Lösch- und Programmierzyklen, welche das Bauteil, das den Speicher enthält belasten. In der Regel sind nach dem Stand der Technik eine Vielzahl von Schritten oder Befehlen zur Umprogrammierung eines Speichers notwendig. Dadurch steht relativ lange, insbesondere in den Kopierphasen des Backups, kein lauffähiger Programmcode zur Verfügung.
Bei Abbruch der Kopierroutine bei der Umprogrammierung wird darauffolgend ein Backup mit den alten Daten und/oder Programmen bzw. Routinen verwendet. Da der dabei verwendete Backup alle sicherungswürdigen Daten und/oder Programme umfaßt, ist die Codegröße, die im Falle eines Abbruchs ausgeführt werden muß, relativ groß. Deshalb ist im Stand der Technik auch je nach Größe des Bereichs der sicherungswürdigen Daten und/oder Programme ein relativ großer Arbeitsspeicher (RAM) notwendig, beispielsweise um dort die Programmierroutine dieses sicherungswürdigen Bereichs auszuführen. Durch einen dabei verwendeten veränderbaren Bootblock, als Programmierumgebung, in welchem die Startprogramme des Computersystems enthalten sind, der entscheidet, ob gerade der alte oder neue Daten- und/oder Programmbereich zur Ausführung gebracht wird, entstehen zusätzliche Fehlerquellen.
Bevor ein Programm oder dessen Sicherungskopie zum Ablauf kommt kann ein Test auf etwaige Datenfehler im Programmcode erfolgen. 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.
Vorteile der Erfindung
In der Erfindung wird vorteilhafter Weise der originale Bereich der sicherungswürdigen Daten und/oder Programme bei Erhalten eines Löschbefehls nicht gelöscht. Dadurch bleibt der Programmcode zur Umprogrammierung erhalten. Statt dessen wird der Bereich gelöscht, welcher normalerweise die Kopie der sicherungswürdigen Daten und/oder Programme also das Backup enthalten würde. Dieser Bereich wird im weiteren vorteilhafter Weise als Zwischenspeicher für die neuen sicherungswürdigen Daten und/oder Programme eingesetzt, wobei darauf verzichtet werden kann, daß diese dort lauffähig sind. Unter sicherungswürdigen Daten und/oder Programmen werden dabei solche verstanden, deren Verlust oder Fehlerhaftigkeit eine erneute Programmierung des Speichers oder eine künftige Veränderung des Speicherinhalts nicht mehr zulassen würde oder den vorgesehenen Einsatz des Computersystems, beispielsweise zur Steuerung von Betriebsabläufen in einem Fahrzeug nicht mehr erlaubt.
Der für den sicherungswürdigen Bereich gedachte Teil des Datenstroms wird bei der Programmierung also vorteilhafterweise in den als Zwischenspeicher eingesetzten Datenspeicherbereich umgeleitet, welcher zu diesem Zweck vorher gelöscht wurde.
Durch eine optimierte kleine Routine (RAM-Routine RR), welche im Arbeitsspeicher Platz findet, wird der neue Bereich aus dem Zwischenspeicher dann über den alten vorher nicht gelöschten Bereich kopiert. Der Zwischenspeicher wird dann zuletzt beispielsweise durch die RAM-Routine RR oder ein Programm der neuen sicherungswürdigen Daten und/oder Programme gelöscht. Dadurch können schließlich im als Zwischenspeicher verwendeten Speicherbereich weitere Daten und/oder Programme eingeschrieben werden.
Vorteilhafter Weise ist somit durch das Verfahren nur ein einziger Löschbefehl für den zu löschenden Bereich notwendig, der das Verfahren anstößt. Der Löschbefehl ist damit unabhängig davon, ob in einem zu löschenden Bereich sicherungswürdige Daten enthalten sind oder nicht. Die Programmierung des neuen Programmcodes bzw. der neuen Daten erfolgt somit automatisch in einem einzigen Schritt.
Vorteilhafter Weise ist der sicherungswürdige Speicherbereich während der gesamten Zeit der Umprogrammierung verfügbar, bzw. ist die Zeit in welcher kein lauffähiger Programmcode im sicherungswürdigen Bereich zur Verfügung steht minimiert, da sich die sicherungswürdigen Daten und/oder Programme immer im zugehörigen Speicherbereich befinden.
Weiterhin von Vorteil ist, daß dadurch die umfangreichen Programmierroutinen der sicherungswürdigen Daten und/oder Programme nicht im Arbeitsspeicher abgelegt werden müssen. Lediglich die kleine optimierte RAM-Routine, die sich im Arbeitsspeicher befindet, kopiert die neuen sicherungswürdigen Daten und/oder Programme über die alten. Aus diesem Grund kann vorteilhafter Weise nur ein kleiner Arbeitsspeicher verwendet werden bzw. ist die Ärbeitsspeicherbelastung gering. Tritt während der Aktivität der RAM-Routine ein Abbruch auf, so kann ein als unveränderbar auslegbarer Bootblock mittels einer ihm eigenen Kopierroutine diesen Vorgang vervollständigen. Damit ist vorteilhafter Weise die Größe des Programmcodes, welcher im Falle eines Abbruchs ausgeführt werden muß, minimiert.
Von Vorteil ist weiterhin, daß der als unveränderlich in einem nicht lösch- oder beschreibbaren Speicherbereich auslegbare Bootblock nicht entscheidet, welcher Speicherbereich, also mit alten oder neuen Daten und/oder Programmen zur Ausführung gebracht wird, sondern gegebenenfalls den neuen Programmcode über das alte Original kopiert und diesen im Originalbereich wieder zur Ausführung bringt. Damit befinden sich vorteilhafter Weise die Routinen bzw. Programme der sicherungswürdigen Daten und/oder Programme zu jedem Zeitpunkt in den ihnen ursprünglich zugedachten originalen Speicherbereichen. Dadurch werden Fehlermöglichkeiten minimiert. Durch diese Vorgehensweise muß somit kein lauffähiges Backup erzeugt werden. Dies bedeutet, daß auch im Falle eines Abbruchs der Programmierung vorteilhafter Weise kein Backup der alten Daten und/oder Programmen verwendet werden muß, sondern es können die bereits vorhandenen neuen Daten und/oder Programme vom Bootblock in den Zielbereich, also den Originalbereich kopiert werden.
Weitere Vorteile ergeben sich aus den kennzeichnenden Merkmalen der Ansprüche sowie der nachfolgenden Beschreibung.
Zeichnung
In Fig. 1 ist eine erfindungsgemäß verwendbare Hardwareanordnung gezeigt,
Fig. 2 zeigt eine mögliche Aufteilung der Speicher in einzelne Speicherbereiche,
Fig. 3 beschreibt in einem Ablaufdiagramm ein Verfahren zur Änderung und/oder Programmierung von Programmen und/oder Daten.
In Fig. 4 ist die Änderung und/oder Programmierung weiterer Daten gezeigt.
Beschreibung des Ausführungsbeispiels
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, nichtflüchtigen Speicher beispielsweise einen Flash-EPROM-Speicher dar, bei welchem eine bereichs- oder 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. In diesem Ausführungsbeispiel wird das Kopierprogramm bzw. die optimierte RAM-Routine RR darin abgelegt. Es können also vom RAM 105 aus ebenfalls Programmroutinen gestartet werden. Optional kann ein weiterer nichtflüchtiger Speicher 106 vorgesehen sein. Diese Speicher 104, 105 und optional 106 sind über ein Bussystem 103 unter anderem mit einer CPU 101 und einer Ein-Ausgabe- Einheit 102 verbunden. Der Speicher 106 kann dabei auch als externer Zusatzspeicher, außerhalb eines systeminternen Mikrocomputers oder auch außerhalb des Computersystems vorgesehen sein. 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 Ausgangsschnittsstelle 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 vorgenannten Speicher in Speicherbereiche 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 die zugehörige Programmierumgebung in Form des Bootblocks, also unter anderem der Startprogramme des Computersystems, repräsentiert. Der Speicherbereich SB 201 für den Bootblock BB kann dabei so gestaltet sein, daß weder das Lesen noch das Beschreiben dieses Bereiches möglich ist, da der Bootblock nicht verändert werden muß. Die Startprogramme werden beim normalen Systemstart ebenso wie nach einem Reset aufgrund eines Spannungsausfalls oder einer anderen Ursache ausgeführt. Mit Speicherbereich SB 202 ist ein Programmbereich für erste Programme P1 dargestellt. Daneben existiert mit Speicherbereich SB 203 ein Datenbereich, welcher am Ende eines Programmiervorgangs weitere Daten D enthält. Des weiteren ist mit Speicherbereich SB 204 der Bereich dargestellt, in welchem Daten und/oder Programme abgelegt werden, welche sicherungswürdig sind oder sicherungswürdige Daten und/oder Programme enthalten. Der Übersichtlichkeit halber werden die in SB 204 abgelegten Daten allgemein als sicherungswürdige Daten und/oder Programme SDP bezeichnet. Insbesondere bei Verwendung des vorgestellten Verfahrens und Vorrichtung bei der Steuerung von Betriebsabläufen in einem Fahrzeug liegt dieser Bereich SB 204 beispielsweise innerhalb des Speicherbereichs, in dem die Fahrsoftware abgelegt ist. Der Speicherbereich SB 204 ist damit der Originalbereich der SDP. Die in den sicherungswürdigen Daten und/oder Programmen SDP unter anderem enthaltenen, spezifischen, zur Flash-Programmierung notwendigen Routinen sollten während der gesamten Zeit der Änderung und/oder Programmierung verfügbar sein. Des weiteren sollten die sicherungswürdigen Daten und/oder Programme SDB umprogrammierbar, also änderbar sein, damit keine Abwärtskompatibilität der Schnittstellen zwischen beispielsweise Fahrprogrammen und den SDP erforderlich ist. Der Umfang in der zeichnerischen Darstellung der Speicherbereiche ist willkürlich gewählt und gibt keine Auskunft über die reale Größe, da diese je nach Einsatzgebiet und Anwendung unterschiedlich sein kann. Somit könnten die Speicherbereiche SB 201 bis SB 204 den gesamten symbolisch dargestellten Flash-Speicher 200 ausfüllen. Durch die im Speicherbereich 204 ablegbaren sicherungswürdigen Daten und/oder Programme SDP ist eine eigenständige Programmierumgebung definierbar. Der Speicherbereich SB 204 entspricht wie erwähnt dem Originalbereich für die SDP. Im symbolisch dargestellten Flash-Speicher 200 ist somit ein eigener, dauerhaft reservierter Backup-Bereich weder für Programme noch Daten, insbesondere nicht für die sicherungswürdigen Daten und/oder Programme SDP vorgesehen.
Optional wie bei Fig. 1 gezeigt, ist die Verwendung eines weiteren Speicherelements, insbesondere eines Flash-EPROM- Speichers. Diese optionale zusätzliche Speicher 106 wird symbolisch durch Block 208 dargestellt. Darin kann mit Speicherbereich 209 ein Bereich für weitere Programme und/oder Daten vorgesehen sein. In dem beschriebenen Beispiel sind hierin zweite Programme P2 abgelegt. Dies kann beispielsweise notwendig sein, wenn der Speicherbereich für die ersten Programme P1 für den notwendigen Programmcode, bestehend aus P1 und P2 nicht ausreicht. Andererseits ist auch denkbar, durch die Programme P1 bestimmte Standard- und/oder Grundfunktionen der jeweiligen Anwendung zu realisieren und übrige Variationen, wie spezielle Ausführungsformen, Sonderausstattungen, z. B. bei Kraftfahrzeugen sowie Spezialfunktionen durch Programme P2 in Speicherbereich SB 209 darzustellen.
Der Arbeitsspeicher bzw. RAM-Speicher 105 aus Fig. 1 wird symbolisch durch Block 206 dargestellt. Darin ist mit Speicherbereich 207 der Abschnitt für die optimierte RAM- Routine RR enthalten, welche beispielsweise auch durch beliebige Programmbereiche wie den Bootblock BB, Programmbereiche P1 oder P2 sowie die sicherungswürdigen Daten und/oder Programme SDP in den Arbeitsspeicher ladbar sein kann. Dies hängt davon ab in welchem Bereich die dazu notwendige Funktionalität beispielsweise eine Kopierfunktion für den Transfer lokalisiert ist. Der Kopierfunktion, die den Transfer der RAM-Routine RR in den Arbeitsspeicher 206 bzw. den Speicherbereich 207 ausführt, ist die Anfangs- und Endadresse der RAM-Routine RR und außerdem die Zieladresse im RAM bekannt. Diese Kopierfunktion ist beispielsweise eine Programmschleife, in der ein Quell- und ein Zielzeiger beginnend bei den jeweiligen Startadressen inkrementiert werden bis die Endadresse der Quelle des Kopiervorgangs erreicht ist. Bei jeder Adresse, die durchgeschaltet wird kann dann ein Datentransfer ausgeführt werden.
Die RAM-Routine RR liegt beispielsweise im Bereich der Sicherungswürdigen Daten und/oder Programme SDP und/oder im Bootblock BB. Die RAM-Routine RR wird beispielsweise vom ablauffähigen Programm in SDP in den Arbeitsspeicher 206 kopiert und dort zur Ausführung gebracht. Nach einem aus beliebigem Grund abgebrochenen Kopiervorgang mittels RR kann diese Routine RR vom Bootblock BB in den Arbeitsspeicher 206 geladen und dort zur Ausführung gebracht werden.
Der Bootblock BB befindet sich entweder in einem für den Benutzer unzugänglichen oder schreibgeschützten Bereich des Flash-Speichers 104 bzw. 200 oder kann in der CPU 101 selbst lokalisiert sein. Vorteilhafter Weise kann die optimierte RAM-Routine RR wie bereits ausgeführt durch den Bootblock BB, z. B. nach einem Systemabsturz oder sonstigem Abbruch, in den Arbeitsspeicher kopiert werden.
Die im Verfahren auszuführenden Programme und/oder Programmschleifen und/oder Routinen sind vorteilhafterweise als Softwarecode in einem Speicher realisiert. Eine Realisierung der Speicher-Software-Kombination in festverdrahteter Logik ist aber ebenso denkbar.
Das in Fig. 3 und 4 in Ablaufplänen dargestellte Verfahrenskonzept in Zusammenhang mit den eben genannten Speicherbereichen beinhaltet, daß der Originalbereich der die sicherungswürdigen Daten und/oder Programme SDP enthält, also der Speicherbereich SB 204 bei Erhalt eines Löschbefehls für den gesamten Speicher 104 oder Teile des Speichers 104 bzw. 200 nicht gelöscht wird. Dadurch bleibt der Programmcode im SDP-Bereich, also SB 204, zunächst erhalten. Statt dessen wird der Bereich gelöscht, also SB 203, welcher normalerweise das Backup enthalten würde, in unserem Fall der Datenbereich für die nicht sicherungswürdigen Daten D.
Bei der folgenden Programmierung wird der für den sicherungwürdigen Bereich SB 204 gedachte Teil des Datenstroms, also SDP, in den zuvor gelöschten Bereich SB 203 umgeleitet. Die sicherungswürdigen Daten und/oder Programme SDP müssen in SB 203 nicht ausführbar sein. Dies ermöglicht es, SDP-Programme und/oder Daten beliebigen Ursprungs einzusetzen die lediglich dahingehend ausgelegt sein müssen, daß sie in SB 204 ausführbar sind.
Durch eine optimierte kleine Routine RR, welche im RAM- Speicher im Bereich SB 207 Platz finde, wird der Inhalt von SB 203, also die umgeleiteten, neuen sicherungwürdigen Daten und/oder Programme SDPneu anschließend über die alten SDPalt, welche sich im Bereich SB 204 befinden kopiert und der Speicherbereich SB 203 anschließend gelöscht. Der Speicherbereich SB 203 dient somit lediglich als Zwischenspeicher für die neuen sicherungswürdigen Daten und/oder Programme SDPneu.
Tritt während der Aktivität der RAM-Routine RR ein Abbruch auf, so kann ein unveränderbar ausgelegter Bootblock BB im Speicherbereich SB 201 mittels einer ihm eigenen Kopierroutine den Vorgang vervollständigen. Diese Kopierroutine ist der RAM-Routine RR vergleichbar.
Fig. 3 und 4 geben einen Überblick über den Verfahrensablauf. Dabei werden in Fig. 3 zuerst Programme und Daten programmiert. Der Programmbereich PB umfaßt die Programme P1, die sicherungswürdigen Daten und/oder Programme SDP sowie optional die Programme P2. P1, SDP und optional P2 werden im Rahmen einer Programm- Programmiersitzung programmiert. Der übrige Datenbereich DB wird im Rahmen einer automatisch an die Programm- Programmiersitzung anschließbaren Daten-Programmiersitzung ebenfalls programmiert. Der Bootblock BB ist beispielsweise weder lösch- noch programmierbar ausgelegt und ist deshalb permanent vorhanden. In Block 300 erfolgt der Start des Verfahrensablaufs, beispielsweise durch Eingabe eines Löschbefehls einer externen Programmiereinrichtung für einen bestimmten Speicherbereich oder den gesamten Flashspeicher. Wenn der Bootblock BB nicht veränderbar ausgelegt ist und weder im Flash noch z. B. in der CPU enthalten ist, bleibt dieser natürlich erhalten.
Im Block 301 wird zunächst der Programmbereich PB gelöscht. Dabei wird wie schon gesagt, der Bereich SB 204 mit den SDPalt nicht gelöscht. Somit werden die jetzt vorhandenen Programme P1alt in SB 202 und optional P2alt in SB 209 gelöscht. Die Daten D in Form von Dalt dürfen nun ebenfalls gelöscht werden, weil sich in dieser Ausführungsform der Programm- und Datenbereichsprogrammierung zwingend eine Datenprogrammierung anschließt. Somit wird in Block 301 Dalt im Speicherbereich SB 203 ebenfalls gelöscht. Der Ausgangspunkt war also die Absendung eines einzigen Löschbefehls für den gesamten zu löschenden Bereich, insbesondere den gesamten Flash-Speicher 200. Dies ist unabhängig davon, ob der zu löschende bzw. zu programmierende Bereich einfach zusammenhängend ist oder ob sich in dem zu löschenden bzw. zu programmierenden Bereich sicherungswürdige Unterbereiche befinden, welche eine Sonderbehandlung erfordern.
Nach dem Löschen gelangt man zu Block 302. Darin wird nun der Programmbereich PB programmiert. Die neuen Programme P1neu und optional P2neu werden dabei im jeweiligen Speicherbereiche SB 202 bzw. SB 209 eingeschrieben. Die neuen sicherungswürdigen Daten und/oder Programme SDPneu werden nicht in SB 204 eingeschrieben sondern in den gelöschten Datenbereich SB 203 umgeleitet, damit der Ablauf weiterhin von SDPalt in SB 204 gesteuert werden kann.
Nach der Programmierung des Programmbereichs PB wie beschrieben, gelangt man zu Block 303, in welchem der Programmbereich PB geprüft wird. Dabei können verschiedene wie schon im Stand der Technik genannte Verfahren zur Überprüfung eingesetzt werden. Es wird somit P1neu in SB 202 optional P2neu in SB 209 und schließlich SDPneu im Datenbereich SB 203 durch die noch in SB 204 abgespeicherten sicherungswürdigen Daten und/oder Proqrammen SDPalt überprüft, bevor SDPneu nach dem Zurückkopieren in SB 204 die Ablaufsteuerung übernimmt.
In Abfrage 304 wird überprüft, ob bei der Prüfung Fehler aufgetreten sind. Ist dies der Fall, gelangt man wieder zu Block 301 und der Programmbereich PB wird erneut gelöscht. Dieser Ablauf wird immer noch durch SDPalt gesteuert. Sind bei der Prüfung keine Fehler aufgetreten oder konnten diese korrigiert werden, so gelangt man zu Block 305.
Darin wird nun der Datenbereich DB gelöscht. Zunächst wird in Block 305 die RAM-Routine RR in den RAM-Bereich SB 207 kopiert. Diese Routine RR kann beispielsweise in SDPalt in SB 204 enthalten sein, oder durch Kopieren von Teilen von SDPalt ins RAM 206 gebildet werden. Die RAM-Routine RR in SB 207 löscht nun die sicherungswürdigen Daten und/oder Programme SDPalt in SB 204. Danach werden ebenfalls durch die RAM-Routine RR die neuen, soeben geprüften, sicherungswürdigen Daten und/oder Programme SDPneu aus dem Datenbereich SB 203 in den Bereich SB 204 kopiert. Im Anschluß wird SDPneu in Speicherbereich SB 203 gelöscht. Somit ist in Block 305 die Ablaufsteuerung quasi immer noch bei SDPalt, aus welchem die RAM-Routine RR gebildet oder ausgelagert wird. Daraufhin gelangt man zu Block 306.
Darin wird der Datenbereich DB programmiert. Die neuen Daten Dneu werden in SB 203 eingeschrieben, aus welchem zuvor die SDPneu durch die SDPalt in SB 204 kopiert wurden. In diesem Block wird somit die Ablaufsteuerung von SDPneu in Speicherbereich SB 204 übernommen.
Im darauffolgenden Block 307 wird nun der Datenbereich DB, sprich die Daten Dneu in Speicherbereich SB 203, überprüft. Dies kann ebenso wie der Programmbereich durch die im Stand der Technik genannten Maßnahmen erfolgen. Ist die Prüfung in Ordnung, treten also keine Fehler auf, oder sind diese korrigiert, gelangt man zu Block 309 dem Ende des Ablaufs. Sind nicht korrigierte oder nicht korrigierbare Fehler aufgetreten, ergibt die Abfrage 308, daß der Datenbereich nicht ordnungsgemäß programmiert wurde und man gelangt wieder zu Block 301 und der Ablauf beginnt von neuem.
Somit wird SDPalt in SB 204 solange nicht gelöscht, bis SDPneu in SB 203 erfolgreich geprüft ist. Dies garantiert, daß auch bei Programmierabbrüchen oder Manipulationsversuchen immer eine geprüfte Variante der sicherungwürdigen Daten und/oder Programmen SDP im Steuergerät vorhanden ist, welche permanente Reprogrammierbarkeit sicherstellt.
Im dargestellten Ablauf wird der Programmcode von SDP immer aus dem Speicherbereich SB 204 heraus ausgeführt und nicht aus dessen möglichem Backup-Bereich, dem Datenbereich SB 203. Dieses Prinzip ist mit vergleichsweise weniger Aufwand bei der Programmentwicklung wesentlich betriebssicherer. Das Verfahren ist somit relativ einfach und benötigt lediglich im Anschluß an die Programmierung beispielsweise eines Fahrprogramms bei einem Fahrzeug einen folgenden Befehl oder eine Verzögerung des abschließenden Programmierbefehls, während dessen Abarbeitung das Kopieren der neuen Programmteile in den Zielbereich, sprich Originalbereich erfolgen kann. Dies ist allgemein einsetzbar.
Möglichen Programmiereinrichtungen ist die Speicheraufteilung vorteilhafterweise unbekannt. Diese setzen je einen Löschbefehl auf den Programmbereich PB und/oder den Datenbereich DB ab. Die Umleitung der SDP und das Umkopieren vom temporären Bereich SB 203 in den eigentlichen Zielbereich SB 204 ist beispielsweise an die Löschvorgänge gekoppelt und somit für die möglichen Programmiereinrichtungen nicht sichtbar. Die Programmiereinrichtungen, zum Ändern und/oder Einschreiben von Daten und/oder Programmen, können bezüglich der, die Speicher enthaltenden Steuereinheit extern angeordnet sein, wie z. B. das Programmiergerät 108 aus Fig. 1, oder aber ganz oder teilweise integriert sein. Die Programmiereinrichtungen können somit in verschiedene Mittel aufgeteilt sein, die extern und/oder intern bezüglich der, die zu programmierenden Speicherbereiche enthaltenen Steuereinheit lokalisiert sind. Dadurch ist eine Trennung in Hardware oder Software, welche die Mittel bilden nicht sinnvoll. Die Mittel können somit in Hardware und/oder in Software realisiert bzw. abgebildet sein. So ist eine Kombination aus einem Speicher oder Speicherbereich und darin lokalisierter Daten und/oder Programme, als Ablaufvorschrift, ebenso in festverdrahteter Logik realisierbar. Wie dargestellt ist die Programmierung durch einen Löschbefehl anstoßbar und läuft dann automatisch ab. Der Programmiervorgang kann damit z. B.. auch von der CPU 101 der Steuereinheit selbst durchgeführt werden. Ein erstes Mittel kann nach den obigen Ausführungen somit ebenso ein externes Programmiergerät 108, als Summe aus Hardware und Software sein, wie eine Kombination der CPU 101 der Steuereinheit 100, eines Speicherbereiches SB 204 des nichtflüchtigen Speichers 200 und den diesem Speicherbereich zugeordneten Daten und/oder Programmen SDP (SDPalt oder SDPneu) oder vergleichbare Kombinationen. Die Mittel enthalten somit zusätzlich eine Ausführungseinheit wie die CPU 101 oder den im Programmiergerät 108 vorhandenen Prozessor. Die RAM-Routine RR, als Kopierprogramm, eingeschrieben in den flüchtigen Speicher 206, bzw. dessen Speicherbereich SB 207 kann somit ein weiteres, zweites Mittel darstellen. Weitere Mittel sind damit der Speicherbereich SB 201 mit dem Bootblock BB und der darin für einen Abbruchfall ebenfalls lokalisierten RAM-Routine RR, der Speicherbereich SB 202 mit der. Programmen P1 oder der Speicherbereich SB 209 mit den Programmen P2.
In Fig. 4 ist der Fall dargestellt, daß nur der Datenbereich SB 203 für die Daten D programmiert werden soll. Ein zugeordneter Befehl startet auch hier den Ablauf. Dies kann wiederum ein Löschbefehl sein, dem aber anzusehen ist, daß nur der Datenbereich programmiert werden soll. In Block 401 wird daraufhin der Datenbereich SB 203 gelöscht. In Block 402 wird dann der Datenbereich SB 203 programmiert. Es werden also die Daten Dneu in SB 203 eingeschrieben. In Block 403 werden nun die einprogrammierten Daten wie im vorherigen Beispiel geprüft. Werden dabei durch Abfrage 404 wie vorher Fehler erkannt, gelangt man wieder zu Block 401. Ist die Prüfung in Ordnung, so gelangt man zu Block 405, dem Ende des Ablaufs. Eine einfache reine Datenprogrammierung oder -änderung ist somit weiterhin einfach möglich.

Claims (10)

1. Verfahren zur Änderung und/oder zum Einschreiben von Daten und/oder Programmen, insbesondere Daten und/oder Programme zur Steuerung von Betriebsabläufen in einem Fahrzeug, in wenigstens einem nichtflüchtigen Speicher eines Computersystems, insbesondere eines Speichers einer Steuereinheit eines Fahrzeugs, wobei bereits in dem nichtflüchtigen Speicher in einem zugeordneten Originalbereich enthaltene alte Daten und/oder Programme vor dem Ändern und/oder Einschreiben von neuen Daten und/oder Programmen gelöscht werden, dadurch gekennzeichnet, daß die Daten und/oder Programme in wenigstens erste und zweite Daten und/oder Programme aufgeteilt sind, wobei die zweiten Daten und/oder Programme sicherungswürdig sind oder sicherungswürdige Daten und/oder Programme enthalten und alte zweite Daten und/oder Programme in dem zugeordneten Originalbereich erst gelöscht werden, wenn neue zweite Daten und/oder Programme in einen nicht dem Originalbereich entsprechenden zweiten Speicherbereich eingeschrieben sind und ein Kopierprogramm in einen flüchtigen Speicher eingeschrieben ist, welches die neuen zweiten Daten und/oder Programme aus dem zweiten Speicherbereich in den Originalbereich kopieren kann.
2. Verfahren zur Änderung und/oder zum Einschreiben von Daten und/oder Programmen, insbesondere Daten und/oder Programme zur Steuerung von Betriebsabläufen in einem Fahrzeug, in wenigstens einem nichtflüchtigen Speicher eines Computersystems, insbesondere eines Speichers einer Steuereinheit eines Fahrzeugs, wobei bereits in dem nichtflüchtigen Speicher in einem Speicherbereich enthaltene alte Daten und/oder Programme vor dem Ändern und/oder Einschreiben von neuen Daten und/oder Programmen gelöscht werden, dadurch gekennzeichnet, daß die neuen Daten und/oder Programme, durch ein Kopierprogramm, das in einen flüchtigen Speicher eingeschrieben wird, in den Speicherbereich eingeschrieben werden, nachdem die alten Daten und/oder Programme gelöscht wurden, ohne vor, den alten Daten und/oder Programmen eine Sicherungskopie anzulegen.
3. Verfahren zur Änderung und/oder zum Einschreiben von Daten und/oder Programmen, insbesondere Daten und/oder Programme zur Steuerung von Betriebsabläufen in einem Fahrzeug, in wenigstens einem nichtflüchtigen Speicher eines Computersystems, insbesondere eines Speichers einer Steuereinheit des Fahrzeugs, wobei bereits in dem nichtflüchtigen Speicher in zugeordneten Speicherbereichen enthaltene alte Daten und/oder Programme vor dem Ändern und/oder Einschreiben von neuen Daten und/oder Programmen am Anfang des Verfahrens durch einen Löschbefehl gelöscht werden, dadurch gekennzeichnet, daß die alten Daten und/oder Programme durch den Löschbefehl nur teilweise gelöscht werden, wobei die Daten und/oder Programme in wenigstens erste und zweite Daten und/oder Programme aufgeteilt sind, wobei wenigstens die zweiten Daten und/oder Programme sicherungswürdig sind oder sicherungswürdige Daten und/oder Programme enthalten und alte zweite Daten und/oder Programme in dem zugeordneten Speicherbereich, dem Originalbereich, erhalten bleiben.
4. Verfahren nach Anspruch 1 oder 3, dadurch gekennzeichnet, daß die zweiten Daten und/oder Programme nur im Originalbereich ausgeführt werden.
5. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Kopierprogramm in den zweiten Daten und/oder Programmen enthalten ist und durch diese in den flüchtigen Speicher geladen wird.
6. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Kopierprogramm in dritten Daten und/oder Programmen enthalten ist, die einen Startvorgang des Computersystems durchführen können und durch die dritten Daten und/oder Programme in den flüchtigen Speicher ladbar ist.
7. Verfahren nach Anspruch 1 oder 3, dadurch gekennzeichnet, daß die zweiten Daten und/oder Programme nur im Originalbereich ausführbar sind.
8. Vorrichtung, insbesondere in einem Fahrzeug, mit wenigstens einem nichtflüchtigen Speicher und wenigstens einem flüchtigen Speicher und ersten Mitteln zum Ändern und/oder zum Einschreiben von Daten und/oder Programmen in wenigstens den nichtflüchtigen Speicher, wobei die ersten Mittel bereits in dem nichtflüchtigen Speicher in einem zugeordneten Originalbereich enthaltene alte Daten und/oder Programme vor dem Ändern und/oder Einschreiben von neuen Daten und/oder Programmen löschen, dadurch gekennzeichnet, daß zweite Mittel enthalten sind, die den flüchtigen Speicher beinhalten, wobei die Daten und/oder Programme in wenigstens erste und zweite Daten und/oder Programme aufgeteilt sind, wobei wenigstens die zweiten Daten und/oder Programme sicherungswürdig sind oder sicherungswürdige Daten und/oder Programme enthalten und die ersten Mittel die alten zweiten Daten und/oder Programme in dem zugeordneten Originalbereich des nichtflüchtigen Speichers erst löschen, wenn die ersten Mittel die neuen zweiten Daten und/oder Programme in einen vom Originalbereich verschiedenen zweiten Speicherbereich des nichtflüchtigen Speichers eingeschrieben haben und die zweiten Mittel die neuen zweiten Daten und/oder Programme in den Originalbereich kopieren können.
9. Vorrichtung, insbesondere in einem Fahrzeug, mit wenigstens einem nichtflüchtigen Speicher und wenigstens einem flüchtigen Speicher und ersten Mitteln zum Ändern und/oder zum Einschreiben von Daten und/oder Programmen, insbesondere Daten und/oder Programme zur Steuerung von Betriebsabläufen in dem Fahrzeug, in den nichtflüchtigen Speicher, und die ersten Mittel bereits in dem nichtflüchtigen Speicher enthaltene alte Daten und/oder Programme vor dem Ändern und/oder Einschreiben von neuen Daten und/oder Programmen löschen, dadurch gekennzeichnet, daß zweite Mittel enthalten sind, die den flüchtigen Speicher beinhalten und die neuen Daten und/oder Programme, nachdem die alten Daten und/oder Programme gelöscht sind, in den nichtflüchtigen Speicher einschreiben ohne daß die ersten oder zweiten Mittel eine Sicherungskopie von den alten Daten und/oder Programmen anlegen.
10. Vorrichtung, insbesondere in einem Fahrzeug, mit wenigstens einem nichtflüchtigen Speicher und wenigstens einem flüchtigen Speicher und ersten Mitteln zum Ändern und/oder zum Einschreiben von Daten und/oder Programmen in wenigstens den nichtflüchtigen Speicher, insbesondere Daten und/oder Programme zur Steuerung von Betriebsabläufen in dem Fahrzeug, und die ersten Mittel bereits in dem ersten Speicher in zugeordneten Speicherbereichen enthaltene alte Daten und/oder Programme vor dem Ändern und/oder Einschreiben von neuen Daten und/oder Programmen zuerst durch einen Löschbefehl löschen, dadurch gekennzeichnet, daß die alten Daten und/oder Programme durch den Löschbefehl nur teilweise gelöscht werden, wobei die Daten und/oder Programme in wenigstens erste und zweite Daten und/oder Programme aufgeteilt sind, wobei wenigstens die zweiten Daten und/oder Programme sicherungswürdig sind oder sicherungswürdige Daten und/oder Programme enthalten und somit zweite Mittel, welche die alten zweiten Daten und/oder Programme und den diesen zugeordneten Speicherbereich, den Originalbereich, beinhalten, erhalten bleiben und die zweiten Mittel nach dem Löschbefehl das Ändern und/oder Einschreiben von Daten und/oder Programmen durchführen.
DE19931184A 1999-07-07 1999-07-07 Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten Ceased DE19931184A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE19931184A DE19931184A1 (de) 1999-07-07 1999-07-07 Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
IT2000MI001380A IT1318025B1 (it) 1999-07-07 2000-06-20 Procedimento e dispositivo per variare il contenuto di memoria diapparecchi di comando.
FR0008787A FR2798205B1 (fr) 1999-07-07 2000-07-06 Procede et dispositif pour modifier le contenu de la memoire d'appareil de commande notamment pour les operations de fonctionnement d'un vehicule
US09/611,866 US6546455B1 (en) 1999-07-07 2000-07-07 Method and device for modifying the memory contents of control equipment
JP2000206124A JP2001043101A (ja) 1999-07-07 2000-07-07 制御装置のメモリ内容変更方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19931184A DE19931184A1 (de) 1999-07-07 1999-07-07 Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten

Publications (1)

Publication Number Publication Date
DE19931184A1 true DE19931184A1 (de) 2001-01-11

Family

ID=7913833

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19931184A Ceased DE19931184A1 (de) 1999-07-07 1999-07-07 Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten

Country Status (5)

Country Link
US (1) US6546455B1 (de)
JP (1) JP2001043101A (de)
DE (1) DE19931184A1 (de)
FR (1) FR2798205B1 (de)
IT (1) IT1318025B1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2956493A1 (fr) * 2010-02-18 2011-08-19 Peugeot Citroen Automobiles Sa Dispositif de stockage d'informations sur l'etat d'accumulateurs electriques
US8365037B2 (en) 2007-01-03 2013-01-29 GM Global Technology Operations LLC Vehicle parameter infrastructure security strategy
EP2608037A3 (de) * 2011-12-23 2014-02-19 Valeo Schalter und Sensoren GmbH Verfahren zum Verwalten von Daten in einem Flash-Speicher, Fahrerassistenzeinrichtung und Kraftfahrzeug

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
FR2848702B1 (fr) * 2002-12-12 2005-03-18 A S K Procede securise de modification de donnees enregistrees dans une carte a memoire
US6904325B2 (en) * 2003-10-23 2005-06-07 General Motors Corporation Method for optimizing ECU parallel flash programming arrangement on a CAN-based vehicle serial bus in general assembly
DE602005003778T2 (de) * 2005-03-08 2008-04-30 Robert Bosch Gmbh Verfahren und Vorrichtung zum Wiederbeschreiben eines Sektors mit Bootloader-Software in einem sektor-löschbaren nichtflüchtigen Halbleiterspeicher
US9104521B2 (en) * 2009-03-16 2015-08-11 Tyco Electronics Subsea Communications Llc System and method for remote device application upgrades
MX2012002959A (es) * 2009-09-15 2012-06-25 Kpit Cummins Infosystems Ltd Sistema de impulsion hibrido con requerimiento de potencia reducido para un vehiculo.
MX348341B (es) 2009-09-15 2017-06-06 Kpit Cummins Infosystems Ltd * Asistencia de motor para un vehículo híbrido basado sobre un rango de impulsión previsto..
WO2011033528A2 (en) 2009-09-15 2011-03-24 Kpit Cummins Infosystems Limited Motor assistance for a hybrid vehicle
MX2012002960A (es) * 2009-09-15 2012-06-25 Kpit Cummins Infosystems Ltd Sistema de impulsion hibrido para vehiculo teniendo un motor como movedor principal.
CN102483020B (zh) 2009-09-15 2015-03-04 Kpit技术有限责任公司 将交通工具转换为混合动力交通工具的方法
WO2011033529A2 (en) 2009-09-15 2011-03-24 Kpit Cummins Infosystems Ltd. Motor assistance for a hybrid vehicle based on user input

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5637883A (en) * 1979-09-04 1981-04-11 Fanuc Ltd Information rewrite system
US5238729A (en) 1991-04-05 1993-08-24 Minnesota Mining And Manufacturing Company Sensors based on nanosstructured composite films
US5878256A (en) * 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
IT1252261B (it) * 1991-11-15 1995-06-08 Alcatel Italia Metodo di aggiornamento di dati memorizzanti in locazioni di memoria di una unita' di memoria, in particolare di una memoria flash eprom
GB9307623D0 (en) * 1993-04-13 1993-06-02 Jonhig Ltd Data writing to eeprom
DE4332499A1 (de) 1993-09-24 1995-03-30 Bosch Gmbh Robert Verfahren zur vollständigen Neuprogrammierung eines löschbaren, nichtflüchtigen Speichers
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
GB9601900D0 (en) * 1996-01-31 1996-04-03 Neopost Ltd Electronic apparatus including a memory device and method of reprogramming the memory device
US5978808A (en) * 1995-12-27 1999-11-02 Intel Corporation Virtual small block file manager for flash memory array
US5818755A (en) * 1996-10-16 1998-10-06 Fujitsu Limited Storage apparatus having a nonvolatile storage device capable of retaining data after an incomplete write operation and method of accessing same
JP3166634B2 (ja) * 1996-11-07 2001-05-14 日産自動車株式会社 車両用制御装置の故障記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8365037B2 (en) 2007-01-03 2013-01-29 GM Global Technology Operations LLC Vehicle parameter infrastructure security strategy
FR2956493A1 (fr) * 2010-02-18 2011-08-19 Peugeot Citroen Automobiles Sa Dispositif de stockage d'informations sur l'etat d'accumulateurs electriques
EP2608037A3 (de) * 2011-12-23 2014-02-19 Valeo Schalter und Sensoren GmbH Verfahren zum Verwalten von Daten in einem Flash-Speicher, Fahrerassistenzeinrichtung und Kraftfahrzeug

Also Published As

Publication number Publication date
JP2001043101A (ja) 2001-02-16
US6546455B1 (en) 2003-04-08
ITMI20001380A0 (it) 2000-06-20
ITMI20001380A1 (it) 2001-12-20
IT1318025B1 (it) 2003-07-21
FR2798205B1 (fr) 2007-10-12
FR2798205A1 (fr) 2001-03-09

Similar Documents

Publication Publication Date Title
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE19931184A1 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE60119412T2 (de) Speicherüberschreibungssystem für eine Fahrzeugsteuereinrichtung
EP0067364B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE102005013285A1 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE602005003778T2 (de) Verfahren und Vorrichtung zum Wiederbeschreiben eines Sektors mit Bootloader-Software in einem sektor-löschbaren nichtflüchtigen Halbleiterspeicher
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE102014116321A1 (de) Update einer Firmware
DE102005040916A1 (de) Speicheranordnung und Betriebsverfahren dafür
EP1037140B1 (de) Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
WO2017125181A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
DE102005001430A1 (de) Verfahren zur Beschreibung von Speicherinhalten und zur Beschreibung des Transfers von Speicherinhalten
EP3378006B1 (de) Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller
WO2004114131A1 (de) Verfahren zum nachladen einer software in den bootsektor eines programmierbaren lesespeicher
WO2017125182A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
DE102016106572A1 (de) Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug
DE10030990A1 (de) Verfahren zum Beschreiben und Löschen eines nichtflüchtigen Speicherbereichs
EP1197854A2 (de) Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
DE10148047A1 (de) Verfahren und Vorrichtung zur Sicherung von Daten in einem Speicherbaustein und Speicherbaustein
EP1397736B1 (de) Verfahren zum betreiben eines steuergeräts
DE102021002079B3 (de) Verfahren zum effizienten Ablegen von Daten
DE102017220708A1 (de) Verfahren und Vorrichtung zum Betreiben einer Speichereinrichtung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 12/16 AFI20051017BHDE

8131 Rejection