DE102008010556A1 - Verfahren und Vorrichtung zum Speichern von Informationsdaten - Google Patents

Verfahren und Vorrichtung zum Speichern von Informationsdaten Download PDF

Info

Publication number
DE102008010556A1
DE102008010556A1 DE200810010556 DE102008010556A DE102008010556A1 DE 102008010556 A1 DE102008010556 A1 DE 102008010556A1 DE 200810010556 DE200810010556 DE 200810010556 DE 102008010556 A DE102008010556 A DE 102008010556A DE 102008010556 A1 DE102008010556 A1 DE 102008010556A1
Authority
DE
Germany
Prior art keywords
memory
information data
data
memory area
operating program
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.)
Withdrawn
Application number
DE200810010556
Other languages
English (en)
Inventor
Wanli Sheng
Jens Liebehenschel
Frank Boehland
Uwe Werner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE200810010556 priority Critical patent/DE102008010556A1/de
Priority to PCT/EP2009/051902 priority patent/WO2009103728A1/de
Publication of DE102008010556A1 publication Critical patent/DE102008010556A1/de
Withdrawn legal-status Critical Current

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

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

Bei einem Verfahren zum Speichern von Informationsdaten (106) in einen Speicher (104) mit mindestens zwei Speicherbereichen werden die Informationsdaten (106) und ein erster Abschnitt eines Betriebsprogramms in einen der mindestens zwei Speicherbereiche des Speichers (104) und die Informationsdaten (106) und ein zweiter Abschnitt des Betriebsprogramms in einen weiteren der mindestens zwei Speicherbereiche des Speichers (104) geschrieben.

Description

  • 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.
  • Stand der Technik
  • 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 Only Memory) abgelegt wird. Meist existieren im Flash-Speicher zwei separate, ausführbare Programme, nämlich der Bootloader und die Fahrsoftware.
  • 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 Funktionalistä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.
  • 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 nachfolgenden Beschreibung.
  • Vorteile der Erfindung
  • 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.
  • 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 sichergestellt werden, dass auch bei einem fehlgeschlagenen Schreibversuch kein Verlust der Informationsdaten auftritt.
  • 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.
  • Das Betriebsprogramm kann Informationen über die Anordnung der Informationsdaten in den mindestens zwei Speicherbereichen aufweisen. Dies erleichtert es dem Betriebsprogramm, auf die Informationsdaten zuzugreifen.
  • 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.
  • Das Verfahren kann folgende Schritte aufweisen:
    Löschen eines ersten Speicherbereichs des Speichers;
    Schreiben der Informationsdaten in den ersten Speicherbereich;
    Schreiben des ersten Abschnitts des Betriebsprogramms in den ersten Speicherbereich;
    Löschen eines zweiten Speicherbereichs des Speichers;
    Schreiben der Informationsdaten in den zweiten Speicherbereich; und
    Schreiben des zweiten Abschnitts des Betriebsprogramms in den zweiten Speicherbereich.
  • Diese Vorgehensweise eignet sich für den Fall, dass die Informationsdaten im zweiten Speicherbereich intakt sind.
  • Alternativ kann das Verfahren folgende Schritte aufweisen:
    Löschen eines zweiten Speicherbereichs des Speichers;
    Schreiben der Informationsdaten in den zweiten Speicherbereich;
    Löschen eines ersten Speicherbereichs des Speichers;
    Schreiben der Informationsdaten in den ersten Speicherbereich;
    Schreiben des zweiten Abschnitts des Betriebsprogramms in den zweiten Speicherbereich; und
    Schreiben des ersten Abschnitts des Betriebsprogramms in den ersten Speicherbereich.
  • Diese Vorgehensweise eignet sich beispielsweise für den Fall, dass die Informationsdaten im zweiten Speicherbereich nicht intakt sind.
  • Ferner kann ein dritter Speicherbereich vorherige Informationsdaten aufweist. Dadurch kann der Speicher sowohl neue als auch vorherige Informationsdaten aufweisen.
  • 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.
  • 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 beiden 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.
  • 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.
  • Das erfindungsgemäße Computerprogramm mit Programmcodemitteln 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.
  • 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 einem Computer oder einer entsprechenden Recheneinheit, insbesondere einer erfindungsgemäßen Vorrichtung, durchgeführt wird.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.
  • 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.
  • Die Erfindung ist anhand von Ausführungsbeispielen in den Zeichnungen schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
  • Figurenbeschreibung
  • 1 zeigt eine schematische Darstellung einer Ausführungsform der erfindungsgemäßen Vorrichtung;
  • 2 zeigt eine schematische Darstellung eines Speichers gemäß einer erfindungsgemäßen Ausführungsform;
  • 3 zeigt eine schematische Darstellung von Speicherbereichen gemäß einer erfindungsgemäßen Ausführungsform; und
  • 4 zeigt eine schematische Darstellung einer Ausführungsform des erfindungsgemäßen Verfahrens.
  • 1 zeigt eine Vorrichtung mit einer Schreibeinrichtung 102 und einem Speicher 104 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die Schreibeinrichtung ist ausgebildet, 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 Speicher 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 Speichers verteilt werden können.
  • 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.
  • 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 Bootloader in den Speicher 104 geschrieben wird. Bei der Schreibeinrichtung 102 kann es sich um einen Prozessor handeln, der ausgebildet ist, um den Bootloader auszuführen.
  • 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.
  • Die Fahrsoftware kann eine von dem Steuergerät geforderte Funktionalität erfüllen.
  • 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 oder Software-Versionen und eine Version von Datenständen sowie eine Anzahl aller, erfolgloser oder erfolgreicher Softwareupdates, aufweisen.
  • 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.
  • 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 einzelne 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.
  • 3 zeigt die Sektoren 206c, 206d des in 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. Ausserdem können weitere Sektoren davor und/oder dazwischen eingefügt werden.
  • 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.
  • 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.
  • Gemäß einem alternativen Ausführungsbeispiel können in der Fahrsoftware Lücken vorhanden sein, die dem Bootloader bekannt sind. Die Lücken können fester Größe sein. In die Lücken werden entsprechende Daten im Rahmen des Software Update eingetragen.
  • In beiden Ausführungsbeispielen legt der Bootloader bestimmte 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 3 für die zwei Sektoren 206c, 206d veranschaulicht ist.
  • In 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.
  • 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 Information, wie beispielsweise die Anzahl der erfolglosen Update-Versuche, die in den Daten 106 enthalten sein kann, verloren geht.
  • 4 zeigt ein Ablaufdiagramm mit Schritten des erfindungsgemäß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 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 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” aufweisen.
  • 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.
  • 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äuferanalyse ermittelt werden.
  • Gemäß weiteren Ausführungsbeispielen sind auch andere Reihenfolgen der Verfahrensschritte möglich. Insbesondere, wenn mehrere Sektoren zum Abspeichern des Codes der Fahrsoftware 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.
  • 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 Updateversuche, verarbeitet und in den Bereich im Daten-Flash mit den persistenten Daten übernommen werden.
  • Neben den bereits beschriebenen Vorteilen weist das erfindungsgemäße Verfahren eine Reihe weiterer Vorteile auf. Insbesondere 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 Datenstrom 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.
  • 102
    Schreibeinrichtung
    104
    Speicher
    106
    Informationsdaten
    206a, 206b, 206c, 206d, 206g
    Speicherbereiche
    314, 316
    Abschnitte des Betriebsprogramms
    452, 454, 456, 458, 460, 462
    Verfahrensschritte

Claims (14)

  1. Verfahren zum Speichern von Informationsdaten (106) in einen Speicher (104) mit mindestens zwei Speicherbereichen (206c, 206d), dadurch gekennzeichnet, dass 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.
  2. Verfahren Anspruch 1, dadurch gekennzeichnet, dass in dem einen der mindestens zwei Speicherbereiche (206c, 206d) bereits vorhandene Informationsdaten überprüft werden, bevor der weitere der mindestens zwei Speicherbereiche beschrieben wird.
  3. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass eine Anordnung der Informationsdaten (106) in den mindestens zwei Speicherbereichen (206c, 206d) vorbestimmt ist.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das Betriebsprogramm Informationen über die Anordnung der Informationsdaten in den mindestens zwei Speicherbereichen (206c, 206d) aufweist.
  5. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Betriebsprogramm Lücken aufweist, in die die Informationsdaten (106) geschrieben werden.
  6. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass es folgende Schritte aufweist: Löschen (452) eines ersten Speicherbereichs des Speichers; Schreiben (454) der Informationsdaten in den ersten Speicherbereich; Schreiben (456) des ersten Abschnitts des Betriebsprogramms in den ersten Speicherbereich; Löschen (458) eines zweiten Speicherbereichs des Speichers; Schreiben (460) der Informationsdaten in den zweiten Speicherbereich; und Schreiben (462) des zweiten Abschnitts des Betriebsprogramms in den zweiten Speicherbereich.
  7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass es folgende Schritte aufweist: Löschen eines zweiten Speicherbereichs des Speichers; Schreiben der Informationsdaten in den zweiten Speicherbereich; Löschen eines ersten Speicherbereichs des Speichers; Schreiben der Informationsdaten in den ersten Speicherbereich; Schreiben des zweiten Abschnitts des Betriebsprogramms in den zweiten Speicherbereich; und Schreiben des ersten Abschnitts des Betriebsprogramms in den ersten Speicherbereich.
  8. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass ein dritter Speicherbereich (206g) vorherige Informationsdaten aufweist.
  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.
  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 Steuergeräts und bei den Informationsdaten (106) um nicht-flüchtige Daten handelt.
  11. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass es sich bei dem Speicher (104) um einen Flash-Speicher und bei den Speicherbereichen (206c, 206d) um Sektoren des Flash-Speichers handelt.
  12. Vorrichtung um alle Schritte eines Verfahrens gemäß einem der Ansprüche 1 bis 11 durchzuführen.
  13. Computerprogramm mit Programmcode-Mitteln, um alle Schritte eines Verfahrens gemäß einem der Ansprüche 1 bis 11 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Rechnereinheit ausgeführt wird.
  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.
DE200810010556 2008-02-22 2008-02-22 Verfahren und Vorrichtung zum Speichern von Informationsdaten Withdrawn DE102008010556A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200810010556 DE102008010556A1 (de) 2008-02-22 2008-02-22 Verfahren und Vorrichtung zum Speichern von Informationsdaten
PCT/EP2009/051902 WO2009103728A1 (de) 2008-02-22 2009-02-18 Verfahren und vorrichtung zum speichern von informationsdaten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200810010556 DE102008010556A1 (de) 2008-02-22 2008-02-22 Verfahren und Vorrichtung zum Speichern von Informationsdaten

Publications (1)

Publication Number Publication Date
DE102008010556A1 true DE102008010556A1 (de) 2009-09-03

Family

ID=40512592

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200810010556 Withdrawn DE102008010556A1 (de) 2008-02-22 2008-02-22 Verfahren und Vorrichtung zum Speichern von Informationsdaten

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013220523B4 (de) 2013-10-11 2023-05-25 Continental Automotive Technologies GmbH Verfahren zum Aktualisieren einer Betriebsfunktion eines Sensors und ein Sensormodul

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763279B (zh) * 2010-01-15 2012-12-12 上海维宏电子科技股份有限公司 一种BootLoader架构设计方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205548B1 (en) * 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
JP3838840B2 (ja) * 2000-01-06 2006-10-25 Necエレクトロニクス株式会社 コンピュータ
US6442067B1 (en) * 2000-05-23 2002-08-27 Compaq Information Technologies Group, L.P. Recovery ROM for array controllers
JP2003256228A (ja) * 2002-02-28 2003-09-10 Denso Corp プログラム書換装置
EP1372068A3 (de) * 2002-06-11 2006-02-08 Seiko Epson Corporation System, Verfahren und Programm zum Wiederbeschreiben eines Flash-Speichers
US20050010811A1 (en) * 2003-06-16 2005-01-13 Zimmer Vincent J. Method and system to support network port authentication from out-of-band firmware
US20050273584A1 (en) * 2004-06-07 2005-12-08 Wisecup George D Locating environment variables in non-volatile memory
JP2006227830A (ja) * 2005-02-16 2006-08-31 Seiko Epson Corp 情報処理機器及び情報処理機器の制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013220523B4 (de) 2013-10-11 2023-05-25 Continental Automotive Technologies GmbH Verfahren zum Aktualisieren einer Betriebsfunktion eines Sensors und ein Sensormodul

Also Published As

Publication number Publication date
WO2009103728A1 (de) 2009-08-27

Similar Documents

Publication Publication Date Title
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE102009024605A1 (de) Vorrichtung und Verfahren zum Umgehen eines ersten Programmcodeabschnitts mit einem Ersatzprogrammcodeabschnitt
EP2943748B1 (de) Verfahren und vorrichtung zum verwalten von kartendaten einer digitalen karte einer navigationseinrichtung
DE19911794B4 (de) Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
DE102008010556A1 (de) Verfahren und Vorrichtung zum Speichern von Informationsdaten
DE10211426A1 (de) Verfahren zur Durchführung eines Updates von Software-Programmen oder Software-Programmteilen
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
DE112015002881B4 (de) Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm
DE102009002898A1 (de) Verfahren zur Aktualisierung eines Steuergeräts eines Fahrzeugs
WO2020099023A2 (de) Steuergerät für eine fahrzeugkomponente, kit umfassend ein steuergerät und eine testereinrichtung, fahrzeug, verfahren zum aktualisieren eines steuergeräts und computerlesbares speichermedium
DE102004006308B4 (de) Verfahren zum Verändern von Programmcode eines tragbaren Datenträgers mittels Patchdaten
DE102021002079B3 (de) Verfahren zum effizienten Ablegen von Daten
DE19701323C2 (de) Verfahren und Vorrichtung zur Aktualisierung der Betriebssoftware
DE10235380B4 (de) Verfahren zur dynamischen Speicherverwaltung
EP2002446B1 (de) Verfahren zum betreiben einer speichereinrichtung mit markierung von als fehlerhaft erkannten speicherblöcken
EP2312444B1 (de) Verfahren zum Schreiben von Datensätzen in einen nicht-flüchtigen Datenspeicher
EP2037360A2 (de) Steuergerät für einen Massenspeicher und Verfahren zum Bereitstellen von Daten für einen Startvorgang eines Computers
DE102008002494A1 (de) Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment
EP2151783A2 (de) Verfahren und Vorrichtung um Änderungen an Daten zu erkennen
DE102018213045A1 (de) Verfahren, Steuervorrichtung, Computerprogramm und Computerprogrammprodukt zum Aktualisieren einer Software für eine Steuervorrichtung
DE102022003789A1 (de) Verfahren zum Ändern des Speicherinhalts eines Hauptspeichers eines Mikrocontrollers ohne separate Speicherverwaltungseinheit, Anwendung dessen, Mikrocontroller und Fahrzeug
DE112021000801T5 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
DE112021002282T5 (de) Elektronische steuervorrichtung und aktualisierungsverfahren für steuerungssoftware
DE102011121879A1 (de) Steuereinrichtung und Steuerverfahren zur Steuerung einer Antriebseinrichtung

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110901