DE102009047974A1 - Method for programming controller in motor vehicle, involves executing update application by gateway to program controller via bus, and deleting update application in gateway, where update-application is provided in programming device - Google Patents

Method for programming controller in motor vehicle, involves executing update application by gateway to program controller via bus, and deleting update application in gateway, where update-application is provided in programming device Download PDF

Info

Publication number
DE102009047974A1
DE102009047974A1 DE102009047974A DE102009047974A DE102009047974A1 DE 102009047974 A1 DE102009047974 A1 DE 102009047974A1 DE 102009047974 A DE102009047974 A DE 102009047974A DE 102009047974 A DE102009047974 A DE 102009047974A DE 102009047974 A1 DE102009047974 A1 DE 102009047974A1
Authority
DE
Germany
Prior art keywords
gateway
application
programming
update
update application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102009047974A
Other languages
German (de)
Other versions
DE102009047974B4 (en
Inventor
Alexander Dr. Kurth
Kai Barbehoen
Lucien Stemmelen
Anton Brandstetter
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke 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 Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE102009047974.0A priority Critical patent/DE102009047974B4/en
Publication of DE102009047974A1 publication Critical patent/DE102009047974A1/en
Application granted granted Critical
Publication of DE102009047974B4 publication Critical patent/DE102009047974B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

The method involves providing a programming device connected with a gateway (2) via a data interface and a bus (B1). An update-application (111, 121) is provided in the programming device that is connected with the data interface. The update application is transferred from the programming device to the gateway via the data interface and the bus. The update application is executed by the gateway to program the controller via another bus (B2) and deleted in the gateway, where the data interface is designed as a diagnosis interface of a motor vehicle. The programming device is designed as a diagnostic tester.

Description

Die Erfindung betrifft ein Verfahren zur Programmierung eines in einem Kraftfahrzeug angeordneten Steuergeräts.The invention relates to a method for programming a control unit arranged in a motor vehicle.

Moderne Kraftfahrzeuge verfügen in der Regel über eine Vielzahl von Steuergeräten. Veränderte Anforderungen und/oder Verbesserungen machen gelegentlich eine Programmierung eines bereits in einem Kraftfahrzeug verbauten Steuergeräts erforderlich. Die Bereitstellung von extern zugänglichen Datenschnittstellen zur Neuprogrammierung für jedes einzelne Steuergerät wäre höchst unwirtschaftlich. Die Bereitstellung so genannter Programmier-Gateways und/oder von Programmier-Applikationen bei Diagnose-Gateways bindet Ressourcen.Modern motor vehicles usually have a large number of control units. Changed requirements and / or improvements occasionally require programming of a control unit already installed in a motor vehicle. The provision of externally accessible data interfaces for reprogramming each individual controller would be highly uneconomical. The provision of so-called programming gateways and / or programming applications at diagnostic gateways binds resources.

Es ist eine Aufgabe der Erfindung, ein einfaches und wirtschaftliches Verfahren zur Programmierung eines in einem Kraftfahrzeug angeordneten Steuergeräts zu schaffen.It is an object of the invention to provide a simple and economical method for programming a control device arranged in a motor vehicle.

Gelöst wird diese Aufgabe durch ein Verfahren gemäß Anspruch 1. Vorteilhafte Ausführungsformen und Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.This object is achieved by a method according to claim 1. Advantageous embodiments and modifications of the invention will become apparent from the dependent claims.

Demgemäß wird zunächst ein ebenfalls in dem Kraftfahrzeug angeordnetes Gateway bereitgestellt, welches über eine erste Busverbindung mit einer Datenschnittstelle des Kraftfahrzeugs verbunden ist und welches über eine zweite Busverbindung mit dem Steuergerät verbunden ist. Das Gateway wird also in an sich bekannter Weise zwischen Datenschnittstelle und Steuergerät geschaltet.Accordingly, a gateway, which is likewise arranged in the motor vehicle, is initially provided, which is connected via a first bus connection to a data interface of the motor vehicle and which is connected to the control device via a second bus connection. The gateway is thus switched in a conventional manner between the data interface and the controller.

Außerhalb des Fahrzeugs wird ein über die Datenschnittstelle, die insbesondere als (vorzugsweise genormte) Diagnoseschnittstelle des Kraftfahrzeug ausgebildet sein kann, und die erste Busverbindung mit dem Gateway verbindbares Programmiergerät bereitgestellt. Bei dem Programmiergerät handelt es sich vorzugsweise um einen so genannten Diagnosetester.Outside the vehicle, a programming interface is provided via the data interface, which can be designed in particular as a (preferably standardized) diagnostic interface of the motor vehicle, and the first bus connection to the gateway can be connected to the gateway. The programming device is preferably a so-called diagnostic tester.

Bei dem Programmiergerät wird eine Update-Applikation bereitgestellt. Unter einer Update-Applikation ist dabei ein Computerprogramm zu verstehen, mittels welchen eine Recheneinheit in der Lage ist, ein mit ihr verbundenes Steuergerät neu zu programmieren. Vorzugsweise beinhaltet die Update-Applikation eine auf das zu programmierende Steuergerät zu übertragende steuergerätespezifische Software sowie Programmierabläufe zur Umsetzung der Übertragung. Die Update-Applikation ist vorzugsweise spezifisch für eine Ausführung durch das Gateway ausgelegt, z. B. entsprechend kompiliert.The programmer is provided with an update application. An update application is to be understood as a computer program by means of which a computing unit is able to reprogram a control unit connected to it. The update application preferably contains a control unit-specific software to be transferred to the control unit to be programmed and programming sequences for implementing the transmission. The update application is preferably designed specifically for execution by the gateway, e.g. B. Compiled accordingly.

Das Programmiergerät wird mit der Datenschnittstelle verbunden und die Update-Applikation wird von dem Programmiergerät über die Datenschnittstelle und die erste Busverbindung zu dem Gateway übertragen.The programming device is connected to the data interface and the update application is transmitted by the programming device via the data interface and the first bus connection to the gateway.

Anschließend wird die Update-Applikation durch das Gateway ausgeführt. Durch die Ausführung wird das Steuergerät von dem Gateway über die zweite Busverbindung programmiert. Das Gateway fungiert gewissermaßen als Programmiereinheit des Steuergeräts.Subsequently, the update application is executed by the gateway. As a result of the execution, the control unit is programmed by the gateway via the second bus connection. The gateway acts as a kind of programming unit of the control unit.

Nach der Ausführung der Update-Applikation oder als letzter Schritt der Ausführung der Update-Applikation wird die Update-Applikation aus dem Gateway gelöscht.After the update application has been executed or as the last step in the execution of the update application, the update application is deleted from the gateway.

Vorzugsweise werden die Verfahrensschritte gemäß Anspruch 1 in der Reihenfolge ihrer Nennung im Anspruch ausgeführt.Preferably, the method steps are carried out according to claim 1 in the order of their mention in the claim.

Durch die Erfindung wird eine dauerhafte Ressourcenbindung im Gateway vermieden. Das erfindungsgemäße Verfahren ist somit auch für Gateways mit wenig Speicherplatz anwendbar. Das Gateway wird nur temporär und/oder bei Bedarf als Programmiereinheit genutzt. Dadurch erübrigt sich das kostspielige und aufwändige dauerhafte Vorhalten der Ressourcen für eine mögliche Programmierung. Dauerhafte Modifikationen am Gateway, etwa zur Bereitstellung geänderter Programmierfunktionalitäten, werden durch die Erfindung vermieden, wodurch der Absicherungsaufwand verringert wird. Die Erfindung sogar zur kostengünstigen Durchführung einer so genannten technischen Aktion im Feld genutzt werden, ohne dass das Gateway im Vorfeld hierfür vorbereitet sein muss. Schließlich kann das Gateway durch die Erfindung nachträglich zu Programmierzwecken nutzbar gemacht werden.The invention avoids permanent resource binding in the gateway. The inventive method is thus also applicable to gateways with little storage space. The gateway is used only temporarily and / or when required as a programming unit. This avoids the costly and time-consuming provision of resources for possible programming. Permanent modifications to the gateway, for example to provide changed programming functionality, are avoided by the invention, whereby the hedging effort is reduced. The invention can even be used for cost-effective implementation of a so-called technical action in the field without the gateway having to be prepared in advance for this purpose. Finally, the gateway can be made available by the invention subsequently for programming purposes.

Auf die Implementierung des so genannten Bootloaders des Steuergeräts nimmt die Erfindung keinen Einfluss. Ein Steuergerät kann somit auf unterschiedliche Arten und Weisen ohne Änderung programmiert werden. Ein Steuergerät lässt sich somit beispielsweise mittels derselben Schnittstellen und desselben Protokolls wahlweise „direkt” (d. h. unmittelbar verbunden) mittels eines Diagnosetesters programmieren, „indirekt” mittels eines über ein Diagnosegateway verbundenen Diagnosetesters programmieren oder auch erfindungsgemäß aktiv durch das temporär als Programmiereinheit fungierende Gateway programmieren.The invention has no influence on the implementation of the so-called bootloader of the control device. A controller can thus be programmed in different ways without modification. A control device can thus be programmed, for example, by means of a diagnostic tester using the same interfaces and the same protocol either "directly" (ie directly connected), "indirectly" programmed by means of a diagnostic tester connected via a diagnostic gateway, or also actively programmed according to the invention by the gateway functioning temporarily as a programming unit.

Die Erfindung überrascht den Fachmann angesichts des Stands der Technik insoweit, als der Programmieraufwand und die Anzahl erforderlicher Schritte gegenüber dem Stand der Technik gesteigert wird. Schließlich ist bei der Erfindung zusätzlich zur eigentlichen Programmierung des Steuergeräts zumindest eine Programmierung (gegebenenfalls sogar zwei Programmierungen, s. u.) des Gateways erforderlich. Im Hinblick auf die Ressourcenrestriktionen im Gateway bietet die Erfindung jedoch eine kostenoptimale Möglichkeit, das Gateway nur temporär zur Programmierung zu nutzen.The invention surprises the skilled artisan in view of the state of the art in that the programming effort and the number of steps required over the prior art are increased. Finally, in the invention in addition to actual programming of the controller at least one programming (possibly even two programming, see below) of the gateway required. However, in view of the resource restrictions in the gateway, the invention offers a cost-optimal way to use the gateway only temporarily for programming.

Gemäß einer bevorzugten Ausführungsform der Erfindung wird vor dem Übertragen der Update-Applikation von dem Programmiergerät zu dem Gateway zumindest eine zuvor in einem Datenspeicher des Gateways abgelegte Applikation aus dem Datenspeicher gelöscht, um Speicherplatz in dem Datenspeicher freizugeben. Der Datenspeicher, in dem die Update-Applikation bei dem Gateway abgelegt wird, kann somit besonders sparsam konzipiert bzw. dimensioniert werden. Das Löschen der zuvor in dem Datenspeicher des Gateways abgelegten Applikation kann beispielsweise durch das Programmiergerät über die Datenschnittstelle und die erste Busverbindung vorgenommen bzw. ausgelöst werden.According to a preferred embodiment of the invention, before transferring the update application from the programming device to the gateway, at least one application previously stored in a data memory of the gateway is deleted from the data memory in order to free memory space in the data memory. The data store in which the update application is stored at the gateway can therefore be designed and dimensioned particularly sparingly. The deletion of the previously stored in the data memory of the gateway application can be made or triggered, for example, by the programming device via the data interface and the first bus connection.

Eine Sicherung der Applikation ist in der Regel nicht erforderlich. Vorzugsweise hat nämlich das Programmiergerät, z. B. ein als Industrie-PC mit Zugriff auf einen großen Datenspeicher (z. B. auf Festplatte, DVD oder per Internet) ausgeführter Diagnosetester, Zugriff auf eine Datenbank mit vorzugsweise den aktuellsten Applikationen für das jeweilige Kraftfahrzeug, z. B. unmittelbar bereitgsestellt von einer Entwicklungsabteilung.A backup of the application is usually not required. Preferably, namely, the programmer, z. As a industrial PC with access to a large data storage (eg., On hard drive, DVD or via the Internet) running diagnostic tester, access to a database with preferably the most current applications for the respective motor vehicle, eg. B. immediately prepared by a development department.

Soll dennoch eine Sicherung vorgenommen werden, so kann dies folgendermaßen geschehen: Die zuvor in dem Datenspeicher des Gateways abgelegte Applikation kann vor ihrem Löschen gesichert und nach dem Löschen der Update-Applikation wiederhergestellt werden. Dies kann auf vielfältige Art und Weise erfolgen. Ein stringenter und sicherer Verfahrensablauf ergibt sich bei einer Sicherung der Applikation im Programmiergerät. Geringerer Datenverkehr ergibt sich bei einer Verlagerung der Applikation zu Sicherungszwecken innerhalb des Gateways, etwa in einen weiteren Datenspeicher des Gateways oder, gegebenenfalls in komprimierter Form, an einen anderen Speicherort desselben Datenspeichers. Vorteilhaft kann auch eine Auslagerung zu Sicherungszwecken auf ein anderes Gateway oder ein anderes Steuergerät des Kraftfahrzeugs sein.However, if a backup is to be made, this can be done as follows: The application previously stored in the data memory of the gateway can be saved before it is deleted and restored after deleting the update application. This can be done in a variety of ways. A stringent and secure process results in a backup of the application in the programmer. Lower data traffic results in a relocation of the application for backup purposes within the gateway, such as in another data memory of the gateway or, optionally in compressed form, to another location of the same data memory. It may also be advantageous to outsource for backup purposes to another gateway or another control unit of the motor vehicle.

Das Löschen der Update-Applikation aus dem Gateway kann, insbesondere nach dessen Ausführung, durch das Programmiergerät über die Datenschnittstelle und die erste Busverbindung vorgenommen bzw. ausgelöst werden. Alternativ kann das Löschen selbsttätig, gewissermaßen eine Selbstlöschung als letzter Schritt der Ausführung, vorgesehen sein.The deletion of the update application from the gateway can be made or triggered, in particular after its execution, by the programming device via the data interface and the first bus connection. Alternatively, the deletion may be automatic, as it were a self-erasure as the last step of the execution provided.

Erfolgt das Löschen der Update-Applikation im Gateway ohne Zutun des Programmiergeräts und werden auch andere Interaktionen des Gateways mit dem Programmiergerät während der Ausführung der Update-Applikation vermieden, kann das Programmiergerät während der Ausführung der Update-Applikation von der Datenschnittstelle getrennt werden, ohne die Programmierung des Steuergeräts zu beeinträchtigen. Das Programmiergerät wird somit nur für einen verhältnismäßig geringen Zeitraum benötigt.If the update application is deleted from the gateway without the intervention of the programming device and other interactions of the gateway with the programming device are avoided during execution of the update application, the programming device can be disconnected from the data interface during execution of the update application, without the Programming of the controller. The programmer is thus needed only for a relatively short period of time.

Wurde eine zuvor in dem Datenspeicher des Gateways abgelegte Applikation im Programmiergerät gesichert oder auch gelöscht, so ist die gesicherte Applikation – oder eine gegebenenfalls aktualisierte Ersatzapplikation – vorzugsweise (auch nach einer Trennung des Programmiergeräts von der Datenschnittstelle während der Ausführung der Update-Applikation) zu einem späteren Zeitpunkt und nach einer erneuten Anbindung des Programmiergeräts an die Datenschnittstelle ins Gateway zurückspielbar.If an application previously stored in the data memory of the gateway has been saved or deleted in the programming device, the secured application - or an optionally updated replacement application - is preferably (even after the programmer has been disconnected from the data interface during the execution of the update application) later in time and after a renewed connection of the programming device to the data interface in the gateway playable back.

Vorzugsweise sind mehrere Steuergeräte des Kraftfahrzeugs durch eine einzige Update-Applikation und ein einziges Gateway programmierbar. Dazu ist vorzugsweise das Gateway über die zweite Busverbindung und/oder eine weitere Busverbindung mit zumindest einem weiteren Steuergerät verbunden und es wird vorzugsweise durch Ausführen der Update-Applikation auch das zumindest eine weitere Steuergerät programmiert.Preferably, a plurality of control devices of the motor vehicle are programmable by a single update application and a single gateway. For this purpose, the gateway is preferably connected via the second bus connection and / or a further bus connection with at least one further control device and it is preferably also programmed by executing the update application, the at least one further control unit.

Ein der Erfindung zugrunde liegendes Prinzip, nämlich die temporäre Programmierung des Gateways, kann alternativ auch genutzt werden, um temporär eine Diagnosegateway-Applikation (statt einer Update-Applikation für das Steuergerät) in das Gateway einzuspielen. Dies resultiert in dem folgenden Verfahren: Verfahren zur Programmierung eines in einem Kraftfahrzeug angeordneten Steuergeräts mit den Schritten:

  • • Bereitstellen eines ebenfalls in dem Kraftfahrzeug angeordneten Gateways, welches über eine erste Busverbindung mit einer Datenschnittstelle des Kraftfahrzeugs verbunden ist und welches über eine zweite Busverbindung mit dem Steuergerät verbunden ist,
  • • Bereitstellen eines über die Datenschnittstelle und die erste Busverbindung mit dem Gateway verbindbaren Programmiergeräts,
  • • Bereitstellen einer Update-Applikation und einer Diagnosegateway-Applikation bei dem Programmiergerät,
  • • Verbinden des Programmiergeräts mit der Datenschnittstelle,
  • • Übertragen der Diagnosegateway-Applikation von dem Programmiergerät über die Datenschnittstelle und die erste Busverbindung zu dem Gateway,
  • • Ausführen der Diagnosegateway-Applikation durch das Gateway,
  • • Ausführen der Update-Applikation durch das Programmiergerät, um das Steuergerät unter Vermittlung durch die auf dem Gateway ausgeführte Diagnosegateway-Applikation über die Datenschnittstelle, die erste Busverbindung, das Gateway und die zweite Busverbindung zu programmieren,
  • • Löschen der Diagnosegateway-Applikation im Gateway.
An underlying principle of the invention, namely the temporary programming of the gateway, can alternatively also be used to temporarily import a diagnostic gateway application (instead of an update application for the control device) into the gateway. This results in the following method: Method for programming a control unit arranged in a motor vehicle with the steps:
  • Providing a gate also arranged in the motor vehicle, which is connected via a first bus connection to a data interface of the motor vehicle and which is connected via a second bus connection to the control unit,
  • Providing a programming device which can be connected to the gateway via the data interface and the first bus connection,
  • Providing an update application and a diagnostic gateway application to the programmer,
  • • connecting the programmer to the data interface,
  • Transferring the diagnostic gateway application from the programming device via the data interface and the first bus connection to the gateway,
  • • Running the diagnostic gateway application through the gateway,
  • • Execution of the update application by the programming device in order to program the control device via the data interface, the first bus connection, the gateway and the second bus connection, mediated by the diagnostic gateway application running on the gateway.
  • • Delete the diagnostic gateway application in the gateway.

Im Folgenden wird anhand der einzigen beigefügten Zeichnung ein bevorzugtes Ausführungsbeispiel der Erfindung beschrieben. Daraus ergeben sich weitere Details, bevorzugte Ausführungsformen und Weiterbildungen der Erfindung. Im Einzelnen zeigen schematischIn the following, a preferred embodiment of the invention will be described with reference to the single attached drawing. This results in further details, preferred embodiments and further developments of the invention. In detail, show schematically

1 den Signalfluss bei der Programmierung eines Steuergeräts nach einem Verfahren gemäß dem Stand der Technik, 1 the signal flow when programming a control device according to a method according to the prior art,

2 einen beispielhaften Signalfluss bei der erfindungsgemäßen Programmierung eines Steuergeräts. 2 an exemplary signal flow in the inventive programming of a control device.

Ausgangssituation für die nachfolgenden Ausführungen ist die Aufgabenstellung, ein in einem Kraftfahrzeug verbautes Steuergerät 3 neu zu programmieren. Die Programmierung soll unter Zuhilfenahme eines fahrzeugexternen Diagnosegeräts 1 (im folgenden Tester genannt) vorgenommen werden.Initial situation for the following remarks is the task, a built-in a motor vehicle control unit 3 to reprogram. Programming should be carried out with the aid of an external diagnostic device 1 (hereinafter referred to as testers).

Auf Grund der Komplexität heutiger Bordnetze ist der Tester 1 zur Programmierung in der Regel nicht direkt mit dem zu programmierenden Steuergerät verbunden, sondern nur über die Zwischenschaltung eines oder mehrerer Gateway-Steuergeräte 2 (im Folgenden kurz Gateway genannt). 1 veranschaulicht die Konfiguration.Due to the complexity of today's Bordnetze is the tester 1 usually not directly connected to the program to be programmed controller for programming, but only via the interposition of one or more gateway control units 2 (hereinafter referred to as gateway). 1 illustrates the configuration.

Hierdurch entsteht die Problematik, dass der Tester 1 nur unter Vermittlung eines Gateways 2 auf das zu programmierende Steuergerät 3 zugreifen kann. Das Gateway 2 fungiert dabei lediglich als Vermittler, der Nachrichten von einem ersten Bus B1 auf einen zweiten Bus B2 (und umgekehrt) „kopiert” (vgl. 1). Dieser Vorgang der Nachrichtenvermittlung durch das Gateway 2 ist generisch (d. h. unabhängig vom Programmierablauf).This creates the problem that the tester 1 only through a gateway 2 on the control unit to be programmed 3 can access. The gateway 2 acts merely as a mediator "copies" the messages from a first bus B1 to a second bus B2 (and vice versa) (see. 1 ). This process of messaging through the gateway 2 is generic (ie independent of the programming procedure).

Zur Steuerung der Programmierung wird ein Diagnoseprogramm (im folgenden Update-Applikation genannt) auf dem Tester 1 genutzt, welches die aktualisierte Software nach Weiterleitung durch das Gateway 2 in das Steuergerät 3 programmiert. Diese Update-Applikation verwendet im vorliegenden Beispiel die Standards [HIS 1],[ ISO 14229-1 ], [ ISO 15765-3 ].To control the programming, a diagnostic program (hereinafter referred to as update application) is provided on the tester 1 used the updated software after forwarding through the gateway 2 in the control unit 3 programmed. In this example, this update application uses the standards [HIS 1], [ ISO 14229-1 ], [ ISO 15765-3 ].

Die in 1 dargestellten Geräte umfassen (unter anderem) die folgenden Software-Komponenten: der Tester 1 umfasst die genannte Update-Applikation 11; das Gateway 2 umfasst eine Diagnosegateway-Applikation 21, einen Bootloader 22 und zumindest eine weitere Applikation 23 mit zugehörigen Daten (ebenfalls durch Block 23 repräsentiert); das Steuergerät 3 umfasst einen Bootloader 31, eine Applikation 32 und Daten/Parameter 33.In the 1 The devices shown include (among others) the following software components: the tester 1 includes the named update application 11 ; the gateway 2 includes a diagnostic gateway application 21 , a boot loader 22 and at least one more application 23 with associated data (also by block 23 represents); the control unit 3 includes a bootloader 31 , an application 32 and data / parameters 33 ,

Die Pfeile B1 und B2 in 1 veranschaulichen die physikalische Busverbindung zwischen Tester 1 und Gateway 2 bzw. zwischen Gateway 2 und Steuergerät 3. Der Pfeil 12 veranschaulicht den Zugriff der Update-Applikation 11 auf die Diagnosegateway-Applikation 21. Der Pfeil 24 veranschaulicht den Zugriff der Diagnosegateway-Applikation 21 auf den Bootloader 31 des Steuergeräts 3.The arrows B1 and B2 in 1 illustrate the physical bus connection between testers 1 and gateway 2 or between the gateway 2 and control unit 3 , The arrow 12 illustrates the access of the update application 11 to the diagnostic gateway application 21 , The arrow 24 illustrates the access of the diagnostic gateway application 21 on the bootloader 31 of the control unit 3 ,

Die an der Programmierung beteiligten Software-Komponenten sind in 1 schraffiert dargestellt (alle außer Komponenten 22 und 23).The software components involved in the programming are in 1 hatched (all but components 22 and 23 ).

Damit das Gateway 2 die notwendige Vermittlungsrolle gemäß der oben beschriebenen und in 1 dargestellten aufwandsintensiven Lösung wahrnehmen kann, muss dauerhaft eine Vermittlungssoftware im Gateway 2 gespeichert bleiben (Diagnosegateway-Applikation 21), welche dauerhaft Ressourcen im Gateway 2 in Form von Speicherplatz und CPU-Leistung bindet. Diese dauerhafte Ressourcenbindung im Gateway 2 verursacht hohe Kosten, obwohl die Programmierung nur selten genutzt wird (z. B. in der Entwicklung oder beim Service des Fahrzeugs).So the gateway 2 the necessary mediation role as described above and in 1 must be able to perceive the time-consuming solution shown, permanently has a switching software in the gateway 2 remain saved (diagnostic gateway application 21 ), which permanently resources in the gateway 2 in the form of disk space and CPU performance binds. This permanent resource binding in the gateway 2 causes high costs, although the programming is rarely used (eg in the development or service of the vehicle).

Eine bekannte Alternative zu diesem Stand der Technik besteht darin, die Vorhaltung einer Option zum Software-Update von Steuergeräten aus Kostengründen komplett entfallen zu lassen. Dies birgt mittel- und langfristig aber das Risiko, dass im Fehlerfall hohe Gewährleistungskosten entstehen oder ein Steuergeräteaustausch erforderlich wird.A known alternative to this prior art is to completely omit the provision of an option for software update of control units for cost reasons. In the medium and long term, however, this entails the risk of high warranty costs in the event of a fault or of an ECU replacement becoming necessary.

Durch die Erfindung wird die kostenrelevante Ressourcenbindung im Gateway in Form von Speicherplatz und CPU-Kapazität ungleich eleganter vermieden. Ziel der Erfindung ist die ressourcenoptimierte Programmierung von Steuergeräten im Fahrzeug für Steuergeräte mit programmierbarem Speicher.By means of the invention, the cost-relevant resource binding in the gateway in the form of storage space and CPU capacity is much more elegantly avoided. The aim of the invention is the resource-optimized programming of ECUs in the vehicle for controllers with programmable memory.

2 zeigt einen beispielhaften Signalfluss bei der erfindungsgemäßen Programmierung eines oder mehrerer assoziierter Steuergeräte. 2 shows an exemplary signal flow in the inventive programming of one or more associated control devices.

Die in 2 dargestellten Geräte umfassen dabei (unter anderem) die folgenden Software-Komponenten: der Tester 1 umfasst eine (auf das Gateway 2 bezogene) Gateway-Update-Applikation 111; das Gateway 2 umfasst eine (auf das Steuergerät 3 bezogene) Update-Applikation 121, einen Bootloader 22 und zumindest eine weitere Applikation 123 mit zugehörigen Daten (ebenfalls durch Block 123 repräsentiert); das Steuergerät 3 umfasst einen Bootloader 131, eine Applikation 132 und Daten/Parameter 133.In the 2 The devices shown here include (among others) the following software components: the tester 1 includes a (on the gateway 2 referenced) Gateway update application 111 ; the gateway 2 includes a (on the control unit 3 related) update application 121 , a boot loader 22 and at least one more application 123 with associated data (also by block 123 represents); the control unit 3 includes a bootloader 131 , an application 132 and data / parameters 133 ,

Bei dieser Lösung wird – nur temporär – eine (auf das Steuergerät 3 bezogene) Update-Applikation 121 in das Gateway 2 eingebracht. Die Update-Applikation 121 beinhaltet die Software und die Programmierfunktionalität für das/die assoziierte(n) Steuergerät(e).With this solution - only temporarily - one (on the control unit 3 related) update application 121 in the gateway 2 brought in. The update application 121 includes the software and programming functionality for the associated controller (s).

Die (auf das Steuergerät 3 bezogene) Update-Applikation 121 läuft (d. h. wird ausgeführt) im Gegensatz zum Stand der Technik nicht auf dem Tester 1, sondern auf dem Gateway 2. Das Gateway 2 übernimmt gewissermaßen die Rolle eines Testers bzw. fungiert als Programmiereinheit für das Steuergerät.The (on the control unit 3 related) update application 121 is running (ie is executed) unlike the prior art not on the tester 1 but on the gateway 2 , The gateway 2 acts as a kind of tester or acts as a programming unit for the ECU.

Die dauerhafte Speicherung der Update-Applikation 121 im Gateway 2 kann dadurch vermieden werden, dass die Update-Applikation 121 nur temporär, vorzugsweise erst kurz vor der Programmierung des Steuergerätes 3, vom tatsächlichen Tester 1 mittels konventioneller Programmiertechniken (vgl. Gateway-Update-Applikation 111) in das Gateway 2 eingebracht wird. Nach der Programmierung des Steuergerätes 3 wird die Update-Applikation 121 wieder vom Gateway 2 gelöscht, vorzugsweise erneut durch den Tester 1.The permanent storage of the update application 121 in the gateway 2 This can be avoided by having the update application 121 only temporarily, preferably only shortly before the programming of the control unit 3 , from the actual tester 1 using conventional programming techniques (see Gateway Update Application 111 ) in the gateway 2 is introduced. After programming the control unit 3 becomes the update application 121 back from the gateway 2 deleted, preferably again by the tester 1 ,

Es wird also eine Folge von mehreren Programmierschritten genutzt, um die dauerhafte Ressourcenbindung im Gateway zu vermeiden. in der Regel werden dies drei Programmierschritte sein, nämlich: zweimaliges Programmieren des Gateways 2, um (zwischen diesen beiden Programmierungen des Gateways) ein einziges Mal das Steuergerät 3 zu programmieren.A sequence of several programming steps is therefore used to avoid permanent resource binding in the gateway. usually these will be three programming steps, namely: two programming of the gateway 2 to (between these two programming of the gateway) a single time the controller 3 to program.

Auch in 2 veranschaulichen die Pfeile B1 und B2 die physikalische Busverbindung zwischen Tester 1 und Gateway 2 bzw. zwischen Gateway 2 und Steuergerät 3. Der Pfeil 121 112 veranschaulicht den Zugriff der Gateway-Update-Applikation 111 auf den Bootloader 122 des Gateways 2. Der Pfeil 124 veranschaulicht das Update des Gateways, bei welchem die Update-Applikation 121 ins Gateway 2 eingespielt wird. Der Pfeil 125 veranschaulicht den Zugriff der dann im Gateway 2 lauffähigen Update-Applikation 121 auf den Bootloader 31 des Steuergeräts 3.Also in 2 arrows B1 and B2 illustrate the physical bus connection between testers 1 and gateway 2 or between the gateway 2 and control unit 3 , The arrow 121 112 illustrates the access of the gateway update application 111 on the bootloader 122 of the gateway 2 , The arrow 124 illustrates the update of the gateway in which the update application 121 into the gateway 2 is recorded. The arrow 125 then illustrates the access in the gateway 2 executable update application 121 on the bootloader 31 of the control unit 3 ,

Beim Einspielen der Update-Applikation 121 ins Gateway 2 wird im vorliegenden Beispiel eine zuvor im entsprechenden Speicherbereich des Gateways 2 enthaltene Applikationssoftware überschrieben. Alternativ könnte die zuvor im entsprechenden Speicherbereich des Gateways 2 enthaltene Applikationssoftware auch bereits vorab gelöscht werden. Eine andere im Gateway 2 gespeicherte Applikation 123 (samt Daten) bleibt im vorliegenden Beispiel hingegen unberührt.When importing the update application 121 into the gateway 2 In the present example, this is a previously in the corresponding memory area of the gateway 2 Overwritten application software. Alternatively, the previously in the corresponding memory area of the gateway 2 included application software already be deleted in advance. Another in the gateway 2 stored application 123 (including data) remains unaffected in this example.

Der oben bereits umrissene Verfahrensablauf umfasst die folgenden Schritte:

  • (a) (Optional) Löschen der Applikationssoftware im Gateway, um freien Speicher auf dem Gateway zu erhalten.
  • (b) Einspielen der Update-Applikation 121 in das Gateway (vgl. Pfeile 112 und 124 in 2). Die Update-Applikation 121 beinhaltet die auf das Steuergerät 3 zu übertragende steuergerätespezifische Software sowie die „eigentliche” Update-Applikation (d. h. die Programmierabläufe zur Umsetzung der Übertragung).
  • (c) Starten der Update-Applikation 121 im Gateway 2.
  • (d) Die Update-Applikation 121 programmiert das Steuergerät 3 sowie gegebenenfalls weitere assoziierte Steuergeräte (Pfeil 125 in 2)
  • (e) Nach der Programmierung des Steuergerätes 3 (bzw. aller assoziierten Steuergeräte) durch das Gateway 2 wird die Update-Applikation 121 im Gateway 2 durch den Tester 1 gelöscht.
  • (f) (Optional) Wiederherstellen der ursprünglichen Applikationssoftware im Gateway 2, sofern bzw. soweit diese in Schritt (a) gelöscht worden ist.
The procedure outlined above includes the following steps:
  • (a) (Optional) Clear the application software in the gateway to get free memory on the gateway.
  • (b) Importing the update application 121 into the gateway (see arrows 112 and 124 in 2 ). The update application 121 includes the on the control unit 3 ECU-specific software to be transferred as well as the "actual" update application (ie the programming procedures for the implementation of the transfer).
  • (c) Starting the update application 121 in the gateway 2 ,
  • (d) The update application 121 programs the controller 3 and possibly other associated control devices (arrow 125 in 2 )
  • (e) After programming the control unit 3 (or any associated control devices) through the gateway 2 becomes the update application 121 in the gateway 2 through the tester 1 deleted.
  • (f) (Optional) Restore the original application software in the gateway 2 if and insofar as it has been deleted in step (a).

Ein wesentlicher Unterschied des Verfahrens gemäß 2 zum Stand der Technik gemäß 1 liegt darin, dass beim Stand der Technik gemäß 1 die (auf das Steuergerät 3 bezogene) Update-Applikation 11 im Tester 1 läuft, während beim Verfahren gemäß 2 die (auf das Steuergerät 3 bezogene) Update-Applikation 121 auf dem Gateway 2 läuft. Das Gateway 2 übernimmt somit gewissermaßen temporär die Rolle eines direkt angebundenen Programmiersystems für das Steuergerät. Wenn beispielsweise die Update-Applikation 121 auf das Gateway 2 programmiert worden ist, d. h. ins Gateway 2 eingespielt worden ist, dann ist der Tester 1 am eigentlichen Programmierablauf des Steuergerätes (vgl. Pfeil 125 in 2) nicht direkt beteiligt.An essential difference of the method according to 2 according to the prior art 1 is that in the prior art according to 1 the (on the control unit 3 related) update application 11 in the tester 1 while running in accordance with the procedure 2 the (on the control unit 3 related) update application 121 on the gateway 2 running. The gateway 2 thus, to a certain extent, temporarily assumes the role of a directly connected programming system for the control unit. For example, if the update application 121 on the gateway 2 has been programmed, ie into the gateway 2 has been recorded, then the tester 1 on the actual programming sequence of the control unit (see arrow 125 in 2 ) not directly involved.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte Nicht-PatentliteraturCited non-patent literature

  • ISO 14229-1 [0029] ISO 14229-1 [0029]
  • ISO 15765-3 [0029] ISO 15765-3 [0029]

Claims (10)

Verfahren zur Programmierung eines in einem Kraftfahrzeug angeordneten Steuergeräts mit den Schritten: • Bereitstellen eines ebenfalls in dem Kraftfahrzeug angeordneten Gateways, welches über eine erste Busverbindung mit einer Datenschnittstelle des Kraftfahrzeugs verbunden ist und welches über eine zweite Busverbindung mit dem Steuergerät verbunden ist, • Bereitstellen eines über die Datenschnittstelle und die erste Busverbindung mit dem Gateway verbindbaren Programmiergeräts, • Bereitstellen einer Update-Applikation bei dem Programmiergerät, • Verbinden des Programmiergeräts mit der Datenschnittstelle, • Übertragen der Update-Applikation von dem Programmiergerät über die Datenschnittstelle und die erste Busverbindung zu dem Gateway, • Ausführen der Update-Applikation durch das Gateway, um das Steuergerät über die zweite Busverbindung zu programmieren, • Löschen der Update-Applikation im Gateway.Method for programming a control unit arranged in a motor vehicle with the steps: Providing a gate also arranged in the motor vehicle, which is connected via a first bus connection to a data interface of the motor vehicle and which is connected via a second bus connection to the control unit, Providing a programming device which can be connected to the gateway via the data interface and the first bus connection, Providing an update application to the programmer, • connecting the programmer to the data interface, Transferring the update application from the programming device via the data interface and the first bus connection to the gateway, • Running the update application through the gateway to program the controller over the second bus connection, • Delete the update application in the gateway. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Update-Applikation eine auf das zu programmierende Steuergerät zu übertragende steuergerätespezifische Software beinhaltet sowie Programmierabläufe zur Umsetzung der Übertragung.Method according to Claim 1, characterized in that the update application contains a control unit-specific software to be transferred to the control unit to be programmed, as well as programming sequences for implementing the transmission. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass vor dem Übertragen der Update-Applikation von dem Programmiergerät zu dem Gateway zumindest eine zuvor in einem Datenspeicher des Gateways abgelegte Applikation aus dem Datenspeicher gelöscht wird, um Speicherplatz in dem Datenspeicher freizugeben.A method according to claim 1 or 2, characterized in that prior to transmitting the update application from the programming device to the gateway at least one previously stored in a data memory of the gateway application is deleted from the data memory to release storage space in the data memory. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das Löschen der zuvor in dem Datenspeicher des Gateways abgelegten Applikation durch das Programmiergerät über die Datenschnittstelle und die erste Busverbindung vorgenommen bzw. ausgelöst wird.A method according to claim 3, characterized in that the deletion of the previously stored in the data memory of the gateway application is made or triggered by the programming device via the data interface and the first bus connection. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die zuvor in dem Datenspeicher des Gateways abgelegte Applikation vor ihrem Löschen gesichert und nach dem Löschen der Update-Applikation wiederhergestellt wird.A method according to claim 3 or 4, characterized in that the previously stored in the data memory of the gateway application is saved before deleting and restored after deleting the update application. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Löschen der Update-Applikation im Gateway durch das Programmiergerät über die Datenschnittstelle und die erste Busverbindung vorgenommen bzw. ausgelöst wird.Method according to one of claims 1 to 5, characterized in that the deletion of the update application in the gateway is made or triggered by the programming device via the data interface and the first bus connection. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass Löschen der Update-Applikation im Gateway ohne Zutun des Programmiergeräts erfolgt und dass das Programmiergerät während der Ausführung der Update-Applikation von der Datenschnittstelle getrennt werden kann, ohne die Programmierung des Steuergeräts zu beeinträchtigen.Method according to one of claims 1 to 6, characterized that deletion of the update application in the gateway takes place without the intervention of the programmer and that the programmer can be disconnected from the data interface during execution of the update application without affecting the programming of the controller. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Datenschnittstelle eine Diagnoseschnittstelle des Kraftfahrzeugs ist.Method according to one of claims 1 to 7, characterized in that the data interface is a diagnostic interface of the motor vehicle. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass das Gateway über die zweite Busverbindung und/oder eine weitere Busverbindung mit einem weiteren Steuergerät verbunden ist und dass durch Ausführen der Update-Applikation auch das weitere Steuergerät programmiert wird.Method according to one of claims 1 to 8, characterized in that the gateway is connected via the second bus connection and / or another bus connection with another control device and that by executing the update application and the further control device is programmed. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass es sich bei dem Programmiergerät um einen Diagnosetester handelt.Method according to one of claims 1 to 9, characterized in that it is the programmer to a diagnostic tester.
DE102009047974.0A 2009-10-01 2009-10-01 Procedure for programming a control unit Active DE102009047974B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102009047974.0A DE102009047974B4 (en) 2009-10-01 2009-10-01 Procedure for programming a control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102009047974.0A DE102009047974B4 (en) 2009-10-01 2009-10-01 Procedure for programming a control unit

Publications (2)

Publication Number Publication Date
DE102009047974A1 true DE102009047974A1 (en) 2011-04-07
DE102009047974B4 DE102009047974B4 (en) 2022-09-01

Family

ID=43705642

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009047974.0A Active DE102009047974B4 (en) 2009-10-01 2009-10-01 Procedure for programming a control unit

Country Status (1)

Country Link
DE (1) DE102009047974B4 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2704007A1 (en) * 2012-08-21 2014-03-05 BSH Bosch und Siemens Hausgeräte GmbH Communication module with a submodule
FR3140690A1 (en) 2022-10-07 2024-04-12 F.B.I. CAN BUS box for professional vehicles

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4211650A1 (en) * 1992-04-07 1993-10-14 Bosch Gmbh Robert Method for variant coding in the case of a plurality of control units networked with one another and a control unit for carrying out the method
DE4332499A1 (en) * 1993-09-24 1995-03-30 Bosch Gmbh Robert Procedure for completely reprogramming an erasable, non-volatile memory
DE19821500A1 (en) * 1997-06-18 1999-01-28 Siemens Ag Controller of data transmission for e.g. airbag in motor vehicle
EP0997347A2 (en) * 1998-10-29 2000-05-03 Mannesmann VDO Aktiengesellschaft Procedure and device for programming a vehicle control apparatus
EP1003106A2 (en) * 1998-10-29 2000-05-24 Mannesmann VDO Aktiengesellschaft Apparatus for adapting operating data and/or operating programs
WO2007078943A2 (en) * 2005-12-28 2007-07-12 Motorola, Inc. Programming an embedded system in a vehicle using dynamic provisioning of program control operations
US20070287439A1 (en) * 2004-12-14 2007-12-13 Bayerische Motoren Werke Aktiengesellschaft System for using at least one mobile terminal in a motor vehicle using an updating device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10237715B4 (en) 2002-08-17 2017-03-09 Robert Bosch Gmbh Device for accessing a vehicle control system via a wireless connection
DE102004005680A1 (en) 2004-02-05 2005-08-25 Bayerische Motoren Werke Ag Device and method for controlling control units in a vehicle electrical system of a motor vehicle

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4211650A1 (en) * 1992-04-07 1993-10-14 Bosch Gmbh Robert Method for variant coding in the case of a plurality of control units networked with one another and a control unit for carrying out the method
DE4332499A1 (en) * 1993-09-24 1995-03-30 Bosch Gmbh Robert Procedure for completely reprogramming an erasable, non-volatile memory
DE19821500A1 (en) * 1997-06-18 1999-01-28 Siemens Ag Controller of data transmission for e.g. airbag in motor vehicle
EP0997347A2 (en) * 1998-10-29 2000-05-03 Mannesmann VDO Aktiengesellschaft Procedure and device for programming a vehicle control apparatus
EP1003106A2 (en) * 1998-10-29 2000-05-24 Mannesmann VDO Aktiengesellschaft Apparatus for adapting operating data and/or operating programs
US20070287439A1 (en) * 2004-12-14 2007-12-13 Bayerische Motoren Werke Aktiengesellschaft System for using at least one mobile terminal in a motor vehicle using an updating device
WO2007078943A2 (en) * 2005-12-28 2007-07-12 Motorola, Inc. Programming an embedded system in a vehicle using dynamic provisioning of program control operations

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ISO 14229-1
ISO 15765-3

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2704007A1 (en) * 2012-08-21 2014-03-05 BSH Bosch und Siemens Hausgeräte GmbH Communication module with a submodule
FR3140690A1 (en) 2022-10-07 2024-04-12 F.B.I. CAN BUS box for professional vehicles

Also Published As

Publication number Publication date
DE102009047974B4 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
EP1967435B1 (en) Method for adaptive configuration recognition
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
EP1430369B1 (en) Dynamic access to automation resources
DE102015216265A1 (en) Method and subsystem for installing a software update in a vehicle
WO2013171122A2 (en) Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device
EP3330816A1 (en) Method for updating software in cloud gateways, computer program with an implementation of the method and processing unit for executing the method
EP3092562B1 (en) Method and system for programming a plurality of control units
DE102006016891A1 (en) Extension of the functionality of a series software in a control unit
DE102005025520A1 (en) Method for the model-based diagnosis of a mechatronic system
DE112013003240B4 (en) Method for controlling a motor vehicle transmission
DE102016201769A1 (en) Method for updating software of a control unit, preferably for a motor vehicle
DE102009047974A1 (en) Method for programming controller in motor vehicle, involves executing update application by gateway to program controller via bus, and deleting update application in gateway, where update-application is provided in programming device
DE102011122344A1 (en) Method for managing data in a flash memory, driver assistance device and motor vehicle
WO2005022382A2 (en) Method for the installation of a program component
DE102013214795A1 (en) Tachograph arrangement and method for operating a tachograph arrangement
EP3797352B1 (en) Method for exchanging a first executable program code and a second executable program code, and control unit
DE102014002593A1 (en) Dynamic programmable logic controller
EP4144003B1 (en) Method for producing a software component for an electronic computing device of a motor vehicle, computer program product, computer-readable storage medium and motor-vehicle-external update system
DE102014218882A1 (en) A method for providing a software version identifier of at least one controller for a software version check by a test unit
DE102012006046A1 (en) Adaptive Remote Service Protocol
DE102015214389A1 (en) Method and device for updating a virtual machine operated on a physical machine under a hypervisor
WO2009103728A1 (en) Method and device for storing information data
DE102017127108A1 (en) Method for reading out data from a transmission system of a vehicle
EP1967920A1 (en) Softwareupdate method for FPGA-based automation systems
DE102017112394A1 (en) Method for starting up an automated actuator, in particular a vehicle

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final