DE10234063B4 - Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, and device for carrying out the method - Google Patents

Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, and device for carrying out the method Download PDF

Info

Publication number
DE10234063B4
DE10234063B4 DE2002134063 DE10234063A DE10234063B4 DE 10234063 B4 DE10234063 B4 DE 10234063B4 DE 2002134063 DE2002134063 DE 2002134063 DE 10234063 A DE10234063 A DE 10234063A DE 10234063 B4 DE10234063 B4 DE 10234063B4
Authority
DE
Germany
Prior art keywords
program
variant
basic
change information
data
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.)
Expired - Fee Related
Application number
DE2002134063
Other languages
German (de)
Other versions
DE10234063A1 (en
Inventor
Ralf Kischkat
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.)
Audi AG
Original Assignee
Audi AG
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 Audi AG filed Critical Audi AG
Priority to DE2002134063 priority Critical patent/DE10234063B4/en
Publication of DE10234063A1 publication Critical patent/DE10234063A1/en
Application granted granted Critical
Publication of DE10234063B4 publication Critical patent/DE10234063B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F16ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
    • F16HGEARING
    • F16H61/00Control functions within control units of change-speed- or reversing-gearings for conveying rotary motion ; Control of exclusively fluid gearing, friction gearing, gearings with endless flexible members or other particular types of gearing
    • F16H2061/0053Initializing the parameters of the controller

Landscapes

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

Abstract

Verfahren zum variantenspezifischen Programmieren eines Programm- und Datenspeichers eines Steuergeräts, insbesondere eines Steuergeräts eines Kraftfahrzeugs, wobei im Speicher ein Basisprogramm und mehrere variantenspezifische Programmänderungsinformationen sowie ein Basisdatensatz und mehrere variantenspezifische Datenänderungsinformationen abgelegt sind, die Informationen über im Basisprogramm und dem Basisdatensatz vorzunehmende variantenspezifische Änderungen enthalten, wobei zur Programmierung eine bestimmte variantenspezifische Programmänderungsinformation und Datenänderungsinformation über eine dem Steuergerät zu gebende Auswahlinformation gewählt und das Basisprogramm und der Basisdatensatz automatisch gemäß der Programm- und der Datenänderungsinformation geändert wird.Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, wherein a basic program and several variant-specific program change information as well as a basic data record and several variant-specific data change information are stored in the memory, which contain information about variant-specific changes to be made in the basic program and the basic data record, wherein for programming a specific variant-specific program change information and data change information is selected via selection information to be given to the control device and the basic program and the basic data record are automatically changed in accordance with the program and data change information.

Figure 00000001
Figure 00000001

Description

Die Erfindung betrifft ein Verfahren zum variantenspezifischen Programmieren eines Programm- und Datenspeichers eines Steuergeräts, insbesondere eines Steuergeräts eines Kraftfahrzeugs, sowie eine Vorrichtung zur Durchführung des Verfahrens.The invention relates to a method for variant-specific programming of a program and data memory a control unit, especially a control unit of a motor vehicle, and a device for carrying out the Process.

Die Steuerung der Vielzahl der verschiedenen Komponenten in einem Kraftfahrzeug erfolgt über mehrere separat arbeitende Steuergeräte, in denen die Steuerungssoftware abgelegt ist. Diese Software ist variantenspezifisch, das heißt sie ist speziell für die Variante des Kraftfahrzeugs, in das das Steuergerät eingebaut ist, ausgelegt. In der Regel stellt ein Automobilhersteller eine größere Produktpalette unterschiedlicher Fahrzeugtypen her, wobei die einzelnen Typen wiederum in einer Vielzahl unterschiedlicher Varianten hergestellt werden, beispielsweise mit unterschiedlichen Antriebsaggregaten, unterschiedlichen Ausstattungen etc.Control the variety of different Components in a motor vehicle are made via several separately working Control devices, in which the control software is stored. This software is variant-specific, that is it is especially for the variant of the motor vehicle in which the control unit is installed Is designed. As a rule, an automobile manufacturer provides one wider range of products different vehicle types, the individual types in turn are manufactured in a large number of different variants, for example with different drive units, different ones Equipment etc.

Während des Zusammenbaus eines Fahrzeugs werden die einzelnen Steuergeräte am Band eingebaut. Die Steuergeräte sind im Einbauzeitpunkt entweder bereits vollständig programmiert, das heißt die variantenspezifische Steuerungssoftware ist bereits komplett vorhanden. Alternativ dazu besteht die Möglichkeit, eine Bandprogrammierung vorzunehmen, das heißt das Steuergerät ist insoweit noch nicht belegt, die gesamte Software wird während sich das Fahrzeug am Band bewegt einprogrammiert.While When assembling a vehicle, the individual control units are installed on the assembly line. The control units are either already fully programmed at the time of installation, i.e. the variant-specific Control software is already completely available. Alternatively it is possible, to carry out a tape programming, that is, the control unit is so far not yet used, all software is running while the vehicle is on Band moves in.

Mit diesen Vorgehensweisen sind jedoch eine Reihe von Nachteilen verbunden. Werden fertig programmierte Steuergeräte eingebaut, so stellt dies ei nen erhöhten Aufwand hinsichtlich der Produktionssteuerung, der Disposition und der Lagerhaltung sowohl im fahrzeugbauenden Werk wie auch beim Steuergerätelieferanten dar. Zum einen muss stets gewährleistet werden, dass das richtige vorprogrammierte Steuergerät in das richtige Fahrzeug eingebaut wird, das heißt hinsichtlich der Produktionssteuerung muss gewährleistet sein, dass die richtigen Komponenten zusammengeführt werden. Ferner ist die Disposition und Lagerhaltung sehr aufwendig, da stets hinreichende Stückzahlen an Steuergeräten, die mit der jeweils variantenspezifischen Steuerungssoftware vorprogrammiert sind, vorhanden sind beziehungsweise lieferantenseitig auch hergestellt und verfügbar sind. Insbesondere diese Nachteile fallen auch im Ersatzteilwesen und im Kundendienst an. Ferner ist ein hoher Aufwand bei einer Softwareumstellung gegeben. Der Steuerungsaufwand verdoppelt sich nahezu, wenn auf eine weiterentwickelte Steuerungssoftware umgestellt wird. Denn es müssen jeweils die alte und die neue Variante in der Produktion in passender Stückzahl vorgehalten werden. Auch ist ein Falschverbau möglich, wenn ein Bandarbeiter versehentlich ein falsches Steuergerät wählt und einbaut. Schließlich sind aufgrund der Vorprogrammierung dahingehend Nachteile zu sehen, dass nach einer Softwareumstellung übrig gebliebene, mit der alten Software vorprogrammierte Steuergeräte entweder erst aufwendig umprogrammiert und anders gekennzeichnet oder zum Steuergerätelieferanten zurückgesandt werden müssen.Using these approaches, however, are one Series of disadvantages. If programmed control units are installed, so this represents an elevated one Effort in terms of production control, disposition and warehousing both in the vehicle manufacturing plant and at the control unit supplier First, it must always be guaranteed be that the right preprogrammed control unit in the correct vehicle is installed, that means in terms of production control must be guaranteed be that the right components are brought together. Furthermore, the Dispatching and warehousing are very complex, because they are always sufficient numbers on control units that preprogrammed with the variant-specific control software are available or are also manufactured by the supplier and available are. In particular, these disadvantages also apply to spare parts and in customer service. Furthermore, there is a lot of effort involved in changing the software given. The control effort almost doubles when on advanced control software is being converted. Because to have to the old and the new variant in production in a suitable manner quantity be held up. Incorrect installation is also possible if a band worker accidentally selects and installs an incorrect control unit. Finally are to see disadvantages due to the preprogramming that after a software upgrade left remaining control units either preprogrammed with the old software only costly reprogrammed and labeled differently or for ECU suppliers returned Need to become.

Auch die Programmierung am Band ist mit Nachteilen verbunden. Die Programmierzeit ist sehr häufig länger als eine Taktzeit im fahrzeugbauenden Werk, das heißt die Programmierung kann häufig nicht ohne Schwierigkeiten in den Taktzyklus integriert werden. Ferner steigt durch die ständig zunehmende Softwaremenge aufgrund immer neuer zu steuernder Komponenten auch die Programmierzeit ständig an. Die Programmierung ist daher häufig kostenaufwendig und im Produktionsablauf hinderlich. Es müssen Puffer vorgesehen werden oder mitfahrende Programmieranlagen bereitgestellt werden. Eine einmal installierte Programmieranlage kann bei einer Hardwareänderung oft nicht in der selben Form verwendet werden und muss kostenaufwendig umgestaltet werden.Programming is also on the line associated with disadvantages. The programming time is very often longer than a cycle time in the vehicle manufacturing plant, that is, the programming can often not can be integrated into the clock cycle without difficulty. Further rises through that constantly increasing amount of software due to ever new components to be controlled also the programming time constantly on. Programming is therefore often costly and expensive Obstructive production process. Buffers must be provided or accompanying programming systems are provided. A Once installed, the programming system can change hardware often not used in the same form and must be costly be redesigned.

Eine letzte Möglichkeit ist schließlich, alle Datensätze sämtlicher Varianten im Steuergerät abzuspeichern und durch geeignete Softwarezeiger zu einem bestimmten Zeitpunkt die variantenspezifische benötigte Software auszuwählen. Dies benötigt jedoch sehr viel Speicherplatz im Steuergerät, der zum Ausführen der eigentlichen Steuerfunktionen überhaupt nicht erforderlich wäre. Ferner erhöht sich hierdurch der Gerätepreis. Auch hier gilt bei einer Softwareumstellung, dass bereits vorprogrammierte Steuergeräte häufig nicht mehr verwendet werden können, da die aktuelle Softwareversion einer Variante nicht vorgesehen ist. Auch können durch Auswahl einer falschen Variante werk- oder kundendienstseitig Fehler entstehen.Finally, one last option is all records Variants in the control unit save and use suitable software pointers to a specific one Time to select the variant-specific software required. This needed however, a lot of memory in the control unit needed to run the actual control functions at all would not be required. Further increases thereby the device price. Here too, when changing the software, control units that have already been preprogrammed often do not can be used more because the current software version of a variant is not provided is. Can too by selecting the wrong variant at the factory or customer service Errors arise.

Derartige Probleme bestehen jedoch nicht nur auf dem Kraftfahrzeugsektor, sondern in der Regel überall dort, wo Steuergeräte verwendet werden, zu denen es unterschiedliche Varianten gibt, wie es beispielsweise häufig bei Maschinen- oder Anlagensteuerungen ebenfalls der Fall sein kann.However, such problems exist not just in the automotive sector, but usually everywhere there, where control units can be used, for which there are different variants, such as it often, for example can also be the case with machine or system controls.

Aus EP 0 532 643 B1 ist ein Verfahren zur Initialisierung einer Software in einem Host-Datenverarbeitungssystem bekannt, wobei der Host eine beliebige Hardware-Architektur innerhalb einer größeren Variantenvielfalt besitzt. Zu Initialisierung wird ein Software-Modul in den Host-Speicher geladen, einschließlich eines Satzes von Codeblöcken, wobei jeder Codeblock wenigstens einer bestimmten Architekturvariante aus der Vielzahl möglicher Architekturen angepasst ist. Anschließend wird die konkrete Architekturvariante des Hosts identifiziert und in Abhängigkeit der identifizierten Architektur ein Untersatz aus den Codeblöcken gewählt, die für die identifizierte Architekturvariante angepasst sind, wonach dieser Untersatz in dem Host-Speicher in benachbarten Speicherstellen gespeichert wird, wonach Speicherstellen im Software-Modul im Host-Speicher außerhalb dieser benachbarten Speicherstellen freigegeben werden. Dieses Verfahren setzt die vorherige Einspeicherung sämtlicher variantenspezifischer Datensätze voraus.Out EP 0 532 643 B1 a method for initializing software in a host data processing system is known, the host having any hardware architecture within a greater variety of variants. For initialization, a software module is loaded into the host memory, including a set of code blocks, each code block being adapted to at least one specific architecture variant from the large number of possible architectures. The specific architecture variant of the host is then identified and, depending on the identified architecture, a subset is selected from the code blocks which are adapted for the identified architecture variant, after which this subset is stored in the host memory in adjacent memory locations, and then memory places in the software module in the host memory outside of these neighboring storage locations are released. This procedure requires that all variant-specific data records are saved beforehand.

Ferner ist aus US 6,018,747 ein Verfahren zur Ermöglichung eines Software-Updates auf einem Client-Computer bekannt, bei dem über ein Rekonstrukti ons-Delta-File auf einem Quellcomputer, das die Vielzahl von Änderungen zwischen der Vorversion und der neuen Version sowie einer Vielzahl von Lese- und Schreib-Befehle enthält, in einem Speicherbereich am Zielcomputer die neue Version unter Verwendung des vom Quellcomputer übertragenen Delta-Files rekonstruiert wird, aus welchem Speicherbereich vorher die Vorversion entfernt wurde, die in einem anderen Speicherbereich abgelegt wird.Furthermore is off US 6,018,747 a method for enabling a software update on a client computer is known, in which a reconstruction on delta file on a source computer, the large number of changes between the previous version and the new version and a variety of read and write Commands contains, in a memory area on the target computer, the new version is reconstructed using the delta file transmitted by the source computer, from which memory area the previous version was previously removed, which is stored in another memory area.

Der Erfindung liegt damit das Problem zugrunde, ein Verfahren anzugeben, das ein einfaches und schnelles variantenspezifisches Programmieren eines Steuergeräts zulässt.The invention is therefore the problem based on specifying a method that is simple and quick allows variant-specific programming of a control unit.

Zur Lösung dieses Problems ist ein Verfahren zum variantenspezifischen Programmieren eines Programm- und Datenspeichers eines Steuergeräts, insbesondere eines Steuergeräts eines Kraftfahrzeugs vorgesehen, wobei im Speicher ein Basisprogramm und mehrere variantenspezifische Programmänderungsinformationen sowie ein Basisdatensatz und mehrere variantenspezifische Datenänderungsinformationen abgelegt sind, welche Informationen über im Basisprogramm und dem Basisdatensatz vorzunehmende variantenspezifische Änderungen enthalten, wobei zur Programmierung eine bestimmte variantenspezifische Programmänderungsinformation und Datenänderungsinformation über eine dem Steuergerät zu gebende Auswahlinformation gewählt und das Basisprogramm und der Basisdatensatz automatisch gemäß der Programm- und Datenänderungsinformation geändert wird.To solve this problem is a Method for variant-specific programming of a program and data memory of a control unit, in particular a control unit of a Motor vehicle provided, a basic program and several variant-specific program change information as well a basic data record and several variant-specific data change information what information is stored in the basic program and the Contain basic variant-specific changes to be made, where for programming a certain variant-specific program change information and data change information about a control unit Selection information to be selected and the basic program and the basic data set automatically according to the program and data change information changed becomes.

Das erfindungsgemäße Verfahren lässt ein automatisches und sehr schnelles variantenspezifisches Programmieren des Speichers zu. Im Speicher eines Steuergeräts sind im allgemeinen das Steuerungsprogramm sowie der Datensatz vorhanden, wobei das Steuerungsprogramm zum einen ein Boot-Programm und zum anderen den eigentlichen Programmablauf umfasst. Das Boot-Programm hat die Aufgabe, die Anfangskommunikation nach außen herzustellen, beispielsweise mit einem Kundendiensttester oder einem Programmiergerät, und die Initialisierungsvorgänge einzuleiten. Der Programmablauf bestimmt die enthaltene Funktionalität im Steuergerät. Der Datensatz schließlich enthält Daten, beispielsweise Werteschwellen, Kennlinien und Kennfelder und quantifiziert so das Verhalten des Steuergeräts.The inventive method leaves an automatic and very fast variant-specific programming of the memory to. In the memory of a control unit the control program and the data record are generally available, the control program being a boot program on the one hand and the actual program sequence on the other includes. The boot program's job is initial communication to manufacture to the outside, for example with a customer service tester or a programming device, and initiate the initialization processes. The program sequence determines the functionality contained in the control unit. Finally, the record contains data for example thresholds, characteristics and maps and quantified so the behavior of the control unit.

Dem erfindungsgemäßen Verfahren liegt nun der Gedanke zugrunde, dass viele Teile des Programms, also des Boot-Programms und des Programmablaufs, für alle Varianten gleich sind. Diese variantenübergreifenden Programmteile werden als Basisprogramm in dem Speicher abgelegt. Gleiches gilt für den Datensatz, auch hier sind viele Teile für alle Varianten gleich, weshalb auch ein Basisdatensatz, der für alle Varianten gilt, im Speicher abgelegt wird. Zum Basisprogramm sowie zum Datensatz werden nun mehrere variantenspezifische Programm- und Datenänderungsinformationen abgelegt, also Informationen darüber, wie das Basisprogramm und der Basisdatensatz für eine spezielle Steuerungsgerätevariante zu ändern, also umzuprogrammieren beziehungsweise gegebenenfalls durch Einschreiben neuer zusätzlicher Informationen zu erweitern sind. Die Änderungsinformationen sind variantenspezifisch, das heißt für jede Variante ist eine spezielle Änderungsinformation (die natürlich eine Mehrzahl an einzelnen vorzunehmenden Änderungsdaten umfassen) vorgesehen. Da diese Änderungsinformationen lediglich die häufig relativ wenigen vorzunehmenden Änderungen enthalten handelt es sich hierbei um jeweils relativ kleine Datenmengen im Vergleich zur Gesamtheit der letztendlich fertiggestellten Software.The method according to the invention is now the Underlying the idea that many parts of the program, i.e. the boot program and the program flow, for all variants are the same. These cross-variant program parts are stored in the memory as a basic program. same for for the Data set, here too many parts are the same for all variants, which is why also a basic data set for all variants apply, is stored in memory. To the basic program As well as the data record, several variant-specific program and Data change information filed, so information about like the basic program and the basic data set for a special control device variant to change, So reprogramming or, if necessary, by registered mail new additional Information to be expanded. The change information is variant-specific, that is for every Variant is a special change information (of course include a plurality of individual change data to be made) provided. Because this change information only that often relatively few changes to make each contains relatively small amounts of data compared to the entirety of the software that is ultimately completed.

Ist nun bekannt, welche Variante verlangt wird und zu Programmieren ist, wird von außen dem Steuergerät eine entsprechende Auswahlinformation gegeben, die angibt, welche variantenspezifische Programm- und Datenänderungsinformation zu wählen und das Basis- und der Basisdatensatz gemäß diesen Änderungsinformationen umzuprogrammieren ist. Es werden dann lediglich die zu ändernden Teile im Basisprogramm und im Basisdatensatz geändert, was sehr schnell geht und ohne weiteres beispielsweise am Band erfolgen kann.Is now known which variant is requested and is to be programmed, the control unit receives a corresponding one from the outside Selection information is given, which indicates which variant-specific program and data change information to choose and reprogram the base and base records according to this change information is. Then only the parts to be changed in the basic program and changed in the basic data set, which is very quick and can easily be done on the line, for example can.

Es erfolgt also eine echte Variantenbildung durch aktives Umprogrammieren im Steuergerät selbst, um diese variantenspezifisch zu konfigurieren.So there is a real variant formation active reprogramming in the control unit itself to make it variant-specific to configure.

Die variantenspezifischen Programmänderungs- und Datenänderungsinformationen können gemäß einer ersten Erfindungsalternative bereits im Steuergerät vorhanden sein. Das heißt sie können entweder herstellerseitig zusammen mit dem Basisprogramm und dem Basisdatensatz abgelegt werden, dies kann aber auch im fahrzeugbauenden Werk völlig losgelöst vom eigentlichen Fahrzeugbau erfolgen. Daneben können gemäß einer zweiten Alternativausführung die Änderungsinformationen auch zumindest teilweise vorhanden und weitere Änderungsinformationen im wesentlichen unmittelbar vor der Programmierung in das Steuergerät übertragen werden. Dies ist beispielsweise dann zweckmäßig, wenn sich die Änderungsinformationen erweitern, beispielsweise durch Hinzufügen neuer Varianten oder durch kleinere Änderungen in bereits bestehenden variantenspezifischen Änderungsinformationen. Schließlich besteht als dritte Alternative die Möglichkeit, dass die Änderungsinformationen vollständig in das Steuergerät im wesentlichen unmittelbar vor Beginn der variantenspezifischen Programmierung übertragen werden. Auch dies geht aufgrund der relativ geringen zu übertragenden Datenmenge sehr schnell und kann sogar bandseitig integriert werden.According to a first alternative of the invention, the variant-specific program change and data change information can already be present in the control unit. This means that they can either be stored by the manufacturer together with the basic program and the basic data record, but this can also be done completely independently of the actual vehicle construction in the vehicle manufacturing plant. In addition, according to a second alternative embodiment, the change information can also be at least partially present and further change information can be transmitted to the control unit essentially immediately before programming. This is useful, for example, when the change information is expanded, for example by adding new variants or by making minor changes in existing variant-specific change information. Finally, there is the third alternative Possibility that the change information is completely transferred to the control unit essentially immediately before the start of variant-specific programming. This is also very fast due to the relatively small amount of data to be transferred and can even be integrated on the band side.

Dadurch, dass lediglich ein allgemein gültiges Basisprogramm und ein allgemein gültiger Basisdatensatz sowie lediglich die variantenspezifischen Änderungsinformationen abgelegt werden, kann der hierfür benötigte Speicherbereich von Haus aus relativ gering bemessen werden. Um das erfindungsgemäße Verfahren noch weitergehend speicherplatzoptimiert auszugestalten kann vorgesehen sein, dass nach der Auswahl der variantenspezifischen Programm- und Datenänderungsinformationen die nicht benötigten anderen variantenspezifischen Programm- und Datenänderungsinformationen gelöscht werden. Diese Änderungsinformationen werden nach Festlegen der zu programmierenden Variante nicht mehr benötigt, so dass hierüber Speicherplatz gewonnen werden kann. Dabei können die Programm- und Datenänderungsinformationen vor oder nach dem Ändern des Basisprogramms und der Basisdaten gelöscht werden.By being just a general valid Basic program and a generally valid basic data record as well only the variant-specific change information is stored can be for this needed Storage area can be dimensioned relatively small from the outset. Around the inventive method to further optimize storage space can be provided be that after selecting the variant-specific program and data change information the not needed other variant-specific program and data change information to be deleted. This change information are no longer available after defining the variant to be programmed needed so about this Storage space can be gained. The program and data change information before or after changing of the basic program and the basic data are deleted.

Das Basisprogramm und der Basisdatensatz können erfindungsgemäß segmentweise in dem vorzugsweise als Flash-Speicher ausgebildeten Speicher abgelegt sein, wobei die einzelnen gemäß der Programm- und Datenänderungsinformation zu ändernden Segmente über einen Auswahlalgorithmus, also eine geeignete Schreibroutine ausgewählt und geändert werden.According to the invention, the basic program and the basic data record can be segmented stored in the memory, which is preferably designed as a flash memory the individual according to the program and data change information to be changed Segments across a selection algorithm, i.e. a suitable writing routine, can be selected and changed.

Hinsichtlich einer Optimierung des Speicherplatzes ist es ferner zweckmäßig, das Basisprogramm und/oder den Basisdatensatz, vorzugsweise beide komprimiert abzulegen, wobei ein zu ändernder Programm- oder Datenabschnitt, insbesondere ein zu änderndes Segment vor der Änderung dekomprimiert und gegebenenfalls nach der Änderung erneut komprimiert wird. Ferner können auch die variantenspezifische Programm- und/oder Datenänderungsinformationen, vornehmlich auch hier beide, komprimiert abgelegt sein oder übertragen werden, wobei die ausgewählte Programm- und/oder Datenänderungsinformation zur Abarbeitung dekomprimiert wird. Die jeweilige Variante der Änderungsinformation kann zweckmäßigerweise auch im komprimierten Zustand erkannt werden, so dass zum Auswählen nicht erst sämtliche Änderungsinformationen dekomprimiert werden müssen und anschließend erst die Auswahl erfolgen kann.With regard to an optimization of the It is also expedient for the basic program and / or to store the basic data record, preferably both in compressed form, whereby a to be changed Program or data section, in particular a section to be changed Segment before the change decompressed and, if necessary, compressed again after the change becomes. Can also also the variant-specific program and / or data change information, primarily both here too, to be stored in compressed form or transmitted the selected one Program and / or data change information is decompressed for processing. The respective variant of the change information can expediently can also be recognized in the compressed state, so that no selection first decompressed all change information Need to become and only then the selection can be made.

Im Rahmen der Änderungsprogrammierung kann ein zu ändernder Basisprogramm- oder Basisdatenabschnitt, insbesondere ein zu änderndes Segment in seiner geänderten Form zunächst in einen Kopier-Speicherplatz geschrieben und auf Vollständigkeit beispielsweise durch Checksummenbildung überprüft werden, wonach er in das Basisprogramm beziehungsweise den Basisdatensatz geschrieben wird. Als Kopier-Speicherplatz kann dabei zweckmäßigerweise ein durch Löschen einer nicht benötigten Programm- oder Datenänderungsinformation frei gewordener Speicherplatz, insbesondere ein frei gewordenes Segment verwendet werden. Man nutzt also hier den aktiv gewonnenen Speicherraum zum Kopieren aus, so dass hierfür nicht von Haus aus ein separater Speicherplatz vorgesehen werden muss.As part of the change programming a to be changed Basic program or basic data section, in particular one to be changed Segment in its modified Shape first written to a copy space and for completeness can be checked, for example, by creating a checksum, after which he is included in the Basic program or the basic data record is written. As a copy storage space can advantageously be deleted by deleting one program or data change information not required Free space, especially one that has become free Segment can be used. So you use the actively won here Storage space for copying out, so this is not inherently a separate one Storage space must be provided.

Es kann mitunter vorkommen, dass beispielsweise aus fertigungstechnischen Gründen der laufende Programmiervorgang unterbrochen wird. Um nun die Programmierung nahtlos an der Unterbrechungsstelle fortsetzen zu können ist es zweckmäßig, wenn der laufende Programmiervorgang durch Einschreiben von Protokollinformationen in einen Protokollspeicherplatz aufgezeichnet wird, wobei auch hier als Protokollspeicherplatz zweckmäßigerweise ein durch Löschen einer nicht benötigten Programm- oder Datenänderungsinformation frei gewordener Speicherplatz, insbesondere ein frei gewordenes Segment verwendet wird.It can sometimes happen that the ongoing programming process, for example, for manufacturing reasons is interrupted. To make programming seamless at the point of interruption to be able to continue it is useful if the ongoing programming process by writing log information is recorded in a log space, also here expediently as a log storage space by deleting one not needed Program or data change information Free space, especially one that has become free Segment is used.

Weiterhin beseht die Möglichkeit, einen infolge einer Löschung nicht benötigter variantenspezifischer Programm- oder Datenänderungsinformationen frei gewordenen Speicherplatz als Speicherplatz für im Betrieb des Steuergeräts erfasste und zu protokollierende Informationen einzurichten, vorzugsweise als Fehlerspeicher für im Fahrbetrieb erfasste Fehlerinformationen. Das heißt der frei werdende Speicherplatz infolge der Informationslöschung wird auch im Rahmen des späteren Betriebs des Steuergeräts vorteilhaft zum Einschreiben beliebiger Daten verwendet.There is also the possibility one due to deletion not needed variant-specific program or data change information freely storage space as storage space for the operation of the control unit and set up information to be logged, preferably as a fault memory for Error information recorded while driving. That means free Storage space due to the deletion of information is also in the frame of the later Operation of the control unit used advantageously for writing any data.

Zweckmäßigerweise kann nach Durchführung der Änderung, wenn diese also endgültig abgeschlossen sind, das die Änderungen beziehungsweise Löschungen und den Schreibbetrieb steuernde Programm, also die Dekomprimier- und Schreibroutine, gelöscht werden. Hierdurch wird vermieden, dass im Fahrbetrieb aufgrund eines irgendwie gearteten Fehlers eine Aktivierung dieser Routine und eine unbeabsichtigte Datenänderung erfolgen kann.After the change has been carried out, if this is final completed the changes or deletions and the program controlling the write operation, that is to say the decompression and writing routine, deleted become. This avoids that during driving due to a any kind of error activating this routine and an unintentional data change can be done.

Neben dem erfindungsgemäßen Verfahren betrifft die Erfindung ferner eine Vorrichtung zur Durchführung des Verfahrens, umfassend ein Steuergerät mit einem zu programmierenden Speicher, in dem ein Basisprogramm sowie ein Basisdatensatz abgelegt sind, sowie eine mit dem Steuergerät kommunizierende Einrichtung zur Übertragung einer Auswahlinformation zum Auswählen einer bestimmten variantenspezifischen, Informationen über im Basisprogramm und dem Basisdatensatz vorzunehmende variantenspezifische Änderungen enthaltenden Programm- und Datenänderungsinformation aus einer Mehrzahl speicherseitig vorhandener variantenspezifischer Programm- und Datenänderungsinformationen, wobei das Basisprogramm und der Basisdatensatz automatisch gemäß der gewählten Programm- und der Datenänderungsinformation änderbar sind. Die Einrichtung zur Übertragung der Auswahlinformation kann beliebiger Natur sein. Es kann sich beispielsweise um eine kleine Programmier- oder Recheneinrichtung handeln, die beispielsweise gemäß Vorgabe durch die Produktionssteuerung die entsprechende Auswahlinformation generiert und überträgt. Es kann sich aber auch beispielsweise um eine Einrichtung handeln, mit der der Fahrzeugtyp eines am Band zusammengebauten Fahrzeugs beispielsweise über eine Scannereinrichtung oder dergleichen erfasst wird, und die dann die Auswahlinformation generiert und überträgt, wobei das Steuergerät dabei noch fahrzeugextern oder bereits im Fahrzeug eingebaut sein kann.In addition to the method according to the invention, the invention further relates to a device for carrying out the method, comprising a control device with a memory to be programmed, in which a basic program and a basic data record are stored, and a device communicating with the control device for transmitting selection information for selecting a specific variant-specific , Information about program and data change information containing variant-specific changes to be made in the basic program and the basic data record from a plurality of variant-specific program and data change information available on the memory, the basic program and the basic data record automatically changing in accordance with the selected program and data change information are cash. The device for transmitting the selection information can be of any type. It can be, for example, a small programming or computing device which, for example, generates and transmits the corresponding selection information in accordance with the specification by the production controller. However, it can also be a device, for example, with which the vehicle type of a vehicle assembled on the assembly line is detected, for example via a scanner device or the like, and which then generates and transmits the selection information, the control unit being still external to the vehicle or already installed in the vehicle can.

Die variantenspezifischen Programmänderungs- und die Datenänderungsinformationen können dabei bereits im Steuergerät vorhanden sein, sie können zumindest teilweise vorhanden und weitere Änderungsinformationen im Wesentlichen unmittelbar vor der Programmierung in das Steuergerät zu übertragende Programmänderungs- und Datenänderungsinformationen in der externen Einrichtung vorhanden sein, es können die Programmänderungs- und die Datenänderungsinformationen vollständig in der externen Einrichtung vorhanden und im Wesentlichen unmittelbar vor Beginn der variantenspezifischen Programmierung in das Steuergerät übertragen werden. Der Speicher selbst kann ein segmentweise beschreibbarer Flash-Speicher sein, wobei es natürlich auch denkbar ist, mit dem erfindungsgemäßen Verfahren mehrere in einem Steuergerät vorhandene Flash-Speicher programmieren zu können.The variant-specific program change and the data change information can already in the control unit be present, they can at least partially available and further change information essentially to be transferred to the control unit immediately before programming Programmänderungs- and data change information be present in the external device, the program change and data change information Completely present in the external facility and essentially immediate before starting the variant-specific programming in the control unit become. The memory itself can be written in segments Flash memory, although it is of course also conceivable with the inventive method several in one control unit to be able to program existing flash memory.

Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus dem im Folgenden beschriebenen Ausführungsbeispiel sowie anhand der Zeichnungen. Dabei zeigen:Other advantages, features and details of Invention result from the exemplary embodiment described below and based on the drawings. Show:

1 eine Prinzipskizze einer erfindungsgemäßen Vorrichtung, 1 a schematic diagram of a device according to the invention,

2 eine Prinzipdarstellung eines Programm- und Datenspeichers vor und nach der Durchführung des erfindungsgemäßen Programmierverfahrens, und 2 a schematic diagram of a program and data memory before and after the implementation of the programming method according to the invention, and

3 ein Flussdiagramm zur schematischen Darstellung des Ablaufs des erfindungsgemäßen Programmierverfahrens. 3 a flowchart for the schematic representation of the sequence of the programming method according to the invention.

1 zeigt in Form einer Prinzipskizze die relevanten Komponenten der erfindungsgemäßen Vorrichtung 1 zur Durchführung des erfindungsgemäßen Programmierverfahrens. Gezeigt ist ein in ein Kraftfahrzeug 2 bereits eingebautes Steuergerät 3 mit einem zu programmierenden Speicher 4, beispielsweise einem Flash-Speicher. Die erfindungsgemäße Vorrichtung umfasst ferner eine externe Einrichtung 5, über die eine eine bestimmte zu programmierende Variante auswählende Auswahlinformation über eine Kommunikationsverbindung an das Steuergerät 3 gegeben wird. Die Kommunikationsverbindung kann beispielsweise eine Kommunikationsleitung 6 sein, die die Einrichtung 5 und das Steuergerät 3, an dem eine geeignete Schnittstelle vorgesehen ist, verbindet. Alternativ besteht die Möglichkeit, eine leitungslose Kommunikationsverbindung 7 vorzusehen, mit einem entsprechenden Sender an der Einrichtung 5 und einem geeigneten Empfänger mit geeigneter Schnittstelle an dem Steuergerät 3. Wird die Auswahlinformation gegeben so erfolgt automatisch die variantenspezifische Programmierung, worauf nachfolgend noch eingegangen wird. 1 shows in the form of a schematic diagram the relevant components of the device according to the invention 1 to carry out the programming method according to the invention. A motor vehicle is shown 2 control unit already installed 3 with a memory to be programmed 4 , for example a flash memory. The device according to the invention further comprises an external device 5 , via which selection information that selects a specific variant to be programmed via a communication link to the control unit 3 is given. The communication link can be, for example, a communication line 6 be the establishment 5 and the control unit 3 at which a suitable interface is provided. Alternatively, there is the option of a wireless communication link 7 to be provided with an appropriate transmitter on the device 5 and a suitable receiver with a suitable interface on the control unit 3 , If the selection information is given, the variant-specific programming takes place automatically, which will be discussed below.

Die Programmierung des Speichers 4 erfolgt variantenspezifisch bezogen auf die Variante des Kraftfahrzeugs 2, in das das Steuergerät 3 eingebaut ist. Um nun zu wissen, um welche Fahrzeugvariante es sich handelt, sind mehrere Möglichkeiten denkbar. Im gezeigten Beispiel ist zum einen die Erfassung einer Fahrzeugvariantenkennung 8, hier in Form eines Bar-Codes, über ein geeignetes Lesemittel 9, z.B. einen Scanner seitens der Einrichtung 5 möglich. Hieraus kann der genaue Fahrzeugtyp beziehungsweise die genaue Fahrzeugvariante ermittelt und an das Steuergerät 3 übertragen werden. Denkbar ist es auch, dass die Einrichtung 5 über eine Kommunikationsverbindung 10 mit einer zentralen Steuerungseinrichtung 11, die den Produktionsablauf steuert, kommuniziert, von welcher dann die Information zur Fahrzeugvariante übertragen wird.Programming the memory 4 is variant-specific based on the variant of the motor vehicle 2 in which the control unit 3 is installed. In order to know which vehicle variant is involved, several options are conceivable. On the one hand, the example shown is the detection of a vehicle variant identifier 8th , here in the form of a bar code, using a suitable reading medium 9 , for example a scanner from the facility 5 possible. The exact vehicle type or the exact vehicle variant can be determined from this and sent to the control unit 3 be transmitted. It is also conceivable that the facility 5 over a communication link 10 with a central control device 11 , which controls the production process, communicates from which the information about the vehicle variant is then transmitted.

2 zeigt in Form einer Prinzipskizze den Speicher 4 des Steuergeräts 3 vor der variantenspezifischen Programmierung (links in 2) und danach (rechts in 2). Bei dem Speicher 4 kann es sich beispielsweise um einen Flash-Speicher handeln, in dem die relevanten Informationen segmentweise eingeschrieben sind. Die Art und Weise der Programmierung beziehungsweise der Aufteilung der Informationen kann jedoch auch beliebig anders sein. Im Folgenden wird davon ausgegangen, dass die Informationen segmentweise abgelegt sind, wobei die einzelnen Segmente in den Figuren nicht näher dargestellt sind. Dem Fachmann ist diese Programmierart jedoch hinlänglich bekannt. 2 shows the memory in the form of a schematic diagram 4 of the control unit 3 before variant-specific programming (left in 2 ) and afterwards (right in 2 ). At the store 4 For example, it can be a flash memory in which the relevant information is written in segments. However, the way in which the information is programmed or divided can also be arbitrarily different. In the following it is assumed that the information is stored segment by segment, the individual segments not being shown in the figures. However, this type of programming is well known to the person skilled in the art.

Im Speicher 4 ist zum einen ein (gegebenenfalls komprimiertes) Basisprogramm 12 abgelegt, das sämtliche Programmteile enthält, die allgemeingültig für eine Vielzahl verschiedener Fahrzeugvarianten ist, mithin also bei jeder Fahrzeugvariante gleich ist. Dem Basisprogramm 12 zugeordnet sind Programmänderungsinformationen 13, wobei diese variantenspezifisch sind. Die Programmänderungsinformationen geben an, wie das Basisprogramm 12 für eine bestimmte auswählbare Variante zu ändern ist, sei es durch Umschreiben oder durch Anfügen weiterer Programmdaten. Im gezeigten Beispiel sind mehrere unterschiedliche Programmänderungsinformationsblöcke dargestellt, die PÄIa, PÄIb, PÄIc, ..., PÄIy und PÄIz gekennzeichnet sind. Es sind hier also lediglich die relativ wenigen Änderungsinformationen enthalten, die benötigt werden, um das Basisprogramm in ein variantenspezifisches Programm für eine bestimmte Fahrzeugvariante umzuprogrammieren.In the storage room 4 is on the one hand a (possibly compressed) basic program 12 filed, which contains all program parts, which is general for a variety of different vehicle variants, and is therefore the same for each vehicle variant. The basic program 12 program change information is assigned 13 , which are variant-specific. The program change information indicates how the basic program 12 is to be changed for a certain selectable variant, either by rewriting or by adding further program data. In the example shown, several different program change information blocks are shown, which are marked PÄIa, PÄIb, PÄIc, ..., PÄIy and PÄIz. It only contains the relatively little change information that is required to convert the basic program into a variant-specific program re-program a specific vehicle variant.

In entsprechender Weise ist ein (gegebenenfalls komprimierter) Basisdatensatz 15 vorgesehen, der für verschiedene Fahrzeugvarianten allgemein gültige Basisdaten wie Kennlinien oder Kennfelder oder Parameter und dergleichen umfasst. Diesem zugeordnet sind Datensatzänderungsinformationen 16, die auch hier variantenspezifisch abgelegt sind. Auch diese Datensatzänderungsinformationen geben lediglich die zur Programmierung einer bestimmten Datensatzvariante erforderlichen Änderungen an, sei es durch Umschreiben vorhandener Daten oder durch Anfügen weiterer Daten. Im gezeigten Beispiel sind die Änderungsinformationsvarianten DÄIa, DÄIb, DÄ- Ic, ..., DÄIy und DÄIz dargestellt. Jede der Programm- und Datensatzänderungsinformationsvarianten kann beispielsweise in einem eigenen Segment abgelegt sein.A (possibly compressed) basic data record is correspondingly 15 provided that includes generally valid basic data such as characteristic curves or characteristic diagrams or parameters and the like for different vehicle variants. Record change information is assigned to this 16 which are also stored here in a variant-specific manner. This data record change information also only indicates the changes required for programming a specific data record variant, be it by rewriting existing data or by adding further data. In the example shown, the change information variants DÄIa, DÄIb, DÄ-Ic, ..., DÄIy and DÄIz are shown. Each of the program and data record change information variants can, for example, be stored in its own segment.

Weiterhin ist ein Softwaretool 17 zur Dekomprimierung (sofern erforderlich) sowie als Schreibroutine vorgesehen. Sowohl das Basisprogramm und die Basisdaten als auch insbesondere die Programm- und Datensatzänderungsinformationen sind aus Gründen der Speicheroptimierung komprimiert abgelegt, weshalb sie bei Bedarf zu dekomprimieren sind. Die Schreibroutine gibt den Algorithmus an, wie die Änderungen vorzunehmen sind.There is also a software tool 17 intended for decompression (if necessary) and as a write routine. Both the basic program and the basic data and in particular the program and data record change information are stored in compressed form for reasons of memory optimization, which is why they have to be decompressed if necessary. The write routine specifies the algorithm how the changes are to be made.

Im gezeigten Ausführungsbeispiel wird nun über die Einrichtung 5 die „Auswahlinformation: Variante b" gegeben. Wie durch die gestrichelte Linie dargestellt ist, werden nun die Programmänderungsinformation PÄIb und die Datenänderungsinformation DÄIb ausgewählt. Dies führt nun dazu, dass das Basisprogramm gemäß der Programmänderungsinformation PÄIb geändert und als fertiges spezifisches „Programm Variante b" 12' abgespeichert wird, entsprechend wird der Basisdatensatz gemäß der Datenänderungsinformation DÄIb geändert und als fertiger spezifischer „Datensatz Variante b" 15' abgespeichert wird. Sämtliche nicht benötigten Programm- und Datenänderungsinformationen (im gezeigten Ausführungsbeispiel die Änderungsinformationen PÄIa, PÄIc, ..., PÄIy, PÄIz und DÄIa, DÄIc, ... DÄIy, DÄIz) werden gelöscht, auf diese Weise wird Speicherplatz gewonnen, da diese Informationen nicht mehr benötigt werden. Nach Beendigung der Programmierung wird auch das Softwaretool 17 beziehungsweise das dieses beinhaltende Segment gelöscht und als Fehlerspeicher 17' eingerichtet, in den im Betrieb des Steuergeräts 3 zu protokollierende Fehler eingeschrieben werden.In the exemplary embodiment shown, the device is now used 5 the "selection information: variant b" is given. As shown by the dashed line, the program change information PÄIb and the data change information DÄIb are now selected. 12 ' is saved, the basic data record is correspondingly changed in accordance with the data change information DÄIb and as a finished specific “data record variant b” 15 ' is saved. All program and data change information which is not required (in the exemplary embodiment shown, the change information PÄIa, PÄIc, ..., PÄIy, PÄIz and DÄIa, DÄIc, ... DÄIy, DÄIz) is deleted, in this way storage space is gained since this information is not more are needed. After completing the programming, the software tool is also activated 17 or the segment containing it deleted and as error memory 17 ' set up in the operation of the control unit 3 errors to be logged are recorded.

3 zeigt ein Ablaufschema zur näheren Erläuterung des erfindungsgemäßen Verfahrens. Im Schritt a wird das Programmierverfahren durch Gabe der Auswahlinformation über die Einrichtung 5 gestartet. In diesem Schritt können auch gegebenenfalls weitere Programm- und Dateninformationsvarianten, die noch nicht im Steuergerät vorhanden sind, oder Ergänzungen zu bestehenden Änderungsvarianten übertragen werden. Im Schritt b erfolgt, nachdem die ausgewählten Änderungsinformationsvarianten bekannt sind, die Löschung aller nicht ausgewählten Programm- und Datenänderungsinformationen. Wenigstens ein frei gewordenes Segment wird zu einem Protokollsegment eingerichtet, in dem Protokollinformationen über den Stand des Programmierverfahrens abgelegt werden, so dass zu jedem Zeitpunkt bekannt ist, wie weit das Programmierverfahren fortgeschritten ist, um im Falle einer etwaigen Unterbrechung an der Unterbrechungsstelle nahtlos fortsetzen zu können. Wenigstens ein weiteres frei gewordenes Segment wird zu einem Kopier-Segment eingerichtet, in das vor der endgültigen Übertragung an den vorgesehenen Speicherplatz ein geändertes Programm- oder Datensegment eingeschrieben wird. 3 shows a flow chart for a more detailed explanation of the method according to the invention. In step a, the programming process by giving the selection information about the device 5 started. In this step, further program and data information variants, which are not yet available in the control unit, or additions to existing modification variants can also be transferred. In step b, after the selected change information variants are known, all unselected program and data change information is deleted. At least one segment that has become free is set up for a protocol segment in which protocol information about the status of the programming process is stored, so that at any point in time it is known how far the programming process has progressed in order to be able to continue seamlessly in the event of an interruption at the point of interruption , At least one further segment that has become free is set up for a copy segment, into which a changed program or data segment is written before the final transfer to the intended storage location.

Anschließend erfolgt die Dekomprimierung der gewählten Änderungsinformation sowie im Schritt d die Wahl des als nächstes zu ändernden Segments sowie seine Dekomprimierung. Hiernach wird gemäß Schritt e der Informationsgehalt im gewählten Segment mit der variantenspezifischen vorgegebenen Änderungsinformation verglichen und ein geändertes Segment berechnet, das anschließend im Schritt f in das im Schritt b eingerichtete Kopier-Segment eingeschrieben wird. Dieses Kopier-Segment dient quasi als temporärer „Bauplatz" für die Erstellung des geänderten Segments für die endgültige Variante.Then the decompression takes place selected change information and in step d the choice of the next segment to be changed and its Decompression. According to step e, the information content in the chosen one Segment with the variant-specific specified change information compared and a changed Segment calculated, which then in Step f is written in the copy segment set up in step b becomes. This copy segment serves as a temporary "building site" for the creation of the changed Segments for the final Variant.

Im Schritt g wird nun überprüft, ob das geänderte Segment vollständig und richtig ist, es erfolgt das Einschreiben einer Protokollinformation in das im Schritt b gebildete Protokollsegment. Die Prüfung kann beispielsweise durch Checksummenbildung erfolgen, die Protokollierung durch einfaches Setzen einer entsprechenden Markierung im Protokollsegment und dergleichen. Derartige Prüf- und Protokollsequenzen sind dem Fachmann hinlänglich bekannt, so dass hierauf nicht näher eingegangen werden muss.In step g it is now checked whether that modified Segment complete and correct, log information is written into the protocol segment formed in step b. The exam can for example by creating checksums, the logging by simply setting a corresponding marker in the protocol segment and the same. Such test and protocol sequences are well known to the person skilled in the art, so that this not closer must be received.

Im Schritt h erfolgt die Abfrage, ob das geänderte Segment das letzte gemäß der Änderungsinformation zu ändernde Segment ist. Falls dem nicht so ist („nein"), wird das geänderte Segment im Schritt i an die endgültige richtige Stelle im Speicher übertragen. Gemäß Schritt j wird das Kopier-Segment gelöscht, die Programmiersequenz kehrt zum Schritt d zurück und wählt das nächste gemäß der Änderungsinformation zu ändernde Segment.The query takes place in step h, whether that changed Segment the last one according to the change information to be changed Segment is. If this is not the case (“no”), the changed segment becomes on in step i the final correct place in memory. According to step j the copy segment is deleted, the programming sequence returns to step d and selects the next one to be changed according to the change information Segment.

Handelt es sich jedoch um das letzte zu ändernde Segment („ja"), so verbleibt dieses im Kopier-Segment, das ohnehin nicht mehr benötigt wird, da dann die Programmierung beendet ist. Es wird ein Gültigkeitsmarker an das Kopier-Segment gesetzt, der angibt, dass es sich um ein abzuarbeitendes Segment handelt (Schritt k). Natürlich könnte alternativ dazu das Segment auch in diesem Fall aus dem Kopier-Segment gelesen und an die richtige Stelle im Speicher übertragen werden. Das Kopier-Segment würde dann auch wieder gelöscht werden. Anschließend erfolgt im Schritt 1 die Löschung weiterer nicht mehr benötigter Segmente, vornehmlich des Protokollsegments sowie des die Dekomprimier- und Schreibroutine enthaltenden Segments. Hierdurch wird vermieden, dass im Fahrbetrieb durch einen Einfachfehler Mechanismen zur Änderung des Speichers versehentlich aktiviert werden. Im Schritt m erfolgt schließlich noch die Einrichtung eines Fehlerspeichers in einem oder mehreren der gelöschten Segmente, wonach im Schritt n die Neuinitialisierung des Steuergeräts erfolgt.However, if it is the last segment to be changed ("yes"), it remains in the copy segment, which is no longer required anyway, since programming is then ended. A validity marker is set on the copy segment, the indicates that it is a segment to be processed (step k). Alternatively, of course, the segment could in this case also be read from the copy segment and transferred to the correct location in the memory would then be deleted again. Then, in step 1, further segments that are no longer required are deleted, primarily the protocol segment and the segment containing the decompression and write routine. In this way it is avoided that mechanisms for changing the memory are inadvertently activated by a simple error during driving. Finally, in step m, an error memory is set up in one or more of the deleted segments, after which the control device is reinitialized in step n.

Anschließend liegt im Speicher lediglich die fahrzeugspezifische Programmvariante und Datensatzvariante sowie ein Fehlerspeicher vor, sämtliche ursprünglich vorhandenen und nun für den Fahrbetrieb nicht mehr benötigten Informationen sind nicht mehr vorhanden. Dies ist hinsichtlich der Betriebssicherheit vorteilhaft, da ansonsten durch fehlerhaftes Zugreifen auf diese für den Fahrbetrieb nicht benötigten Informationen unkontrollierte Abläufe seitens des Steuergeräts abgearbeitet werden können oder aber es kommt zu einem Überschreiben des Flash-Speichers etc. Dies wird durch Löschen der im Fahrbetrieb kritischen Informationen vermieden. Der hierdurch freigewordene Speicherplatz kann vielmehr für andere Funktionen genutzt werden, so beispielsweise als Fehlerspeicher für entsprechende Fehlereinträge oder zum Abspeichern der Steuergerätekodierung oder zum Abspeichern bestimmter Zustände vor dem Abschalten etc.Afterwards it is only in the memory the vehicle-specific program variant and data record variant as well an error memory, all originally available and now for no longer need driving Information is no longer available. This is regarding the Operational safety advantageous, because otherwise incorrect access on this for do not need driving Information about uncontrolled processes processed by the control unit can be or there is an overwrite of the flash memory etc. This is done by deleting the critical ones while driving Information avoided. The storage space freed up by this can rather be for others Functions are used, for example as an error memory for corresponding error messages or to save the control unit coding or to save certain conditions before switching off etc.

Das erfindungsgemäße Verfahren lässt auf einfache Weise die variantenspezifische Programmierung des Steuergeräts zu. Aufgrund der Aufteilung der speicherseitig vorhandenen Informationen in Basisprogramm, Programmänderungsinformation, Basisdaten und Datenänderungsinformation wird relativ wenig Speicherplatz benötigt, was hinsichtlich der Kosten vorteilhaft ist. Verbesserungen in der Disposition, Logistik und Lagerhaltung stellen sich aufgrund der vor Ort ablaufenden Programmierung ein. Ein besonderer Vorteil ist, dass etwaige Änderungen in der variantenspezifischen Software auf äußerst einfache Weise berücksichtigt werden können, indem lediglich die Änderungsinformationen entsprechend präzisiert oder erweitert werden. Dies kann sogar werkseitig erfolgen. Daneben ist es auch möglich, das Basisprogramm sowie den Basisdatensatz turnusmäßig dann, wenn sie sich variantenübergreifend ändern, anzupassen. Ferner können sämtliche Programm- und Datensatzvarianten mit demselben Mechanismus gebildet werden, wobei die Variantenbildung sehr schnell vonstatten geht, so dass sich auch bei einer Programmierung am Band nur sehr kurze Programmierzeiten ergeben, die sich nicht störend auf den Produktionsablauf auswirken.The method according to the invention is simple Assign the variant-specific programming of the control unit. by virtue of the division of the information on the memory side into the basic program, Program change information, basic data and data change information relatively little storage space is required, which in terms of Cost is advantageous. Scheduling, logistics improvements and storage are due to the on-site programming on. A particular advantage is that any changes in the variant-specific Software on extremely simple Way considered can be by just changing information specified accordingly or be expanded. This can even be done at the factory. Besides it is also possible that Adjust the basic program and the basic data record regularly when they change across variants. Can also all Program and data record variants be formed with the same mechanism, the variant formation happens very quickly, so that even when programming only very short programming times result on the line, which are not distracting affect the production flow.

Claims (16)

Verfahren zum variantenspezifischen Programmieren eines Programm- und Datenspeichers eines Steuergeräts, insbesondere eines Steuergeräts eines Kraftfahrzeugs, wobei im Speicher ein Basisprogramm und mehrere variantenspezifische Programmänderungsinformationen sowie ein Basisdatensatz und mehrere variantenspezifische Datenänderungsinformationen abgelegt sind, die Informationen über im Basisprogramm und dem Basisdatensatz vorzunehmende variantenspezifische Änderungen enthalten, wobei zur Programmierung eine bestimmte variantenspezifische Programmänderungsinformation und Datenänderungsinformation über eine dem Steuergerät zu gebende Auswahlinformation gewählt und das Basisprogramm und der Basisdatensatz automatisch gemäß der Programm- und der Datenänderungsinformation geändert wird.Process for variant-specific programming a program and Data memory of a control unit, especially a control unit of a motor vehicle, with one basic program and several in the memory variant-specific program change information as well as a basic data record and several variant-specific data change information are stored, the information on in the basic program and the Variant-specific changes to be made in the basic data record included, whereby for programming a certain variant-specific Program change information and data change information about a the control unit Selection information to be selected and the basic program and the basic data set automatically according to the program and data change information changed becomes. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die variantenspezifischen Programmänderungs- und die Datenänderungsinformationen bereits im Steuergerät vorhanden sind, dass sie zumindest teilweise vorhanden und weitere im Wesentlichen unmittelbar vor der Programmierung in das Steuergerät übertragen werden, oder dass sie vollständig in das Steuergerät im Wesentlichen unmittelbar vor Beginn der variantenspezifischen Programmierung übertragen werden.A method according to claim 1, characterized in that the variant-specific program change and data change information already in the control unit exist that they are at least partially present and others essentially transferred to the control unit immediately before programming be or that they are complete into the control unit essentially immediately before the start of the variant-specific Transfer programming become. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass nach der Auswahl der variantenspezifischen Programm- und Datenänderungsinformationen die nicht benötigten anderen variantenspezifischen Programm- und Datenänderungsinformationen gelöscht werden.A method according to claim 1 or 2, characterized in that that after selecting the variant-specific program and data change information the not needed other variant-specific program and data change information deleted become. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Programm- und Datenänderungsinformationen vor oder nach dem Ändern des Basisprogramms und der Basisdaten gelöscht werden.A method according to claim 3, characterized in that the program and data change information before or after changing of the basic program and the basic data are deleted. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass das Basisprogramm und der Basisdatensatz segmentweise in dem Speicher abgelegt sind, wobei die einzelnen gemäß der Programm- und Datenänderungsinformation zum ändernden Segmente über einen Auswahlalgorithmus ausgewählt und geändert werden.Method according to one of the preceding claims, characterized characterized in that the basic program and the basic data set in segments are stored in the memory, the individual according to the program and data change information to change Segments across selected a selection algorithm and changed become. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass das Basisprogramm und/oder der Basisdatensatz komprimiert abgelegt sind, wobei ein zu ändernder Programm- oder Datenabschnitt, insbesondere ein zu änderndes Segment vor der Änderung dekomprimiert und gegebenenfalls nach der Änderung erneut komprimiert wird.Method according to one of the preceding claims, characterized characterized that the basic program and / or the basic data set are stored in compressed form, with a program or data section to be changed, especially one to be changed Segment before the change decompressed and, if necessary, compressed again after the change becomes. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die variantenspezifischen Programm- und/oder Datenänderungsinformationen komprimiert abgelegt sind oder übertragen werden, wobei die ausgewählte Programm- und/oder Datenänderungsinformation zu Abarbeitung dekomprimiert wird.Method according to one of the preceding claims, characterized in that the variant-specific program and / or data changes tion information is stored compressed or transmitted, the selected program and / or data change information is decompressed for processing. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass ein zu ändernder Basisprogramm- oder Basisdatenabschnitt, insbesondere ein zu änderndes Segment in seiner geänderten Form zunächst in einen Kopier-Speicherplatz geschrieben und auf Vollständigkeit geprüft wird, wonach er in das Basisprogramm bzw. den Basisdatensatz geschrieben wird.Method according to one of the preceding claims, characterized characterized that a to be changed Basic program or basic data section, in particular one to be changed Segment in its modified Shape first written to a copy space and for completeness is checked after which it is written in the basic program or the basic data record becomes. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass als Kopier-Speicherplatz ein durch Löschen einer nicht benötigten Programm- oder Datenänderungsinformation frei gewordener Speicherplatz, insbesondere ein frei gewordenes Segment verwendet wird.A method according to claim 8, characterized in that a copy memory location is created by deleting a program or data change information Free space, especially one that has become free Segment is used. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der laufende Programmiervorgang durch Einschreiben von Protokollinformationen in einen Protokollspeicherplatz aufgezeichnet wird.Method according to one of the preceding claims, characterized characterized that the ongoing programming process by registered mail log information is recorded in a log space becomes. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass als Protokollspeicherplatz ein durch Löschen einer nicht benötigten Programm- oder Datenänderungsinformation frei gewordener Speicherplatz, insbesondere ein frei gewordenes Segment verwendet wird.A method according to claim 10, characterized in that as a log space by deleting an unnecessary program or Data change information Free space, especially a free segment is used. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass ein infolge einer Löschung nicht benötigter variantenspezifischer Programm- und Datenänderungsinformationen frei gewordener Speicherplatz als Speicherplatz für im Betrieb des Steuergeräts erfasste und zu protokollierende Informationen, insbesondere als Fehlerspeicherplatz für Fehlerinformationen eingerichtet wird.Method according to one of the preceding claims, characterized characterized in that a variant-specific Program and data change information free storage space that has been recorded as storage space for the operation of the control unit and information to be logged, in particular as error storage space for error information is established. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass ein Programm zum Dekomprimieren und/oder Löschen und/oder Ändern des Basisprogramms, der Basisdaten oder der Informationen und/oder zum neuen Beschreiben des Speichers nach Durchführung der Änderung gelöscht wird.Method according to one of the preceding claims, characterized characterized that a program for decompressing and / or deleting and / or changing the Basic program, the basic data or the information and / or for new writing of the memory is deleted after the change has been carried out. Vorrichtung zur Durchführung des Verfahrens nach einem der vorangehen den Ansprüche, umfassend ein Steuergerät (3) mit einem zu programmierenden Speicher (4), in dem ein Basisprogramm (12) sowie ein Basisdatensatz (15) abgelegt sind, sowie eine mit dem Steuergerät (3) kommunizierende Einrichtung (5) zur Übertragung einer Auswahlinformation zum Auswählen einer bestimmten variantenspezifischen, Informationen über im Basisprogramm (12) und dem Basisdatensatz (15) vorzunehmende variantenspezifische Änderungen enthaltende Programm- und Datenänderungsinformation (13, 16) aus einer Mehrzahl speicherseitig vorhandener variantenspezifischer Programm- und Datenänderungsinformationen (13, 16), wobei das Basisprogramm (12) und der Basisdatensatz (15) automatisch gemäß der gewählten Programm- und der Datenänderungsinformation (13, 16) änderbar sind.Device for carrying out the method according to one of the preceding claims, comprising a control device ( 3 ) with a memory to be programmed ( 4 ) in which a basic program ( 12 ) and a basic data set ( 15 ) are stored, as well as one with the control unit ( 3 ) communicating institution ( 5 ) to transmit selection information for selecting a specific variant-specific information about in the basic program ( 12 ) and the basic data set ( 15 ) program and data change information containing variant-specific changes ( 13 . 16 ) from a plurality of variant-specific program and data change information available on the memory ( 13 . 16 ), whereby the basic program ( 12 ) and the basic data set ( 15 ) automatically according to the selected program and data change information ( 13 . 16 ) are changeable. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, dass die variantenspezifischen Programmänderungs- und die Datenänderungsinformationen (13, 16) bereits im Steuergerät (4) vorhanden sind, dass sie zumindest teilweise vorhanden und weitere im Wesentlichen unmittelbar vor der Programmierung in das Steuergerät (4) zu übertragende Programmänderungs- und Datenänderungsinformationen (13, 16) in der externen Einrichtung (5) vorhanden sind, oder dass die Programmänderungs- und die Datenänderungsinformationen (13, 16) vollständig in der externen Einrichtung (5) vorhanden und im Wesentlichen unmittelbar vor Beginn der variantenspezifischen Programmierung in das Steuergerät (4) übertragen werden.Device according to claim 14, characterized in that the variant-specific program change and data change information ( 13 . 16 ) already in the control unit ( 4 ) are present, that they are at least partially present and others essentially immediately before programming into the control unit ( 4 ) program change and data change information to be transmitted ( 13 . 16 ) in the external facility ( 5 ) are present, or that the program change and data change information ( 13 . 16 ) completely in the external facility ( 5 ) available and essentially immediately before variant-specific programming begins in the control unit ( 4 ) be transmitted. Vorrichtung nach Anspruch 14 oder 15, dadurch gekennzeichnet, dass der Speicher (4) ein segmentweise beschreibbarer Flash-Speicher ist.Device according to claim 14 or 15, characterized in that the memory ( 4 ) is a segmentally writable flash memory.
DE2002134063 2002-07-26 2002-07-26 Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, and device for carrying out the method Expired - Fee Related DE10234063B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002134063 DE10234063B4 (en) 2002-07-26 2002-07-26 Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, and device for carrying out the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002134063 DE10234063B4 (en) 2002-07-26 2002-07-26 Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, and device for carrying out the method

Publications (2)

Publication Number Publication Date
DE10234063A1 DE10234063A1 (en) 2004-02-19
DE10234063B4 true DE10234063B4 (en) 2004-09-30

Family

ID=30469121

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002134063 Expired - Fee Related DE10234063B4 (en) 2002-07-26 2002-07-26 Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, and device for carrying out the method

Country Status (1)

Country Link
DE (1) DE10234063B4 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007059524A1 (en) * 2007-12-11 2009-06-25 Continental Automotive Gmbh Method for generating operating software on a control unit for a motor vehicle and control unit
US9216744B2 (en) 2009-01-13 2015-12-22 Allison Transmission, Inc. Power train controller and associated memory device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004053042A1 (en) * 2004-11-03 2006-05-24 Daimlerchrysler Ag Method for controlling a drive train of a motor vehicle
DE102005013285B4 (en) * 2005-03-22 2009-09-03 Continental Automotive Gmbh Method of configuring a controller and controller
DE102005058550B4 (en) * 2005-12-08 2008-02-07 Audi Ag Method for storing and / or updating data in a device of a vehicle
DE102008052955B4 (en) * 2008-10-23 2010-06-24 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Method for transmitting program codes to a memory of a control device, in particular for motor vehicles
FR2945135B1 (en) * 2009-04-29 2011-04-22 Continental Automotive France METHOD FOR OPTIMIZING THE STORAGE OF CALIBRATION DATA IN A AUTOMOTIVE ELECTRONIC COMPUTER
JP5303367B2 (en) * 2009-06-08 2013-10-02 富士通テン株式会社 Eco-run control device and eco-run control method
DE102019210031A1 (en) 2019-07-08 2021-01-14 Volkswagen Aktiengesellschaft Cluster structure for the plausibility check of a vehicle component coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0532643B1 (en) * 1990-06-04 1998-12-23 3Com Corporation Method for optimizing software for any one of a plurality of variant architectures
US6018747A (en) * 1997-11-26 2000-01-25 International Business Machines Corporation Method for generating and reconstructing in-place delta files

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0532643B1 (en) * 1990-06-04 1998-12-23 3Com Corporation Method for optimizing software for any one of a plurality of variant architectures
US6018747A (en) * 1997-11-26 2000-01-25 International Business Machines Corporation Method for generating and reconstructing in-place delta files

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007059524A1 (en) * 2007-12-11 2009-06-25 Continental Automotive Gmbh Method for generating operating software on a control unit for a motor vehicle and control unit
DE102007059524B4 (en) * 2007-12-11 2009-09-17 Continental Automotive Gmbh Method for generating operating software on a control unit for a motor vehicle and control unit
US9216744B2 (en) 2009-01-13 2015-12-22 Allison Transmission, Inc. Power train controller and associated memory device
US9970532B2 (en) 2009-01-13 2018-05-15 Allison Transmission, Inc. Power train controller and associated memory device

Also Published As

Publication number Publication date
DE10234063A1 (en) 2004-02-19

Similar Documents

Publication Publication Date Title
DE102005013285B4 (en) Method of configuring a controller and controller
EP2051150B1 (en) Method for automatic modification of a program
DE19836748C1 (en) Method for applying control data of an electronic motor vehicle control unit
DE102015112040A1 (en) Method and system for firmware update of a process control device
EP1639603A2 (en) Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine
DE10234063B4 (en) Method for variant-specific programming of a program and data memory of a control device, in particular a control device of a motor vehicle, and device for carrying out the method
EP3128383A1 (en) Field device
EP0767426A1 (en) Method for programming an apparatus
EP1698952B1 (en) Method and apparatus for inidvidual configuration parameter backup
EP3692424B1 (en) Method for processing a software project
WO2017125181A1 (en) Method for updating control device software, preferably for a motor vehicle
EP2877902B1 (en) Method for maintaining the functionality of a field device
DE102008047433A1 (en) Method for activating functions of a tachograph
DE10211426B4 (en) Procedure for carrying out an update of software programs or parts of software programs
EP0848843B1 (en) Method of generating and storing a user programme consisting of instructions for a stored-programme control unit, and method of operating the stored-programme control unit
WO2017125182A1 (en) Method for updating control device software, preferably for a motor vehicle
DE102017215044B4 (en) Method for changing to a firmware version on an electrical control unit for a drive system, electrical control unit and drive system
DE102009038641A1 (en) Control device e.g. vehicle engine control device, has memory including division blocks with data storage regions, where each region is divided into number of sections in proportion to write frequency
DE10030990B4 (en) Method for writing and erasing a non-volatile memory area
DE102007059355A1 (en) Method for operating a control unit and control unit
DE102013214795A1 (en) Tachograph arrangement and method for operating a tachograph arrangement
EP1397736B1 (en) Method for operating a control device
DE102006030979A1 (en) Arrangement and method for loading data into a memory
EP2003566B1 (en) Method and control device for operating a non-volatile memory, in particular for use in motor vehicles
DE102013003593A1 (en) Method for performing deletion process in non-volatile memory element for controlling motor car components, involves deleting memory areas including status flags, in which status state is adjusted, during performing entire deleting process

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R084 Declaration of willingness to licence
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee