DE19623145A1 - Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung - Google Patents

Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung

Info

Publication number
DE19623145A1
DE19623145A1 DE1996123145 DE19623145A DE19623145A1 DE 19623145 A1 DE19623145 A1 DE 19623145A1 DE 1996123145 DE1996123145 DE 1996123145 DE 19623145 A DE19623145 A DE 19623145A DE 19623145 A1 DE19623145 A1 DE 19623145A1
Authority
DE
Germany
Prior art keywords
data
data processing
processing program
program section
overwriting
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.)
Granted
Application number
DE1996123145
Other languages
English (en)
Other versions
DE19623145B4 (de
Inventor
Andreas Werner
Carsten Franz
Udo Schulz
Walter Nagl
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 DE1996123145 priority Critical patent/DE19623145B4/de
Priority to GB9711251A priority patent/GB2314180B/en
Priority to FR9706788A priority patent/FR2749697B1/fr
Priority to JP15184097A priority patent/JPH1083294A/ja
Publication of DE19623145A1 publication Critical patent/DE19623145A1/de
Application granted granted Critical
Publication of DE19623145B4 publication Critical patent/DE19623145B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/03Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for supply of electrical power to vehicle subsystems or for
    • B60R16/0315Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for supply of electrical power to vehicle subsystems or for using multiplexing techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

Die vorliegende Erfindung betrifft ein Verfahren gemäß dem Oberbegriff des Patentanspruchs 1, d. h. ein Verfahren zum Betreiben eines Steuergerätes mit einer über eine Program­ miervorrichtung programmierbaren Speichereinrichtung, wobei das Löschen und das Überschreiben des Inhalts der Speicher­ einrichtung jeweils unter Ausführung eines Datenverarbei­ tungsprogrammabschnittes und unter Verwendung von Daten durchgeführt wird.
Ein derartiges Verfahren ist beispielsweise in der DE 43 32 499 A1 offenbart. Das in dieser Druckschrift beschriebene Steuergerät ist ein Kraftfahrzeugsteuergerät, dessen mögli­ cher Aufbau und Einbettung in ein Gesamtsystem nachfolgend unter Bezugnahme auf Fig. 3 näher beschrieben wird.
Das Kraftfahrzeugsteuergerät ist in der Fig. 3 mit dem Be­ zugszeichen 10 bezeichnet; es enthält einen Mikrorechner 11 und Ein-/Ausgabeschaltkreise 12.
Der Mikrorechner 11 umfaßt eine Zentraleinheit 13, einen elektrisch lösch- und programmierbaren Speicher 14 in Form eines Flash-EPROM, einen Schreib-/Lesespeicher 15, einen Nur-Lese-Speicher 16 und eine serielle Schnittstelle 21.
Das Kraftfahrzeugsteuergerät 10 erhält über die Ein-/Ausgabe­ schaltkreise 12 Eingangssignale von Sensoren wie einem Dros­ selklappenpotentiometer 17, einem Drehzahlfühler 23 und wei­ teren Sensoren 18. Die weiteren Sensoren, auf welche hier nicht näher eingegangen werden soll, sind je nach Kraftfahr­ zeugsteuergerät ein Motor-Temperaturfühler, ein Ansaugluft-Temperaturfühler, ein Luftmassenmesser, ein Leerlaufschalter usw.
Das Kraftfahrzeugsteuergerät 10 gibt andererseits über die Ein-/Ausgabeschaltkreise 12 Ausgangssignale an Aktuatoren 19 zur Steuerung von beispielsweise Einspritzventilen, Zündspu­ len usw. aus.
Der genaue Aufbau des Kraftfahrzeugsteuergerätes 10 kann der Druckschrift Bosch - Technische Unterrichtung, kombiniertes Zünd- und Benzineinspritzsystem Motronic, Robert Bosch GmbH, 1983 entnommen werden und bedarf hier deshalb keiner näheren Erläuterung.
Die genannten Speichereinrichtungen 14, 15 und 16 sind der Zentraleinheit 13 zugeordnet und dienen zur Speicherung von Programmen und Daten für die Zentraleinheit 13.
Die Verwendung von elektrisch lösch- und programmierbaren nichtflüchtigen Speichereinrichtungen wie der Speicherein­ richtung 14 erweist sich bei einem Kraftfahrzeugsteuergerät als vorteilhaft, weil diese sich jederzeit umprogrammieren lassen, was insbesondere bei später entdeckten Fehlern oder individuellen Kundenwünschen von nicht unerheblicher Bedeu­ tung ist.
Die Verwendung von Flash-EPROMs als elektrisch lösch- und programmierbare nichtflüchtige Speichereinrichtungen gewinnt dabei zunehmend an Bedeutung, weil diese die Vorzüge eines "normalen" EPROM (hohe Speicherzellendichte) und eines EEPROM (elektrisches und damit einfaches und bequemes Löschen des Speicherinhalts) in sich vereinen.
Zur anfänglichen Programmierung der Flash-EPROMs (vorzugs­ weise in Abhängigkeit vom Kraftfahrzeug-Typ im Kraftfahrzeug-Her­ stellungsbetrieb) oder zur späteren Umprogrammierung der­ selben (beim Kundendienst zur Fehlerbeseitigung oder entspre­ chend individuellen Kundenwünschen) wird ein externes Pro­ grammiergerät 20, beispielsweise in Form eines Personal Com­ puter an das Steuergerät 10 angeschlossen.
Der Anschluß erfolgt beispielsweise über eine serielle Schnittstellenleitung 22 und die bereits erwähnte serielle Schnittstelle 21.
Durch das externe Programmiergerät 20 ist das Steuergerät 10 bei Bedarf zur Ausführung von Datenverarbeitungsprogrammab­ schnitten zum Löschen bzw. Überschreiben von Daten im Flash-EPROM veranlaßbar, wobei gegebenenfalls auch die (neu) einzu­ speichernden Daten zur Verfügung gestellt werden.
Das Steuergerät 10 selbst kann die Ausführung der genannten Datenverarbeitungsprogrammabschnitte im Normalfall nicht von sich aus, also nicht ohne externen Anstoß veranlassen. D.h., in den während des Fahrbetriebes im Steuergerät ausgeführten oder auszuführenden Anwenderprogrammen ist kein Einsprung in die genannten Datenverarbeitungsprogrammabschnitte vorgese­ hen. Der Grund für diese Maßnahme liegt unter anderem darin, daß ein unbeabsichtigtes oder ein unbefugtes Löschen und/oder Überschreiben des Flash-EPROM verhindert werden soll.
Eine weitere Maßnahme zum Schutz vor unbeabsichtigten Spei­ cherinhaltsveränderungen und vor Manipulationen durch hierzu nicht Berechtigte besteht darin, daß dem eigentlichen Löschen und/oder Überschreiben von Inhalten des Flash-EPROM eine Be­ rechtigungskontrolle (durch Überprüfen eines eingegebenen Paßwortes oder dergleichen) vorausgeht.
Durch die genannten Schutzvorkehrungen sind ein unbeabsich­ tigtes oder unbefugtes Löschen und/oder Überschreiben des Flash-EPROM weitestgehend verhinderbar. Allerdings ist es bei einer unglücklichen Verkettung gewisser Umstände nicht voll­ ständig ausschließbar, daß diese Schutzmaßnahmen vereinzelt nicht wirksam sind.
Verantwortlich hierfür sind vor allem EMV-Einstrahlungen ins Steuergerät, aber auch gezielte Manipulationen des Adreßzei­ gers oder des Adreßbusses durch unbefugte Dritte.
Die Folge hiervon ist, daß - obgleich dies nicht vorgesehen ist - unter ungünstigen Bedingungen zumindest theoretisch auch ohne bestimmungsgemäße Veranlassung durch das Program­ miergerät ein Einsprung in einen Datenverarbeitungsprogramm­ abschnitt erfolgen kann, durch dessen Ausführung im Flash-EPROM des Steuergerätes gespeicherte Daten gelöscht und/oder überschrieben werden können.
Sofern ein Einsprung an den Anfang einer derartigen Routine erfolgt, kann ein drohender Schaden durch Abfrage eines Paß­ wortes oder dergleichen und gegebenenfalls Verlassen der Rou­ tine abgewendet werden. Falls der Einsprung jedoch an eine Stelle weiter hinten im Programm erfolgt, ist dieser Schutz­ mechanismus unwirksam, so daß ein nicht bestimmungsgemäßes Löschen und/oder Überschreiben von in einer programmierbaren Speichereinrichtung gespeicherten Daten hierdurch nicht zu­ verlässig ausgeschlossen werden kann.
Zur Abhilfe hiergegen sind an den Flash-EPROMs zum Teil Pro­ grammierspannungseingänge vorgesehen, an welche eine vorbe­ stimmte Programmierspannung anzulegen ist, wenn ein Löschen oder Beschreiben der Speichereinrichtung durchgeführt werden soll. Ein derartiger Schutzmechanismus erfordert jedoch einen zusätzlichen Hardwareaufwand, der aufgrund der Tatsache, daß die vorbestimmte Programmierspannung relativ genau eingehal­ ten werden muß, nicht unerhebliche Ausmaße annehmen kann, was seinerseits wiederum auch negative Auswirkungen auf die Zu­ verlässigkeit bzw. Fehleranfälligkeit des Schutzmechanismus selbst haben kann.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, das Verfahren gemäß dem Oberbegriff des Patentanspruchs 1 derart weiterzubilden, daß ein nicht bestimmungsgemäßes Lö­ schen und/oder Überschreiben von in einer programmierbaren Speichereinrichtung gespeicherten Daten auf einfache Weise zuverlässig ausschließbar ist.
Diese Aufgabe wird erfindungsgemäß durch die im kennzeichnen­ den Teil des Patentanspruchs 1 beanspruchten Merkmale gelöst.
Demnach ist vorgesehen, daß wenigstens entweder der Datenver­ arbeitungsprogrammabschnitt oder die (vom Datenverarbeitungs­ programmabschnitt verwendeten) Daten derart bereitgestellt werden, daß sie vor deren Verwendbarkeit zur Herbeiführung eines Löschens oder eines Überschreibens einer Modifikation bedürfen, und daß diese Modifikation erst durchgeführt wird, wenn festgestellt wird, daß ein Einsprung in den Datenverar­ beitungsprogrammabschnitt bestimmungsgemäß erfolgt ist oder erfolgen wird oder erfolgen kann.
Ein Einsprung in einen Datenverarbeitungsprogrammabschnitt zum Löschen und/oder Überschreiben des Inhalts der program­ mierbaren Speichervorrichtung kann mithin nur dann zu einem Löschen und/oder Überschreiben führen, wenn aufgrund der Be­ gleitumstände zumindest mit hoher Wahrscheinlichkeit davon ausgegangen werden kann oder konnte, daß die Lösch- und/oder Überschreibroutine nicht versehentlich oder mißbräuchlich aufgerufen wurde, wird oder werden wird.
Die Durchführung einer derartigen Überprüfung und der in Ab­ hängigkeit hiervon erforderlichen Code- und/oder Datenmodifi­ kation ist relativ einfach durchführbar. Bei geeigneter Aus­ wahl der Umstände, anhand derer festgestellt wird, ob ein Einsprung in den Datenverarbeitungsprogrammabschnitt bestim­ mungsgemäß erfolgt ist oder erfolgen wird oder erfolgen kann (beispielsweise bei einer Entscheidung in Abhängigkeit davon, ob ein externes Programmiergerät oder dergleichen angeschlos­ sen und/oder aktiviert ist), ist der erfindungsgemäße Schutz­ mechanismus auch äußerst zuverlässig, also kaum zu umgehen.
Es wurde mithin ein Verfahren geschaffen, durch welches ein nicht bestimmungsgemäßes Löschen und/oder Überschreiben von in einer programmierbaren Speichereinrichtung gespeicherten Daten auf einfache Weise zuverlässig ausschließbar ist.
Der Ausschluß des nicht bestimmungsgemäßen Löschens sichert nicht nur die gespeicherten Daten vor einer ungewollten oder unbefugten Veränderung, sondern trägt auch erheblich zur Be­ triebssicherheit des Steuergerätes bei, denn ein Sprung aus einem während des Fahrbetriebs ausgeführten Anwenderprogramm in einen Datenverarbeitungsprogrammabschnitt zum Löschen und/oder Überschreiben des Flash-EPROM könnte insbesondere bei einem zu diesem Zeitpunkt fahrenden Kraftfahrzeug erheb­ liche Sicherheitsrisiken mit sich bringen.
Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
Die Erfindung wird nachfolgend anhand eines Ausführungsbei­ spiels näher erläutert. Es zeigen
Fig. 1 einen prinzipiellen Ablaufplan des erfindungsgemäßen Verfahrensabschnittes,
Fig. 2A bis 2D Ablaufpläne, die ein bestimmungsgemäßes Löschen eines Flash-EPROM veranschaulichen, und
Fig. 3 eine Anordnung, die ein vor einem nicht bestimmungs­ gemäßen Löschen und/oder Überschreiben zu schützendes Flash-EPROM enthält.
Die nachstehenden Erläuterungen beziehen sich auf ein Verfah­ ren zum Betreiben eines Steuergerätes zur Steuerung bei­ spielsweise des Motors, des Getriebes der Bremsen etc. eines Kraftfahrzeuges, also eines Kraftfahrzeugsteuergerätes.
Das betrachtete Kraftfahrzeugsteuergerät enthält programmier­ bare Speichereinrichtungen, genauer gesagt elektrisch lösch- und programmierbare (nichtflüchtige) Speichereinrichtungen in Form von Flash-EPROMs. Die Programmierung dieser Flash-EPROMs erfolgt über ein externes Programmiergerät, das beispielswei­ se über eine serielle Schnittstelle mit dem Kraft fahrzeug­ steuergerät verbindbar ist.
Eine mögliche Ausführungsform einer ein derartiges Kraftfahr­ zeugsteuergerät enthaltenden Anordnung ist die in der Fig. 3 gezeigte Anordnung, auf deren eingangs bereits erfolgte aus­ führliche Beschreibung hiermit ausdrücklich Bezug genommen wird.
Die vorliegende Erfindung ist jedoch nicht auf die Program­ mierung von Flash-EPROMs in Kraftfahrzeugsteuergeräten unter Verwendung eines externen Programmiergerätes beschränkt. Sie ist vielmehr überall dort anwendbar, wo es ganz allgemein darum geht, eine Speichereinrichtung eines Steuergerätes durch eine Programmiervorrichtung zu programmieren.
Das Programmieren, genauer gesagt das Löschen und das Überschreiben des Inhalts des Flash-EPROMs wird jeweils unter Ausführung eines Datenverarbeitungsprogrammabschnittes im Steuergerät und unter Verwendung von (für die ordnungsgemäße Ausführung des Datenverarbeitungsprogrammabschnittes benötig­ ten) Daten durchgeführt.
Die jeweiligen Datenverarbeitungsprogrammabschnitte sind ge­ mäß einem ersten Aspekt der Erfindung jedoch nicht einfach durch einen Aufruf oder einen Einsprung in dieselben aus führ­ bar, sondern liegen vorteilhafter Weise zunächst in einer Form vor, in der ein Löschen und/oder ein Überschreiben von Daten im Flash-EPROM noch nicht bewerkstelligbar ist.
Diese Nicht-Ausführbarkeit kann auf verschiedenste Art und Weise erreicht werden.
Eine der Möglichkeiten hierfür besteht darin, daß der die je­ weiligen Datenverarbeitungsprogrammabschnitte repräsentieren­ de Code zumindest teilweise derart verschlüsselt oder in son­ stiger Weise manipuliert ist, daß er ohne eine entsprechende Modifikation ein zumindest nicht vollständig und/oder nicht ordnungsgemäß ausführbares Programm darstellt.
Eine weitere Möglichkeit besteht darin, daß in den Code an strategisch günstigen Stellen Befehle eingebaut sind, durch die die Ausführung von Befehlen, welche letztlich das Löschen und/oder Überschreiben von Daten im Flash-EPROM bewirken sol­ len, unterbunden wird. Dies können beispielsweise Sprung­ anweisungen sein, die ein Verlassen des betreffenden Daten­ verarbeitungsprogrammabschnittes oder ein Überspringen der kritischen Anweisungen bewirken, und die vor einer ordnungs­ gemäßen Programmausführung durch eine entsprechende Modifika­ tion des Programmcodes zu entfernen oder wenigstens unwirksam zu machen sind.
Gemäß einem zweiten Aspekt der Erfindung können alternativ oder zusätzlich hierzu Daten, von deren Inhalt das Löschen und/oder Überschreiben des Inhalts des Flash-EPROMs abhängig machbar ist, auf (nicht plausible) Werte gesetzt sein, die das Löschen und/oder Überschreiben des Flash-EPROM verhin­ dern.
Bei den genannten Daten kann es sich beispielsweise um die­ jenigen Daten und Adressenwerte handeln, die zumindest bei einigen Flash-EPROMs vor dem eigentlichen Löschen und/oder Überschreiben in Form sogenannter Entriegelungszyklen (unlock cycles) über den Bus zum Flash-EPROM gegeben werden müssen. Während der besagten unlock cycles müssen bestimmte Daten in einer bestimmten Reihenfolge an bestimmte Adressen des Flash-EPROM geschrieben werden, um das Flash-EPROM zum Zwecke des Datenlöschens und/oder -überschreibens aufzusperren bzw. zu entriegeln. Scheitert der Versuch, das Flash-EPROM zu entrie­ geln, so bleibt es für ein Löschen und/oder Überschreiben ge­ sperrt.
Sorgt man nun dafür, daß durch die in den unlock cycles aus­ gegebenen Adressen und Daten nicht automatisch, sondern nur unter ganz bestimmten Umständen, nämlich nur bei bestimmungs­ gemäß veranlaßtem Löschen und/oder Überschreiben des Flash-EPROM eine Entriegelung des Flash-EPROM bewirkbar ist, so steht ein weiterer Schutzmechanismus zur Verfügung, durch welchen ein nicht bestimmungsgemäßes Löschen und/oder Über­ schreiben des Flash-EPROM verhinderbar ist.
Zur Vermeidung der automatischen Entriegelbarkeit des Flash-EPROM kann vorgesehen werden, daß der Datenverarbeitungspro­ grammabschnitt die während der unlock cycles zum Flash-EPROM auszugebenden Daten und/oder Adressen nicht wie bisher üblich im Programmcode integriert hat, sondern aus einem vorzugs­ weise flüchtigen Speicher (RAM) holen muß, wobei der Speicherbereich (die Variablentabelle), aus dem sich die je­ weiligen Datenverarbeitungsprogrammabschnitte die Daten und/oder Adressen zur Ausgabe der unlock cycles holen, nicht automatisch mit Werten beschrieben ist, deren Verwendung das Flash-EPROM entriegelt.
In einer praktischen Realisierung dieses Schutzmechanismus kann vorgesehen werden, die eine Entriegelung des Flash-EPROM ermöglichenden Daten erst dann in die genannte Variablen­ tabelle einzuschreiben, wenn feststeht, daß eine bestimmungs­ gemäß zustande gekommene (beispielsweise durch das Program­ miergerät veranlaßte) Anforderung zum Löschen oder über­ schreiben des Flash-EPROM vorliegt oder folgen wird oder fol­ gen kann, und daß die genannten Daten in der Variablentabelle unmittelbar nach dem Lösch- bzw. Überschreibvorgang im Flash-EPROM wieder gelöscht oder durch eine Entriegelung des Flash-EPROM ausschließende Daten ersetzt werden. Ein Löschen der Daten in der Variablentabelle bzw. ein überschreiben dersel­ ben durch eine Entriegelung des Flash-EPROM ausschließende Daten ist unter anderem auch nach dem Einschalten oder nach einem Rücksetzen des Steuergerätes angezeigt, um eine zufäl­ lige Entriegelbarkeit des Flash-EPROM zuverlässig verhindern zu können.
Bei Vorsehen von Schutzmechanismen gemäß dem ersten und/oder zweiten Aspekt der vorliegenden Erfindung, d. h. bei Vorsehen von die ordnungsgemäße Ausführbarkeit der jeweiligen Daten­ verarbeitungsprogrammabschnitte zum Löschen und/oder Über­ schreiben des Flash-EPROM Einfluß nehmenden Schutzmechanismen hat ein Einsprung in die entsprechenden Datenverarbeitungs­ programmabschnitte nicht automatisch ein Löschen und/oder Überschreiben von Daten im Flash-EPROM zur Folge. Vielmehr ist auf diese Weise ein Löschen und/oder Überschreiben von Daten im Flash-EPROM grundsätzlich zunächst einmal ausge­ schlossen.
Falls ein bestimmungsgemäßes Löschen und/oder Überschreiben von Daten im Flash-EPROM durchgeführt werden soll, bedarf es, wie bereits angedeutet wurde, einer Modifikation des jeweili­ gen Datenverarbeitungsprogrammabschnittes und/oder der die Daten für die unlock cycles enthaltenden Variablentabelle im Steuergerät.
Dieser Vorgang ist in der Fig. 1 veranschaulicht.
Gemäß der Darstellung in der Fig. 1 wird in einem ersten Schritt S1 zunächst überprüft, ob ein Einsprung in einen Datenverarbeitungsprogrammabschnitt zum Löschen und/oder Über­ schreiben von Daten eines Flash-EPROM bestimmungsgemäß, d. h. zumindest nicht offensichtlich versehentlich oder mißbräuch­ lich erfolgt ist, erfolgen wird oder erfolgen kann. Die Über­ prüfung konzentriert sich dabei vorzugsweise auf solche Kri­ terien, deren Vorliegen allein oder in Kombination mit ande­ ren Bedingungen das Einleiten einer Programmierung des Flash-EPROM nicht nur möglich erscheinen lassen (nicht ausschlie­ ßen), sondern aus denen sich auch mit einer gewissen Zuver­ lässigkeit folgern läßt, daß die Programmierung des Flash-EPROM tatsächlich eingeleitet bzw. veranlaßt wurde oder wer­ den wird.
Für den Fall, daß zur Programmierung des Flash-EPROM wie im vorliegenden Ausführungsbeispiel ein externes Programmier- oder Testgerät an das Steuergerät angeschlossen werden muß, kann im Feststellungsschritt S1 unter anderem beispielsweise überprüft werden,
  • - ob ein entsprechendes externes Programmiergerät angeschlos­ sen ist, und/oder
  • - ob das Programmiergerät aktiviert (eingeschaltet) ist, und/oder
  • - ob sich das Programmiergerät in einer Programmierbetriebs­ art befindet, und/oder
  • - ob eine bestimmungsgemäße Kommunikation zwischen Steuer­ gerät und Programmiergerät stattfindet oder stattgefunden hat.
Die Durchführung einer oder mehrerer der genannten oder ähn­ licher Überprüfungen ermöglicht eine sehr sichere Aussage darüber, ob ein Einsprung in die Programmierroutine zum Pro­ grammieren des Flash-EPROM bestimmungsgemäß veranlaßt wurde oder veranlaßt werden wird.
Die in diesem Zusammenhang im einzelnen durchzuführenden Überprüfungen hängen von den jeweiligen individuellen Gege­ benheiten ab. Denkbar wären in diesem Zusammenhang insbeson­ dere (aber nicht ausschließlich) Abfragen von entsprechenden Statusinformationen des Steuergerätes und gegebenenfalls von daran angeschlossenen externen Geräten und/oder die Abfrage von Kennungen, die bei Eintreten gewisser Ereignisse gesetzt werden.
Wird bei der Überprüfung in Schritt S1 festgestellt, daß ein bestimmungsgemäßer Einsprung in den Datenverarbeitungs­ abschnitt zum Löschen und/oder Überschreiben des Flash-EPROM momentan und/oder in absehbarer Zeit danach nicht vorliegt oder nicht vorliegen kann, wird der in der Fig. 1 gezeigte Programmabschnitt unter Auslassung des nachfolgend noch näher beschriebenen Schrittes S2 verlassen. Das Auslassen des Schrittes S2 bewirkt, daß ein gegebenenfalls erfolgter oder erfolgender Einsprung in einen Datenverarbeitungsprogramm­ abschnitt zum Löschen und/oder Überschreiben eines Flash-EPROM kein Löschen und/oder Überschreiben desselben zur Folge haben kann.
Falls in Schritt S1 dagegen festgestellt wird, daß ein be­ stimmungsgemäßer Einsprung momentan und/oder in absehbarer Zeit danach vorliegt oder vorliegen kann, wird in Schritt S2 die vorstehend bereits erwähnte Modifikation des jeweiligen Datenverarbeitungsprogrammabschnittes und/oder der von diesem benötigten Daten durchgeführt, wodurch diese in einen Zustand übergeführt werden, der einen bestimmungsgemäßen Programm­ ablauf, d. h. ein ordnungsgemäßes Löschen und Überschreiben von Daten des Flash-EPROM ermöglicht.
Die zur genannten Modifikation im einzelnen vorzunehmenden Maßnahmen hängen davon ab, auf welche Weise der jeweilige Datenverarbeitungsprogrammabschnitt und/oder die Daten mani­ puliert wurden oder weswegen sie in der zum jeweiligen Zeit­ punkt vorliegenden Form nicht brauchbar sind.
Unabhängig von der Art und dem Umfang der im Schritt S2 vor­ zunehmenden Modifikation kann vorgesehen werden, die Ausfüh­ rung der Modifikation zusätzlich von der Eingabe eines Paß­ wortes oder dergleichen abhängig zu machen.
Mit der Durchführung des Schrittes S2 ist der betrachtete, in der Fig. 1 veranschaulichte Programmausschnitt abgearbeitet und wird verlassen. Das Ausführen des Schrittes S2 bewirkt, daß ein gegebenenfalls erfolgter oder später noch erfolgender Einsprung in einen Datenverarbeitungsprogrammabschnitt zum Löschen und/oder Überschreiben eines Flash-EPROM tatsächlich ein Löschen und/oder Überschreiben desselben zur Folge haben kann.
Um sicherzustellen, daß das Löschen und/oder Überschreiben von Daten in einem Flash-EPROM bei bestimmungsgemäßem Ein­ sprung in den entsprechenden Datenverarbeitungsprogramm­ abschnitt tatsächlich auch ausgeführt wird, muß gewährleistet werden, daß eine gegebenenfalls erforderliche Modifikation entsprechend Schritt S2 des in der Fig. 1 gezeigten Pro­ grammausschnittes rechtzeitig vor Beginn der Ausführung des betreffenden Datenverarbeitungsprogrammabschnittes oder vor dem Zugriff auf die dann benötigten Daten ausgeführt wird.
Alternativ oder zusätzlich kann der in der Fig. 1 gezeigte Verfahrensabschnitt beispielsweise auch automatisch wieder­ holt in mehr oder weniger regelmäßigen kurzen Zeitabständen oder gezielt auf das Auftreten gewisser Ereignisse hin ausge­ führt werden.
Eine mehrfache oder wiederholte Ausführung des in der Fig. 1 gezeigten Verfahrensabschnittes hat den Vorteil, daß eine ge­ gebenenfalls bereits vorgenommene Modifikation (Schritt S2) bei zwischenzeitlich veränderten Bedingungen wieder rückgän­ gig bzw. unwirksam gemacht werden kann.
Zur Erhöhung der Sicherheit des Schutzmechanismus kann vorge­ sehen werden, daß die Durchführung der Modifikation (Schritt S2) zusätzlich davon abhängig gemacht wird, daß diese zuvor vom externen Programmiergerät veranlaßt oder wenigstens er­ laubt wurde.
Unabhängig davon muß vorzugsweise unmittelbar nach vollende­ ter Ausführung des Löschens und/oder Überschreibens des Flash-EPROM die in Schritt S2 vorgenommene Modifikation eben­ falls wieder rückgängig bzw. unwirksam gemacht werden. Dar­ über hinaus ist bei Bedarf auch nach dem Einschalten, Rück­ setzen und dergleichen des Steuergerätes dafür zu sorgen, daß dort kein ordnungsgemäß ausführbarer Datenverarbeitungspro­ grammabschnitt bzw. eine ordnungsgemäße Ausführbarkeit ge­ stattende Daten in der Variablentabelle vorhanden sind.
Abschließend werden nun unter Bezugnahme auf die Fig. 2A bis 2D die Vorgänge bei einem bestimmungsgemäß veranlaßten Löschen eines Flash-EPROM eingehend beschrieben. Es wird dabei nach wie vor von einem wie in der Fig. 3 gezeigten Aufbau ausgegangen.
Fig. 2A veranschaulicht die Aktivitäten des an das Steuer­ gerät 10 angeschlossenen Programmiergerätes 20.
Das Programmiergerät aktiviert irgendwann nach dem Einschal­ ten selbständig oder auf externe Veranlassung hin ein Proto­ koll (Schritt S10), um mit dem Steuergerät auf eine festge­ legte Art und Weise kommunizieren zu können.
Es sei angenommen, daß ein ordnungsgemäßes Löschen und/oder Überschreiben des Flash-EPROM des Steuergerätes einer vorher­ gehenden Modifizierung der in der Variablentabelle bereit­ gestellten bzw. bereitzustellenden Daten und Adressen für die unlock cycles bedarf.
Dementsprechend veranlaßt das Programmiergerät vor der Aus­ gabe des Löschbefehls an das Steuergerät das Einschreiben plausibler, d. h. eine Entriegelung des Flash-EPROM ermögli­ chender Adreß- und Datenwerte in die RAM-Variablentabelle des Steuergerätes, d. h. in die im RAM des Steuergerätes unterge­ brachte Variablentabelle (Schritt S11).
Das Einschreiben dieser - gegebenenfalls vom Programmiergerät bereitgestellten - Werte in die RAM-Variablentabelle wird, wie später unter Bezugnahme auf Fig. 2B noch genauer be­ schrieben werden wird, vom Steuergerät selbst durchgeführt; der Schritt S11 ist deshalb "nur" der Anstoß des Modifika­ tionsschrittes S2 in Fig. 1.
Danach, d. h. in Schritt S12 gemäß Fig. 2A wird durch das Programmiergerät das Löschen des Flash-EPROM des Steuergerä­ tes veranlaßt.
Auch das Löschen wird, wie später unter Bezugnahme auf Fig. 2C noch genauer beschrieben werden wird, vom Steuergerät selbst durchgeführt; der Schritt S12 ist lediglich der be­ stimmungsgemäße Anstoß hierzu.
Das Programm des Programmiergerätes ist mit Schritt S12 noch nicht beendet. Die im Anschluß daran durchgeführten Operatio­ nen sind vorliegend jedoch nicht von Interesse.
Es wird nun unter Bezugnahme auf die Fig. 2B die durch Schritt S11 angestoßene Modifikation der Adreß- und Daten­ werte für die unlock cycles in der RAM-Variablentabelle durch das Steuergerät beschrieben.
Auf die externe Veranlassung durch das Programmiergerät zur Vorbereitung bzw. Herstellung der Bereitschaft des Steuer­ gerätes zum Löschen und/oder Überschreiben des Flash-EPROM (Schritt S11) wird im Steuergerät in Schritt S20 zunächst überprüft, ob überhaupt ein Programmiergerät angeschlossen ist und ob ein Kommunikationsprotokoll aktiviert wurde. Auf diese Weise wird festgestellt, ob die externe Veranlassung, die nur durch eine hierfür vorgesehene Vorrichtung, also ein Programmiergerät oder dergleichen erfolgen darf, tatsächlich auch von einer solchen Vorrichtung ausgeht oder wenigstens ausgehen kann, oder ob die vermeintliche externe Veranlassung und damit auch eine gegebenenfalls bereits erfolgte oder noch folgende Veranlassung des Löschens des Flash-EPROM etwa auf eine Störung oder einem unbefugten Eingriff zurückgehen.
Wird in Schritt S20 festgestellt, daß kein Programmiergerät angeschlossen ist und/oder kein Kommunikationsprotokoll akti­ viert ist, wird der in Fig. 2B gezeigte Verfahrensabschnitt verlassen, ohne ein Überschreiben der RAM-Variablentabelle durchzuführen.
Andernfalls, d. h. wenn ein Programmiergerät angeschlossen und ein Kommunikationsprotokoll aktiviert ist, also ein bestim­ mungsgemäß veranlaßtes Löschen und/oder Überschreiben des Flash-EPROM zu erwarten ist, schreitet der Ablauf zu Schritt S21, wo unmittelbar vor dem Überschreiben der RAM-Variablen­ tabelle sicherheitshalber überprüft wird, ob die Adresse an welche die für die RAM-Variablentabelle bestimmten Adressen- und Datenwerte geschrieben werden sollen, innerhalb der RAM-Variablentabelle liegt.
Wird in Schritt S21 festgestellt, daß die Schreibadresse außerhalb der RAM-Variablentabelle liegt, wird der in Fig. 2B gezeigte Verfahrensabschnitt verlassen, ohne ein Über­ schreiben der RAM-Variablentabelle durchzuführen.
Andernfalls, d. h. wenn die Schreibadresse innerhalb der RAM-Variablentabelle liegt, schreitet der Ablauf zu Schritt S22, wo das Einschreiben der Adreß- und Datenwerte in die RAM-Variablentabelle erfolgt. Der in der Fig. 2B gezeigte Ver­ fahrensabschnitt ist damit ordnungsgemäß beendet, und das Steuergerät ist auf ein Löschen und/oder Überschreiben des Flash-EPROM vorbereitet.
Es wird nun unter Bezugnahme auf die Fig. 2C das durch Schritt S12 angestoßene Löschen des Flash-EPROM durch das Steuergerät beschrieben.
Auf die externe Veranlassung durch das Programmiergerät zum Löschen und/oder überschreiben des Flash-EPROM durch das Steuergerät (Schritt S12) wird im Steuergerät in Schritt S30 zunächst überprüft, ob überhaupt ein Programmiergerät ange­ schlossen ist und ob ein Kommunikationsprotokoll aktiviert wurde. Auf diese Weise wird - ähnlich wie bei Schritt S20 in Fig. 2B festgestellt, ob die externe Veranlassung, die nur durch eine hierfür vorgesehene Vorrichtung, also ein Program­ miergerät oder dergleichen erfolgen darf, tatsächlich auch von einer solchen Vorrichtung ausgeht oder wenigstens ausge­ hen kann, oder ob die vermeintliche externe Veranlassung etwa auf eine Störung oder einem unbefugten Eingriff zurückgeht.
Wird in Schritt S20 festgestellt, daß kein Programmiergerät angeschlossen ist und/oder kein Kommunikationsprotokoll akti­ viert ist, wird der in Fig. 2C gezeigte Verfahrensabschnitt verlassen, ohne ein Löschen des Flash-EPROM durchzuführen.
Andernfalls, d. h. wenn ein Programmiergerät angeschlossen und ein Kommunikationsprotokoll aktiviert ist, schreitet der Ab­ lauf zu Schritt S31, wo das Löschen des Flash-EPROM erfolgt.
Nach Beendigung des Löschvorganges, also in Schritt S32 gemäß Fig. 2C wird die RAM-Variablentabelle zerstört, d. h. mit Werten versehen, die eine Entriegelung des Flash-EPROM durch die unlock cycles ausschließen.
Der in der Fig. 2C gezeigte Verfahrensabschnitt, d. h. das Löschen des Flash-EPROM ist durch das erneute Sichern des Steuergerätes gegen ein nicht bestimmungsgemäßes Löschen und/oder Überschreiben ordnungsgemäß beendet.
Eine wie in Schritt S32 erfolgende Zerstörung der RAM-Varia­ blentabelle, muß, wie bereits angesprochen, auch nach dem Einschalten, dem Rücksetzen und dergleichen des Steuergerätes durchgeführt werden, um zu verhindern, daß die zu diesem Zeitpunkt in der RAM-Variablentabelle stehenden Werte zufäl­ lig eine Entriegelung des Flash-EPROM ermöglichen. Ein derar­ tiger Vorgang ist in der ohne weitere Erläuterungen verständ­ lichen Fig. 2D dargestellt.
Das unter Bezugnahme auf die Fig. 2A bis 2D beschriebene praktische Beispiel bezog sich auf das Löschen des Flash-EPROM. Entsprechende Vorgänge sollten in entsprechender Weise bei jeglichen Aktionen stattfinden, die eine Speicherinhalts­ veränderung des Flash-EPROM bezwecken, also auch beim über­ schreiben, Umprogrammieren etc.
Auf die beschriebene Weise kann zuverlässig sichergestellt werden, daß ein Löschen und/oder Überschreiben des Flash-EPROM nur dann durchgeführt wird, wenn es bestimmungsgemäß veranlaßt wurde.

Claims (8)

1. Verfahren zum Betreiben eines Steuergerätes (10) mit einer über eine Programmiervorrichtung (20) programmierbaren Speichereinrichtung (14), wobei das Löschen und das über­ schreiben des Inhalts der Speichereinrichtung jeweils unter Ausführung eines Datenverarbeitungsprogrammabschnittes und unter Verwendung von Daten durchgeführt wird, dadurch gekenn­ zeichnet, daß wenigstens entweder der Datenverarbeitungspro­ grammabschnitt oder die Daten derart bereitgestellt werden, daß sie vor deren Verwendbarkeit zur Herbeiführung eines Löschens oder eines überschreibens einer Modifikation bedür­ fen, und daß diese Modifikation erst durchgeführt wird, wenn festgestellt wird, daß ein Einsprung in den Datenverarbei­ tungsprogrammabschnitt bestimmungsgemäß erfolgt ist oder erfolgen wird oder erfolgen kann.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der jeweils bereitgestellte Datenverarbeitungsprogramm­ abschnitt vor dessen Modifikation derart codiert ist, daß er zumindest teilweise nicht oder nicht ordnungsgemäß ausführbar ist.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich­ net, daß die besagten Daten durch den jeweiligen Datenverar­ beitungsprogrammabschnitt verwendet werden, um zum Lösen der Verriegelung der Speichereinrichtung (14) gegen ein Löschen oder überschreiben des Inhalts der Speichereinrichtung die­ nende Entriegelungszyklen zu generieren, wozu bestimmte Daten an bestimmte Adressen der Speichereinrichtung ausgegeben wer­ den.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die bereitgestellten Daten vor deren Modifikation derartige Werte aufweisen, daß der Datenverarbeitungsprogrammabschnitt nicht in der Lage ist, hieraus zur Entriegelung der Speicher­ einrichtung (14) geeignete Entriegelungszyklen zu generieren.
5. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß auf einen bestimmungsgemäßen Ein­ sprung in den Datenverarbeitungsprogrammabschnitt geschlossen wird, wenn ermittelt wird, daß Umstände vorliegen, die ein bewußtes und gewolltes Löschen oder überschreiben des Inhalts der Speichereinrichtung (14) wahrscheinlich erscheinen las­ sen.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß auf einen bestimmungsgemäßen Einsprung in den Datenverarbei­ tungsprogrammabschnitt geschlossen wird, wenn ermittelt wird, daß ein externes Programmiergerät (20) am Steuergerät (10) angeschlossen ist.
7. Verfahren nach Anspruch 5 oder 6, dadurch gekennzeich­ net, daß auf einen bestimmungsgemäßen Einsprung in den Daten­ verarbeitungsprogrammabschnitt geschlossen wird, wenn ermit­ telt wird, daß ein an das Steuergerät (10) angeschlossenes externes Programmiergerät (20) aktiviert ist.
8. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß der Datenverarbeitungsprogrammab­ schnitt oder die Daten nach einem erfolgten Löschen oder Überschreiben des Inhalts der Speichereinrichtung (14) und gegebenenfalls auch nach einem Einschalten oder Rücksetzen des Steuergerätes (10) einer derartigen Behandlung unterwor­ fen werden, daß sie ohne erneute Modifikation beim nächsten Einsprung in den Datenverarbeitungsprogrammabschnitt wieder derart bereitgestellt werden, daß sie nicht zur Herbeiführung eines Löschens oder eines Überschreibens der Speichereinrich­ tung geeignet sind.
DE1996123145 1996-06-10 1996-06-10 Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung Expired - Fee Related DE19623145B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE1996123145 DE19623145B4 (de) 1996-06-10 1996-06-10 Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung
GB9711251A GB2314180B (en) 1996-06-10 1997-05-30 Method of operating control apparatus with programmable storage means
FR9706788A FR2749697B1 (fr) 1996-06-10 1997-06-03 Procede de mise en oeuvre d'un appareil de commande avec une memoire programmee par un dispositif de programmation
JP15184097A JPH1083294A (ja) 1996-06-10 1997-06-10 プログラミング装置を介してプログラミング可能な記憶装置を備えた制御装置の作動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1996123145 DE19623145B4 (de) 1996-06-10 1996-06-10 Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung

Publications (2)

Publication Number Publication Date
DE19623145A1 true DE19623145A1 (de) 1997-12-11
DE19623145B4 DE19623145B4 (de) 2004-05-13

Family

ID=7796551

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1996123145 Expired - Fee Related DE19623145B4 (de) 1996-06-10 1996-06-10 Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung

Country Status (4)

Country Link
JP (1) JPH1083294A (de)
DE (1) DE19623145B4 (de)
FR (1) FR2749697B1 (de)
GB (1) GB2314180B (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1037140A2 (de) 1999-03-17 2000-09-20 Robert Bosch Gmbh Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
DE10035149C1 (de) * 2000-07-19 2001-08-16 Kostal Leopold Gmbh & Co Kg Verfahren zur Programmierung einer Speichervorrichtung, insbesondere für ein Kraftfahrzeugsteuergerät
US7406717B2 (en) 2001-05-12 2008-07-29 Robert Bosch Gmbh Method for operating a control device
EP3219553A4 (de) * 2014-11-12 2017-10-25 Panasonic Intellectual Property Corporation of America Aktualisierungsverwaltungsverfahren, aktualisierungsverwaltungsvorrichtung und steuerungsprogramm
DE10245141B4 (de) * 2001-09-28 2019-07-18 Denso Corporation Generatorsteuersystem für ein Fahrzeug mit einer Feldstromeinschränkungseinheit

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032248A (en) * 1998-04-29 2000-02-29 Atmel Corporation Microcontroller including a single memory module having a data memory sector and a code memory sector and supporting simultaneous read/write access to both sectors
US7003621B2 (en) * 2003-03-25 2006-02-21 M-System Flash Disk Pioneers Ltd. Methods of sanitizing a flash-based data storage device
GB0504844D0 (en) 2005-03-10 2005-04-13 Zarlink Semiconductor Ab Radiolink maintenance lock
CN105117652B (zh) * 2015-10-09 2018-12-04 天津国芯科技有限公司 一种基于NAND Flash的SOC启动方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3025502B2 (ja) * 1987-03-16 2000-03-27 日立マクセル株式会社 半導体メモリ装置
US5014191A (en) * 1988-05-02 1991-05-07 Padgaonkar Ajay J Security for digital signal processor program memory
JP2682700B2 (ja) * 1989-05-09 1997-11-26 三菱電機株式会社 Icカード
DE4013727C2 (de) * 1990-04-28 1999-03-11 Bayerische Motoren Werke Ag Steuervorrichtung für technische Anlagen und Maschinen
JPH06208516A (ja) * 1992-10-27 1994-07-26 Toshiba Corp セキュリティ回路
DE4332499A1 (de) * 1993-09-24 1995-03-30 Bosch Gmbh Robert Verfahren zur vollständigen Neuprogrammierung eines löschbaren, nichtflüchtigen Speichers

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1037140A2 (de) 1999-03-17 2000-09-20 Robert Bosch Gmbh Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
US7035964B1 (en) 1999-03-17 2006-04-25 Robert Bosch Gmbh Method and device for securing data when altering the storage contents of control units
DE10035149C1 (de) * 2000-07-19 2001-08-16 Kostal Leopold Gmbh & Co Kg Verfahren zur Programmierung einer Speichervorrichtung, insbesondere für ein Kraftfahrzeugsteuergerät
US7406717B2 (en) 2001-05-12 2008-07-29 Robert Bosch Gmbh Method for operating a control device
DE10245141B4 (de) * 2001-09-28 2019-07-18 Denso Corporation Generatorsteuersystem für ein Fahrzeug mit einer Feldstromeinschränkungseinheit
EP3219553A4 (de) * 2014-11-12 2017-10-25 Panasonic Intellectual Property Corporation of America Aktualisierungsverwaltungsverfahren, aktualisierungsverwaltungsvorrichtung und steuerungsprogramm
EP3412514A1 (de) * 2014-11-12 2018-12-12 Panasonic Intellectual Property Corporation of America Aktualisierungsverwaltungsverfahren, aktualisierungsverwaltungsvorrichtung und steuerungsprogramm

Also Published As

Publication number Publication date
GB2314180B (en) 1998-04-22
JPH1083294A (ja) 1998-03-31
FR2749697B1 (fr) 2006-06-02
DE19623145B4 (de) 2004-05-13
FR2749697A1 (fr) 1997-12-12
GB2314180A (en) 1997-12-17
GB9711251D0 (en) 1997-07-23

Similar Documents

Publication Publication Date Title
EP0894295B1 (de) Verfahren zur automatischen dokumentation des programmiervorgangs des speichers eines programmierbaren steuergerätes
EP2008179B1 (de) Erweiterung der funktionalität einer serien-software in einem steuergerät
WO1998016883A1 (de) Elektronische datenverarbeitungsschaltung
DE19963208B4 (de) Verfahren zum Manipulationsnachweis einer programmierbaren Speichereinrichtung eines digitalen Steuergeräts
DE19623145A1 (de) Verfahren zum Betreiben eines Steuergerätes mit einer über eine Programmiervorrichtung programmierbaren Speichereinrichtung
EP1262856B1 (de) Programmgesteuerte Einheit
DE10330057A1 (de) Neueinschreibsperrverfahren zum Bestimmen von Neueinschreibfreigabe/Sperre basierend auf dem Ergebnis einer Majoritätsentscheidung
DE10156394A1 (de) Kontrollierte Programmausführung durch einen tragbaren Datenträger
DE10002203B4 (de) Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten
DE102008047433A1 (de) Verfahren zum Freischalten von Funktionen eines Tachographen
EP0834175B1 (de) Verfahren zum betreiben eines steuergerätes mit einer programmierbaren speichereinrichtung
EP1563358B1 (de) Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller
DE19619354A1 (de) Verfahren zum Betreiben eines eine Steuerfunktion aufweisenden Steuergerätes mit einer programmierbaren Speichereinrichtung
EP1397736B1 (de) Verfahren zum betreiben eines steuergeräts
DE102018202626A1 (de) Verfahren zur rechnergestützten Parametrierung eines technischen Systems
EP1577734A2 (de) Verfahren zum sicheren Betrieb eines tragbaren Datenträgers
DE102018217969A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
DE19925195A1 (de) Verfahren für die sichere Verwaltung eines Speichers
EP4361800A1 (de) Verfahren zur verbesserung der betriebssicherheit eines steuergeräts sowie steuergerät
DE4340027A1 (de) Schreibschutz-Verfahren für einen nichtflüchtigen Schreib-/Lesespeicher in einem elektronischen Steuergerät
EP1055983B1 (de) Steuergerät mit mindestens zwei Steuereinheiten, davon eine mit externer Schnittstelle
DE102007062915A1 (de) Verfahren zum Betreiben einer speicherprogrammierbaren Steuerung
DE19933263A1 (de) Vorrichtung mit einem Speicher zur Speicherung von Daten und Verfahren zum Einschreiben von Daten in einen Speicher
EP1566776B1 (de) Verfahren zum sicheren Betrieb eines tragbaren Datenträgers
DE10035149C1 (de) Verfahren zur Programmierung einer Speichervorrichtung, insbesondere für ein Kraftfahrzeugsteuergerät

Legal Events

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

Ipc: G11C 1610

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee