DE10112056A1 - Data modification method for nonvolatile electrically erasable memory by receiving modification routines via bus and storing in volatile memory - Google Patents

Data modification method for nonvolatile electrically erasable memory by receiving modification routines via bus and storing in volatile memory

Info

Publication number
DE10112056A1
DE10112056A1 DE10112056A DE10112056A DE10112056A1 DE 10112056 A1 DE10112056 A1 DE 10112056A1 DE 10112056 A DE10112056 A DE 10112056A DE 10112056 A DE10112056 A DE 10112056A DE 10112056 A1 DE10112056 A1 DE 10112056A1
Authority
DE
Germany
Prior art keywords
memory
data
volatile
electrically erasable
routines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE10112056A
Other languages
German (de)
Inventor
Torsten Hunte
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.)
Jungheinrich AG
Original Assignee
Jungheinrich AG
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 Jungheinrich AG filed Critical Jungheinrich AG
Priority to DE10112056A priority Critical patent/DE10112056A1/en
Publication of DE10112056A1 publication Critical patent/DE10112056A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Abstract

A microprocessor executes modification routines for reading data from the non-volatile memory and writing data into it. The method involves receiving modification routines via a bus, such as a Controller Area Network (CAN) bus, and storing them in a volatile program memory. The modification routines are then executed by the microprocessor in the program memory, to modify data in the non-volatile electrically erasable memory.

Description

Die Erfindung betrifft ein Verfahren zur Änderung von Daten in einem nichtflüchti­ gen, elektrisch löschbaren Speicher.The invention relates to a method for changing data in a non-volatile gen, electrically erasable memory.

Aus US 6,009,496 ist bekannt, daß ein Mikrocontroller eine Steuerroutine zum Um­ programmieren von Daten in einem Flash-Speicher des Mikrocontroller aufweist. Hierbei ist die Steuerroutine dauerhaft in einem ROM gespeichert.From US 6,009,496 it is known that a microcontroller is a control routine for Um programming data in a flash memory of the microcontroller. The control routine is permanently stored in a ROM.

Aus WO 98/59296 ist ein Mikroprozessor mit ROM und einem Flash-Speicher be­ kannt. Der Flash-Speicher ist in einen beschreibbaren und einen schreibgesperrten Be­ reich unterteilt. Zur Erneuerung von Programmcode in dem nicht-flüchtigen Speicher ist in dem schreibgesperrten Bereich des nicht-flüchtigen Speichers ein Programmcode abgelegt, mit dem der Mikrocontroller die Integrität von Daten in dem verbleibenden beschreibbaren Bereich des nicht-flüchtigen Speichers prüfen und Daten von einem Hauptrechner anfordern kann. In einem ROM-Speicher sind Programmroutinen abge­ legt, die den Mikroprozessor in die Lage versetzen, Daten in dem beschreibbaren Be­ reich des nicht-flüchtigen Speichers zu löschen bzw. in diesen zu schreiben. Auf die Anforderung an den Hauptrechner wird ein neuer Programmcode in den RAM-Spei­ cher geschrieben. Nachfolgend wird der alte Programmcode in mindestens einem aus­ gewählten Abschnitt des beschreibbaren Bereichs des nicht-flüchtigen Speichers ge­ löscht und der neue Programmcode von dem RAM in den ausgewählten Bereich des nicht-flüchtigen Speichers übertragen.WO 98/59296 describes a microprocessor with ROM and a flash memory known. The flash memory is in a writable and a write-locked area richly divided. For the renewal of program code in the non-volatile memory  is a program code in the write-locked area of the non-volatile memory filed with which the microcontroller maintains the integrity of data in the remaining Check writable area of non-volatile memory and data from one Main computer can request. Program routines are stored in a ROM memory which enables the microprocessor to store data in the writable Be erase or write to the non-volatile memory. On the A request to the main computer is a new program code in the RAM memory cher written. Subsequently, the old program code is made in at least one selected portion of the writable area of the non-volatile memory clears and the new program code from the RAM into the selected area of the non-volatile memory.

Nachteilig bei dem aus dem Stand der Technik bekannten Verfahren ist, daß durch Programmfehler, sowohl in den Anwendungsprogrammen als auch in den Steuerpro­ grammen des Mikroprozessors, ein unbeabsichtigtes Überschreiben der Daten in dem nicht-flüchtigen Speicher erfolgen kann.A disadvantage of the method known from the prior art is that Program errors, both in the application programs and in the tax pro gram the microprocessor, an unintentional overwriting of the data in the non-volatile memory can be done.

Auch in US 5,901,330 sind Routinen zur Programmierung eines Speichers auf dem Schaltkreis sowohl in einem ROM als auch in Flash-Speicherzellen abgelegt.In US 5,901,330 there are routines for programming a memory on the Circuit stored in both a ROM and flash memory cells.

Aus der japanischen Patentanmeldung 10-061409 (Veröffentlichungsnummer 11- 259371) ist bekannt, Routinen zum Schreiben in den nicht-flüchtigen Speicher in einer nicht ausführbaren Form in dem ROM-Speicher abzulegen. Die Routinen werden dann aus dem ROM-Speicher in den RAM-Speicher geladen, wo sie nur bei Vorliegen ent­ sprechender Bedingungen für das Umschreiben des nicht-flüchtigen Speichers zu lauf­ fähigen Routinen modifiziert werden. Nachteilig an diesem Verfahren sind sowohl der große Speicherbedarf des ROM's als auch der aufwendige Verfahrensablauf, in dessen Verlauf Zustandsbedingungen für eine Änderung der Daten in dem nicht-flüchtigen Speicher abgefragt werden müssen und nachfolgend der Programmcode modifiziert werden muß.From Japanese patent application 10-061409 (publication number 11- 259371) is known to write to non-volatile memory in a routine  to store non-executable form in the ROM memory. The routines are then loaded from the ROM into the RAM, where they only exist if they exist speaking conditions for rewriting the non-volatile memory to run capable routines are modified. A disadvantage of this method are both large memory requirement of the ROM as well as the complex procedure, in which History condition conditions for a change in the data in the non-volatile Memory must be queried and then modified the program code must become.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Änderung von Daten in einem nicht-flüchtigen, elektrisch löschbaren Speicher bereitzustellen, das sicher ge­ gen ein irrtümliches Aufrufen des Verfahrens ist und zugleich geringe Anforderungen an den ROM-Speicher stellt.The invention has for its object a method for changing data in to provide a non-volatile, electrically erasable memory that is safe is an erroneous call of the procedure and at the same time low requirements to the ROM memory.

Erfindungsgemäß wird die Aufgabe durch das Verfahren mit den Merkmalen aus An­ spruch 1 gelöst.According to the invention, the object is achieved by the method with the features from An spell 1 solved.

Bei dem erfindungsgemäßen Verfahren laufen auf einem Mikroprozessor Änderungs­ routinen zur Änderung von Daten in einem nicht-flüchtigen, elektrisch löschbaren Speicher ab. Mit den Änderungsroutinen können die Daten aus dem nicht-flüchtigen, elektrisch löschbaren Speicher gelesen und in diesen geschrieben sowie aus diesen gelöscht werden. Die Änderungsroutinen versetzen den Mikroprozessor in die Lage, den Speicherinhalt des nicht-flüchtigen, elektrisch löschbaren Speichers zu ändern. Er­ findungsgemäß werden die Änderungsroutinen über einen Bus empfangen und in ei­ nen flüchtigen Programmspeicher geladen. Im Unterschied zu den bekannten Verfah­ ren werden also die Änderungsroutinen nicht dauerhaft in einem Speicher abgelegt, sondern werden nur bei Bedarf an den Mikroprozessor übertragen, und von diesem in einen flüchtigen Programmspeicher geschrieben. Nach dem Abspeichern der Ände­ rungsroutinen in dem Programmspeicher führt der Mikroprozessor mit den Ände­ rungsroutinen die erforderlichen Änderungen der Daten in dem nicht-flüchtigen, elek­ trisch lösbaren Speicher durch. Der Vorteil dieses Verfahrens besteht darin, daß die Änderungsroutinen vor einem Ändern der Daten geladen werden müssen, so daß eine irrtümliche Änderung der Daten beispielsweise durch Programmfehler in dem nicht­ flüchtigen Speicher vermieden wird. Hierdurch entsteht eine erhöhte Sicherheit, da selbst fehlerhafte Anwendungs- und Steuerprogramme die Änderungsroutinen nicht irrtümlich aufrufen können. Hinzu kommt, daß die Änderungsroutinen nicht dauerhaft abgelegt werden müssen, so daß insgesamt weniger Speicher durch diese belegt wird.In the method according to the invention, changes run on a microprocessor routines to change data in a non-volatile, electrically erasable Memory. With the change routines, the data from the non-volatile, Read and write electrically erasable memory and from it to be deleted. The change routines enable the microprocessor to  to change the memory content of the non-volatile, electrically erasable memory. he according to the change routines are received via a bus and in ei a volatile program memory is loaded. In contrast to the known procedure So the change routines are not permanently stored in a memory, but are only transferred to the microprocessor when necessary, and from this in written a volatile program memory. After saving the changes The microprocessor carries out routines in the program memory with the changes routines the necessary changes to the data in the non-volatile, elec trically removable storage. The advantage of this method is that the Change routines must be loaded before changing the data so that a erroneous changes to the data, for example, due to program errors in the volatile memory is avoided. This creates increased security because even faulty application and control programs do not change routines can call erroneously. In addition, the change routines are not permanent must be stored so that less memory is occupied by them.

Um eine Änderung der Daten in dem nicht-flüchtigen, elektrisch löschbaren Speicher nach vorgenommener Änderung zu vermeiden, werden die Änderungsroutinen nach durchgeführter Änderung der Daten aus dem Programmspeicher wieder gelöscht. Nachfolgend an den Löschvorgang ist der Mikroprozessor nicht länger in der Lage, Daten in dem nicht-flüchtigen Speicher zu ändern. To change the data in the non-volatile, electrically erasable memory after avoiding the change made, the change routines are post performed change of the data from the program memory deleted. Following the deletion process, the microprocessor is no longer able to Change data in the non-volatile memory.  

Bei der Verwendung des Verfahrens, insbesondere für Flurförderzeuge, hat es sich als vorteilhaft erwiesen, einen Controller Area Network-Bus (CAN-Bus) einzusetzen. Die Verwendung eines solchen Busses für Kraftfahrzeuge ist an sich bekannt. Der Vorteil von CAN besteht darin, daß dieses Netzwerk für Echtzeit-Anwendungen, Multiplex- Anwendungen, mobile Kommunikationsanwendungen und Diagnoseanwendungen eingesetzt werden kann. CAN arbeitet nach dem "Multi-Master"-Prinzip, bei dem mehrere gleichberechtigte Steuereinheiten durch eine lineare Busstruktur miteinander verbunden sind. Diese Struktur hat den Vorteil, daß das Bussystem bei Ausfall eines Teilnehmers noch für alle anderen Teilnehmer weiterhin voll verfügbar ist. Der Auf­ bau eines CAN-Moduls zur Kommunikation eines Mikrocontrollers mit einem CAN- Bus ist beispielsweise aus der US 5,958,029 bekannt.When using the method, especially for industrial trucks, it has proven to be proven to be advantageous to use a controller area network bus (CAN bus). The Use of such a bus for motor vehicles is known per se. The advantage of CAN is that this network for real-time applications, multiplex Applications, mobile communication applications and diagnostic applications can be used. CAN works according to the "multi-master" principle, in which several equal control units with each other through a linear bus structure are connected. This structure has the advantage that the bus system should one fail Participant is still fully available for all other participants. The up construction of a CAN module for communication of a microcontroller with a CAN Bus is known for example from US 5,958,029.

Bevorzugt ist bei dem erfindungsgemäßen Verfahren als nicht-flüchtiger, elektrisch löschbarer Speicher ein FLASH-Speicher vorgesehen. Alternativ können jedoch auch andere nicht-flüchtige und elektrisch löschbare Speicher wie beispielsweise EE- PROM's eingesetzt werden.Is preferred in the method according to the invention as non-volatile, electrical erasable memory a FLASH memory is provided. Alternatively, however, you can also other non-volatile and electrically erasable memories such as EE- PROM's are used.

In einer bevorzugten Ausgestaltung des Verfahrens ist der nicht-flüchtige, elektrisch löschbare Speicher in einen unveränderlichen Block und einen veränderlichen Block unterteilt, wobei die zu ändernden Daten in dem veränderlichen Block abgelegt sind. Durch die Aufteilung des nicht-flüchtigen Speichers in zwei Blöcke, kann zusätzlich ein irrtümliches Überschreiben eines Teils der in diesen Speicher abgelegten Daten vermieden werden.In a preferred embodiment of the method, the non-volatile is electrical erasable memory into an immutable block and a changeable block divided, the data to be changed being stored in the variable block. By dividing the non-volatile memory into two blocks, additional  an erroneous overwriting of part of the data stored in this memory be avoided.

In einer zweckmäßigen Weiterführung des Verfahrens sind in dem unveränderlichen Block die Routinen zum Laden und Speichern der über den Bus empfangenen Ände­ rungsroutinen in dem flüchtigen Programmspeicher abgelegt. Zweckmäßigerweise sind in dem unveränderlichen Block auch Routinen zur Bildung einer Prüfsumme für die in dem veränderlichen Block gespeicherten Daten vorgesehen. Auch können Rou­ tinen in dem unveränderlichen Block vorgesehen sein, die eine Verzögerung der Pro­ grammführung bewirken.In an expedient continuation of the procedure are unchangeable in the Block the routines for loading and saving the changes received via the bus stored in the volatile program memory. Conveniently, are routines for creating a checksum for the data stored in the variable block is provided. Also Rou tinen be provided in the immutable block that delay the pro effect gram guidance.

Unter Verwendung dieser Routinen zur Bildung einer Prüfsumme wird in dem verän­ derlichen Block stets eine Prüfsumme der Daten gespeichert, um vor einem Zugriff auf die Daten und dem Ausführen eines mit den Daten gespeicherten Programmcodes deren Integrität prüfen zu können.Using these routines to generate a checksum, this is changed The block always stores a checksum of the data to prevent access on the data and executing a program code stored with the data to be able to check their integrity.

Die Daten in dem veränderlichen Block des nicht-flüchtigen Speichers bilden ein An­ wendungsprogramm, das durch den Mikroprozessor ausführbar ist. Mit der Änderung der Daten kann ein vollständig neues Programm oder können Teile des Programms gespeichert werden. The data in the variable block of non-volatile memory is on Application program that can be executed by the microprocessor. With the change The data can be a completely new program or parts of the program get saved.  

Besonders bevorzugt werden die Daten in dem nicht-flüchtigen Speicher gelöscht, nachdem die Programmausführung zu den Änderungsroutinen verzweigt ist. In einem nachfolgenden Schritt werden die neuen Daten für den veränderlichen Block über den CAN-Bus empfangen und von den Änderungsroutinen in den veränderlichen Block des nicht-flüchtigen Speichers geschrieben. Bevorzugt erfolgt das Löschen der Daten in dem nicht-flüchtigen Speicher ansprechend auf ein über den CAN-Bus empfange­ nes Signal.The data in the non-volatile memory are particularly preferably deleted, after the program execution branches to the change routines. In one Subsequent step, the new data for the variable block over the CAN bus received and from the change routines in the changeable block of the non-volatile memory. The data is preferably deleted in the non-volatile memory in response to receiving via the CAN bus signal.

Ein bevorzugtes Ausführungsbeispiel des erfindungsgemäßen Verfahrens wird nach­ folgend mit Bezug auf die Figuren näher beschrieben. Es zeigt:A preferred embodiment of the method according to the invention is shown in described below with reference to the figures. It shows:

Fig. 1 einen schematischen Aufbau einer programmgesteuerten Komponente mit CPU, flüchtigem und nicht-flüchtigem Speicher, Fig. 1 shows a schematic structure of a program-controlled component having CPU, volatile and non-volatile memory,

Fig. 2 eine schematische Darstellung der Speicher und ihrer Belegung und Fig. 2 is a schematic representation of the memory and its allocation and

Fig. 3 einen Ablaufplan zur Aktualisierung bzw. zum Starten eines Anwendungspro­ gramms. Fig. 3 is a flowchart for updating or starting an application program.

Fig. 1 zeigt den Aufbau einer elektronischen, programmgesteuerten Komponente. Sol­ che Komponenten werden für unterschiedliche Zwecke eingesetzt, wobei Programme auf den Komponenten ablaufen. Dabei tritt das Bedürfnis auf, die Software der Kom­ ponenten zu erneuern und anzupassen. Fig. 1 shows the structure of an electronic program-controlled component. Such components are used for different purposes, with programs running on the components. The need arises to renew and adapt the software of the components.

In dem dargestellten Beispiel ist der Prozessor 10 mit einem CAN-Bus 12 verbunden, um Daten von dem Bus zu empfangen und zu verarbeiten. Die Verbindung erfolgt über die im Stand der Technik bekannten Module bzw. Schnittstellen, die in Fig. 1 nicht dargestellt sind. Zusätzlich zu dem Prozessor 10 ist als nicht-flüchtiger Speicher ein Flash-Speicher 14 vorgesehen. Ein flüchtiger Speicher 16 ist als Programmspei­ cher konfigurierbar und besitzt eine ausreichende Größe zur Aufnahme von Program­ mieralgorithmen. Beide Speicher sind in an sich bekannter Weise, beispielsweise über einen internen Bus, mit dem Prozessor 10 verbunden.In the example shown, the processor 10 is connected to a CAN bus 12 to receive and process data from the bus. The connection is made via the modules or interfaces known in the prior art, which are not shown in FIG. 1. In addition to the processor 10 , a flash memory 14 is provided as the non-volatile memory. A volatile memory 16 is configurable as a program memory and is of sufficient size to accommodate programming algorithms. Both memories are connected to the processor 10 in a manner known per se, for example via an internal bus.

Der Flash-Speicher 14 ist in einen unveränderlichen Block 18 und einen veränderli­ chen Block 20 unterteilt. In dem unveränderlichen Block 18 befindet sich ein Lade­ programm, mit dem ein beliebiges Programm über den CAN-Bus 12 in den flüchtigen Speicher 16 der Komponente übertragen werden kann. Dieses Ladeprogramm unter­ scheidet sich von dem Änderungsprogramm, mit dem der Mikroprozessor 10 in die Lage versetzt wird, Daten in den veränderlichen Block 20 des nicht-flüchtigen Spei­ chers zu lesen, zu schreiben oder aus diesem zu löschen.The flash memory 14 is divided into an immutable block 18 and a variable block 20 . In the unchangeable block 18 there is a loading program with which any program can be transferred via the CAN bus 12 into the volatile memory 16 of the component. This loading program differs from the change program with which the microprocessor 10 is enabled to read, write or delete data in the variable block 20 of the non-volatile memory.

Fig. 2 zeigt die Belegung der Speicher während der Aktualisierung von Software. In dem unveränderlichen Block 18 sind die Routinen zur Initialisierung des Prozessors sowie zur Aktivierung von Algorithmen zum Herunterladen von Daten vom CAN-Bus 12 in den flüchtigen Programmspeicher und Routinen zum Überprüfen der Prüfsumme des Flash-Speichers sowie zum Starten von Anwendungsprogrammen vorgesehen. Diese Routinen sind unveränderlich und bleiben in dem Block 18 abgelegt. Fig. 2 shows the allocation of memory during the updating of software. The unchangeable block 18 contains the routines for initializing the processor and for activating algorithms for downloading data from the CAN bus 12 into the volatile program memory and routines for checking the checksum of the flash memory and for starting application programs. These routines are unchangeable and remain stored in block 18 .

In dem veränderlichen Block 20 des nicht-flüchtigen Speichers ist das Anwendungs­ programm sowie die Prüfsumme des veränderlichen Blocks abgelegt. Die Änderungs­ routinen sind nur während des Vorgangs zur Aktualisierung des Anwendungspro­ gramms in dem RAM-Speicher 16 abgelegt. Nur wenn diese Änderungsroutinen in den Speicher 16 geladen sind, können Daten in dem veränderlichen Block 20 über­ schrieben werden.The application program and the checksum of the variable block are stored in the variable block 20 of the non-volatile memory. The change routines are only stored in the RAM 16 during the process of updating the application program. Only when these change routines are loaded into the memory 16 can data in the variable block 20 be overwritten.

In Fig. 3 ist der Verfahrensablauf zum Starten eines Anwendungsprogramms darge­ stellt. In einem ersten Schritt 22 wird der Prozessor initialisiert. Nach dem Initialisie­ ren erfolgt in einem Schritt 24 die Abfrage, ob über den CAN-Bus 12 ein sogenannten Flash-Modus-Signal vorliegt. Die Abfrage erfolgt beispielsweise in der für CAN- Busse bekannten Weise über die sogenannten Botschaftsrahmen. Liegt das Signal für den Flash-Modus vor, so wird zu Schritt 26 verzweigt, in dem auf weitere Komman­ dos des CAN-Busses gewartet wird.In Fig. 3, the process flow for starting an application program is Darge. In a first step 22 , the processor is initialized. After the initialization, there is a query in step 24 as to whether a so-called flash mode signal is present via the CAN bus 12 . The query takes place, for example, in the manner known for CAN buses via the so-called message frames. If the signal for the flash mode is present, the process branches to step 26 , in which further commands of the CAN bus are waited for.

Liegt kein Kommando für den Flash-Modus vor, so wird während oder nach Ablauf einer Wartezeit die Prüfsumme des veränderlichen Flash-Speicher-Blocks berechnet und mit dem zuvor gespeicherten Wert in Schritt 28 verglichen. Stimmen diese Werte überein, so wird mit Verfahrensschritt 30 das Anwendungsprogramm gestartet.If there is no command for the flash mode, the checksum of the variable flash memory block is calculated during or after a waiting time has elapsed and is compared with the previously stored value in step 28 . If these values match, method step 30 starts the application program.

Zur Aktualisierung des Anwendungsprogrammes werden zunächst die Algorithmen zum Löschen und Programmieren des nicht-flüchtigen Speichers über den CAN-Bus in den flüchtigen Speicher geladen. Nach einem erfolgreichen Prüfsummenvergleich verzweigt die Programmausführung des Prozessors in diese Algorithmen. Im nächsten Schritt wird auf eine Anforderung über den CAN-Bus der veränderliche Block des nicht-flüchtigen Speichers gelöscht. Anschließend wird das Anwendungsprogramm über den CAN-Bus an die Komponente übertragen und durch die Software-Aktualisie­ rungsalgorithmen dauerhaft in dem nicht-flüchtigen Speicher abgelegt. Nach erfolgrei­ chem Übertragen des Anwendungsprogramms verzweigt die Programmausführung in das Ladeprogramm im unveränderlichen Block des nicht-flüchtigen Speichers. Durch das Ladeprogramm werden anschließend die Aktualisierungsalgorithmen im flüchti­ gen Speicher des Prozessors gelöscht.The algorithms are used to update the application program for deleting and programming the non-volatile memory via the CAN bus loaded into volatile memory. After a successful checksum comparison branches the program execution of the processor into these algorithms. In the next Upon request, the variable block of the non-volatile memory deleted. Then the application program transmitted to the component via the CAN bus and through the software update tion algorithms permanently stored in the non-volatile memory. After successful chem transfer of the application program branches the program execution into the loader in the fixed block of non-volatile memory. By the loading program will then be updated with the update algorithms processor memory cleared.

Claims (11)

1. Verfahren zur Änderung von Daten in einem nicht-flüchtigen, elektrisch lösch­ baren Speicher, wobei ein Mikroprozessor Änderungsroutinen ausführt, mit denen Daten aus dem nicht-flüchtigen, elektrisch löschbaren Speicher gelesen und in diesen geschrieben werden können, dadurch gekennzeichnet, daß
  • a) die Änderungsroutinen über einen Bus empfangen und
  • b) in einen flüchtigen Programmspeicher geladen werden und
  • c) nachfolgend die Änderungsroutinen von dem Mikroprozessor in dem Programmspeicher zur Änderung der Daten in dem nicht-flüchtigen, elektrisch löschbaren Speicher ausgeführt werden..
1. A method for changing data in a non-volatile, electrically erasable memory, wherein a microprocessor executes change routines with which data can be read from and written into the non-volatile, electrically erasable memory, characterized in that
  • a) receive the change routines over a bus and
  • b) loaded into a volatile program memory and
  • c) subsequently the change routines are carried out by the microprocessor in the program memory for changing the data in the non-volatile, electrically erasable memory.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Änderungsrouti­ nen nach Änderung der Daten aus dem Programmspeicher gelöscht werden.2. The method according to claim 1, characterized in that the change routine after changing the data from the program memory. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß als Bus ein Controller Area Network-Bus (CAN-Bus) vorgesehen ist. 3. The method according to claim 1 or 2, characterized in that as a bus Controller area network bus (CAN bus) is provided.   4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß als nicht-flüchtiger, elektrisch löschbarer Speicher ein Flash-Speicher vorgesehen ist.4. The method according to any one of claims 1 to 3, characterized in that as Flash memory is provided for non-volatile, electrically erasable memory is. 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der nicht-flüchtige, elektrisch löschbare Speicher in einen unveränderlichen Block und einen veränderlichen Block unterteilt wird, wobei die zu ändernden Daten in dem veränderlichen Block des Speichers abgelegt sind.5. The method according to any one of claims 1 to 4, characterized in that the non-volatile, electrically erasable memory in an immutable block and dividing a variable block, the data to be changed are stored in the variable block of the memory. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß in dem unveränderli­ chen Block Routinen abgelegt sind, um die Änderungsroutinen von dem Bus in den Programmspeicher zu laden.6. The method according to claim 5, characterized in that in the unchangeable Chen block routines are stored to change routines from the bus in load the program memory. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß in dem unveränderli­ chen Block zusätzlich Routinen zur Bildung einer Prüfsumme für die in dem unveränderlichen Block gespeicherten Daten vorgesehen sind.7. The method according to claim 6, characterized in that in the unchangeable Chen block additional routines for forming a checksum for the in the immutable block stored data are provided. 8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß die in dem unverän­ derlichen Block gespeicherten Daten eine Prüfsumme aufweisen, die zur Prü­ fung der Integrität der in dem unveränderlichen Block gespeicherten Daten dient. 8. The method according to claim 7, characterized in that the unchanged block data stored have a checksum, which for the test the integrity of the data stored in the immutable block serves.   9. Verfahren nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß die Daten in dem veränderlichen Block ein Anwendungsprogramm bilden, das durch den Mikroprozessor ausführbar ist.9. The method according to any one of claims 6 to 8, characterized in that the Data in the variable block form an application program that is executable by the microprocessor. 10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß
nachdem die Programmausführung des Mikroprozessors zu den Änderungsroutinen in dem Programmspeicher verzweigt ist, Daten in dem nicht-flüchtigen, elektrisch löschbaren Speicher gelöscht werden, und
in einem nachfolgenden Schritt neue Daten für den veränderli­ chen Block über den CAN-Bus empfangen und mit Hilfe der Änderungsroutinen in den veränderlichen Block des nichtflüch­ tigen, elektrisch löschbaren Speichers geschrieben werden.
10. The method according to any one of claims 1 to 9, characterized in that
after the program execution of the microprocessor branches to the change routines in the program memory, data in the non-volatile, electrically erasable memory are deleted, and
in a subsequent step, new data for the variable block is received via the CAN bus and written to the variable block of the non-volatile, electrically erasable memory using the change routines.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Daten in dem nicht-flüchtigen, elektrisch löschbaren Speicher ansprechend auf ein über den CAN-Bus empfangenes Signal gelöscht werden.11. The method according to claim 10, characterized in that the data in the non-volatile, electrically erasable memory responsive to over the CAN bus received signal can be deleted.
DE10112056A 2001-03-14 2001-03-14 Data modification method for nonvolatile electrically erasable memory by receiving modification routines via bus and storing in volatile memory Ceased DE10112056A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10112056A DE10112056A1 (en) 2001-03-14 2001-03-14 Data modification method for nonvolatile electrically erasable memory by receiving modification routines via bus and storing in volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10112056A DE10112056A1 (en) 2001-03-14 2001-03-14 Data modification method for nonvolatile electrically erasable memory by receiving modification routines via bus and storing in volatile memory

Publications (1)

Publication Number Publication Date
DE10112056A1 true DE10112056A1 (en) 2002-09-26

Family

ID=7677289

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10112056A Ceased DE10112056A1 (en) 2001-03-14 2001-03-14 Data modification method for nonvolatile electrically erasable memory by receiving modification routines via bus and storing in volatile memory

Country Status (1)

Country Link
DE (1) DE10112056A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114131A1 (en) * 2003-06-24 2004-12-29 Bayerische Motoren Werke Aktiengesellschaft Method for booting up a software in the boot sector of a programmable read-only memory
CN100422930C (en) * 2003-06-24 2008-10-01 宝马股份公司 Method for booting up a software in the boot sector of a programmable read-only memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105468A (en) * 1996-09-26 1998-04-24 Denso Corp Electronic controller, memory rewriting device and memory rewriting system of electronic controller
US5930826A (en) * 1997-04-07 1999-07-27 Aplus Integrated Circuits, Inc. Flash memory protection attribute status bits held in a flash memory array
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
JPH10105468A (en) * 1996-09-26 1998-04-24 Denso Corp Electronic controller, memory rewriting device and memory rewriting system of electronic controller
US5930826A (en) * 1997-04-07 1999-07-27 Aplus Integrated Circuits, Inc. Flash memory protection attribute status bits held in a flash memory array

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114131A1 (en) * 2003-06-24 2004-12-29 Bayerische Motoren Werke Aktiengesellschaft Method for booting up a software in the boot sector of a programmable read-only memory
CN100422930C (en) * 2003-06-24 2008-10-01 宝马股份公司 Method for booting up a software in the boot sector of a programmable read-only memory
US7584350B2 (en) 2003-06-24 2009-09-01 Bayerische Motoren Werke Aktiengesellschaft Method for booting up software in the boot sector of a programmable read-only memory

Similar Documents

Publication Publication Date Title
DE10115729B4 (en) Versatile boot procedure for an application software of a microcontroller
DE4331703C2 (en) Electronic device
EP0721644A1 (en) Process for fully re-programming an erasable non-volatile store
DE10308545A1 (en) Method and device for updating a distributed program
DE102006029690A1 (en) Maintaining identification of an electronic control unit during reprogramming events
EP1037140B1 (en) Method and apparatus providing security during modification of memory contents in control devices
EP0997347A2 (en) Procedure and device for programming a vehicle control apparatus
DE3210616A1 (en) COMPUTER
DE10014561A1 (en) Method for re-programming a control device, especially for motor vehicle use, where a command for updating of data or code in memory is received from an external device during system initialization preventing system loading
DE10112056A1 (en) Data modification method for nonvolatile electrically erasable memory by receiving modification routines via bus and storing in volatile memory
EP1892639B1 (en) Secure program code execution
DE10321104B4 (en) Method for filing variable data
EP0664387A1 (en) Process to change the working mode of a control device in vehicles
DE10260103A1 (en) Method and device for changing software in a control unit and corresponding control unit
DE102006004599A1 (en) Terminal and method for updating program code of a terminal
DE112015002881B4 (en) Storage device, flash memory controller and program
DE102021002079B3 (en) Procedures for efficient data filing
DE102004005290B3 (en) Securing data in non-volatile data memory divided into segments involves management data per segment containing further data element to determine age range of second segment data compared to first segment data for incomplete clearing
DE4307413C2 (en) Method for loading operating programs required for the operation of electrical equipment
DE102018210868A1 (en) Electronic control unit
EP0715313B1 (en) Method of programming an electrically erasable read-only memory in an elecronic computer device and control device using the method
DE102008040366A1 (en) System e.g. antilock brake system, for controlling functional components of e.g. sports vehicle, has RAM connected with electrically EPROM utilized for storing control parameters, which parameterize system for different vehicle variants
EP1046987A2 (en) Memory part of a computer unit
DE102017220708A1 (en) Method and device for operating a memory device
DE10328238A1 (en) Chip card initialization and personalization method in which chip card data is loaded using a common PC and read-write units that contain stored data blocks in which a part of the data to be loaded is stored

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection