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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/64—Retargetable
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16H—GEARING
- F16H61/00—Control 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/0053—Initializing 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.
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
Ferner ist aus
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:
Die Programmierung des Speichers
Im Speicher
In entsprechender Weise ist ein (gegebenenfalls
komprimierter) Basisdatensatz
Weiterhin ist ein Softwaretool
Im gezeigten Ausführungsbeispiel wird nun über die
Einrichtung
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)
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)
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)
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)
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 |
-
2002
- 2002-07-26 DE DE2002134063 patent/DE10234063B4/en not_active Expired - Fee Related
Patent Citations (2)
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)
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 |