WO2009103728A1 - Method and device for storing information data - Google Patents

Method and device for storing information data Download PDF

Info

Publication number
WO2009103728A1
WO2009103728A1 PCT/EP2009/051902 EP2009051902W WO2009103728A1 WO 2009103728 A1 WO2009103728 A1 WO 2009103728A1 EP 2009051902 W EP2009051902 W EP 2009051902W WO 2009103728 A1 WO2009103728 A1 WO 2009103728A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
information data
data
writing
memory area
Prior art date
Application number
PCT/EP2009/051902
Other languages
German (de)
French (fr)
Inventor
Wanli Sheng
Uwe Werner
Frank Boehland
Jens Liebehenschel
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
Publication of WO2009103728A1 publication Critical patent/WO2009103728A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/1441Resetting or repowering

Definitions

  • the invention relates to a method for storing information data according to the preamble of claim 1, an apparatus for carrying out this method, a computer program and a computer program product.
  • the present invention provides a method for storing information data, furthermore a device which uses this method and finally a corresponding computer program and a computer program product according to the independent patent claims.
  • Advantageous embodiments emerge from the respective subclaims and the following description.
  • the present invention is based on the finding that information data can be stored as part of an operating program. As a result, required information data can be reliably stored and evaluated. Using the method in conjunction with a bootloader obviates the need for the bootloader to write non-volatile data to a data store as mentioned above.
  • the present invention provides a method for storing information data in a memory having at least two memory areas, which is characterized in that the information data and a first portion of an operating program in one of the at least two memory areas of the memory and the information data and a second portion of the operating program another of the at least two memory areas of the memory are written.
  • already existing information data can be checked in one of the at least two memory areas before the further of the at least two memory areas is described. As a result, it can be ensured that no loss of the information data occurs even in the event of a failed write attempt.
  • an arrangement of the information data in the at least two memory areas may be predetermined. This makes it possible to control the writing of the information data and the operating program into the memory.
  • the operating program may have information about the arrangement of the information data in the at least two memory areas. This makes it easier for the operating program to access the information data.
  • the operating program may have gaps into which the information data may be written.
  • appropriate sections can be predefined in the operating program to which the information data can be integrated.
  • the method can have the following steps:
  • This procedure is suitable for the case that the information data in the second memory area are intact.
  • the method may include the following steps:
  • This procedure is suitable, for example, in the event that the information data in the second memory area are not intact.
  • a third memory area may have previous information data. This allows the memory to have both new and previous informational data.
  • At least the information data written in one of the at least two memory areas can be compared with further information data.
  • conclusions can be drawn on failed attempts to write.
  • the method can be executed by a start program of a control unit and the operating program can be operating software of the control unit and the information data can be non-volatile data. This avoids that the writing of non-volatile data in the bootloader of a controller leads to difficulties with the architecture of the controller or problems with the system behavior.
  • the memory may be a flash memory and the memory areas may be sectors of the flash memory.
  • a device according to the invention performs all the steps of the method according to the invention.
  • the computer program with program code means according to the invention is designed to perform all the steps of the method according to the invention when this computer program is carried out on a computer or a corresponding computing unit, in particular a device according to the invention.
  • the computer program product according to the invention with program code means which are stored on a computer-readable data carrier is provided for carrying out the method according to the invention when this computer program is carried out on a computer or a corresponding arithmetic unit, in particular a device according to the invention.
  • Figure 1 shows a schematic representation of an embodiment of the device according to the invention
  • Figure 2 shows a schematic representation of a memory according to an embodiment of the invention
  • FIG. 3 shows a schematic representation of memory areas according to an embodiment of the invention.
  • FIG. 4 shows a schematic representation of an embodiment of the method according to the invention.
  • Fig. 1 shows a device with a writing device 102 and a memory 104 according to an embodiment of the present invention.
  • the writing device is configured to write information data 106 into the memory 104.
  • the writing device 102 is configured to write an operating program to the memory 104.
  • the memory 104 is configured to store the information data 106 and the operating program.
  • the storage 104 has at least two storage areas.
  • the information data 106 is stored in each of the at least two memory areas of the memory 104.
  • the operating program can be divided into several sections, which can be distributed to the at least two memory areas of the memory.
  • the memory 104 may be a flash memory.
  • the flash memory is divided into a plurality of areas or sectors.
  • a sector generally has a size of a few hundred bytes to a few kilobytes in an automotive memory.
  • Each sector has a plurality of memory cells. Each memory cell in a sector can be described once. Before the next writing, the entire sector must be deleted.
  • the device may be part of an automotive control device, for example.
  • the operating program may be a driving software which is written into the memory 104, for example, by a boot program in the form of a bootloaf.
  • the writing device 102 may be a processor configured to execute the bootloader.
  • the boot loader may have the task of deciding after a system start whether the driving software should be started or replaced and if necessary, replace the driving software.
  • the bootloader can either be executed directly after the system start or can be called up by the driving software. It may also be possible to replace the bootloader with a new software version. Since the boot loader is generally not to be replaced, it should be designed simply so that it contains as possible no errors.
  • the driving software can fulfill a functionality required by the control unit.
  • the information data 106 may be nonvolatile data. Such data may include, for example, information about the identification of a workshop and of a workshop tester, eg a diagnostic device, a date and type of update, a software version or software versions and a version of data statuses as well as a number of all, unsuccessful or successful software updates.
  • FIG. 2 shows a schematic representation of a flash memory 104.
  • the memory 104 has eight sectors. Of the sectors, the first four and the seventh sector are provided with reference numerals 206a, 206b, 206c, 206d, 206g.
  • the sectors 206a, 206b, 206c, 206d, 206g are indicated by vertical lines.
  • the boot loader may be arranged.
  • the driving software can be stored in another five sectors 206c, 206d ... 206g.
  • the driving software can be subdivided into individual sections driving SW 1,..., Driving SW 5.
  • the driving SW 1 section in the third sector 206 c and the driving SW 5 section may be stored in the seventh sector 206 g of the memory 104.
  • FIG. 3 shows the sectors 206c, 206d of the memory 104 shown in FIG. 2.
  • the information data 106 is stored.
  • the first section of the driving software driving SW 1 314 is stored in the sector 206 c.
  • the second section of the driving software driving SW 2 316 is stored in the sector 206d.
  • the information data 106 are respectively arranged at the beginning of a sector 206c, 206d and the sections 312, 314 of the driving software fill the sectors 206c, 206d on.
  • the data 106 may also be at the end of the sectors 206c and / or 206d.
  • other sectors may be inserted before and / or in between.
  • the bootloader does not use the full sector size to store the driving software 314, 316. In the unused areas, the data 106 are stored. These places of information storage should be known to the driving software, if they should access it. Furthermore, the compilation, the linking and the integration should ensure that the driving software works with these "gaps".
  • gaps may be present in the driving software known to the boot loader.
  • the gaps can be fixed size.
  • Corresponding data are entered in the gaps as part of the software update.
  • the boot loader places certain data 106 at previously known locations along with the driving software 314, 316 into at least two sectors 206c, 206d of the flash 104, as illustrated in FIG. 3 for the two sectors 206c, 206d.
  • the embodiment is shown, in which there are no gaps in the driving software.
  • the data 106 can be stored at one or more locations in the driving software.
  • the data 106 may also be located at other locations, such as at the end of the sectors 206c, 206d.
  • the method according to the invention is a secure method in which data 106 are stored in two sectors 206c, 206d together with the driving software 314, 316.
  • the order of the writing operations is important, in which in particular the information data 106 are written into the memory 104.
  • An important scenario to consider is several consecutive power outages. These must not result in information being lost, such as the number of unsuccessful update attempts that may be included in data 106.
  • a first method step 452 may comprise the instruction "delete sector 1", which may be the sector 206c shown in Fig. 3.
  • a second method step 454 may comprise the instruction "write data in sector 1".
  • a third method step 456 may include the instruction "write driving software in sector 1.”
  • a fourth method step 458 may include the instruction "delete sector 2". It can be about act the sector 206d shown in Fig. 3.
  • a fifth method step 460 may include the instruction "write data in sector 2.”
  • a sixth method step 462 may include the instruction "write driving software in sector 2".
  • This sequence of method steps 452, 454, 456, 458, 460, 462 should only be used if the data 106 in sector 2 are intact. This can be checked for example by a checksum. If the data 106 in sector 2 are not intact, the sequence of method steps 452, 454, 456, 458, 460, 462 should be changed.
  • the new data 106 are already present on the storage medium 104 after the second step. They can be determined by a control unit software or by a readout of the memory 104, for example by a feedback analysis.
  • sequences of the method steps are possible.
  • sequences of the method steps are defined which leave the new and the previous data 106 simultaneously on the flash memory 104.
  • the approach according to the invention includes, in addition to the layout on the flash memory, also a comparison of the data with existing persistent data by the driving software. After successfully flashing the driving software, it can draw conclusions by comparing the data written by the bootloader during the update and the persistent data in the data flash. For example, data transmitted by the bootloader, such as the number of unsuccessful update attempts, can be processed and transferred to the area in the data flash containing the persistent data.
  • the inventive method has a number of other advantages.
  • the bootloader and the software architecture can be simpler since the bootloader does not have to store any persistent data in the data flash. Timing issues that can arise from using Flash technology for data storage do not exist in the boot loader. In particular, there is no waiting for the state change.
  • the protocols of the ECUs with the testers can remain unchanged. The code can be transmitted as a data stream from "front to back" from the tester to the ECU.
  • the described embodiments are chosen only by way of example and can be combined with each other. In particular, the method steps described can also be carried out in sequences other than those described, provided that secure storage of the information data remains ensured.
  • any memory can be used which are suitable for the application for which the inventive method is used.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention relates to a method for storing information data (106) in a memory (104) having at least two memory areas. According to said method, the information data (106) and a first section of the operating program are written into one of the at least two memory areas of the memory (104) and the information data (106) and a second section of the operating program are written into the other of the at least two memory areas of the memory (104).

Description

Beschreibungdescription
Titel Verfahren und Vorrichtung zum Speichern von InformationsdatenTitle Method and device for storing information data
Die Erfindung betrifft ein Verfahren zum Speichern von Informationsdaten gemäß dem Oberbegriff des Anspruchs 1, eine Vorrichtung, um dieses Verfahren durchzuführen, ein Computerprogramm sowie ein Computerprogrammprodukt.The invention relates to a method for storing information data according to the preamble of claim 1, an apparatus for carrying out this method, a computer program and a computer program product.
Stand der TechnikState of the art
Viele automotive Steuergeräte sind updatefähig, das heißt, es kann eine neue Software-Version aufgespielt werden. Dieser Vorgang wird auch als Flashen bezeichnet, da der Code einer neuen Software-Version im Flash-ROM (Read OnIy Memory) abgelegt wird. Meist existieren im Flash-Speicher zwei separate, ausführbare Programme, nämlich der Bootloader und die Fahrsoftware.Many automotive ECUs are updateable, which means that a new software version can be installed. This process is also referred to as flashing because the code of a new software version is stored in the flash ROM (Read OnIy Memory). Usually there are two separate, executable programs in the flash memory, namely the bootloader and the driving software.
Normalerweise wird gefordert oder durch die Entwicklung bedingt, dass Daten im Bootloader geschrieben werden müssen, die auch von der Fahrsoftware gelesen werden können und umgekehrt. Außerdem können diese Daten für eine Rückläuferanalyse relevant sein. Diese Funktionalität wird bislang durch Schreiben dieser Daten in einen Datenspeicher, beispielsweise in Form eines EEPROM oder Flash-ROM (Daten-Flash) durch den Bootloader realisiert. Mit der Einführung der Flash-Technologie zur Abspeicherung von persistenten, also nicht flüchtigen Daten wurden Dateiverwaltungssysteme notwendig, bei denen die Daten immer wieder an anderen Stellen abgelegt werden. Dadurch sind in der Software komplexere Verwaltungsalgorithmen für Daten notwendig geworden. Außerdem sind bei manchen Prozessoren Timing-Probleme durch die Verwendung von Flash zur Speicherung von Daten aufgetreten.Usually it is required or due to the development that data has to be written in the bootloader, which can also be read by the driving software and vice versa. In addition, this data may be relevant to a return analysis. This functionality has hitherto been realized by writing this data into a data memory, for example in the form of an EEPROM or flash ROM (data flash) by the boot loader. With the advent of Flash technology to store persistent, non-volatile data, file management systems have become necessary, with the data always being stored elsewhere. As a result, more complex management algorithms for data have become necessary in the software. In addition, some processors have experienced timing issues when using Flash to store data.
Vor diesem Hintergrund werden mit der vorliegenden Erfindung ein Verfahren zum Speichern von Informationsdaten, weiterhin eine Vorrichtung, die dieses Verfahren verwendet sowie schließlich ein entsprechendes Computerprogramm und ein Computerprogrammprodukt gemäß den unabhängigen Patentansprüchen vorgestellt. Vorteilhafte Ausgestaltungen ergeben sich aus den jeweiligen Unteransprüchen und der nach- folgenden Beschreibung.Against this background, the present invention provides a method for storing information data, furthermore a device which uses this method and finally a corresponding computer program and a computer program product according to the independent patent claims. Advantageous embodiments emerge from the respective subclaims and the following description.
Vorteile der ErfindungAdvantages of the invention
Der vorliegenden Erfindung liegt die Erkenntnis zu Grunde, dass Informationsdaten als Bestandteil eines Betriebsprogramms abgespeichert werden können. Dadurch können erforderliche Informationsdaten zuverlässig abgelegt und ausgewertet werden. Wird das Verfahren im Zusammenhang mit einem Bootloader eingesetzt, so lässt sich eine Notwendigkeit des Schreibens nicht-flüchtiger Daten durch den Bootloader in einen wie oben erwähnten Datenspeicher umgehen. Die vorliegende Erfindung schafft ein Verfahren zum Speichern von Informationsdaten in einen Speicher mit mindestens zwei Speicherbereichen, welches dadurch gekennzeichnet ist, dass die Informationsdaten und ein erster Abschnitt eines Betriebsprogramms in einen der mindestens zwei Speicherbereiche des Speichers und die Informationsdaten und ein zweiter Abschnitt des Betriebsprogramms in einen weiteren der mindestens zwei Speicherbereiche des Speichers geschrieben werden.The present invention is based on the finding that information data can be stored as part of an operating program. As a result, required information data can be reliably stored and evaluated. Using the method in conjunction with a bootloader obviates the need for the bootloader to write non-volatile data to a data store as mentioned above. The present invention provides a method for storing information data in a memory having at least two memory areas, which is characterized in that the information data and a first portion of an operating program in one of the at least two memory areas of the memory and the information data and a second portion of the operating program another of the at least two memory areas of the memory are written.
Gemäß einer Ausgestaltung können in dem einen der mindestens zwei Speicherbereiche bereits vorhandene Informationsdaten überprüft werden, bevor der weitere der mindestens zwei Speicherbereiche beschrieben wird. Dadurch kann si- chergestellt werden, dass auch bei einem fehlgeschlagenen Schreibversuch kein Verlust der Informationsdaten auftritt.According to one embodiment, already existing information data can be checked in one of the at least two memory areas before the further of the at least two memory areas is described. As a result, it can be ensured that no loss of the information data occurs even in the event of a failed write attempt.
Ferner kann eine Anordnung der Informationsdaten in den mindestens zwei Speicherbereichen vorbestimmt sein. Dadurch lässt sich das Schreiben der Informationsdaten und des Betriebsprogramms in den Speicher steuern.Furthermore, an arrangement of the information data in the at least two memory areas may be predetermined. This makes it possible to control the writing of the information data and the operating program into the memory.
Das Betriebsprogramm kann Informationen über die Anordnung der Informationsdaten in den mindestens zwei Speicherberei- chen aufweisen. Dies erleichtert es dem Betriebsprogramm, auf die Informationsdaten zuzugreifen.The operating program may have information about the arrangement of the information data in the at least two memory areas. This makes it easier for the operating program to access the information data.
Gemäß einer Ausgestaltung kann das Betriebsprogramm Lücken aufweisen, in die die Informationsdaten geschrieben werden können. Somit können geeignete Abschnitte im Betriebsprogramm vordefiniert werden, an denen die Informationsdaten eingebunden werden können. - A -According to one embodiment, the operating program may have gaps into which the information data may be written. Thus, appropriate sections can be predefined in the operating program to which the information data can be integrated. - A -
Das Verfahren kann folgende Schritte aufweisen:The method can have the following steps:
Löschen eines ersten Speicherbereichs des Speichers;Clearing a first memory area of the memory;
Schreiben der Informationsdaten in den ersten Speicherbereich;Writing the information data in the first memory area;
Schreiben des ersten Abschnitts des Betriebsprogramms in den ersten Speicherbereich;Writing the first section of the operating program into the first memory area;
Löschen eines zweiten Speicherbereichs des Speichers;Clearing a second memory area of the memory;
Schreiben der Informationsdaten in den zweiten Speicherbereich; undWriting the information data in the second memory area; and
Schreiben des zweiten Abschnitts des Betriebsprogramms in den zweiten Speicherbereich.Writing the second section of the operating program to the second memory area.
Diese Vorgehensweise eignet sich für den Fall, dass die In- formationsdaten im zweiten Speicherbereich intakt sind.This procedure is suitable for the case that the information data in the second memory area are intact.
Alternativ kann das Verfahren folgende Schritte aufweisen:Alternatively, the method may include the following steps:
Löschen eines zweiten Speicherbereichs des Speichers;Clearing a second memory area of the memory;
Schreiben der Informationsdaten in den zweiten Speicherbereich;Writing the information data in the second memory area;
Löschen eines ersten Speicherbereichs des Speichers;Clearing a first memory area of the memory;
Schreiben der Informationsdaten in den ersten Speicherbereich; Schreiben des zweiten Abschnitts des Betriebsprogramms in den zweiten Speicherbereich; undWriting the information data in the first memory area; Writing the second section of the operating program to the second memory area; and
Schreiben des ersten Abschnitts des Betriebsprogramms in den ersten Speicherbereich.Writing the first section of the operating program to the first memory area.
Diese Vorgehensweise eignet sich beispielsweise für den Fall, dass die Informationsdaten im zweiten Speicherbereich nicht intakt sind.This procedure is suitable, for example, in the event that the information data in the second memory area are not intact.
Ferner kann ein dritter Speicherbereich vorherige Informationsdaten aufweist. Dadurch kann der Speicher sowohl neue als auch vorherige Informationsdaten aufweisen.Furthermore, a third memory area may have previous information data. This allows the memory to have both new and previous informational data.
Zumindest die in einen der mindestens zwei Speicherbereiche geschriebenen Informationsdaten können mit weiteren Informationsdaten verglichen werden. Somit können beispielsweise Rückschlüsse auf fehlgeschlagene Schreibversuche gezogen werden .At least the information data written in one of the at least two memory areas can be compared with further information data. Thus, for example, conclusions can be drawn on failed attempts to write.
Das Verfahren kann von einem Startprogramm eines Steuergerätes ausführbar sein und es kann sich bei dem Betriebsprogramm um eine Betriebssoftware des Steuergeräts und bei den Informationsdaten um nicht-flüchtige Daten handeln. Dadurch kann vermieden werden, dass das Schreiben von nichtflüchtigen Daten im Bootloader eines Steuergerätes zu Schwierigkeiten mit der Architektur des Steuergerätes oder zu Problemen mit dem Systemverhalten führt.The method can be executed by a start program of a control unit and the operating program can be operating software of the control unit and the information data can be non-volatile data. This avoids that the writing of non-volatile data in the bootloader of a controller leads to difficulties with the architecture of the controller or problems with the system behavior.
Bei dem Speicher kann es sich um einen Flash-Speicher und bei den Speicherbereichen um Sektoren des Flash-Speichers handeln . Eine erfindungsgemäße Vorrichtung führt alle Schritte des erfindungsgemäßen Verfahrens durch.The memory may be a flash memory and the memory areas may be sectors of the flash memory. A device according to the invention performs all the steps of the method according to the invention.
Das erfindungsgemäße Computerprogramm mit Programmcodemit- teln ist dazu ausgelegt alle Schritte des erfindungsgemäßen Verfahrens durchzuführen, wenn dieses Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit, insbesondere einer erfindungsgemäßen Vorrichtung, durchgeführt wird.The computer program with program code means according to the invention is designed to perform all the steps of the method according to the invention when this computer program is carried out on a computer or a corresponding computing unit, in particular a device according to the invention.
Das erfindungsgemäße Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, ist zur Durchführung des erfindungsgemäßen Verfahrens vorgesehen, wenn dieses Computerprogramm auf ei- nem Computer oder einer entsprechenden Recheneinheit, insbesondere einer erfindungsgemäßen Vorrichtung, durchgeführt wird.The computer program product according to the invention with program code means which are stored on a computer-readable data carrier is provided for carrying out the method according to the invention when this computer program is carried out on a computer or a corresponding arithmetic unit, in particular a device according to the invention.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.
Es versteht sich, daß die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It is understood that the features mentioned above and those yet to be explained not only in the particular combination given, but also in other combinations or alone, without departing from the scope of the present invention.
Die Erfindung ist anhand von Ausführungsbeispielen in den Zeichnungen schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnungen ausführlich beschrieben . FigurenbeschreibungThe invention is illustrated schematically by means of exemplary embodiments in the drawings and will be described in detail below with reference to the drawings. figure description
Figur 1 zeigt eine schematische Darstellung einer Ausführungsform der erfindungsgemäßen Vorrichtung;Figure 1 shows a schematic representation of an embodiment of the device according to the invention;
Figur 2 zeigt eine schematische Darstellung eines Speichers gemäß einer erfindungsgemäßen Ausführungsform;Figure 2 shows a schematic representation of a memory according to an embodiment of the invention;
Figur 3 zeigt eine schematische Darstellung von Speicherbereichen gemäß einer erfindungsgemäßen Ausführungsform; undFIG. 3 shows a schematic representation of memory areas according to an embodiment of the invention; and
Figur 4 zeigt eine schematische Darstellung einer Ausfüh- rungsform des erfindungsgemäßen Verfahrens.FIG. 4 shows a schematic representation of an embodiment of the method according to the invention.
Fig. 1 zeigt eine Vorrichtung mit einer Schreibeinrichtung 102 und einem Speicher 104 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die Schreibeinrichtung ist aus- gebildet, um Informationsdaten 106 in den Speicher 104 zu schreiben. Ferner ist die Schreibeinrichtung 102 ausgebildet, um ein Betriebsprogramm in den Speicher 104 zu schreiben. Der Speicher 104 ist ausgebildet, um die Informationsdaten 106 und das Betriebsprogramm zu speichern. Der Spei- eher 104 weist mindestens zwei Speicherbereiche auf. Die Informationsdaten 106 werden in jeden der mindestens zwei Speicherbereiche des Speichers 104 gespeichert. Das Betriebsprogramm kann in mehrere Abschnitte aufgeteilt werden, die auf die mindestens zwei Speicherbereiche des Spei- chers verteilt werden können.Fig. 1 shows a device with a writing device 102 and a memory 104 according to an embodiment of the present invention. The writing device is configured to write information data 106 into the memory 104. Further, the writing device 102 is configured to write an operating program to the memory 104. The memory 104 is configured to store the information data 106 and the operating program. The storage 104 has at least two storage areas. The information data 106 is stored in each of the at least two memory areas of the memory 104. The operating program can be divided into several sections, which can be distributed to the at least two memory areas of the memory.
Bei dem Speicher 104 kann es sich um einen Flash-Speicher handeln. Der Flash-Speicher ist in eine Mehrzahl von Spei- cherbereichen oder Sektoren unterteilt. Ein Sektor weist bei einem Automotive-Speicher im allgemeinen eine Größe von einigen hundert Bytes bis zu wenigen Kilobytes auf. Jeder Sektor weist eine Mehrzahl von Speicherzellen auf. Jede Speicherzelle in einem Sektor kann einmalig beschrieben werden. Vor dem nächsten Beschreiben muss der gesamte Sektor gelöscht werden.The memory 104 may be a flash memory. The flash memory is divided into a plurality of areas or sectors. A sector generally has a size of a few hundred bytes to a few kilobytes in an automotive memory. Each sector has a plurality of memory cells. Each memory cell in a sector can be described once. Before the next writing, the entire sector must be deleted.
Die Vorrichtung kann beispielsweise Teil eines automotive Steuerungsgerätes sein. In diesem Fall kann es sich bei dem Betriebsprogramm um eine Fahrsoftware handeln, die beispielsweise von einem Startprogramm in Form eines Bootloa- der in den Speicher 104 geschrieben wird. Bei der Schreibeinrichtung 102 kann es sich um einen Prozessor han- dein, der ausgebildet ist, um den Bootloader auszuführen.The device may be part of an automotive control device, for example. In this case, the operating program may be a driving software which is written into the memory 104, for example, by a boot program in the form of a bootloaf. The writing device 102 may be a processor configured to execute the bootloader.
Der Bootloader kann die Aufgabe haben, nach einem Systemstart zu entscheiden, ob die Fahrsoftware gestartet oder ersetzt werden soll und gegebenenfalls ein Ersetzen der Fahrsoftware durchzuführen. Der Bootloader kann entweder direkt nach dem Systemstart zur Ausführung kommen oder kann durch die Fahrsoftware aufgerufen werden. Es kann ebenfalls möglich sein, den Bootloader durch eine neue Software- Version zu ersetzen. Da der Bootloader im Allgemeinen nicht ausgetauscht werden soll, sollte er einfach konzipiert sein, damit er möglichst keine Fehler enthält.The boot loader may have the task of deciding after a system start whether the driving software should be started or replaced and if necessary, replace the driving software. The bootloader can either be executed directly after the system start or can be called up by the driving software. It may also be possible to replace the bootloader with a new software version. Since the boot loader is generally not to be replaced, it should be designed simply so that it contains as possible no errors.
Die Fahrsoftware kann eine von dem Steuergerät geforderte Funktionalität erfüllen.The driving software can fulfill a functionality required by the control unit.
Bei den Informationsdaten 106 kann es sich um nichtflüchtige Daten handeln. Solche Daten können beispielsweise Informationen über die Identifikation einer Werkstatt und eines Werkstatt-Testers, z.B. eines Diagnose-Geräts, ein Datum und eine Art eines Updates, eine Software-Version o- der Software-Versionen und eine Version von Datenständen sowie eine Anzahl aller, erfolgloser oder erfolgreicher Softwareupdates, aufweisen.The information data 106 may be nonvolatile data. Such data may include, for example, information about the identification of a workshop and of a workshop tester, eg a diagnostic device, a date and type of update, a software version or software versions and a version of data statuses as well as a number of all, unsuccessful or successful software updates.
Fig. 2 zeigt eine schematische Darstellung eines Flash- Speichers 104. Gemäß diesem Ausführungsbeispiel weist der Speicher 104 acht Sektoren auf. Von den Sektoren sind die ersten vier sowie der siebte Sektor mit Bezugszeichen 206a, 206b, 206c, 206d, 206g versehen.FIG. 2 shows a schematic representation of a flash memory 104. According to this embodiment, the memory 104 has eight sectors. Of the sectors, the first four and the seventh sector are provided with reference numerals 206a, 206b, 206c, 206d, 206g.
Die Sektoren 206a, 206b, 206c, 206d, 206g sind durch senkrechte Linien gekennzeichnet. Im ersten Sektor 206a kann der Bootloader angeordnet sein. Beim Abspeichern einer neuen Fahrsoftware wird diese im Allgemeinen in mehreren Sektoren des Flash-Speichers 104 abgelegt. Beispielsweise kann die Fahrsoftware in weiteren fünf Sektoren 206c, 206d ... 206g gespeichert werden. Dazu kann die Fahrsoftware in ein- zelne Abschnitte Fahr-SW 1, ..., Fahr-SW 5 unterteilt sein. Beispielsweise kann der Abschnitt Fahr-SW 1 in dem dritten Sektor 206c und der Abschnitt Fahr-SW 5 in dem siebten Sektor 206g des Speichers 104 gespeichert sein.The sectors 206a, 206b, 206c, 206d, 206g are indicated by vertical lines. In the first sector 206a, the boot loader may be arranged. When a new driving software is stored, it is generally stored in several sectors of the flash memory 104. For example, the driving software can be stored in another five sectors 206c, 206d ... 206g. For this purpose, the driving software can be subdivided into individual sections driving SW 1,..., Driving SW 5. For example, the driving SW 1 section in the third sector 206 c and the driving SW 5 section may be stored in the seventh sector 206 g of the memory 104.
Fig. 3 zeigt die Sektoren 206c, 206d des in Fig. 2 gezeigten Speichers 104. In beiden Sektoren 206c, 206d sind die Informationsdaten 106 gespeichert. Der erste Abschnitt der Fahrsoftware Fahr-SW 1 314 ist in dem Sektor 206c gespeichert. Der zweite Abschnitt der Fahrsoftware Fahr-SW 2 316 ist in dem Sektor 206d gespeichert. Gemäß diesem Ausführungsbeispiel sind die Informationsdaten 106 jeweils am Anfang eines Sektors 206c, 206d angeordnet und die Abschnitte 312, 314 der Fahrsoftware füllen die Sektoren 206c, 206d auf. Es sei darauf hingewiesen, dass die Daten 106 auch am Ende der Sektoren 206c und/oder 206d stehen können. Außerdem können weitere Sektoren davor und/oder dazwischen eingefügt werden.FIG. 3 shows the sectors 206c, 206d of the memory 104 shown in FIG. 2. In both sectors 206c, 206d, the information data 106 is stored. The first section of the driving software driving SW 1 314 is stored in the sector 206 c. The second section of the driving software driving SW 2 316 is stored in the sector 206d. According to this exemplary embodiment, the information data 106 are respectively arranged at the beginning of a sector 206c, 206d and the sections 312, 314 of the driving software fill the sectors 206c, 206d on. It should be noted that the data 106 may also be at the end of the sectors 206c and / or 206d. In addition, other sectors may be inserted before and / or in between.
Das erfindungsgemäße Verfahren zum Speichern von Informationsdaten in einen Speicher basiert auf der Abspeicherung der Daten durch den Bootloader als Bestandteil der Fahrsoftware und einem nachfolgenden Vergleich dieser Daten durch die Fahrsoftware mit ihren zuvor gespeicherten Daten.The inventive method for storing information data in a memory based on the storage of the data by the boot loader as part of the driving software and a subsequent comparison of this data by the driving software with their previously stored data.
Gemäß einem Ausführungsbeispiel sind in der Fahrsoftware keine vorgesehenen ungenutzten Stellen vorhanden. Der Bootloader nutzt in diesem Fall nicht die volle Sektorgröße aus, um die Fahrsoftware 314, 316 abzuspeichern. In den nicht benutzen Bereichen werden die Daten 106 abgelegt. Diese Stellen der Informationsablage sollen der Fahrsoftware bekannt sein, sofern diese darauf zugreifen soll. Des Weiteren soll durch die Compilierung, das Linken und die Integration sichergestellt werden, dass die Fahrsoftware mit diesen „Lücken" funktioniert.According to one embodiment, there are no intended unused locations in the driving software. In this case, the bootloader does not use the full sector size to store the driving software 314, 316. In the unused areas, the data 106 are stored. These places of information storage should be known to the driving software, if they should access it. Furthermore, the compilation, the linking and the integration should ensure that the driving software works with these "gaps".
Gemäß einem alternativen Ausführungsbeispiel können in der Fahrsoftware Lücken vorhanden sein, die dem Bootloader be- kannt sind. Die Lücken können fester Größe sein. In die Lücken werden entsprechende Daten im Rahmen des Software Update eingetragen.According to an alternative embodiment, gaps may be present in the driving software known to the boot loader. The gaps can be fixed size. Corresponding data are entered in the gaps as part of the software update.
In beiden Ausführungsbeispielen legt der Bootloader be- stimmte Daten 106 an zuvor bekannten Stellen zusammen mit der Fahrsoftware 314, 316 in mindestens zwei Sektoren 206c, 206d des Flash 104 ab, wie es in Fig. 3 für die zwei Sektoren 206c, 206d veranschaulicht ist. In Fig. 2 ist das Ausführungsbeispiel dargestellt, bei dem in der Fahrsoftware keine Lücken vorhanden sind. Bei dem anderen Ausführungsbeispiel, bei dem die Fahrsoftware Lü- cken aufweist, können die Daten 106 an einer oder mehreren Stellen in der Fahrsoftware abgespeichert werden. Natürlich können die Daten 106 auch an anderen Stellen, beispielsweise am Ende der Sektoren 206c, 206d stehen oder aufgeteilt werden .In both embodiments, the boot loader places certain data 106 at previously known locations along with the driving software 314, 316 into at least two sectors 206c, 206d of the flash 104, as illustrated in FIG. 3 for the two sectors 206c, 206d. In Fig. 2, the embodiment is shown, in which there are no gaps in the driving software. In the other embodiment, in which the driving software has gaps, the data 106 can be stored at one or more locations in the driving software. Of course, the data 106 may also be located at other locations, such as at the end of the sectors 206c, 206d.
Bei dem erfindungsgemäßen Verfahren handelt es sich um ein sicheres Verfahren, bei dem in zwei Sektoren 206c, 206d zusammen mit der Fahrsoftware 314, 316 Daten 106 abgespeichert werden. Für die Zuverlässigkeit des erfindungsgemäßen Verfahrens ist die Reihenfolge der Schreibvorgänge wichtig, in der insbesondere die Informationsdaten 106 in den Speicher 104 geschrieben werden. Ein wichtiges zu berücksichtigendes Szenario sind mehrere, aufeinander folgende Spannungsausfälle. Diese dürfen nicht dazu führen, dass Infor- mation, wie beispielsweise die Anzahl der erfolglosen Update-Versuche, die in den Daten 106 enthalten sein kann, verloren geht.The method according to the invention is a secure method in which data 106 are stored in two sectors 206c, 206d together with the driving software 314, 316. For the reliability of the method according to the invention, the order of the writing operations is important, in which in particular the information data 106 are written into the memory 104. An important scenario to consider is several consecutive power outages. These must not result in information being lost, such as the number of unsuccessful update attempts that may be included in data 106.
Fig. 4 zeigt ein Ablaufdiagramm mit Schritten des erfin- dungsgemäßen Verfahrens gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Ein erster Verfahrensschritt 452 kann die Anweisung „Lösche Sektor 1" aufweisen. Dabei kann es sich um den in Fig. 3 gezeigten Sektor 206c handeln. Ein zweiter Verfahrensschritt 454 kann die Anweisung „Schreibe Daten in Sektor 1" aufweisen. Ein dritter Verfahrensschritt 456 kann die Anweisung „Schreibe Fahrsoftware in Sektor 1" aufweisen. Ein vierter Verfahrensschritt 458 kann die Anweisung „Lösche Sektor 2" aufweisen. Dabei kann es sich um den in Fig. 3 gezeigten Sektor 206d handeln. Ein fünfter Verfahrensschritt 460 kann die Anweisung „Schreibe Daten in Sektor 2" aufweisen. Ein sechster Verfahrensschritt 462 kann die Anweisung „Schreibe Fahrsoftware in Sektor 2" auf- weisen.4 shows a flow chart with steps of the method according to the invention according to an exemplary embodiment of the present invention. A first method step 452 may comprise the instruction "delete sector 1", which may be the sector 206c shown in Fig. 3. A second method step 454 may comprise the instruction "write data in sector 1". A third method step 456 may include the instruction "write driving software in sector 1." A fourth method step 458 may include the instruction "delete sector 2". It can be about act the sector 206d shown in Fig. 3. A fifth method step 460 may include the instruction "write data in sector 2." A sixth method step 462 may include the instruction "write driving software in sector 2".
Diese Reihenfolge der Verfahrensschritte 452, 454, 456, 458, 460, 462 soll nur dann verwendet werden, wenn die Daten 106 in Sektor 2 intakt sind. Dies kann beispielsweise durch eine Checksumme überprüft werden. Sind die Daten 106 in Sektor 2 nicht intakt, so soll die Reihenfolge der Verfahrensschritte 452, 454, 456, 458, 460, 462 geändert werden .This sequence of method steps 452, 454, 456, 458, 460, 462 should only be used if the data 106 in sector 2 are intact. This can be checked for example by a checksum. If the data 106 in sector 2 are not intact, the sequence of method steps 452, 454, 456, 458, 460, 462 should be changed.
Beispielsweise kann in diesem Fall zuerst der Schritt „Lösche Sektor 2", dann der Schritt „Schreibe Daten in Sektor 2", dann der Schritt „Lösche Sektor 1", dann der Schritt „Schreibe Daten in Sektor 1", dann der Schritt „Schreibe Fahrsoftware in Sektor 1" und schließlich der Schritt „Schreibe Fahrsoftware in Sektor 2" ausgeführt werden. Bei dieser Reihenfolge sind nach dem zweiten Schritt die neuen Daten 106 bereits auf dem Speichermedium 104 vorhanden. Sie können durch eine Steuergeräte-Software oder durch ein Auslesen des Speichers 104, beispielsweise durch eine Rückläu- feranalyse ermittelt werden.For example, in this case, the step "Delete sector 2", then the step "Write data in sector 2", then the step "Delete sector 1", then the step "Write data in sector 1", then the step "Write Driving software in sector 1 "and finally the step" Write driving software in sector 2 "are executed. In this order, the new data 106 are already present on the storage medium 104 after the second step. They can be determined by a control unit software or by a readout of the memory 104, for example by a feedback analysis.
Gemäß weiteren Ausführungsbeispielen sind auch andere Reihenfolgen der Verfahrensschritte möglich. Insbesondere, wenn mehrere Sektoren zum Abspeichern des Codes der Fahr- Software erforderlich sind. Wenn mehrere Sektoren benötigt beziehungsweise genutzt werden, können die Daten 106 auch in anderen als den ersten beiden Sektoren abgespeichert werden . Gemäß einem weiteren Ausführungsbeispiel werden Reihenfolgen der Verfahrensschritte definiert, die die neuen und die vorherigen Daten 106 gleichzeitig auf dem Flash-Speicher 104 belassen.According to further embodiments, other sequences of the method steps are possible. In particular, if several sectors are required for storing the code of the driving software. When multiple sectors are needed, the data 106 may be stored in other than the first two sectors. According to a further embodiment, sequences of the method steps are defined which leave the new and the previous data 106 simultaneously on the flash memory 104.
Der erfindungsgemäße Ansatz beinhaltet neben dem Layout auf dem Flash-Speicher auch einen Vergleich der Daten mit vorhandenen persistenten Daten durch die Fahrsoftware. Nach einem erfolgreichen Flashen der Fahrsoftware kann diese durch Vergleich der vom Bootloader beim Update geschriebenen Daten und der im Daten-Flash vorhandenen persistenten Daten Rückschlüsse ziehen. Beispielsweise können vom Bootloader übermittelte Daten, wie die Anzahl erfolgloser Up- dateversuche, verarbeitet und in den Bereich im Daten-Flash mit den persistenten Daten übernommen werden.The approach according to the invention includes, in addition to the layout on the flash memory, also a comparison of the data with existing persistent data by the driving software. After successfully flashing the driving software, it can draw conclusions by comparing the data written by the bootloader during the update and the persistent data in the data flash. For example, data transmitted by the bootloader, such as the number of unsuccessful update attempts, can be processed and transferred to the area in the data flash containing the persistent data.
Neben den bereits beschriebenen Vorteilen weist das erfindungsgemäße Verfahren eine Reihe weiterer Vorteile auf. In- sbesondere können der Bootloader und die Softwarearchitektur einfacher werden, da der Bootloader keine persistenten Daten im Daten-Flash abspeichern muss. Timing-Probleme, die durch den Einsatz der Flash-Technologie für die Datenspeicherung entstehen können, existieren nicht im Bootloader. Es gibt insbesondere kein Warten beim Zustandswechsel . Ferner ist es nicht erforderlich, dass der Bootloader Code für diese Funktionalität enthält. Somit kann weniger Speicher verwendet werden. Die Protokolle der Steuergeräte mit den Testern können unverändert bleiben. Der Code kann als Da- tenstrom von „vorne bis hinten" vom Tester zum Steuergerät übermittelt werden. Die beschriebenen Ausführungsbeispiele sind nur beispielhaft gewählt und können miteinander kombiniert werden. Insbesondere können die beschriebenen Verfahrensschritte auch in anderen als den beschriebenen Reihenfolgen ausgeführt werden, sofern ein sicheres Abspeichern der Informationsdaten gewährleistet bleibt. Zudem können beliebige Speicher eingesetzt werden, die für den Anwendungsfall geeignet sind, für den das erfindungsgemäße Verfahren eingesetzt wird. In addition to the advantages already described, the inventive method has a number of other advantages. In particular, the bootloader and the software architecture can be simpler since the bootloader does not have to store any persistent data in the data flash. Timing issues that can arise from using Flash technology for data storage do not exist in the boot loader. In particular, there is no waiting for the state change. Furthermore, it is not necessary for the boot loader to contain code for this functionality. Thus, less memory can be used. The protocols of the ECUs with the testers can remain unchanged. The code can be transmitted as a data stream from "front to back" from the tester to the ECU. The described embodiments are chosen only by way of example and can be combined with each other. In particular, the method steps described can also be carried out in sequences other than those described, provided that secure storage of the information data remains ensured. In addition, any memory can be used which are suitable for the application for which the inventive method is used.

Claims

Ansprüche claims
1. Verfahren zum Speichern von Informationsdaten (106) in einen Speicher (104) mit mindestens zwei SpeicherbereichenA method of storing information data (106) in a memory (104) having at least two memory areas
(206c, 206d), dadurch gekennzeichnet, dass(206c, 206d), characterized in that
die Informationsdaten (106) und ein erster Abschnitt (314) eines Betriebsprogramms in einen der mindestens zwei Speicherbereiche des Speichers und die Informationsdaten (106) und ein zweiter Abschnitt (316) des Betriebsprogramms in einen weiteren der mindestens zwei Speicherbereiche des Speichers geschrieben werden.the information data (106) and a first portion (314) of an operating program are written into one of the at least two memory areas of the memory and the information data (106) and a second portion (316) of the operating program are written to another of the at least two memory areas of the memory.
2. Verfahren Anspruch 1, dadurch gekennzeichnet, dass in dem einen der mindestens zwei Speicherbereiche (206c, 206d) bereits vorhandene Informationsdaten überprüft werden, be- vor der weitere der mindestens zwei Speicherbereiche beschrieben wird.2. Method claim 1, characterized in that in one of the at least two memory areas (206c, 206d) already existing information data are checked before the further of the at least two memory areas is described.
3. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass eine Anordnung der Informations- daten (106) in den mindestens zwei Speicherbereichen (206c, 206d) vorbestimmt ist. 3. The method according to any one of the preceding claims, characterized in that an arrangement of the information data (106) in the at least two memory areas (206c, 206d) is predetermined.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das Betriebsprogramm Informationen über die Anordnung der Informationsdaten in den mindestens zwei Speicherbereichen (206c, 206d) aufweist.4. The method according to claim 3, characterized in that the operating program has information about the arrangement of the information data in the at least two memory areas (206c, 206d).
5. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Betriebsprogramm Lücken aufweist, in die die Informationsdaten (106) geschrieben werden .5. The method according to any one of the preceding claims, characterized in that the operating program has gaps into which the information data (106) are written.
6. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass es folgende Schritte aufweist:6. The method according to any one of the preceding claims, characterized in that it comprises the following steps:
Löschen (452) eines ersten Speicherbereichs des Speichers;Clearing (452) a first memory area of the memory;
Schreiben (454) der Informationsdaten in den ersten Speicherbereich;Writing (454) the information data to the first memory area;
Schreiben (456) des ersten Abschnitts des Betriebsprogramms in den ersten Speicherbereich;Writing (456) the first portion of the operating program to the first memory area;
Löschen (458) eines zweiten Speicherbereichs des Speichers;Clearing (458) a second memory area of the memory;
Schreiben (460) der Informationsdaten in den zweiten Spei- cherbereich; undWriting (460) the information data into the second storage area; and
Schreiben (462) des zweiten Abschnitts des Betriebsprogramms in den zweiten Speicherbereich.Writing (462) the second portion of the operating program to the second memory area.
7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass es folgende Schritte aufweist:7. The method according to any one of claims 1 to 5, characterized in that it comprises the following steps:
Löschen eines zweiten Speicherbereichs des Speichers; Schreiben der Informationsdaten in den zweiten Speicherbereich;Clearing a second memory area of the memory; Writing the information data in the second memory area;
Löschen eines ersten Speicherbereichs des Speichers;Clearing a first memory area of the memory;
Schreiben der Informationsdaten in den ersten Speicherbereich;Writing the information data in the first memory area;
Schreiben des zweiten Abschnitts des Betriebsprogramms in den zweiten Speicherbereich; undWriting the second section of the operating program to the second memory area; and
Schreiben des ersten Abschnitts des Betriebsprogramms in den ersten Speicherbereich.Writing the first section of the operating program to the first memory area.
8. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass ein dritter Speicherbereich (206g) vorherige Informationsdaten aufweist.8. The method according to any one of the preceding claims, characterized in that a third memory area (206g) has previous information data.
9. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass zumindest die in einen der mindestens zwei Speicherbereiche (206c, 206d) geschriebenen Informationsdaten (106) mit weiteren Informationsdaten verglichen werden.9. The method according to any one of the preceding claims, characterized in that at least the information data (106) written in one of the at least two memory areas (206c, 206d) are compared with further information data.
10. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren von einem Startprogramm eines Steuergerätes ausführbar ist und es sich bei dem Betriebsprogramm um eine Betriebssoftware des Steuerge- räts und bei den Informationsdaten (106) um nicht-flüchtige Daten handelt. 10. The method according to any one of the preceding claims, characterized in that the method is executable by a start program of a control unit and it is the operating program to an operating software of Steuerge device and the information data (106) is non-volatile data.
11. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass es sich bei dem Speicher (104) um einen Flash-Speicher und bei den SpeicherbereichenA method according to any one of the preceding claims, characterized in that the memory (104) is a flash memory and the memory areas
(206c, 206d) um Sektoren des Flash-Speichers handelt.(206c, 206d) is about sectors of the flash memory.
12. Vorrichtung um alle Schritte eines Verfahrens gemäß einem der Ansprüche 1 bis 11 durchzuführen.12. Device for carrying out all the steps of a method according to one of claims 1 to 11.
13. Computerprogramm mit Programmcode-Mitteln, um alle Schritte eines Verfahrens gemäß einem der Ansprüche 1 bisA computer program with program code means for carrying out all steps of a method according to one of claims 1 to
11 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Rechnereinheit ausgeführt wird.11 if the computer program is executed on a computer or a corresponding computer unit.
14. Computerprogrammprodukt mit Programmcode-Mitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 11 durchzuführen, wenn das Computerprogrammprodukt auf einem Computer oder auf einer entsprechenden Rechnereinheit ausgeführt wird. A computer program product having program code means stored on a computer readable medium for carrying out all the steps of a method as claimed in any one of claims 1 to 11 when the computer program product is executed on a computer or on a corresponding computer unit.
PCT/EP2009/051902 2008-02-22 2009-02-18 Method and device for storing information data WO2009103728A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008010556.2 2008-02-22
DE200810010556 DE102008010556A1 (en) 2008-02-22 2008-02-22 Method and device for storing information data

Publications (1)

Publication Number Publication Date
WO2009103728A1 true WO2009103728A1 (en) 2009-08-27

Family

ID=40512592

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/051902 WO2009103728A1 (en) 2008-02-22 2009-02-18 Method and device for storing information data

Country Status (2)

Country Link
DE (1) DE102008010556A1 (en)
WO (1) WO2009103728A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763279B (en) * 2010-01-15 2012-12-12 上海维宏电子科技股份有限公司 BootLoader architectural design method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013220523B4 (en) 2013-10-11 2023-05-25 Continental Automotive Technologies GmbH Method for updating an operational function of a sensor and a sensor module

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000007106A1 (en) * 1998-07-31 2000-02-10 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US6442067B1 (en) * 2000-05-23 2002-08-27 Compaq Information Technologies Group, L.P. Recovery ROM for array controllers
EP1265135A2 (en) * 2000-01-06 2002-12-11 Nec Corporation Rewriting boot areas
US20030163664A1 (en) * 2002-02-28 2003-08-28 Yasushi Kanda Method and apparatus for updating a distributed program
EP1372068A2 (en) * 2002-06-11 2003-12-17 Seiko Epson Corporation System, method and program for rewriting a flash memory
WO2005002060A2 (en) * 2003-06-16 2005-01-06 Intel Corporation Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
EP1605352A2 (en) * 2004-06-07 2005-12-14 Hewlett-Packard Development Company, L.P. Locating environment variables in non-volatile memory
EP1693740A2 (en) * 2005-02-16 2006-08-23 Seiko Epson Corporation Data processing apparatus and control method for a data processing apparatus

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000007106A1 (en) * 1998-07-31 2000-02-10 Intel Corporation Methods and apparatus for updating a nonvolatile memory
EP1265135A2 (en) * 2000-01-06 2002-12-11 Nec Corporation Rewriting boot areas
US6442067B1 (en) * 2000-05-23 2002-08-27 Compaq Information Technologies Group, L.P. Recovery ROM for array controllers
US20030163664A1 (en) * 2002-02-28 2003-08-28 Yasushi Kanda Method and apparatus for updating a distributed program
EP1372068A2 (en) * 2002-06-11 2003-12-17 Seiko Epson Corporation System, method and program for rewriting a flash memory
WO2005002060A2 (en) * 2003-06-16 2005-01-06 Intel Corporation Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
EP1605352A2 (en) * 2004-06-07 2005-12-14 Hewlett-Packard Development Company, L.P. Locating environment variables in non-volatile memory
EP1693740A2 (en) * 2005-02-16 2006-08-23 Seiko Epson Corporation Data processing apparatus and control method for a data processing apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIRK CR ET AL: "Fully Reprogrammable Fault-Tolerant FLASH Memory System", IP.COM JOURNAL, IP.COM INC., WEST HENRIETTA, NY, US, 1 August 1995 (1995-08-01), XP013104080, ISSN: 1533-0001 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763279B (en) * 2010-01-15 2012-12-12 上海维宏电子科技股份有限公司 BootLoader architectural design method

Also Published As

Publication number Publication date
DE102008010556A1 (en) 2009-09-03

Similar Documents

Publication Publication Date Title
EP2318920B1 (en) Control appliance for a vehicle, and method for updating data for a control appliance for a vehicle
DE19839680B4 (en) Method and device for modifying the memory contents of control units
DE102009024605A1 (en) Apparatus and method for bypassing a first program code portion with a replacement program code portion
EP2943748B1 (en) Method and device for managing map data of a digital map for a navigation apparatus
EP3378006B1 (en) Method for loading of a secure memory image of a microcontroler and arrangement with a microcontroller
EP2539899B1 (en) Method for checking the functionality of a memory element
WO2009103728A1 (en) Method and device for storing information data
WO2005022382A2 (en) Method for the installation of a program component
DE3820728A1 (en) METHOD FOR CHECKING A FIXED VALUE STORAGE AND ARRANGEMENT FOR IMPLEMENTING THE METHOD
DE102009002898A1 (en) Method for actualizing controller of vehicle, involves providing comparative results based on comparison of two conditions, and accomplishing actualization of controller based on one of comparative results
DE10260103A1 (en) Method and device for changing software in a control unit and corresponding control unit
WO2020099023A2 (en) Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium
DE102004006308B4 (en) Method for modifying program code of a portable data carrier by means of patch data
DE19701323C2 (en) Method and device for updating the operating software
DE102021002079B3 (en) Procedures for efficient data filing
EP1967920A1 (en) Softwareupdate method for FPGA-based automation systems
DE10235380B4 (en) Method for dynamic memory management
DE102009047974A1 (en) Method for programming controller in motor vehicle, involves executing update application by gateway to program controller via bus, and deleting update application in gateway, where update-application is provided in programming device
DE112021002282T5 (en) ELECTRONIC CONTROL DEVICE AND UPDATE METHOD FOR CONTROL SOFTWARE
WO2020025372A1 (en) Method, control apparatus, computer program and computer program product for updating a piece of software for a control apparatus
DE102008002494A1 (en) Method for actualizing flash memory for emulation of electrically EPROMs, for saving serial electrically EPROMs, in dashboard of vehicle, involves verifying actual version of data set to violation of defined rule
EP4275138A1 (en) Method for checking digital signatures, vehicle computing unit and vehicle
DE102017118348A1 (en) Updating a stored in a computing device of a motor vehicle application program with multiple program files
DE102020216481A1 (en) Method of operating a controller and controller
WO2002003193A2 (en) Electronic system for developing software and a method for accessing the internal data of said software

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09713323

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 09713323

Country of ref document: EP

Kind code of ref document: A1