DE19931184A1 - 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
- 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
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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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
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
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.
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.
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.
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.
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)
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)
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)
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 | 日産自動車株式会社 | 車両用制御装置の故障記憶装置 |
-
1999
- 1999-07-07 DE DE19931184A patent/DE19931184A1/de not_active Ceased
-
2000
- 2000-06-20 IT IT2000MI001380A patent/IT1318025B1/it active
- 2000-07-06 FR FR0008787A patent/FR2798205B1/fr not_active Expired - Fee Related
- 2000-07-07 US US09/611,866 patent/US6546455B1/en not_active Expired - Fee Related
- 2000-07-07 JP JP2000206124A patent/JP2001043101A/ja active Pending
Cited By (3)
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 |