MÜLLER, Stefan (Dittmannstrasse 36, Haar-Gronsdorf, 85540, DE)
TORLO, Marc (Deisenhofener Strasse 90, München, 81539, DE)
MÜLLER, Stefan (Dittmannstrasse 36, Haar-Gronsdorf, 85540, DE)
Verfahren zur Programmierung eines Steuergerätes eines Kraftfahrzeugs
Patentansprüche
1. Verfahren zur Programmierung eines Steuergerätes eines Kraftfahrzeugs, wobei das Steuergerät mindestens einen programmgesteuerten Prozessor und mindestens zwei einzeln adressierbare Speicherbereiche aufweist, insbesondere mindestens zwei physikalisch getrennte Speicherbausteine, dadurch gekennzeichnet, dass der Prozessor zumindest zeitweise weitgehend gleichzeitig die folgenden Schritte ausführt oder veranlasst:
- Prüfen, ob bereits in den ersten Speicherbereich geschriebene Programme, Programmteile und/oder Daten den in den ersten Speicherbereich zu schreibenden Daten entsprechen, und
- Schreiben eines Programms, eines Programmteils und/oder von Daten in den zweiten Speicherbereich.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass das Prüfen, ob bereits in den ersten Speicherbereich geschriebene Daten den in den ersten Speicherbereich zu schreibenden Daten entsprechen, anhand des CRC- Verfahrens erfolgt.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Prüfen, ob bereits in den ersten Speicherbereich geschriebene Daten den in den ersten Speicherbereich zu schreibenden Daten entsprechen, anhand eines Vergleichs des Hash-Werts der zu schreibenden Daten mit dem Hash- Wert der tatsächlich geschriebenen Daten erfolgt.
4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Prüfen, ob bereits in den ersten Speicherbereich geschriebene Daten den in den ersten Speicherbereich zu schreibenden Daten entsprechen, anhand eines Signatur-Verfahrens erfolgt.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass auf der Basis des Signatur-Verfahrens geprüft wird, ob die in den zweiten Speicherbereich geschriebenen Daten den in den zweiten Speicherbereich zu schreibenden Daten entsprechen.
6. Verfahren nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet, dass im Rahmen des Signatur-Verfahrens geprüft wird, ob der Hash-Wert und/oder die Signatur für die tatsächlich in den ersten Speicherbereich geschriebenen Programme, Programmteile und/oder Daten mit dem Hash-Wert und/oder mit der Signatur für die in den ersten Speicherbereich zu schreibenden Programme, Programmteile und/oder Daten übereinstimmt.
7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass im Rahmen des Signatur-Verfahrens geprüft wird, ob der Hash-Wert und/oder die Signatur für die tatsächlich in den zweiten Speicherbereich geschriebenen Programme, Programmteile und/oder Daten mit dem Hash-Wert und/oder mit der Signatur für die in den zweiten Speicherbereich zu schreibenden Programme, Programmteile und/oder Daten übereinstimmt.
8. Verfahren nach Anspruch 6 und 7, dadurch gekennzeichnet, dass die übereinstimmung für beide Speicherbereiche als gegeben gilt, wenn der Hash-Wert und/oder die Signatur für die beiden Speicherbereiche jeweils für sich als übereinstimmend ermittelt worden ist.
9. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der Hash-Wert und/oder die Signatur für die in den ersten Speicherbereich tatsächlich eingeschriebenen Programme, Programmteile und/oder Daten ermittelt wird, dass der Hash-Wert und/oder die Signatur für die in den zweiten Speicherbereich tatsächlich eingeschriebenen Programme, Programmteile und/oder Daten ermittelt wird, dass die beiden Hash-Werte und/oder Signaturen zusammengefasst und der zusammengefasste Hash- Wert und/oder die zusammengefasste Signatur mit einem einzigen Hash-Wert und/oder einer einzigen Signatur verglichen wird.
10. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass der erste Speicherbereich und der zweite Speicherbereich durch jeweils einen nichtflüchtigen elektronischen Speicher bereitgestellt werden.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass der nichtflüchtige Speicher ein EEPROM, insbesondere ein Flash-EEPROM, ist.
12. Vorrichtung zur Programmierung eines Steuergerätes eines Kraftfahrzeugs, dadurch gekennzeichnet, dass die Vorrichtung ein Verfahren nach einem der vorstehenden Ansprüche ausführt.
13. Computerprogramm mit Programmcode zur Durchführung aller Verfahrensschritte nach einem der vorstehenden Ansprüche, wenn das Programm in einem Computer ausgeführt wird.
14. Computerprogramm mit Programmcode, der auf einem maschinenlesbaren Träger gespeichert ist, zur Durchführung des Verfahrens nach einem der vorstehenden Ansprüche, wenn das Programm in einem Computer ausgeführt wird. |
Verfahren zur Programmierung eines Steuergerätes eines Kraftfahrzeugs
Beschreibung
Die Erfindung betrifft insbesondere ein Verfahren zur Programmierung eines Steuergerätes eines Kraftfahrzeugs gemäß dem Oberbegriff des Anspruchs 1.
In heutigen Steuergeräten in Kraftfahrzeugen werden zur Fehlerbehebung und nachträglichen Adaption von Software sog. Flash-Bausteine bzw. Flash-EEPROMs verwendet. Bei diesen Flash-Bausteinen dauert das Einschreiben einer Informationsmenge deutlich länger als das Auslesen derselben Informationsmenge. Da die von den Steuergeräten mittels programmgesteuerter Prozessoren auszuführenden Funktionen immer komplexer werden, erfordern die Programmsteuerungen bzw. die Software der Steuergeräte und die zur Ausführung im Steuergerät zu hinterlegenden Daten, wie Kennfelder, mehr und mehr Speicherplatz. Dieser zunehmende Speicherplatz kann bereitgestellt werden, indem anstelle von einem Speicher-Baustein zwei oder mehr Speicher-Bausteine im Steuergerät implementiert werden. Die zwei oder mehr Speicherbausteine werden der Reihe nach mit Programmen, Programmteilen und/oder Daten beschrieben.
Ist bei einem oder mehreren im Fahrzeug verbauten Steuergeräten ein Software- Update erforderlich, z.B. in der Werkstatt, dauert das Einschreiben der Software in die Speicher-Bausteine recht lange, was den Werkstattaufenthalt teuer macht.
Aufgabe der vorliegenden Erfindung ist es insbesondere ein Verfahren zur Programmierung eines Steuergerätes eines Kraftfahrzeugs bereitzustellen, bei dem das Einschreiben von Speicherinhalten schneller erfolgt.
Diese Aufgabe wird durch die im Anspruch 1 angegebenen Maßnahmen geiöst. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
Ein wesentlicher Aspekt der Erfindung besteht darin, dass der Prozessor zumindest zeitweise weitgehend gleichzeitig die folgenden zwei Schritte ausführt oder veranlasst. Diese sind zum einen, Prüfen, ob bereits in den ersten Speicherbereich geschriebene Programme, Programmteile und/oder Daten den in den ersten Speicherbereich zu schreibenden Daten entsprechen, und zum anderen, Schreiben eines Programms, eines Programmteils und/oder von Daten in den zweiten Speicherbereich.
Während des Schreibens in einen Speicherbereich ist der Prozessor des Steuergeräts in der Regel nicht vollständig mit diesem Prozess ausgelastet. Die noch zur Verfügung stehenden, bislang ungenutzten Ressourcen des programmgesteuerten Prozessors können erfindungsgemäß genutzt werden, um zusätzlich zum ersten Speicherbereich auch in den zweiten Speicherbereich bzw. ggf. in den ersten und den zweiten Speicher-Baustein zu schreiben. Erfindungsgemäß ist vorgesehen, dass nach dem Abschluss des Schreibvorgangs am zweiten Speicherbereich, während der Schreibvorgang am ersten Speicherbereich noch nicht abgeschlossen ist, unter Verwendung der ungenutzten Ressourcen des programmgesteuerten Prozessors überprüft wird, ob die in den zweiten Speicherbereich tatsächlich eingeschriebenen Programme, Programmteile und/oder Daten identisch zu den zum Einschreiben vorgesehenen Programmen, Programmteilen und/oder Daten sind.
Bekannt ist diese überprüfung erst nach dem Abschluss der Schreibvorgänge in die zwei oder mehr Speicherbereiche vorzunehmen, d.h. beachtliche Ressourcen des programmgesteuerten Prozessors des betreffenden Steuergeräts liegen lange Zeit „brach" und beim späteren überprüfen, ob die Daten korrekt in die Speicherbereiche eingeschrieben worden sind, steigt die Auslastung des Prozessors so stark an, dass sich die überprüfung und damit der gesamte Schreibvorgang unerwünscht lange hinzieht. Durch die erfindungsgemäße Verschiebung von den Prozessor stark belastenden Aufgaben in eine zeitliche Phase geringer Auslastung des Prozessors, lässt sich der Programmiervorgang von Steuergeräten mit zwei und mehr einzeln adressierbaren Speicherbereichen bzw. Speicher-Bausteinen deutlich beschleunigen. Zudem wird der Programmiervorgang hierdurch insgesamt stabiler und damit zuverlässiger.
Bei einer Ausführungsform der Erfindung wird anhand des bekannten CRC- Verfahrens (Cyclic Redundancy Check) überprüft, ob bereits in den ersten Speicherbereich geschriebene Daten den in den ersten Speicherbereich zu schreibenden Daten entsprechen. Eine Abweichung in Folge einer technischen Störung bei der übertragung oder beim Einschreiben der Daten kann durch das CRC-Verfahren erkannt werden.
Bei einer anderen Ausführungsform wird, bevorzugt ergänzend zum CRC- Verfahren, überprüft, ob die Daten während der übertragung und/oder beim Einschreiben in den Speicherbereich verfälscht bzw. geändert worden sind. Dies erfolgt erfindungsgemäß anhand des an sich bekannten Vergleichs des Hash-Werts der zu schreibenden Daten mit dem Hash-Wert der tatsächlich geschriebenen Daten. Bei einer Weiterbildung der Erfindung wird die übereinstimmung auf der Basis eines an sich bekannten Signatur-Verfahrens vorgenommen, bei der ein mit einem geheimen Schlüssel verschlüsselter Soll-Hash-Wert mit dem zum geheimen Schlüssel komplementären öffentlichen Schlüssel entschlüsselt wird (Public-Key- Verfahren) und der entschlüsselte Soll-Hash-Wert mit dem Ist-Hash-Wert der eingeschriebenen Daten verglichen wird.
Das Public-Key-Verfahren oder ein anderes Verschlüsselungsverfahren stellt besonders hohe Anforderungen an den programmgesteuerten Prozessor des Steuergeräts und sorgt beim bekannten Programmierverfahren für besonders lange Programmierzeiten. Diese können durch die Verwendung der erfindungsgemäßen Lehre signifikant verkürzt werden.
Bei einer Ausführungsform der Erfindung wird auf der Basis des Signatur- Verfahrens geprüft, ob die in den jeweiligen Speicherbereich geschriebenen Daten den in den jeweiligen Speicherbereich zu schreibenden Daten entsprechen. Bei dieser Ausführungsform gelten die Daten als nicht manipuliert, wenn die Daten in jedem der Speicherbereiche für sich genommen den zu schreibenden Daten entsprechen.
Bei einer anderen Ausführungsform der Erfindung wird auf der Basis des Signatur- Verfahrens geprüft, ob die in den jeweiligen Speicherbereich geschriebenen Daten
den in den jeweiligen Speicherbereich zu schreibenden Daten entsprechen und es wird anhand eines weiteren Signatur-Prüfungsschritts geprüft, ob die Gesamtheit der Daten in den zwei oder mehr Speicherbereichen von der Gesamtheit der zu schreibenden Daten abweicht.
Bei einer Ausführungsform der Erfindung wird im Rahmen des Signatur-Verfahrens geprüft, ob der Hash-Wert und/oder die Signatur für die tatsächlich in den ersten Speicherbereich geschriebenen Programme, Programmteile und/oder Daten mit dem Hash-Wert und/oder mit der Signatur für die in den ersten Speicherbereich zu schreibenden Programme, Programmteile und/oder Daten übereinstimmt.
Bei einer anderen Ausführungsform der Erfindung wird der Hash-Wert und/oder die Signatur für die in den ersten Speicherbereich tatsächlich eingeschriebenen Programme, Programmteile und/oder Daten ermittelt, weiter wird der Hash-Wert und/oder die Signatur für die in den zweiten Speicherbereich tatsächlich eingeschriebenen Programme, Programmteile und/oder Daten ermittelt. Die beiden Hash-Werte und/oder Signaturen werden zusammengefasst und der zusammengefasste Hash-Wert und/oder die zusammengefasste Signatur wird mit einem einzigen Hash-Wert und/oder einer einzigen Signatur verglichen.
Bevorzugt handelt es sich bei den erfindungsgemäßen Speicherbereichen um zwei oder mehr einzeln adressierbare nichtflüchtige Flash-EEPROMs.
Next Patent: BED, IN PARTICULAR AN INVALID BED AND/OR NURSING BED
