DE102007059355A1 - Verfahren zum Betreiben eines Steuergerätes und Steuergerät - Google Patents

Verfahren zum Betreiben eines Steuergerätes und Steuergerät Download PDF

Info

Publication number
DE102007059355A1
DE102007059355A1 DE200710059355 DE102007059355A DE102007059355A1 DE 102007059355 A1 DE102007059355 A1 DE 102007059355A1 DE 200710059355 DE200710059355 DE 200710059355 DE 102007059355 A DE102007059355 A DE 102007059355A DE 102007059355 A1 DE102007059355 A1 DE 102007059355A1
Authority
DE
Germany
Prior art keywords
program
mem
memory
volatile memory
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE200710059355
Other languages
English (en)
Inventor
Udo Zanrosso
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.)
Continental Automotive GmbH
Original Assignee
Continental Automotive 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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Priority to DE200710059355 priority Critical patent/DE102007059355A1/de
Priority to PCT/EP2008/066714 priority patent/WO2009074499A1/de
Publication of DE102007059355A1 publication Critical patent/DE102007059355A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23232Execute program from added, expansion rom, memory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23307Initial program loader, ipl, bootstrap loader
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23338Transfer modified program from ram to eprom, flash
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25265Flash memory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zum Betreiben eines Steuergeräts (CU) und Steuergerät mit zumindest einem nichtflüchtigen Speicher (NV_MEM), in dem ein erstes Programm (FL) gespeichert ist, wobei der nichtflüchtige Speicher (NV_MEM) mittels einer Ausführung des ersten Programms (FL) verwaltet wird. Dabei wird das erste Programm (FL) zumindest teilweise komprimiert im nichtflüchtigen Speicher (NV_MEM) abgespeichert und vor dessen Ausführung dekomprimiert.

Description

  • Die Erfindung betrifft ein Verfahren zum Betreiben eines Steuergerätes und ein Steuergerät mit zumindest einem nichtflüchtigen Speicher.
  • In modernen Kraftfahrzeugen gibt es eine Vielzahl von elektronischen Steuergeräten zur Steuerung und Regelung einzelner Fahrzeugkomponenten. Die Steuergeräte sind typischerweise an ein gemeinsames Kommunikationsnetzwerk im Kraftfahrzeug gekoppelt zum Austausch von Daten untereinander. Dabei gibt es Steuergeräte, die neu programmierbar ausgebildet sind und die dadurch auf eine neuere Version der jeweiligen Steuergerätesoftware aktualisiert werden können. Dabei wird ein Programmiergerät mit dem Kommunikationsnetzwerk des Kraftfahrzeugs oder direkt mit dem zu programmierenden Steuergerät verbunden. Mittels des Programmiergerätes wird dem jeweiligen Steuergerät die neue Version der Steuergerätesoftware zur Neuprogrammierung zugeführt.
  • Die Aufgabe, die der Erfindung zugrunde liegt, ist es, ein Verfahren zum Betreiben eines Steuergerätes und ein Steuergerät zu schaffen, das eine effiziente Speichernutzung ermöglicht.
  • Die Aufgabe wird gelöst durch die Merkmale der unabhängigen Patentansprüche. Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
  • Die Erfindung zeichnet sich aus durch ein Verfahren zum Betreiben eines Steuergerätes und ein Steuergerät mit zumindest einem nichtflüchtigen Speicher, in dem ein erstes Programm gespeichert ist, wobei der nichtflüchtige Speicher mittels einer Ausführung des ersten Programms verwaltet wird, wobei bei dem Verfahren bzw. der Vorrichtung das erste Programm zu mindest teilweise komprimiert im nichtflüchtigen Speicher abgespeichert wird und vor dessen Ausführung dekomprimiert wird.
  • Mittels der komprimierten Abspeicherung des ersten Programms im nichtflüchtigen Speicher, ist der dem ersten Programm zugeordnete benötigte Speicherbedarf besonders gering. Dadurch kann der nicht vom ersten Programm belegte Speicherplatz des nichtflüchtigen Speichers für andere Programme und/oder Daten zur Verfügung gestellt werden, wodurch der gesamte vom nichtflüchtigen Speicher zur Verfügung gestellte Speicherplatz besonders effizient genutzt werden kann. Mittels der Dekomprimierung kann die ursprüngliche Kodierung des ersten Programms verlustfrei wiederhergestellt werden, so dass die dem ersten Programm gesamte zugeordnete Funktionalität zur Verfügung steht. Dabei kann das dekomprimiert vorliegende erste Programm mehrere Programmfunktionen umfassen, die zur Verwaltung des nichtflüchtigen Speichers verwendet werden können. Dabei ist der jeweiligen Ausführung der Programmfunktion jeweils eine vorgegebenen Funktionalität zugeordnet.
  • Gemäß einer vorteilhaften Ausgestaltung wird ein komprimierter Programmanteil des ersten Programms dekomprimiert und in einen flüchtigen Speicher kopiert und aus diesem ausgeführt.
  • Der komprimierte Programmanteil des ersten Programms umfasst, alle Programmteile des ersten Programms, die komprimiert im nichtflüchtigen Speicher abgespeichert sind. Ist das gesamte erste Programm im komprimierten Zustand im nichtflüchtigen Speicher abgespeichert, umfasst der komprimierte Programmanteil das ganze erste Programm.
  • Der flüchtige Speicher ist bevorzugt als Speicher wahlfreien Zugriffs ausgebildet, so dass besonders geeignet der komprimierte Programmanteil des ersten Programms nach dessen Dekomprimierung in den flüchtigen Speicher kopiert werden kann. Dies ist besonders dann vorteilhaft, wenn der flüchtige Spei cher zumindest teilweise unbenutzt ist und nicht durch andere Programme und/oder Daten belegt ist.
  • Wird der komprimierte Programmanteil des ersten Programms dekomprimiert und in den flüchtigen Speicher kopiert, liegt besonders vorteilhaft die gesamte Funktionalität des komprimierten Programmanteils des ersten Programms im flüchtigen Speicher vor. Erst im nichtkomprimierten Zustand kann der zuvor komprimiert abgespeicherte Programmanteil des ersten Programms ausgeführt werden.
  • Gemäß einer weiteren vorteilhaften Ausgestaltung wird der komprimierte Programmanteil des ersten Programms zumindest teilweise dekomprimiert und in den flüchtigen Speicher kopiert und aus diesem ausgeführt.
  • Nach der zumindest teilweisen Dekomprimierung des komprimierten Programmanteils des ersten Programms und dessen Abspeicherung in dem flüchtigen Speicher, ist das zumindest teilweise dekomprimierte erste Programm ausführbar. Besonders vorteilhaft werden nur die Programmanteile des ersten Programms dekomprimiert, die auch zu einem vorgegebenen Zeitpunkt benötigt werden. Dadurch ergibt sich eine besonders schnelle und zugleich effiziente Ausführung der dekomprimierten Programmanteile des ersten Programms.
  • Gemäß einer weiteren vorteilhaften Ausgestaltung wird der komprimierte Programmanteil des ersten Programms mittels eines nichtkomprimierten Programmanteils des ersten Programms dekomprimiert.
  • Umfasst das erste Programm neben dem komprimierten Programmanteil auch nichtkomprimierte Programmanteile, die ohne vorherige Dekomprimierung ausgeführt werden können, so ist es besonders vorteilhaft, wenn mittels einer Ausführung der nichtkomprimierten Programmanteile die komprimierten Programmanteile des ersten Programms dekomprimiert werden. Dies hat den Vorteil, dass die eigentliche Dekomprimierungsfunktionalität dekomprimiert im ersten Programm gespeichert ist und somit besonders schnell ausgeführt werden kann.
  • Gemäß einer weiteren vorteilhaften Ausgestaltung wird der nichtkomprimierte Programmanteil des ersten Programms aus dem nichtflüchtigen Speicher ausgeführt.
  • Eine Ausführung des nichtkomprimierten Programmanteils des ersten Programms aus dem nichtflüchtigen Speicher kann besonders schnell durchgeführt werden, da es bereits im nichtflüchtigen Speicher gespeichert ist. Eine besonders schnelle Dekomprimierung kann erreicht werden, wenn mittels der Ausführung des nichtkomprimierten Programmanteils der komprimierte Programmanteil dekomprimiert wird.
  • Ausführungsbeispiele der Erfindung sind im Folgenden anhand der schematischen Zeichnungen näher erläutert. Es zeigen:
  • 1 eine schematische Darstellung eines Steuergerätes,
  • 2 eine weitere schematische Darstellung eines Steuergerätes.
  • Elemente gleicher Konstruktion oder Funktion sind figurenübergreifend mit den gleichen Bezugszeichen gekennzeichnet.
  • In 1 ist ein Steuergerät CU dargestellt, das beispielsweise Verwendung in einem Kraftfahrzeug findet. Beispielsweise kann das Steuergerät als ESP-Steuergerät oder als Steuergerät zur Steuerung der Anzeigen eines Armaturenbrettes des Kraftfahrzeugs ausgebildet sein. Das Steuergerät CU umfasst einen nichtflüchtigen Speicher NV_MEM und einen flüchtigen Speicher V_MEM. Beide Speicher können beispielsweise in einem Mikrocontroller uC integriert sein, der Bestandteil des Steuergerätes CU ist. Der nichtflüchtige Speicher NV_MEM und/oder der flüchtige Speicher V_MEM können grundsätzlich aber auch als externe Speicherbauelemente außerhalb des Mikrocontrollers uC im Steuergerät CU ausgebildet sein.
  • Der nichtflüchtige Speicher NV_MEM ist beispielsweise als Flash-Speicher ausgebildet und speichert Daten und/oder Programme resistent und dauerhaft, auch ohne permanente Spannungsversorgung. Der als Flash-Speicher ausgebildete nichtflüchtige Speicher NV_MEM ist neuprogrammierbar ausgebildet. Ein zuvor in dem nichtflüchtigen Speicher NV_MEM abgespeicherter Datensatz oder ein Programm kann zunächst gelöscht werden und nachfolgend durch einen anderen Datensatz und/oder durch eine aktuellere Version des Programms und/oder durch ein anderes Programm ersetzt werden. Dabei ist der nichtflüchtige Speicher NV_MEM typischerweise sektorweise löschbar oder programmierbar ausgebildet, wobei einem Sektor mehrere Speicherzellen zugeordnet sind.
  • Der flüchtige Speicher V_MEM ist beispielsweise als Random-Access-Memory (RAM-Speicher) ausgebildet. Somit kann typischerweise jede Speicherzelle des flüchtigen Speichers V_MEM über Ihre zugeordnete Adresse entweder lesend oder schreibend angesprochen werden. Der flüchtige Speicher V_MEM muss dabei typischerweise nicht sequentiell oder in Sektoren ausgelesen werden, sondern erlaubt einen wahlfreien Zugriff. Dabei ist der flüchtige Speicher V_MEM typischerweise ausgebildet, Daten und/oder Software-Programme nur so lange abzuspeichern, so lange eine ausreichende Spannungsversorgung des flüchtigen Speichers V_MEM gewährleistet ist. Der flüchtige Speicher V_MEM ist somit nicht dazu geeignet, Daten und/oder Software-Programme dauerhaft abzuspeichern.
  • Zusätzlich umfasst das Steuergerät eine Kommunikationsschnittstelle IF, die das Steuergerät beispielsweise mit einem Kommunikationsnetzwerk des Kraftfahrzeugs koppelt. Die Kommunikationsschnittstelle IF ist typischerweise Bestandteil des Mikrocontrollers uC, kann grundsätzlich aber auch außerhalb des Mikrocontrollers uC im Steuergerät CU angeordnet sein. Über die Kommunikationsschnittstelle IF können Daten vom Mikrocontroller uC übermittelt, wie auch von diesem empfangen werden. Beispielsweise ist die Kommunikationsschnittstelle IF als Controller-Area-Network-Schnittstelle (CAN-Schnittstelle) oder Serial-Communication-Interface (SCI-Schnittstelle) ausgebildet. Grundsätzlich sind aber auch andere dem Fachmann bekannte Kommunikationsschnittstellen denkbar.
  • Der nichtflüchtige Speicher NV_MEM umfasst in 1 zwei Programme, die mittels einer Central-Processing-Unit CPU in dem Mikrocontroller uC abgearbeitet werden. Das erste Programm FL ist als sogenannter Flash-Loader ausgebildet und das zweite Programm APPL ist als Anwendungsprogramm ausgebildet. Mittels des zweiten Programms APPL wird die Hauptfunktionalität des Steuergerätes CU umgesetzt. Am Beispiel eines ESP-Steuergerätes wird beispielsweise die Drehzahl-Überwachung und Drehzahl-Regelung der Räder des Kraftfahrzeugs mittels der Abarbeitung des zweiten Programms APPL umgesetzt, so dass ein unkontrolliertes Ausbrechen des Kraftfahrzeugs aus der vorgegebenen Fahrrichtung verhindert wird.
  • Das als Flash-Loader ausgebildete erste Programm FL umfasst typischerweise mehrere Programmfunktionen, die zum Verwalten des nichtflüchtigen Speichers NV_MEM verwendet werden können, so z. B. zum Löschen, zum Programmieren oder zum Verifizieren. Mittels einer Abarbeitung der jeweiligen Programmfunktion des ersten Programms FL kann der nichtflüchtige Speicher NV_MEM beispielsweise zumindest teilweise verifiziert und/oder gelöscht werden und/oder eine mittels der Kommunikationsschnittstelle IF zugeführte neuere Version des zweiten Programms APPL zumindest teilweise neuprogrammiert werden. Grundsätzlich sind weitere dem Fachmann bekannte Funktionen zum Verwalten des nichtflüchtigen Speichers NV_MEM denkbar. Die Programmfunktion des ersten Programms FL, die abgearbeitet werden soll, wird typischerweise mittels eines Programmiergerätes vorgegeben, das mit dem Kommunikationsnetzwerk des Kraftfahrzeugs gekoppelt ist. Dabei ist das erste Programm FL dazu ausgebildet, mittels des Programmiergerätes angesteuert zu werden und mit diesem Daten auszutauschen. Beispielsweise umfasst das erste Programm FL Treiberfunktionen zur Ansteuerung der Kommunikations-Schnittstelle IF, so z. B. Treiberfunktionen der CAN-Schnittstelle. Ferner umfasst das erste Programm FL typischerweise Initialisierungsfunktionen als Programmfunktionen, die mittels der Treiberfunktionen die Verbindung zum Programmiergerät ermöglicht. Die Initialisierungsfunktionen sind des Weiteren dazu ausgebildet, die von dem Programmiergerät übermittelten Befehle zu interpretieren und abhängig von dem empfangenen Befehl Programmfunktionen auszuführen.
  • Ist der nichtflüchtige Speicher NV_MEM dazu ausgebildet, entweder einen lesenden oder einen schreibenden Zugriff zu einem vorgegebenen Zeitpunkt zu zulassen, wird vor der Ausführung der jeweiligen Programmfunktion des ersten Programms FL, die einen schreibenden Zugriff, so z. B. einen löschenden oder programmierenden Zugriff, auf den nichtflüchtigen Speicher NV_MEM umfasst, die jeweilige Programmfunktion vor deren Ausführung in den flüchtigen Speicher V_MEM kopiert und aus diesem zur Ausführung gelesen. Programmfunktionen des ersten Programms FL, die keinen schreibenden Zugriff auf den nichtflüchtigen Speicher NV_MEM umfassen, können weiterhin aus dem nichtflüchtigen Speicher NV_MEM ausgeführt werden.
  • Neben den Programmfunktionen des ersten Programms FL, die in den flüchtigen Speicher V_MEM kopiert werden, wird zur Ausführung der jeweiligen Programmfunktionen typischerweise eine Laufzeitumgebung benötigt, die beispielsweise die Adresszuordnung und Reservierung für Programmvariablen im flüchtigen Speicher V_MEM umfasst.
  • Typischerweise sollte das ursprüngliche erste Programm FL im nichtflüchtigen Speicher NV_MEM durch eine Ausführung der je weiligen Programmfunktion des ersten Programms FL nicht gelöscht und/oder verändert werden.
  • In 2 ist ein erstes Ausführungsbeispiels des Steuergerätes CU dargestellt. Das Steuergerät CU umfasst den nichtflüchtigen Speicher NV_MEM mit dem in ihm abgespeicherten ersten Programm FL und zweiten Programm APPL. Das erste Programm FL ist in einen nichtkomprimierten Programmanteil und in einen komprimierten Programmanteil (schraffiert dargestellt) unterteilt. Dem komprimierten Programmanteil des ersten Programms FL sind beispielsweise die Programmfunktionen zum Verwalten des nichtflüchtigen Speichers NV_MEM zugeordnet, wobei mittels der Komprimierung, so z. B. mittels ZIP-Komprimierung, der Speicherbedarf im Vergleich zur 1 deutlich kleiner ist, so z. B. halbiert im Vergleich zur ursprünglichen Speichergröße des ersten Programms FL. Dem nichtkomprimierten Programmanteil des ersten Programms FL sind typischerweise die Initialisierungsfunktionen des ersten Programms FL zugeordnet.
  • Am Beispiel einer Löschfunktion, soll im Folgenden das Verfahren zum Betreiben des Steuergerätes näher erläutert werden.
  • Wird mittels des mit dem Kommunikationsnetzwerk des Kraftfahrzeugs verbundenen Programmiergerätes ein Löschbefehl zum Löschen des Speicherbereiches des zweiten Programms APPL vorgegeben, wird der Löschbefehl zunächst mittels der Initialisierungsfunktionen des ersten Programms FL interpretiert. Die Initialisierungsfunktionen sind typischerweise dem nichtkomprimierten Programmanteil des ersten Programms FL zugeordnet (nichtschraffierter Bereich in 2) und müssen somit vor deren Ausführung typischerweise nicht dekomprimiert werden. Umfassen die Initialisierungsfunktionen keine Programmfunktionen mit schreibenden Zugriff auf den nichtflüchtigen Speicher NV_MEM, können diese direkt aus dem nichtflüchtigen Speicher NV_MEM ausgeführt werden. Dem vom Programmiergerät übermittelten Löschbefehl ist typischerweise eine korrespondierende Löschfunktion im ersten Programm FL zugeordnet, welche typischerweise im komprimierten Programmanteil des ersten Programms FL vorliegt (schraffierter Bereich des ersten Programms FL in 2). Somit wird vor der Ausführung der Löschfunktion, diese zunächst dekomprimiert (durch Pfeil in 2 dargestellt).
  • Typischerweise erfolgt die Dekomprimierung der jeweiligen Programmfunktion oder die Dekomprimierung des gesamten komprimierten Programmsanteils des ersten Programms FL mittels einer Dekomprimierungsfunktion, die typischerweise im nichtkomprimierten Programmanteil des ersten Programms FL vorliegt. Da die Dekomprimierungsfunktion typischerweise keinen schreibenden Zugriff auf den nichtflüchtigen Speicher NV_MEM ausführt, kann auch diese direkt aus dem nichtflüchtigen Speicher NV_MEM ausgeführt werden. Grundsätzlich kann die Dekomprimierungsfunktion zunächst aber auch in den flüchtigen Speicher V_MEM kopiert werden und danach aus diesem ausgeführt werden.
  • Die jeweilige Initialisierungsfunktion ruft somit vor der Ausführung der Löschfunktion zunächst die jeweilige Dekomprimierungsfunktion auf zur Dekomprimierung der Löschfunktion. Mittels der Dekomprimierungsfunktion kann bevorzugt die bereits dekomprimierten Anteile der Löschfunktion in den flüchtigen Speicher V_MEM kopiert werden, so dass am Ende der Dekomprimierung die gesamte Löschfunktion dekomprimiert im flüchtigen Speicher V_MEM vorliegt (durch Pfeil in 2 dargestellt). Erst jetzt ist die Löschfunktion mittels der Central-Processing-Unit ausführbar und kann von der jeweiligen Initialisierungsfunktion zur Ausführung aufgerufen werden.
  • Typischerweise werden alle Programmfunktionen, die im komprimierten Programmanteil des ersten Programms FL vorliegen, vor deren Ausführung zunächst dekomprimiert und in den flüchtigen Speicher V_MEM kopiert. Dabei können im komprimierten Programmanteil des ersten Programms FL auch Programmfunktionen vorliegen, die keinen schreibenden Zugriff auf den nichtflüchtigen Speicher NV_MEM umfassen, so z. B. Verifikationsfunktionen und Funktionen zum Auslesen von Versionsnummern.
  • Die Dekomprimierung kann derart erfolgen, dass nur die mittels des Programmiergerätes vorgegebenen Programmfunktionen vor deren Ausführung dekomprimiert werden und in den flüchtigen Speicher V_MEM kopiert werden. Grundsätzlich kann aber auch der gesamte komprimierte Programmanteil des ersten Programms FL zunächst dekomprimiert werden und in den flüchtigen Speicher V_MEM kopiert werden, bevor vorgegebene Programmfunktionen aus dem nun dekomprimiert vorliegenden komprimierten Programmanteil des ersten Programms FL aus dem flüchtigen Speicher V_MEM ausgeführt werden.
  • In 3 ist ein weiteres Ausführungsbeispiel dargestellt, in dem das als Flash-Loader ausgebildete erste Programm FL in einem nichtflüchtigen Speicher ROM abgespeichert, der als Read-Only-Memory ausgebildet ist. Das zweite Programm APPL ist weiterhin in dem als Flash-Speicher ausgebildeten nichtflüchtigen Speicher NV_MEM abgespeichert. Das hat den Vorteil, dass der gesamte Speicherbereich des als Flash-Speicher ausgebildeten nichtflüchtigen Speichers NV_MEM für das zweite Programm APPL und/oder weiterer Datensätze zur Verfügung steht. Durch die zumindest teilweise komprimierte Abspeicherung des ersten Programms FL in dem als Read-Only-Memory ausgebildeten nichtflüchtigen Speicher ROM, kann dieser effizient genutzt werden und sogar mit geringerem Speicherplatz ausgebildet sein.
  • Die Dekomprimierung der komprimierten Programmanteile des ersten Programms FL im Read-Only-Memory erfolgt analog zur Darstellung in 2.
  • CU
    Steuergerät
    NV_MEM
    nichtflüchtiger Speicher
    V_MEM
    flüchtiger Speicher
    FL
    erstes Programm
    APPL
    zweites Programm
    IF
    Kommunikationsschnittstelle
    CPU
    Central-Processing-Unit
    uC
    Mikrocontroller

Claims (6)

  1. Verfahren zum Betreiben eines Steuergerätes (CU) mit zumindest einem nichtflüchtigen Speicher (NV_MEM), in dem ein erstes Programm (FL) gespeichert ist, wobei der nichtflüchtige Speicher (NV_MEM) mittels einer Ausführung des ersten Programms (FL) verwaltet wird, wobei bei dem Verfahren das erste Programm (FL) zumindest teilweise komprimiert im nichtflüchtigen Speicher (NV_MEM) abgespeichert wird und vor dessen Ausführung dekomprimiert wird.
  2. Verfahren nach Anspruch 1, bei dem ein komprimierter Programmanteil des ersten Programms (FL) dekomprimiert wird und in einen flüchtigen Speicher (V_MEM) kopiert wird und aus diesem ausgeführt wird.
  3. Verfahren nach Anspruch 1 oder 2, bei dem der komprimierte Programmanteil des ersten Programms (FL) zumindest teilweise dekomprimiert wird und in einen flüchtigen Speicher (V_MEM) kopiert wird und aus diesem ausgeführt wird.
  4. Verfahren nach einem der vorstehenden Ansprüche, bei dem der komprimierte Programmanteil des ersten Programms (FL) mittels eines nichtkomprimierten Programmanteils des ersten Programms (FL) dekomprimiert wird.
  5. Verfahren nach Anspruch 4, bei dem der nichtkomprimierte Programmanteil des ersten Programms (FL) aus dem nichtflüchtigen Speicher (NV_MEM) ausgeführt wird.
  6. Steuergerät (CU) mit zumindest einem nichtflüchtigen Speicher (NV_MEM), in dem ein erstes Programm (FL) gespeichert ist, wobei der nichtflüchtige Speicher (NV_MEM) mittels einer Ausführung des ersten Programms (FL) verwaltet wird, wobei das Steuergerät (CU) dazu ausgebildet ist, das erste Programm (FL) zumindest teilweise komprimiert im nicht flüchtigen Speicher (NV_MEM) abzuspeichern und vor dessen Ausführung zu dekomprimieren.
DE200710059355 2007-12-10 2007-12-10 Verfahren zum Betreiben eines Steuergerätes und Steuergerät Ceased DE102007059355A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200710059355 DE102007059355A1 (de) 2007-12-10 2007-12-10 Verfahren zum Betreiben eines Steuergerätes und Steuergerät
PCT/EP2008/066714 WO2009074499A1 (de) 2007-12-10 2008-12-03 Verfahren zum betreiben eines steuergerätes und steuergerät

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200710059355 DE102007059355A1 (de) 2007-12-10 2007-12-10 Verfahren zum Betreiben eines Steuergerätes und Steuergerät

Publications (1)

Publication Number Publication Date
DE102007059355A1 true DE102007059355A1 (de) 2009-06-18

Family

ID=40513745

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200710059355 Ceased DE102007059355A1 (de) 2007-12-10 2007-12-10 Verfahren zum Betreiben eines Steuergerätes und Steuergerät

Country Status (2)

Country Link
DE (1) DE102007059355A1 (de)
WO (1) WO2009074499A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011079397A1 (de) * 2011-07-19 2013-01-24 Bayerische Motoren Werke Aktiengesellschaft Steuervorrichtung für ein Kraftfahrzeug

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2971349B1 (fr) * 2011-02-09 2015-12-04 Continental Automotive France Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile
DE102014223035A1 (de) * 2014-11-12 2016-05-12 Robert Bosch Gmbh Verfahren und Speicherverwaltungsvorrichtung zum Übertragen von Daten innerhalb eines Compuer-Systems, Speichersystem und Computer-System

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4425388B4 (de) * 1994-07-19 2005-07-21 Robert Bosch Gmbh Steuergerät
US6009372A (en) * 1997-10-01 1999-12-28 Cummins Engine Company, Inc. Management of programming and memory space for an internal combustion engine control system
JP3932654B2 (ja) * 1998-03-10 2007-06-20 株式会社デンソー 車両用制御装置及び車両制御システム
DE10027006B4 (de) * 2000-05-31 2014-09-04 Robert Bosch Gmbh System zur Steuerung / Regelung der Betriebsabläufe bei einem Kraftfahrzeug und ein Verfahren zum Starten eines solchen Systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHOGAN,S., CHILDERS,B.R.: "Compact binaries with code compression in a soft-ware dynamic translator." Conference Proceedings Design, Automation and Test in Europe, Bd.2, 16.-20. Feb. 2004, 1052-1057, DOI 10.1109/DATE.2004.1269032 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011079397A1 (de) * 2011-07-19 2013-01-24 Bayerische Motoren Werke Aktiengesellschaft Steuervorrichtung für ein Kraftfahrzeug

Also Published As

Publication number Publication date
WO2009074499A1 (de) 2009-06-18

Similar Documents

Publication Publication Date Title
DE102005013285B4 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
EP3128383B1 (de) Feldgerät
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE102015110710A1 (de) Effiziente Flash-Programmierung
WO2000010060A2 (de) Verfahren zum applizieren von steuerdaten eines elektronischen kraftfahrzeug-steuergeräts
DE19934191B4 (de) Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
WO2017125181A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
DE102007059355A1 (de) Verfahren zum Betreiben eines Steuergerätes und Steuergerät
EP2608037B1 (de) Verfahren zum Verwalten von Daten in einem Flash-Speicher, Fahrerassistenzeinrichtung und Kraftfahrzeug
DE102013108024A1 (de) Verfahren zum Implementieren eines binären Flags in einem Flashspeicher
EP0664387B1 (de) Verfahren zum Ändern der Arbeitsweise eines Steuergeräts von Kraftfahrzeugen
WO2017125182A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
DE10211426B4 (de) Verfahren zur Durchführung eines Updates von Software-Programmen oder Software-Programmteilen
DE10234063A1 (de) Verfahren zum variantenspezifischen Programmieren eines Programm- und Datenspeichers eines Steuergeräts, insbesondere eines Steuergeräts eines Kraftfahrzeugs
DE102005032514B3 (de) Speicher und Verfahren zum Betrieb des Speichers
DE10252059B3 (de) Verfahren zum Betreiben einer Speicheranordnung
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
DE102013003593A1 (de) Verfahren zum Durchführen eines Löschungsvorgangs in einem beschreibbaren Speicherelement
DE102008040366A1 (de) System und Verfahren zum Steuern von Funktionskomponenten eines Kraftfahrzeugs
EP2000914B1 (de) Verfahren und Vorrichtung zum Umorganisieren von Daten in einem Speichersystem, insbesondere für Steuergeräte in Kraftfahrzeugen
DE102020212139A1 (de) Verfahren zum Aktualisieren von Software
DE19748181B4 (de) Verfahren zum Prüfen einer Funktion oder Einrichtung eines Fahrzeugs
DE10128752A1 (de) Verfahren zur Ablage von Daten in einen Speicherbaustein
DE102020208877A1 (de) Verfahren zum Aktualisieren einer auf einer Recheneinheit auszuführenden Anwendung
DE102006021745A1 (de) Nichtflüchtiger Speicherbaustein

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R011 All appeals rejected, refused or otherwise settled
R003 Refusal decision now final

Effective date: 20120416