[go: up one dir, main page]

WO2020099023A2 - Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium - Google Patents

Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium Download PDF

Info

Publication number
WO2020099023A2
WO2020099023A2 PCT/EP2019/076994 EP2019076994W WO2020099023A2 WO 2020099023 A2 WO2020099023 A2 WO 2020099023A2 EP 2019076994 W EP2019076994 W EP 2019076994W WO 2020099023 A2 WO2020099023 A2 WO 2020099023A2
Authority
WO
WIPO (PCT)
Prior art keywords
program
update
data
control device
data carrier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2019/076994
Other languages
German (de)
French (fr)
Other versions
WO2020099023A3 (en
Inventor
Hans-Guenter Kothgasser
Christophe Elies
Matthias Bilger
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
Publication of WO2020099023A2 publication Critical patent/WO2020099023A2/en
Publication of WO2020099023A3 publication Critical patent/WO2020099023A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

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

Definitions

  • Control device for a vehicle component kit comprising a control device and a tester device, vehicle, method for updating a control device and computer-readable storage medium
  • the present invention relates to a control device for a vehicle component, a kit comprising a control device and a tester device, a vehicle, a method for updating a control device and a corresponding computer-readable storage medium.
  • Vehicles such as cars, have a large number of control units which control and / or monitor different functions or actuators of the vehicle. So control devices are provided, for example the
  • Control devices for communication are each connected to one or more BUS systems in order to send or receive data.
  • Control devices also typically have a computing device and a storage device, and are designed to execute different programs in order to perform their control functions.
  • Control units are usually updated in a workshop.
  • a workshop employee connects a so-called tester or a tester device, ie a device which is used to update the control units, to the vehicle via an OBD connection.
  • the tester can then communicate with the control units in the vehicle via a BUS system.
  • Classic control units are implemented very close to the hardware. You have specialized hardware, e.g. B. ASICS (Application Specific Integrated Circuits), which work with defined programs and data.
  • Modern control devices on the other hand, can be used universally in some cases and have complex operating systems such as B. Linux-based systems and a file system.
  • the file system makes it possible to save data as files on partitions, ie logical data carriers, and to access them.
  • Such a modern control unit usually has two partitions in which the data or the programs and the operating system of the control unit are present in a mirrored manner.
  • a so-called main partition is used to run the programs while the vehicle is running.
  • a so-called mirror partition or mirror partition is used to ensure redundant storage of the programs of the control device. Programs to be executed as well as the
  • the data of the mirror partition are updated first.
  • the update process it is checked whether the update of the mirror partition has been successfully completed, e.g. B. by calculating a hash value over the partition and comparing the calculated hash value with a reference value. If the update is successfully completed, all data of the mirror partition can be transferred to the main partition.
  • Copying the mirror partition to the main partition includes copying application data and operating system data. This process takes a long time.
  • a control device is to be specified which consumes less time when updating the control device.
  • the object of the invention is achieved by a control device according to claim 1.
  • the object is achieved by a control device for a
  • Vehicle component in particular for a vehicle component of a car, comprising the following:
  • a storage device for storing a program update, a first logical data carrier and a second logical data carrier
  • a computing device for executing the program update and first program data stored on the first logical data carrier;
  • the program updater is designed to use second program data of the second logical data carrier
  • the computing device is designed to execute the updated second program data of the second logical data carrier.
  • a core of the invention is that a program updater is used to update the second program data.
  • a program update means a program that can be set up to update the second program data.
  • For the first and second program data can be programs to be executed or parts of programs to be executed.
  • Program user data can also be used to update the second program data.
  • Program data must be included.
  • the operating system of the control device is not part of the first or second program data.
  • Operating system can be stored on an operating system disk or partition.
  • the program updater can be stored on the first logical data carrier.
  • Program update is a program that is executed by the operating system.
  • a logical volume can be a partition of a
  • the first and second logical data carriers can be partitions of a file-based system.
  • the computing device can be designed to copy at least a subset of the second program data to the first logical data carrier, in particular the updated second program data.
  • the computing device can be designed to carry out the copying at a time when the computing device is in an idle or idle state.
  • the idle state is preferably a state in which no update tasks are carried out by the control device.
  • the vehicle can thus be any vehicle.
  • Refresh can be put back into operation quickly.
  • copying can only take place when a rest phase occurs. This means that the vehicle is available to the customer again more quickly.
  • a communication device can be provided in the control device, which can be designed to receive an update signal, wherein the program updater can be configured to update the second program data in response to the receipt of the
  • the initiation of the update process can thus advantageously be started by an external signal.
  • a tester connected to the control unit outputs the update signal.
  • the communication device can be designed to transmit the update signal via a wireless interface, such as e.g. B. to receive an air interface such as LTE or GSM or 3G. It is also conceivable that the communication device receives the update signal via a WLAN interface.
  • the program updater may be configured to interrupt execution of the first program data in response to / receiving the update signal.
  • control unit can thus be brought into a defined state. For example, access to
  • Hardware resources are interrupted, or the hardware resources are released. This is an advantage because it ensures that the
  • ECU can be ensured during the update.
  • authorization conflicts can be prevented if individual files are used by the second program data.
  • the computing unit can be designed to identify a program that is specified by the second program data.
  • program data can indicate programs that form a logical unit. A program can thus be specifically updated.
  • the updating may be an exchange of a program stored on the second logical volume with one
  • the update may include replacing an operating system stored on the second logical volume.
  • the second logical data carrier can also store an operating system. For example, a Linux-based operating system
  • the updating can include calculating a checksum, in particular a hash value, using the second program data.
  • the updating can include comparing the calculated checksum with a reference checksum, wherein the computing device can be designed to execute the second program data only if the calculated checksum and the reference checksum are identical.
  • the reference checksum can indicate a planned state of the second logical data carrier and / or the second program data.
  • the update data can indicate an operating system, in particular a Linux-based operating system.
  • the computing device can be designed to switch the control device into an update mode.
  • the computing device can, for example in response to receiving the update signal, switch the control device into an update mode.
  • control functions of the control device can be deactivated in the update mode.
  • the control device can thus be switched in a kind of passive state.
  • One advantage is that external influences do not affect the update process.
  • kits comprising a control device as described above and a tester device, the control device having a communication device and the tester device being designed to update data via the communication device to send to the control unit.
  • the tester device or the tester can for example be communicatively connected to the control device via an OBD interface.
  • the tester device can therefore be a device with the aid of which a workshop employee can update data for updating the
  • Control unit can play on the control unit.
  • the tester device can be designed to check whether the second logical data carrier indicates a consistent state of the vehicle and / or the control device, in particular before and / or after an update has been carried out.
  • a consistent condition of the vehicle can result from a variety of
  • a consistent state can be indicated by a number of programs installed. It is also possible that calculated checksums of the installed programs on the second logical data carrier indicate a consistent state.
  • a consistent state can be stored on the tester device, wherein the tester device can be designed to compare the consistent state stored on the tester device with a state specified by the control device or the plurality of control devices.
  • the tester device can thus prevent a control unit from being put back into operation, which causes an inconsistent state. Overall, the safety of the vehicle during operation is increased.
  • the object is further achieved by a vehicle according to claim 11.
  • the object is achieved by a vehicle comprising a plurality of control devices, as described above, wherein a gateway communicatively connected to the plurality of control devices is provided, which is designed to receive update data from a tester device and to send it to the plurality of control devices .
  • a vehicle can thus have a large number of control units, the gateway sending the update data from the tester device to the
  • control unit sends updating control units. This makes it possible to easily update a large number of control units at once. Furthermore, there are the advantages of upgrading the control unit
  • Control units are thus drastically reduced.
  • the object is further achieved by a method according to claim 11.
  • the object is achieved by a method for updating a control device, comprising the following steps: a) execution of first program data by a control device, which are stored on a first logical data carrier; b) receiving update data;
  • the method can include copying at least a subset of the second program data onto the first logical data carrier.
  • the control device, the vehicle and the kit can be identified as the main data carrier and the second logical data carrier can be identified as the mirror data carrier, the execution of the
  • updated second program data includes an identification of the first logical data carrier as a mirror data carrier and the second logical data carrier as the main data carrier.
  • the control device can be instructed in a very simple manner to execute the updated second program data.
  • a computing device can be designed to always execute the program data of the main data carrier.
  • the second logical data carrier as the main data carrier, it can be easily ensured that the updated second program data are executed after an update. There is no need for time-consuming copying of the updated program data.
  • the new one can also be identified Main data carrier copying the update from the second logical data carrier to the first logical data carrier can be provided.
  • the method can include: dl) determining at least one characteristic value that is specified by the updated second program data;
  • the object is further achieved by a computer-readable storage medium which contains instructions for implementing a method as described above if the instructions are provided by at least one
  • Figure 1 is a schematic representation of a vehicle with a tester and a plurality of control units.
  • Fig. 2 is a schematic representation of a control unit
  • FIG. 3 shows a schematic illustration of a storage device with two logical data carriers
  • Fig. 4 shows the memory device of Fig. 3 after the update process
  • Fig. 6 is a flowchart schematically illustrating the process of the update.
  • FIG. 1 shows vehicle 10 with a large number of control units 20, 20 ', 20 ".
  • the control unit 20 is a device which is used for
  • the control unit 20 ' is a device which is used for automatically switching on the front light.
  • the control unit 20 " is a device which is used to control a temperature sensor.
  • the central gateway 12 is a device which allows the control devices 20, 20 ', 20 "to communicate with one another, although they may be connected via different BUS systems 23, 23', 23".
  • the BUS systems include a CAN bus, an Ethernet network or a LIN bus.
  • the central gateway 12 is communicatively connected to an onboard diagnostic connector 11 (OBD connector) by means of an Ethernet connection 13.
  • a tester 1 can be connected via the OBD connection 11.
  • Tester 1 is a device that can be used by workshop personnel and is usually part of an OBD diagnostic device.
  • the tester 1 comprises a tester storage device and a tester computing device.
  • a tester communication device is provided for communication, which enables communication with the OBD interface 11 of the vehicle 10. Update data are stored in the tester storage device
  • the tester 1 can download the update data from a server from the Internet.
  • the tester 1 can have a mobile radio interface or a WLAN interface.
  • the tester 1 receives a vehicle identification and a list of the installed ones via the tester communication device Control units 20, 20 ', 20 "and the programs installed thereon. Using this information, tester 1 can query a server whether there are updates for control units 20, 20', 20" that
  • Programs can tester 1 update data 3 via an OBD connection
  • the update data 3 can be individual programs or also individual files. This is particularly advantageous if the control units 20, 20 ', 20" are designed as file-based control units. This means that a file system is present on the control units 20, 20 ', 20 ". File systems can be, for example, ext2, ext3, ext3, Btrfs, FAT, FAT32, VFAT, NTFS, HFS, HFS + or corresponding derivatives. In addition to that The file system and the program to be executed usually comprise the control devices 20, 20 ', 20 "an operating system. Linux-based operating systems can preferably be used on the control devices 20, 20 ', 20 ".
  • Fig. 2 shows a schematic representation of a control unit 20.
  • Control device 20 comprises a control device communication device 21, a control device computing device 22 and a control device storage device 30.
  • the control device communication device 21 can be designed as a BUS communication device. This means that the control unit 20 can be connected to a vehicle bus.
  • the control device 20 receives update data 3 via the control device communication device 21.
  • the update data 3 are then processed by the control device computing device 22.
  • FIG. 3 shows the control unit storage device 30 in a schematic
  • the control unit storage device 30 comprises a boot loader 33, as well as a first logical data carrier 31 and a second logical one
  • the first logical data carrier 31 denotes a so-called main or main partition.
  • the second logical volume 32 denotes a so-called Mirror or mirror partition.
  • program data is stored as first program data 34 and second program data 35.
  • the first program data 34 and second program data 35 are identical in the exemplary embodiment in FIG. 3 and each indicate a program APP2. Furthermore, there are in each case on the first logical data carrier 31 and second logical data carrier 32
  • Program update APP1 is trained to update programs.
  • the boot loader 33 has the function of starting the operating system OS of the main partition 31 when the control unit 20, 20 ', 20 "is switched on.
  • the first program data 34 are saved by the first program data 34 .
  • Control unit computing device 22 executed.
  • the control unit computing device 22 is designed to always execute the program data that is stored on the main partition.
  • the second program data 35 the
  • Mirror partition serve as a backup.
  • the second logical data carrier 32 is first updated and then the updated data which are stored in the second logical data carrier 32 are copied to the first logical data carrier.
  • Program update APP1 that update data 3 are initially stored in the second logical data carrier 32.
  • the update data 3 are represented by an additional program APP3.
  • An additional program is therefore installed on the control unit 20.
  • an existing program can be replaced, whereby the replacement of a program is equivalent to an update. Deleting at least one program can also represent an update of the second program data 35.
  • the identification of the first logical data carrier 31 and the second logical data carrier 32 is exchanged. This means that after the update, the second logical volume 32 as the main Partition is referred to and the first logical volume 31 as a mirror or mirror partition.
  • the control unit computing device 22 immediately after updating the second program data 35 together with the
  • the updated control device 20, 20 ', 20 "can continue its operation immediately after the update.
  • FIG. 5 illustrates that after a successful update of the second program data 35 of the second logical data carrier 32 and one
  • the program data or files or data of the second logical data carrier 32 are mirrored or copied onto the first logical data carrier 31.
  • the main partition and the mirror partition contain the same program data 34, 35. It is not necessary to copy all the program data, but it is sufficient if the changed or updated data is copied. An incremental update of the program data is thus carried out, after which only the changes have to be copied or mirrored onto the first logical data carrier. As a result, little data is copied overall.
  • step S1 a workshop employee connects a tester 1 to a corresponding OBD connection 11 to a vehicle 10 by means of an OBD connection 2.
  • step S2 an update signal is sent from the tester 1 to the
  • tester 1 can send out a broadcast signal which is received by all connected control devices 20, 20', 20".
  • Control devices 20, 20 ', 20 in a so-called flash mode.
  • the control units 20, 20 ', 20 block their actual control tasks.
  • step S3 the tester 1 reads the data on the control units 20, 20 ', 20 "
  • the tester 1 thus contains a complete list of all programs and data that are installed on the control units 20, 20 ′, 20 ′′ of the vehicle 10. In addition, the tester 1 also receives
  • step S4 tester 1 determines which program data or which
  • Programs or data must be updated so that the vehicle 10 again has a consistent vehicle state after the update of a single control device 20. This is particularly necessary because
  • Vehicles are tested in different software configurations, so that a certain combination of software versions must be installed in the vehicle. Otherwise, for the security of a software configuration, i.e. the combination of a variety of different software versions are not guaranteed.
  • control units 20, 20 ', 20 Programs and data on which control units 20, 20 ', 20 "need to be updated, the tester 1 sends a corresponding signal to the control units 20, 20', 20" to be updated in step S5.
  • control units 20, 20 ', 20 " In response to the received signal by the control units 20, 20 ', 20 ", the control units 20, 20', 20" end their current programs.
  • step S7 a corresponding program is exchanged, added or deleted by the program update APP1.
  • user data such. B. card material or configuration parameters can be exchanged.
  • a checksum is calculated for the newly installed program or program data, e.g. Legs MD5 checksum.
  • step S7 it is then checked whether the update was carried out successfully.
  • the calculated checksum or the hash is compared by the tester 1 with a reference value.
  • the tester 1 can send the reference value to the updated control device 20, 20 ', 20 ", so that the control device 20, 20', 20" can check itself whether the update was carried out successfully.
  • step S8 the tester 1 checks whether all control units 20, 20 ', 20 "have stored software which together have a consistent one
  • step S9 the previous mirror partition becomes the main partition
  • step S10 the content of the new main partition is transferred to the mirror partition, i.e. mirrored. However, only the changed ones are used
  • step Si 1 the program update APP2 is ended and the vehicle 10 is switched to a basic state.
  • the tester 1 sends a further signal to all connected control units 20, 20 ', 20 ", so that the programs on the control units 20, 20', 20" are started.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to a control device (20) for a vehicle component, in particular for a vehicle component of a passenger car (10), having the following: - a storage device (30) for storing a program updater (APP1), a first logical data carrier (31) and a second logical data carrier (32); and - a processor unit (22) for executing the program updater (APP1) and first program data (34), which are stored on the first logical data carrier (31); wherein - the program updater (APP1) is designed to update second program data (34) of the second logical data carrier (32) using update data (3); and - the processor unit (32) is designed: ° to copy at least one subset of the second program data (35) on to the first logical data carrier (31), in particular to copy the updated second program data (35); and ° to execute the updated second program data (35) of the second logical data carrier (32).

Description

Steuergerät für eine Fahrzeugkomponente, Kit umfassend ein Steuergerät und eine Testereinrichtung, Fahrzeug, Verfahren zum Aktualisieren eines Steuergeräts und computerlesbares Speichermedium  Control device for a vehicle component, kit comprising a control device and a tester device, vehicle, method for updating a control device and computer-readable storage medium

Beschreibung description

Die vorliegende Erfindung betrifft ein Steuergerät für eine Fahrzeugkomponente, ein Kit umfassend ein Steuergerät und eine Testereinrichtung, ein Fahrzeug, ein Verfahren zum Aktualisieren eines Steuergeräts und ein entsprechendes computerlesbares Speichermedium. The present invention relates to a control device for a vehicle component, a kit comprising a control device and a tester device, a vehicle, a method for updating a control device and a corresponding computer-readable storage medium.

Fahrzeuge, wie PKW, verfügen über eine Vielzahl von Steuergeräten, die unterschiedliche Funktionen bzw. Aktuatoren des Fahrzeugs steuern und/oder überwachen. So sind Steuergeräte vorgesehen, die beispielsweise die Vehicles, such as cars, have a large number of control units which control and / or monitor different functions or actuators of the vehicle. So control devices are provided, for example the

Motorsteuerung übernehmen oder die Bremssteuerung. Ein Einbau kann an einer beliebigen Stelle im Fahrzeug vorgesehen sein. Üblicherweise sind diese Take over engine control or brake control. Installation can be provided anywhere in the vehicle. Usually these are

Steuergeräte zur Kommunikation jeweils an ein oder mehrere BUS-Systeme angeschlossen, um Daten zu senden oder zu empfangen. Control devices for communication are each connected to one or more BUS systems in order to send or receive data.

Steuergeräte weisen ferner üblicherweise eine Recheneinrichtung und eine Speichereinrichtung auf, und sind dazu ausgebildet unterschiedliche Programme auszuführen, um ihre Steuerfunktionen zu übernehmen. Control devices also typically have a computing device and a storage device, and are designed to execute different programs in order to perform their control functions.

Im Zuge der zunehmenden Vernetzung von Fahrzeugen ist es notwendig, die auf den Steuergeräten auszuführende Software bzw. die Programme regelmäßig mit Updates bzw. Aktualisierungen zu versorgen. Durch regelmäßige Aktualisierungen können bestehende Programme aktualisiert oder entfernt werden. Es ist auch möglich, neue Funktionen in Form neuer Programme per Aktualisierung In the course of the increasing networking of vehicles, it is necessary to regularly supply the software or the programs to be executed on the control units with updates or updates. Existing programs can be updated or removed through regular updates. It is also possible to update new features in the form of new programs

hinzuzufügen. to add.

Üblicherweise werden Steuergeräte in einer Werkstatt aktualisiert. Dazu schließt ein Werkstattmitarbeiter einen sog. Tester bzw. eine Testereinrichtung, d.h. eine Vorrichtung, die zum Aktualisieren der Steuergeräte eingesetzt wird, über einen OBD-Anschluss an das Fahrzeug an. Der Tester kann dann mit den Steuergeräten im Fahrzeug über ein BUS-System kommunizieren. Klassische Steuergeräte sind sehr Hardware-nah umgesetzt. Sie verfügen über spezialisierte Hardware, z. B. ASICS (Application Specific Integrated Circuits), die mit fest definierten Programmen und Daten arbeiten. Moderne Steuergeräte hingegen sind teilweise universal einsetzbar und verfügen über aufwändige Betriebssysteme, wie z. B. Linux-basierte Systeme und ein Dateisystem. Das Dateisystem ermöglicht es, Daten als Dateien auf Partitionen, d.h. logischen Datenträgern, zu speichern und auf diese zuzugreifen. Control units are usually updated in a workshop. For this purpose, a workshop employee connects a so-called tester or a tester device, ie a device which is used to update the control units, to the vehicle via an OBD connection. The tester can then communicate with the control units in the vehicle via a BUS system. Classic control units are implemented very close to the hardware. You have specialized hardware, e.g. B. ASICS (Application Specific Integrated Circuits), which work with defined programs and data. Modern control devices, on the other hand, can be used universally in some cases and have complex operating systems such as B. Linux-based systems and a file system. The file system makes it possible to save data as files on partitions, ie logical data carriers, and to access them.

Solch ein modernes Steuergerät verfügt üblicherweise über zwei Partitionen, in denen die Daten bzw. die Programme und das Betriebssystem des Steuergerätes gespiegelt vorliegen. Eine sog. Hauptpartition oder auch Main genannt, wird verwendet, um die Programme während des Betriebs des Fahrzeugs auszuführen. Eine sog. Spiegel-Partition bzw. Mirror-Partition, wird verwendet, um eine redundante Speicherung der Programme des Steuergeräts zu gewährleisten. Auf den Partitionen werden jeweils auszuführende Programme sowie das Such a modern control unit usually has two partitions in which the data or the programs and the operating system of the control unit are present in a mirrored manner. A so-called main partition is used to run the programs while the vehicle is running. A so-called mirror partition or mirror partition is used to ensure redundant storage of the programs of the control device. Programs to be executed as well as the

Betriebssystem gespeichert. Somit ist immer gewährleistet, dass auch bei Operating system saved. This ensures that at

Beschädigung der Hauptpartition eine Sicherungskopie vorliegt. Damage to the main partition is backed up.

Bei einem Aktualisierungsvorgang einer Applikation während das Fahrzeug in Betrieb ist, werden zunächst die Daten der Spiegelpartition aktualisiert. When an application is updated while the vehicle is in operation, the data of the mirror partition are updated first.

Zum Abschluss des Aktualisierungsvorgangs wird überprüft, ob die Aktualisierung der Spiegelpartition erfolgreich abgeschlossen ist, z. B. durch das Berechnen eines Hash-Wertes über die Partition und Vergleichen des berechneten Hash-Wertes mit einem Referenzwert. Ist die Aktualisierung erfolgreich abgeschlossen, so können sämtliche Daten der Spiegelpartition auf die Hauptpartition überspielt werden.At the end of the update process, it is checked whether the update of the mirror partition has been successfully completed, e.g. B. by calculating a hash value over the partition and comparing the calculated hash value with a reference value. If the update is successfully completed, all data of the mirror partition can be transferred to the main partition.

Das Kopieren der Spiegelpartition auf die Hauptpartition umfasst das Kopieren von Anwendungsdaten sowie die Betriebssystemdaten. Dieser Vorgang nimmt eine lange Zeit in Anspruch. Copying the mirror partition to the main partition includes copying application data and operating system data. This process takes a long time.

Bei einem Aktualisierungsvorgang eines Betriebssystems des Steuergeräts in einer Werkstatt sind keine besonderen Sicherheitsanforderungen beim Aktualisieren zu beachten, da das Fahrzeug bzw. die Steuergeräte in einen kontrollierten Zustand geschaltet werden. Somit kann beim Aktualisieren direkt auf die Main-Partition geschrieben werden. Dabei werden zunächst die Daten der Main-Partition gelöscht. Im Anschluss wird eine neue Version des Betriebssystems in komprimierter Form durch den Tester auf das Steuergerät aufgespielt, d.h. in den Speicher geschrieben. Das Betriebssystem wird anschließend entpackt. Letztlich muss das Steuergerät neugestartet werden, d.h. es muss ein sog. Hardware-reset ausgeführt werden. Diese Prozedur nimmt sehr viel Zeit in Anspruch und umfasst eine Menge von Schreibzyklen im Speicher des Steuergeräts, welche die When updating an operating system of the control unit in a workshop, no special security requirements need to be observed when updating, since the vehicle or the control units are switched to a controlled state. This means that you can write directly to the main partition when updating. First the data of the main partition is deleted. Subsequently, a new version of the operating system in compressed form by the tester on the control unit, ie written to the memory. The operating system is then unpacked. Ultimately, the control unit must be restarted, ie a so-called hardware reset must be carried out. This procedure takes a long time and involves a lot of write cycles in the memory of the control unit, which the

Lebenszeit des Speichers negativ beeinflussen. Negatively affect the lifetime of the memory.

Es ist daher Aufgabe der Erfindung, die Zeit beim Aktualisieren eines Steuergeräts zu reduzieren. Insbesondere soll ein Steuergerät angegeben werden, welches weniger Zeit beim Aktualisieren des Steuergeräts verbraucht. Darüber hinaus ist es Aufgabe der Erfindung, ein entsprechendes Kit anzugeben. Ferner ist es Aufgabe der Erfindung, ein entsprechendes Fahrzeug und ein entsprechendes Verfahren sowie ein entsprechendes computerlesbares Speichermedium It is therefore an object of the invention to reduce the time when updating a control unit. In particular, a control device is to be specified which consumes less time when updating the control device. In addition, it is an object of the invention to provide a corresponding kit. It is also an object of the invention to provide a corresponding vehicle and a corresponding method and a corresponding computer-readable storage medium

anzugeben. specify.

Die Aufgabe der Erfindung wird gelöst durch ein Steuergerät nach Anspruch 1. Insbesondere wird die Aufgabe gelöst durch ein Steuergerät für eine The object of the invention is achieved by a control device according to claim 1. In particular, the object is achieved by a control device for a

Fahrzeugkomponente, insbesondere für eine Fahrzeugkomponente eines PKWs, folgendes aufweisend : Vehicle component, in particular for a vehicle component of a car, comprising the following:

- eine Speichereinrichtung zur Speicherung eines Programmupdaters , eines ersten logischen Datenträgers und eines zweiten logischen Datenträgers; a storage device for storing a program update, a first logical data carrier and a second logical data carrier;

- eine Recheneinrichtung zum Ausführen des Programmupdaters und von ersten Programmdaten, die auf dem ersten logischen Datenträger gespeichert sind; wobei  a computing device for executing the program update and first program data stored on the first logical data carrier; in which

- der Programmupdater dazu ausgebildet ist, zweite Programmdaten des zweiten logischen Datenträgers unter Verwendung von  - The program updater is designed to use second program data of the second logical data carrier

Aktualisierungsdaten zu aktualisieren; und  Update update data; and

- die Recheneinrichtung dazu ausgebildet ist, die aktualisierten zweiten Programmdaten des zweiten logischen Datenträgers auszuführen.  - The computing device is designed to execute the updated second program data of the second logical data carrier.

Ein Kern der Erfindung ist, dass ein Programmupdater verwendet wird, die zweiten Programmdaten zu aktualisieren. Unter einem Programmupdater kann ein Programm verstanden werden, das dazu eingerichtet sein kann, die zweiten Programmdaten zu aktualisieren. Bei den ersten und zweiten Programmdaten kann es sich um auszuführende Programme oder Teile von auszuführenden Programmen handeln. Auch Nutzdaten von Programmen können von den A core of the invention is that a program updater is used to update the second program data. A program update means a program that can be set up to update the second program data. For the first and second program data can be programs to be executed or parts of programs to be executed. Program user data can also

Programmdaten umfasst sein. Das Betriebssystem des Steuergeräts ist in einer Ausführungsform nicht Teil der ersten oder zweiten Programmdaten. Das Program data must be included. In one embodiment, the operating system of the control device is not part of the first or second program data. The

Betriebssystem kann auf einem Betriebssystemdatenträger bzw. einer -partition gespeichert sein. Der Programmupdater kann in einer Ausführungsform auf dem ersten logischen Datenträger gespeichert sein. Operating system can be stored on an operating system disk or partition. In one embodiment, the program updater can be stored on the first logical data carrier.

Insbesondere kann in einer Ausführungsform vorgesehen sein, dass der In particular, it can be provided in one embodiment that the

Programmupdater ein Programm ist, dass durch das Betriebssystem ausgeführt wird. Program update is a program that is executed by the operating system.

Bei einem logischen Datenträger kann es sich um eine Partition eines A logical volume can be a partition of a

Dateisystems handeln. Insbesondere kann es sich bei dem ersten und zweiten logischen Datenträger um eine Partition eines dateibasierten Systems handeln. Act file system. In particular, the first and second logical data carriers can be partitions of a file-based system.

In einer Ausführungsform kann die Recheneinrichtung dazu ausgebildet sein, zumindest eine Teilmenge der zweiten Programmdaten auf den ersten logischen Datenträger zu kopieren, insbesondere die aktualisierten zweiten Programmdaten. In one embodiment, the computing device can be designed to copy at least a subset of the second program data to the first logical data carrier, in particular the updated second program data.

Dadurch, dass lediglich zweite Programmdaten des zweiten logischen Because only second program data of the second logical

Datenträgers aktualisiert werden müssen, müssen wenig Daten von dem zweiten logischen Datenträger auf den ersten logischen Datenträger kopiert werden. If the data carrier needs to be updated, little data has to be copied from the second logical data carrier to the first logical data carrier.

Insbesondere ist vorgesehen, dass nur jene Daten kopiert werden, die von der Aktualisierung betroffen sind. Eine Kopie des Betriebssystems ist nicht In particular, it is provided that only those data are copied that are affected by the update. A copy of the operating system is not

erforderlich, sofern das Betriebssystem nicht selbst aktualisiert wird. Somit kann ein inkrementeiles Aktualisieren von Programmen und Programmdaten required if the operating system is not updated itself. This allows an incremental update of programs and program data

durchgeführt werden, wobei die Zeit zur Aktualisierung und des Kopierens stark reduziert wird. be performed, whereby the time for updating and copying is greatly reduced.

In einer Ausführungsform kann die Recheneinrichtung dazu ausgebildet sein, das Kopieren zu einem Zeitpunkt auszuführen, zu dem sich die Recheneinrichtung in einem Idle- bzw. Ruhezustand befindet. Vorzugsweise ist der Ruhezustand ein Zustand, in dem keine Aktualisierungsaufgeben durch das Steuergerät ausgeführt werden. In einer Ausführungsform kann vorgesehen sein, dass das Kopieren nach höchstens jedem 2. Aktualisieren, vorzugsweise nach jedem 3. oder 4. In one embodiment, the computing device can be designed to carry out the copying at a time when the computing device is in an idle or idle state. The idle state is preferably a state in which no update tasks are carried out by the control device. In one embodiment it can be provided that the copying to at most every 2nd update, preferably after every 3rd or 4th

Aktualisieren, ausgeführt wird. Refresh is running.

Bei der beschrieben Ausführungsform kann somit das Fahrzeug nach dem In the described embodiment, the vehicle can thus be

Aktualisieren schnell wieder in Betrieb genommen werden. Ein Kopieren kann in einer Ausführungsform erst dann erfolgen, wenn eine Ruhephase eintritt. Somit steht das Fahrzeug dem Kunden schneller wieder zur Verfügung. Refresh can be put back into operation quickly. In one embodiment, copying can only take place when a rest phase occurs. This means that the vehicle is available to the customer again more quickly.

In einer Ausführungsform kann eine Kommunikationseinrichtung im Steuergerät vorgesehen sein, die zum Empfang eines Aktualisierungssignals ausgebildet sein kann, wobei der Programmupdater dazu ausgebildet sein kann, das Aktualisieren der zweiten Programmdaten in Reaktion auf den Empfang des In one embodiment, a communication device can be provided in the control device, which can be designed to receive an update signal, wherein the program updater can be configured to update the second program data in response to the receipt of the

Aktualisierungssignals auszuführen. Execute update signal.

Die Initiierung des Aktualisierungsvorgangs kann vorteilhafterweise somit durch ein externes Signal gestartet werden. Beispielsweise ist es denkbar, dass ein an das Steuergerät angeschlossener Tester das Aktualisierungssignal ausgibt. In einer Ausführungsform ist es möglich, dass die Kommunikationseinrichtung dazu ausgebildet sein kann, das Aktualisierungssignal über eine drahtlose Schnittstelle, wie z. B. eine Luftschnittstelle wie LTE oder GSM oder 3G, zu empfangen. Ebenso ist es denkbar, dass die Kommunikationseinrichtung das Aktualisierungssignal über eine WLAN-Schnittstelle empfängt. The initiation of the update process can thus advantageously be started by an external signal. For example, it is conceivable that a tester connected to the control unit outputs the update signal. In one embodiment, it is possible that the communication device can be designed to transmit the update signal via a wireless interface, such as e.g. B. to receive an air interface such as LTE or GSM or 3G. It is also conceivable that the communication device receives the update signal via a WLAN interface.

In einer Ausführungsform kann der Programmupdater dazu ausgebildet sein, eine Ausführung der ersten Programmdaten in Reaktion auf ein/das Empfangen des Aktualisierungssignals zu unterbrechen. In one embodiment, the program updater may be configured to interrupt execution of the first program data in response to / receiving the update signal.

Es ist demnach möglich, dass vor einem Aktualisieren die Ausführung der ersten Programmdaten unterbrochen wird. Somit kann das Steuergerät in einen definierten Zustand überführt werden. Z. B. kann der Zugriff auf It is therefore possible that the execution of the first program data is interrupted before an update. The control unit can thus be brought into a defined state. For example, access to

Hardwareressourcen unterbrochen werden, bzw. die Hardwareressourcen werden freigegeben. Dies ist von Vorteil, da somit ein sicheres Betreiben des Hardware resources are interrupted, or the hardware resources are released. This is an advantage because it ensures that the

Steuergeräts während der Aktualisierung sichergestellt werden kann. Darüber hinaus können Berechtigungskonflikte verhindert werden, wenn einzelne Dateien durch die zweiten Programmdaten verwendet werden. In einer Ausführungsform kann die Recheneinheit dazu ausgebildet sein, ein Programm zu identifizieren, das durch die zweiten Programmdaten angegeben ist. Im Allgemeinen können Programmdaten Programme angeben, die eine logische Einheit bilden. Somit kann gezielt ein Programm aktualisiert werden. ECU can be ensured during the update. In addition, authorization conflicts can be prevented if individual files are used by the second program data. In one embodiment, the computing unit can be designed to identify a program that is specified by the second program data. In general, program data can indicate programs that form a logical unit. A program can thus be specifically updated.

In einer Ausführungsform kann das Aktualisieren ein Austauschen eines auf dem zweiten logischen Datenträger gespeicherten Programms mit einem In one embodiment, the updating may be an exchange of a program stored on the second logical volume with one

Austauschprogramm umfassen. Exchange program include.

Es ist somit möglich, gezielt einzelne Programme zu ersetzen. Damit wird ein einfacher Mechanismus bereitgestellt, komplexe Datenstrukturen zu ersetzen. Ferner wird möglich gemacht, dass nur einzelne Programme von dem zweiten logischen Datenträger auf den ersten logischen Datenträger kopiert werden müssen. Somit kann ein inkrementeiles Update der auf einem Steuergerät gespeicherten Programme ausgeführt werden. It is therefore possible to specifically replace individual programs. This provides a simple mechanism to replace complex data structures. Furthermore, it is made possible that only individual programs have to be copied from the second logical data carrier to the first logical data carrier. An incremental update of the programs stored on a control unit can thus be carried out.

In einer Ausführungsform kann das Aktualisieren ein Austauschen eines auf dem zweiten logischen Datenträger gespeicherten Betriebssystems umfassen. Der zweite logische Datenträger kann neben den zweiten Programmdaten auch ein Betriebssystem speichern. Z. B. kann ein Linux-basiertes Betriebssystem In one embodiment, the update may include replacing an operating system stored on the second logical volume. In addition to the second program data, the second logical data carrier can also store an operating system. For example, a Linux-based operating system

gespeichert sein. Das Betriebssystem kann somit ebenso wie ein Programm einfach ersetzt werden. Wird nur das Betriebssystem ersetzt, so ist es auch nur notwendig, das Betriebssystem auf den ersten logischen Datenträger zu kopieren. Es ist somit auch möglich, komplette Betriebssysteme mit dem be saved. The operating system and a program can thus be easily replaced. If only the operating system is replaced, it is only necessary to copy the operating system to the first logical volume. It is therefore also possible to use complete operating systems with the

erfindungsgemäßen Steuergerät auszutauschen. exchange control unit according to the invention.

In einer Ausführungsform kann das Aktualisieren ein Berechnen einer Prüfsumme, insbesondere eines Hashwertes, über die zweiten Programmdaten umfassen. In one embodiment, the updating can include calculating a checksum, in particular a hash value, using the second program data.

In einer Ausführungsform kann das Aktualisieren ein Vergleichen der berechneten Prüfsumme mit einer Referenzprüfsumme umfassen, wobei die Recheneinrichtung dazu ausgebildet sein kann, die zweiten Programmdaten nur dann auszuführen, wenn die berechnete Prüfsumme und die Referenzprüfsumme identisch sind. In one embodiment, the updating can include comparing the calculated checksum with a reference checksum, wherein the computing device can be designed to execute the second program data only if the calculated checksum and the reference checksum are identical.

Die Referenzprüfsumme kann einen geplanten Zustand des zweiten logischen Datenträgers und/oder der zweiten Programmdaten angeben. Durch das Vergleichen einer berechneten Prüfsumme mit einer Referenzprüfsumme kann sichergestellt werden, dass das Steuergerät einen geplanten Zustand einnimmt und einwandfrei funktioniert. The reference checksum can indicate a planned state of the second logical data carrier and / or the second program data. By the Comparing a calculated checksum with a reference checksum can ensure that the control unit assumes a planned state and functions properly.

In einer Ausführungsform können die Aktualisierungsdaten ein Betriebssystem, insbesondere ein Linux-basiertes Betriebssystem, angeben. In one embodiment, the update data can indicate an operating system, in particular a Linux-based operating system.

Das Austauschen eines Betriebssystems wird mit dem Steuergerät somit so einfach, wie das Austauschen eines einzelnen Programms. Replacing an operating system with the control unit is as easy as replacing an individual program.

In einer Ausführungsform kann die Recheneinrichtung dazu ausgebildet sein, das Steuergerät in einen Aktualisierungsmodus zu schalten. In one embodiment, the computing device can be designed to switch the control device into an update mode.

Die Recheneinrichtung kann, beispielsweise in Reaktion auf das Empfangen des Aktualisierungssignals, das Steuergerät in einen Aktualisierungsmodus schalten.The computing device can, for example in response to receiving the update signal, switch the control device into an update mode.

In dem Aktualisierungsmodus können die Steuerfunktionen des Steuergeräts deaktiviert sein. Das Steuergerät kann somit in einer Art Passivzustand geschaltet sein. Ein Vorteil besteht darin, dass externe Einflüsse den Aktualisierungsvorgang nicht beeinflussen. The control functions of the control device can be deactivated in the update mode. The control device can thus be switched in a kind of passive state. One advantage is that external influences do not affect the update process.

Die Aufgabe wird ferner gelöst durch ein Kit nach Anspruch 9. Insbesondere wird die Aufgabe gelöst durch ein Kit umfassend ein Steuergerät, wie es vorstehend beschrieben wurde und eine Testereinrichtung, wobei das Steuergerät eine Kommunikationseinrichtung aufweist und die Testereinrichtung dazu ausgebildet ist, Aktualisierungsdaten über die Kommunikationseinrichtung an das Steuergerät zu senden. The object is further achieved by a kit according to claim 9. In particular, the object is achieved by a kit comprising a control device as described above and a tester device, the control device having a communication device and the tester device being designed to update data via the communication device to send to the control unit.

Die Testereinrichtung bzw. der Tester kann beispielsweise über eine OBD- Schnittstelle kommunikativ mit dem Steuergerät verbunden sein. Bei der The tester device or the tester can for example be communicatively connected to the control device via an OBD interface. In the

Testereinrichtung kann es sich somit um eine Vorrichtung handeln, mit deren Hilfe ein Werkstattmitarbeiter Aktualisierungsdaten zur Aktualisierung des The tester device can therefore be a device with the aid of which a workshop employee can update data for updating the

Steuergeräts auf das Steuergerät aufspielen kann. Control unit can play on the control unit.

Ein Vorteil ist, dass nur berechtigten Personen Zugriff auf die Aktualisierung des Steuergeräts gegeben wird. Somit kann ein unbefugtes Verändern der zweiten Programmdaten verhindert werden. In einer Ausführungsform kann die Testereinrichtung dazu ausgebildet sein, zu prüfen, ob der zweite logische Datenträger einen konsistenten Zustand des Fahrzeugs und/oder des Steuergeräts angibt, insbesondere bevor und/oder nachdem eine Aktualisierung durchgeführt ist. An advantage is that only authorized persons are given access to the update of the control unit. An unauthorized modification of the second program data can thus be prevented. In one embodiment, the tester device can be designed to check whether the second logical data carrier indicates a consistent state of the vehicle and / or the control device, in particular before and / or after an update has been carried out.

Ein konsistenter Zustand des Fahrzeugs kann sich aus einer Vielzahl von A consistent condition of the vehicle can result from a variety of

Zuständen von angeschlossenen Steuergeräten ergeben. Auch kann sich ein konsistenter Zustand des Fahrzeugs durch den Zustand eines einzelnen States of connected control units. Also, a consistent condition of the vehicle can differ from the condition of an individual

Steuergeräts ergeben. Zum Beispiel kann ein konsistenter Zustand durch eine Menge an installierten Programmen angegeben sein. Auch ist es möglich, dass berechnete Prüfsummen der installierten Programme auf dem zweiten logischen Datenträger einen konsistenten Zustand angeben. Ein konsistenter Zustand kann auf der Testereinrichtung gespeichert sein, wobei die Testereinrichtung dazu ausgebildet sein kann, den auf der Testereinrichtung gespeicherten konsistenten Zustand mit einem durch das Steuergerät oder die Vielzahl an Steuergeräten angegebenen Zustand zu vergleichen. Result in control unit. For example, a consistent state can be indicated by a number of programs installed. It is also possible that calculated checksums of the installed programs on the second logical data carrier indicate a consistent state. A consistent state can be stored on the tester device, wherein the tester device can be designed to compare the consistent state stored on the tester device with a state specified by the control device or the plurality of control devices.

Die Testereinrichtung kann somit verhindern, dass ein Steuergerät wieder in Betrieb genommen wird, bei dem ein inkonsistenter Zustand hervorgerufen wird. Insgesamt wird somit die Sicherheit des Fahrzeugs im Betrieb erhöht. The tester device can thus prevent a control unit from being put back into operation, which causes an inconsistent state. Overall, the safety of the vehicle during operation is increased.

Die Aufgabe wird ferner gelöst durch ein Fahrzeug nach Anspruch 11. The object is further achieved by a vehicle according to claim 11.

Insbesondere wird die Aufgabe gelöst durch ein Fahrzeug umfassend eine Vielzahl von Steuergeräten, wie vorstehend beschrieben, wobei ein mit der Vielzahl von Steuergeräten kommunikativ verbundenes Gateway vorgesehen ist, das dazu ausgebildet ist, Aktualisierungsdaten von einer Testereinrichtung zu empfangen und an die Vielzahl der Steuergeräte zu senden. In particular, the object is achieved by a vehicle comprising a plurality of control devices, as described above, wherein a gateway communicatively connected to the plurality of control devices is provided, which is designed to receive update data from a tester device and to send it to the plurality of control devices .

Ein Fahrzeug kann somit eine Vielzahl von Steuergeräten aufweisen, wobei das Gateway die Aktualisierungsdaten von der Testereinrichtung an die zu A vehicle can thus have a large number of control units, the gateway sending the update data from the tester device to the

aktualisierenden Steuergeräte sendet. Es wird somit möglich gemacht, auf einfache Art eine Vielzahl von Steuergeräten auf einmal zu aktualisieren. Ferner treten die Vorteilte, die hinsichtlich der Aktualisierung des Steuergeräts sends updating control units. This makes it possible to easily update a large number of control units at once. Furthermore, there are the advantages of upgrading the control unit

beschrieben wurden, vervielfacht auf. Die Gesamtbeanspruchung der have been described, multiplied on. The total stress of the

Fahrzeugressourcen bei einem Aktualisieren von Programmdaten von Vehicle resources when updating program data from

Steuergeräten wird somit drastisch reduziert. Die Aufgabe wird ferner gelöst durch ein Verfahren nach Anspruch 11. Control units are thus drastically reduced. The object is further achieved by a method according to claim 11.

Insbesondere wird die Aufgabe gelöst durch ein Verfahren zum Aktualisieren eines Steuergeräts, folgende Schritte aufweisend : a) Ausführen von ersten Programmdaten durch ein Steuergerät, die auf einem ersten logischen Datenträger gespeichert sind; b) Empfangen von Aktualisierungsdaten; In particular, the object is achieved by a method for updating a control device, comprising the following steps: a) execution of first program data by a control device, which are stored on a first logical data carrier; b) receiving update data;

c) Aktualisieren von zweiten Programmdaten unter Verwendung der Aktualisierungsdaten, wobei die zweiten Programmdaten auf einem zweiten logischen Datenträger gespeichert sind;  c) updating second program data using the update data, the second program data being stored on a second logical data carrier;

d) Ausführen der aktualisierten zweiten Programmdaten auf dem  d) executing the updated second program data on the

zweiten logischen Datenträger durch das Steuergerät.  second logical data carrier by the control unit.

In einer Ausführungsform kann das Verfahren ein Kopieren zumindest einer Teilmenge der zweiten Programmdaten auf den ersten logischen Datenträger umfassen. In one embodiment, the method can include copying at least a subset of the second program data onto the first logical data carrier.

Es ergeben sich ähnliche oder identische Vorteile, wie sie bereits im Hinblick auf das Steuergerät beschrieben sind. In einer Ausführungsform des Verfahrens, des Steuergeräts, des Fahrzeugs und des Kits kann der erste logische Datenträger als Hauptdatenträger gekennzeichnet sein und der zweite logische Datenträger kann als Spiegeldatenträger gekennzeichnet sein, wobei das Ausführen der There are similar or identical advantages as already described with regard to the control unit. In one embodiment of the method, the control device, the vehicle and the kit, the first logical data carrier can be identified as the main data carrier and the second logical data carrier can be identified as the mirror data carrier, the execution of the

aktualisierten zweiten Programmdaten eine Kennzeichnung des ersten logischen Datenträgers als Spiegeldatenträger und des zweiten logischen Datenträgers als Hauptdatenträger umfasst. updated second program data includes an identification of the first logical data carrier as a mirror data carrier and the second logical data carrier as the main data carrier.

Durch das Vertauschen der Datenträgerzuordnungen kann auf eine sehr einfache Art und Weise das Steuergerät dazu angewiesen werden, die aktualisierten zweiten Programmdaten auszuführen. Zum Beispiel kann eine Recheneinrichtung dazu ausgebildet sein, immer die Programmdaten des Hauptdatenträgers auszuführen. Durch ein Kennzeichnen des zweiten logischen Datenträgers als Hauptdatenträger kann auf einfach Weise sichergestellt werden, dass nach einer Aktualisierung die aktualisierten zweiten Programmdaten ausgeführt werden. Ein aufwändiges Kopieren der aktualisierten Programmdaten entfällt zunächst. In einer Ausführungsform kann jedoch auch nach dem Kennzeichnen des neuen Hauptdatenträgers ein Kopieren der Aktualisierung von dem zweiten logischen Datenträger auf den ersten logischen Datenträger vorgesehen sein. By swapping the data carrier assignments, the control device can be instructed in a very simple manner to execute the updated second program data. For example, a computing device can be designed to always execute the program data of the main data carrier. By identifying the second logical data carrier as the main data carrier, it can be easily ensured that the updated second program data are executed after an update. There is no need for time-consuming copying of the updated program data. In one embodiment, however, the new one can also be identified Main data carrier copying the update from the second logical data carrier to the first logical data carrier can be provided.

In einer Ausführungsform des Verfahrens kann das Verfahren umfassen : dl) Ermitteln mindestens eines Kennwerts, der durch die aktualisierten zweiten Programmdaten angeben ist; In one embodiment of the method, the method can include: dl) determining at least one characteristic value that is specified by the updated second program data;

d2) Vergleichen des Kennwerts mit einem Referenzwert;  d2) comparing the characteristic value with a reference value;

d3) Abbrechen des Verfahrens, wenn der Referenzwert von dem  d3) canceling the procedure if the reference value of the

ermittelten Kennwert abweicht.  determined characteristic value deviates.

Es ergeben sich ähnliche oder identische Vorteile, wie sie bereits hinsichtlich der entsprechenden Ausführungsform des Steuergeräts beschrieben wurden. There are similar or identical advantages as have already been described with regard to the corresponding embodiment of the control device.

Die Aufgabe wird ferner gelöst durch ein computerlesbares Speichermedium, welches Instruktionen enthält, ein Verfahren wie es vorstehend beschrieben wurde zu implementieren, wenn die Instruktionen durch mindestens einen The object is further achieved by a computer-readable storage medium which contains instructions for implementing a method as described above if the instructions are provided by at least one

Prozessor ausgeführt werden. Processor are running.

Es ergeben sich ähnliche oder identische Vorteile, wie sie bereits im Hinblick auf das Steuergerät und das Verfahren beschrieben wurden. There are similar or identical advantages as have already been described with regard to the control unit and the method.

Weitere Ausführungsformen ergeben sich aus den Unteransprüchen. Further embodiments result from the subclaims.

Im Folgenden wird die Erfindung anhand von Figuren näher erläutert. Dabei zeigen: The invention is explained in more detail below with reference to figures. Show:

Fig. 1 eine schematische Darstellung eines Fahrzeugs mit einem Tester und einer Vielzahl von Steuergeräten; Figure 1 is a schematic representation of a vehicle with a tester and a plurality of control units.

Fig. 2 eine schematische Darstellung eines Steuergeräts; Fig. 2 is a schematic representation of a control unit;

Fig. 3 eine schematische Darstellung einer Speichereinrichtung mit zwei logischen Datenträgern; 3 shows a schematic illustration of a storage device with two logical data carriers;

Fig. 4 die Speichereinrichtung der Fig. 3 nach dem Aktualisierungsvorgang; Fig. 4 shows the memory device of Fig. 3 after the update process;

Fig. 5 die Speichereinrichtung nach einem Kopiervorgang; Fig. 6 ein Flussdiagramm, das schematisch den Ablauf der Aktualisierung darstellt. 5 shows the storage device after a copying process; Fig. 6 is a flowchart schematically illustrating the process of the update.

Im Folgenden werden für gleiche oder gleichwirkende Teile dieselben The following are the same for the same or equivalent parts

Bezugsziffern verwendet. Reference numbers used.

Fig. 1 zeigt Fahrzeug 10 mit einer Vielzahl von Steuergeräten 20, 20', 20". 1 shows vehicle 10 with a large number of control units 20, 20 ', 20 ".

Bei dem Steuergerät 20 handelt es sich um eine Vorrichtung, welche zur  The control unit 20 is a device which is used for

Steuerung von Scheibenwischern eingesetzt wird. Bei dem Steuergerät 20' handelt es sich um eine Vorrichtung, welche zum automatischen Einschalten des Frontlichts verwendet wird. Das Steuergerät 20" ist eine Vorrichtung, welche zur Steuerung eines Temperatursensors eingesetzt wird. Die Steuergeräte 20, 20',Control of wipers is used. The control unit 20 'is a device which is used for automatically switching on the front light. The control unit 20 "is a device which is used to control a temperature sensor. The control units 20, 20 ',

20" sind über entsprechende BUS-Verbindungen 23, 23', 23" mit einem zentralen Gateway 12 kommunikativ verbunden. Bei dem zentralen Gateway 12 handelt es sich um eine Vorrichtung, die eine Kommunikation der Steuergeräte 20, 20', 20" untereinander erlaubt, obwohl sie womöglich über unterschiedliche BUS-Systeme 23, 23', 23" angeschlossen sind. 20 "are communicatively connected to a central gateway 12 via corresponding BUS connections 23, 23 ', 23". The central gateway 12 is a device which allows the control devices 20, 20 ', 20 "to communicate with one another, although they may be connected via different BUS systems 23, 23', 23".

Als BUS-Systeme kommen u.a. in Betracht ein CAN-BUS, ein Ethernet-Netz oder auch ein LIN-BUS. The BUS systems include a CAN bus, an Ethernet network or a LIN bus.

Das zentrale Gateway 12 ist mittels einer Ethernet-Verbindung 13 kommunikativ mit einem Onboard-Diagnoseanschluss 11 (OBD-Anschluss) verbunden. Über den OBD-Anschluss 11 kann ein Tester 1 angeschlossen werden. The central gateway 12 is communicatively connected to an onboard diagnostic connector 11 (OBD connector) by means of an Ethernet connection 13. A tester 1 can be connected via the OBD connection 11.

Der Tester 1 ist eine Vorrichtung, die von Werkstattpersonal eingesetzt werden kann und üblicherweise ein Teil einer OBD-Diagnosevorrichtung ist. Der Tester 1 umfasst eine Tester-Speichereinrichtung und eine Tester-Recheneinrichtung. Zur Kommunikation ist eine Tester-Kommunikationseinrichtung vorgesehen, die eine Kommunikation mit der OBD-Schnittstelle 11 des Fahrzeugs 10 ermöglicht. In der Tester-Speichereinrichtung sind Aktualisierungsdaten gespeichert, die zur Tester 1 is a device that can be used by workshop personnel and is usually part of an OBD diagnostic device. The tester 1 comprises a tester storage device and a tester computing device. A tester communication device is provided for communication, which enables communication with the OBD interface 11 of the vehicle 10. Update data are stored in the tester storage device

Aktualisierung von Steuergeräten 20, 20', 20" vorgesehen sind. Der Tester 1 kann die Aktualisierungsdaten von einem Server aus dem Internet herunterladen. Update of control devices 20, 20 ', 20 "are provided. The tester 1 can download the update data from a server from the Internet.

Hierzu kann der Tester 1 eine Mobilfunkschnittstelle oder eine WLAN-Schnittstelle aufweisen. In einem Ausführungsbeispiel empfängt der Tester 1 über die Tester- Kommunikationseinrichtung eine Fahrzeugkennung und eine Liste der installierten Steuergeräte 20, 20', 20" sowie der darauf installierten Programme. Unter Verwendung dieser Informationen kann der Tester 1 von einem Server abfragen, ob Aktualisierungen für die Steuergeräte 20, 20', 20" vorliegen, die For this purpose, the tester 1 can have a mobile radio interface or a WLAN interface. In one embodiment, the tester 1 receives a vehicle identification and a list of the installed ones via the tester communication device Control units 20, 20 ', 20 "and the programs installed thereon. Using this information, tester 1 can query a server whether there are updates for control units 20, 20', 20" that

entsprechenden Daten als Aktualisierungsdaten herunterladen und für das Download the relevant data as update data and for the

Fahrzeug 10 bereitstellen. Prepare vehicle 10.

Zum Aktualisieren der auf einem Steuergerät 20, 20', 20" gespeicherten To update the data stored on a control unit 20, 20 ', 20 "

Programme kann der Tester 1 Aktualisierungsdaten 3 über eine OBD-VerbindungPrograms can tester 1 update data 3 via an OBD connection

2 über das zentrale Gateway 12 an das zu aktualisierende Steuergerät 20, 20',2 via the central gateway 12 to the control unit 20, 20 'to be updated,

20" senden. Bei den Aktualisierungsdaten 3 kann es sich um einzelne Programme handeln oder auch um einzelne Dateien. Dies ist insbesondere dann vorteilhaft, wenn die Steuergeräte 20, 20', 20" als dateibasierte Steuergeräte ausgebildet sind. Das bedeutet, dass auf den Steuergeräten 20, 20', 20" ein Dateisystem vorhanden ist. Dateisysteme können zum Beispiel ext2, ext3, ext3, Btrfs, FAT, FAT32, VFAT, NTFS, HFS, HFS+ oder entsprechende Derivate sein. Zusätzlich zu dem Dateisystem und dem auszuführenden Programm umfassen die Steuergeräte 20, 20', 20" üblicherweise ein Betriebssystem. Vorzugsweise können auf den Steuergeräten 20, 20', 20" Linux-basierte Betriebssysteme eingesetzt werden. 20 ". The update data 3 can be individual programs or also individual files. This is particularly advantageous if the control units 20, 20 ', 20" are designed as file-based control units. This means that a file system is present on the control units 20, 20 ', 20 ". File systems can be, for example, ext2, ext3, ext3, Btrfs, FAT, FAT32, VFAT, NTFS, HFS, HFS + or corresponding derivatives. In addition to that The file system and the program to be executed usually comprise the control devices 20, 20 ', 20 "an operating system. Linux-based operating systems can preferably be used on the control devices 20, 20 ', 20 ".

Die Fig. 2 zeigt eine schematische Darstellung eines Steuergeräts 20. Das Fig. 2 shows a schematic representation of a control unit 20. Das

Steuergerät 20 umfasst eine Steuergerät-Kommunikationseinrichtung 21, eine Steuergerät-Recheneinrichtung 22 und eine Steuergerät-Speichereinrichtung 30. Die Steuergerät-Kommunikationseinrichtung 21 kann als eine BUS- Kommunikationseinrichtung ausgebildet sein. Das bedeutet, dass das Steuergerät 20 an einen Fahrzeug-BUS angeschlossen sein kann. Über die Steuergerät- Kommunikationseinrichtung 21 empfängt das Steuergerät 20 Aktualisierungsdaten 3. Die Aktualisierungsdaten 3 werden anschließend von der Steuergerät- Recheneinrichtung 22 verarbeitet. Insbesondere werden die AktualisierungsdatenControl device 20 comprises a control device communication device 21, a control device computing device 22 and a control device storage device 30. The control device communication device 21 can be designed as a BUS communication device. This means that the control unit 20 can be connected to a vehicle bus. The control device 20 receives update data 3 via the control device communication device 21. The update data 3 are then processed by the control device computing device 22. In particular, the update data

3 dafür genutzt, die Daten bzw. Programmdaten, welche in der Steuergerät- Speichereinrichtung 30 gespeichert sind, zu aktualisieren. 3 used to update the data or program data which are stored in the control unit storage device 30.

Fig. 3 zeigt die Steuergerät-Speichereinrichtung 30 in einer schematischen 3 shows the control unit storage device 30 in a schematic

Darstellung. Die Steuergerät-Speichereinrichtung 30 umfasst einen Bootloader 33, sowie einen ersten logischen Datenträger 31 und einen zweiten logischen Presentation. The control unit storage device 30 comprises a boot loader 33, as well as a first logical data carrier 31 and a second logical one

Datenträger 32. Der erste logische Datenträger 31 bezeichnet eine sog. Main- bzw. Hauptpartition. Der zweite logische Datenträger 32 bezeichnet eine sog. Spiegel- bzw. Mirror-Partition. Auf der Hauptpartition 31 sowie auf der Data carrier 32. The first logical data carrier 31 denotes a so-called main or main partition. The second logical volume 32 denotes a so-called Mirror or mirror partition. On the main partition 31 and on the

Spiegelpartition 32 sind Programmdaten als erste Programmdaten 34 und zweite Programmdaten 35 gespeichert. Die ersten Programmdaten 34 und zweiten Programmdaten 35 sind in dem Ausführungsbeispiel der Figur 3 identisch und geben jeweils ein Programm APP2 an. Ferner sind auf dem ersten logischen Datenträger 31 und zweiten logischen Datenträger 32 jeweils ein Mirror partition 32, program data is stored as first program data 34 and second program data 35. The first program data 34 and second program data 35 are identical in the exemplary embodiment in FIG. 3 and each indicate a program APP2. Furthermore, there are in each case on the first logical data carrier 31 and second logical data carrier 32

Programmupdater APP1 und ein Betriebssystem OS gespeichert. Der Program update APP1 and an operating system OS saved. The

Programmupdater APP1 ist dazu ausgebildet, Programme zu aktualisieren. Der Bootloader 33 hat die Funktion, das Betriebssystem OS der Main-Partition 31 zu starten, wenn das Steuergerät 20, 20', 20" eingeschaltet wird. Program update APP1 is trained to update programs. The boot loader 33 has the function of starting the operating system OS of the main partition 31 when the control unit 20, 20 ', 20 "is switched on.

Während des Betriebes werden die ersten Programmdaten 34 durch die During operation, the first program data 34 are saved by the

Steuergerät-Recheneinrichtung 22 ausgeführt. Die Steuergerät-Recheneinrichtung 22 ist dazu ausgebildet immer die Programmdaten, die auf der Hauptpartition gespeichert sind, auszuführen. Die zweiten Programmdaten 35 der Control unit computing device 22 executed. The control unit computing device 22 is designed to always execute the program data that is stored on the main partition. The second program data 35 the

Spiegelpartition dienen als Sicherung. Mirror partition serve as a backup.

Zum Aktualisieren eines Steuergeräts 20, 20', 20" wird zunächst der zweite logische Datenträger 32 aktualisiert und anschließend werden die aktualisierten Daten, die in dem zweiten logischen Datenträger 32 gespeichert sind auf den ersten logischen Datenträger kopiert. To update a control device 20, 20 ′, 20 ″, the second logical data carrier 32 is first updated and then the updated data which are stored in the second logical data carrier 32 are copied to the first logical data carrier.

Für die Aktualisierung der gespeicherten Programme und Daten ist der For updating the stored programs and data is the

Programmupdater APP1 zuständig. Wie in Fig. 4 gezeigt, veranlasst der Program update APP1 responsible. As shown in Fig. 4, the

Programmupdater APP1, dass Aktualisierungsdaten 3 zunächst in dem zweiten logischen Datenträger 32 gespeichert werden. In dem Beispiel der Fig. 4 sind die Aktualisierungsdaten 3 durch ein zusätzliches Programm APP3 dargestellt. Es wird also ein zusätzliches Programm auf dem Steuergerät 20 installiert. Alternativ kann ein bestehendes Programm ersetzt werden, wobei das Ersetzen eines Programms einem Aktualisieren gleichsteht. Auch das Löschen mindestens eines Programms kann ein Aktualisieren der zweiten Programmdaten 35 darstellen. Program update APP1 that update data 3 are initially stored in the second logical data carrier 32. In the example of FIG. 4, the update data 3 are represented by an additional program APP3. An additional program is therefore installed on the control unit 20. Alternatively, an existing program can be replaced, whereby the replacement of a program is equivalent to an update. Deleting at least one program can also represent an update of the second program data 35.

Nachdem die zweiten Programmdaten 35 des zweiten logischen Datenträgers 32 aktualisiert sind, wird die Kennzeichnung des ersten logischen Datenträgers 31 und des zweiten logischen Datenträgers 32 getauscht. Das bedeutet, dass nach dem Aktualisieren der zweite logische Datenträger 32 als Haupt- bzw. Main- Partition bezeichnet wird und der erste logische Datenträger 31 als Spiegel- bzw. Mirror-Partition. Somit führt die Steuergerät-Recheneinrichtung 22 unmittelbar nach dem Aktualisieren die zweiten Programmdaten 35 zusammen mit den After the second program data 35 of the second logical data carrier 32 is updated, the identification of the first logical data carrier 31 and the second logical data carrier 32 is exchanged. This means that after the update, the second logical volume 32 as the main Partition is referred to and the first logical volume 31 as a mirror or mirror partition. Thus, the control unit computing device 22 immediately after updating the second program data 35 together with the

Aktualisierungsdaten 3 aus. Das aktualisierte Steuergerät 20, 20', 20" kann unmittelbar nach dem Aktualisieren seinen Betrieb fortsetzen. Update data 3 off. The updated control device 20, 20 ', 20 "can continue its operation immediately after the update.

Die Fig. 5 illustriert, dass nach einem erfolgreichen Aktualisieren der zweiten Programmdaten 35 des zweiten logischen Datenträgers 32 und einem FIG. 5 illustrates that after a successful update of the second program data 35 of the second logical data carrier 32 and one

Vertauschen der Kennzeichnung des ersten logischen Datenträgers 31 und des zweiten logischen Datenträgers 32, die Programmdaten bzw. Dateien oder Daten des zweiten logischen Datenträgers 32 auf den ersten logischen Datenträger 31 gespiegelt bzw. kopiert werden. Somit enthalten die Hauptpartition und die Spiegelpartition dieselben Programmdaten 34, 35. Dabei müssen nicht sämtliche Programmdaten kopiert werden, sondern es reicht aus, wenn die geänderten bzw. aktualisierten Daten kopiert werden. Es wird also ein inkrementeiles Update der Programmdaten ausgeführt, wobei im Anschluss lediglich die Änderungen auf den ersten logischen Datenträger kopiert bzw. gespiegelt werden müssen. Somit werden insgesamt wenig Daten kopiert. Exchanging the identification of the first logical data carrier 31 and the second logical data carrier 32, the program data or files or data of the second logical data carrier 32 are mirrored or copied onto the first logical data carrier 31. Thus, the main partition and the mirror partition contain the same program data 34, 35. It is not necessary to copy all the program data, but it is sufficient if the changed or updated data is copied. An incremental update of the program data is thus carried out, after which only the changes have to be copied or mirrored onto the first logical data carrier. As a result, little data is copied overall.

Die Fig. 6 zeigt noch einmal den vollständigen Prozess, um ein Steuergerät 20 zu aktualisieren. 6 shows the complete process again in order to update a control device 20.

Im Schritt S1 schließt ein Werkstattmitarbeiter einen Tester 1 mittels einer OBD- Verbindung 2 an einen entsprechenden OBD-Anschluss 11 an ein Fahrzeug 10 an. In step S1, a workshop employee connects a tester 1 to a corresponding OBD connection 11 to a vehicle 10 by means of an OBD connection 2.

Im Schritt S2 wird ein Aktualisierungssignal von dem Tester 1 an die In step S2, an update signal is sent from the tester 1 to the

angeschlossenen Steuergeräte 20, 20', 20" gesendet, das eine anstehende connected control units 20, 20 ', 20 ", which is pending

Aktualisierung der Software initiiert. Die einzelnen Steuergeräte 20, 20', 20" können gezielt auf ein solches Aktualisierungssignal warten und den Software update initiated. The individual control units 20, 20 ', 20 "can specifically wait for such an update signal and the

angeschlossenen BUS 23, 23', 23" entsprechend abhören. Der Tester 1 kann hierzu ein Broadcastsignal aussenden, das von sämtlichen angeschlossenen Steuergeräten 20, 20', 20" empfangen wird. listen to connected BUS 23, 23 ', 23 "accordingly. For this purpose, tester 1 can send out a broadcast signal which is received by all connected control devices 20, 20', 20".

In Reaktion auf das Empfangen des Aktualisierungssignals schalten die In response to receiving the update signal, the

Steuergeräte 20, 20', 20" in einen sog. Flashmodus. In dem Flashmodus, auch Aktualisierungsmodus genannt, blockieren die Steuergeräte 20, 20', 20" ihre eigentlichen Steueraufgaben. Control devices 20, 20 ', 20 "in a so-called flash mode. In the flash mode, too Called update mode, the control units 20, 20 ', 20 "block their actual control tasks.

Im Schritt S3 liest der Tester 1 die auf den Steuergeräten 20, 20', 20" In step S3, the tester 1 reads the data on the control units 20, 20 ', 20 "

installierten Programmdaten aus. Somit enthält der Tester 1 eine vollständige Liste aller Programme und Daten, die auf den Steuergeräten 20, 20', 20" des Fahrzeugs 10 installiert sind. Darüber hinaus erhält der Tester 1 auch installed program data. The tester 1 thus contains a complete list of all programs and data that are installed on the control units 20, 20 ′, 20 ″ of the vehicle 10. In addition, the tester 1 also receives

Informationen darüber, in welcher Version die Programme installiert sind. Information about the version in which the programs are installed.

Im Schritt S4 ermittelt der Tester 1 welche Programmdaten bzw. welche In step S4, tester 1 determines which program data or which

Programme oder Daten aktualisiert werden müssen, damit das Fahrzeug 10 nach der Aktualisierung eines einzelnen Steuergeräts 20 wieder einen konsistenten Fahrzeugzustand aufweist. Dies ist insbesondere deswegen notwendig, da Programs or data must be updated so that the vehicle 10 again has a consistent vehicle state after the update of a single control device 20. This is particularly necessary because

Fahrzeuge in unterschiedlichen Softwarekonfigurationen getestet werden, sodass eine bestimmte Kombination von Softwareversionen im Fahrzeug installiert sein muss. Andernfalls kann für die Sicherheit einer Softwarekonfiguration, d.h. die Kombination einer Vielzahl unterschiedlicher Softwareversionen, nicht garantiert werden. Vehicles are tested in different software configurations, so that a certain combination of software versions must be installed in the vehicle. Otherwise, for the security of a software configuration, i.e. the combination of a variety of different software versions are not guaranteed.

Nachdem der Tester 1 ermittelt hat, welche Programmdaten bzw. welche After the tester 1 has determined which program data or which

Programme und Daten auf welchen Steuergeräten 20, 20', 20" aktualisiert werden müssen, sendet der Tester 1 im Schritt S5 ein entsprechendes Signal an die zu aktualisierenden Steuergeräte 20, 20', 20". Programs and data on which control units 20, 20 ', 20 "need to be updated, the tester 1 sends a corresponding signal to the control units 20, 20', 20" to be updated in step S5.

In Reaktion auf das empfangene Signal durch die Steuergeräte 20, 20', 20", beenden die Steuergeräte 20, 20', 20" ihre laufenden Programme. In response to the received signal by the control units 20, 20 ', 20 ", the control units 20, 20', 20" end their current programs.

Im Schritt S6 wird auf jedem Steuergerät 20, 20', 20", für welches eine In step S6 on each control unit 20, 20 ', 20 ", for which one

Softwareaktualisierung vorgesehen ist, ein entsprechender Programmupdater APP1 gestartet. Software update is provided, a corresponding program update APP1 started.

Im Schritt S7 wird ein entsprechendes Programm durch den Programmupdater APP1 ausgetauscht, hinzugefügt oder gelöscht. Ebenso können Nutzdaten, wie z. B. Kartenmaterial oder Konfigurationsparameter ausgetauscht werden. Zur Verifikation, dass die Aktualisierung erfolgreich war, wird eine Prüfsumme über das neu installierte Programm bzw. die Programmdaten berechnet, z. B. eine MD5-Checksumme. Im Schritt S7 wird anschließend geprüft, ob das Aktualisieren erfolgreich durchgeführt wurde. Dazu wird die berechnete Prüfsumme bzw. der Hash von dem Tester 1 mit einem Referenzwert verglichen. Alternativ kann der Tester 1 den Referenzwert an das aktualisierte Steuergerät 20, 20', 20" senden, sodass das Steuergerät 20, 20', 20" selbst überprüfen kann, ob die Aktualisierung erfolgreich ausgeführt wurde. In step S7, a corresponding program is exchanged, added or deleted by the program update APP1. Likewise, user data such. B. card material or configuration parameters can be exchanged. To verify that the update was successful, a checksum is calculated for the newly installed program or program data, e.g. Legs MD5 checksum. In step S7 it is then checked whether the update was carried out successfully. For this purpose, the calculated checksum or the hash is compared by the tester 1 with a reference value. Alternatively, the tester 1 can send the reference value to the updated control device 20, 20 ', 20 ", so that the control device 20, 20', 20" can check itself whether the update was carried out successfully.

Im Schritt S8 wird durch den Tester 1 geprüft, ob sämtliche Steuergeräte 20, 20', 20" Software gespeichert haben, die zusammen einen konsistenten In step S8, the tester 1 checks whether all control units 20, 20 ', 20 "have stored software which together have a consistent one

Fahrzeugzustand angeben. Zusätzlich kann für jedes einzelne Steuergerät 20, 20', 20" geprüft werden, ob ein konsistenter Steuergerätezustand vorliegt. State vehicle condition. In addition, it can be checked for each individual control device 20, 20 ', 20 "whether there is a consistent control device status.

Im Schritt S9 wird die bisherige Spiegelpartition als Hauptpartition In step S9, the previous mirror partition becomes the main partition

gekennzeichnet. Die bisherige Hauptpartition wird wiederum als neue featured. The previous main partition is again new

Spiegelpartition gekennzeichnet. Labeled mirror partition.

Im Schritt S10 wird der Inhalt der neuen Hauptpartition auf die Spiegelpartition überspielt, d.h. gespiegelt. Dabei werden jedoch nur die geänderten In step S10, the content of the new main partition is transferred to the mirror partition, i.e. mirrored. However, only the changed ones are used

Applikationen bzw. die geänderten Programmdaten gespiegelt bzw. kopiert. Applications or the changed program data mirrored or copied.

Im Schritt Si l wird der Programmupdater APP2 beendet und das Fahrzeug 10 wird in einen Grundzustand geschaltet. In step Si 1, the program update APP2 is ended and the vehicle 10 is switched to a basic state.

Im letzten Schritt S12 wird durch den Tester 1 ein weiteres Signal an alle angeschlossenen Steuergeräte 20, 20', 20" gesendet, sodass die Programme auf den Steuergeräten 20, 20', 20" gestartet werden. In the last step S12, the tester 1 sends a further signal to all connected control units 20, 20 ', 20 ", so that the programs on the control units 20, 20', 20" are started.

Bezugszeichenliste Reference symbol list

1 Tester bzw. Testereinrichtung 1 tester or tester facility

2 OBD-Verbindung  2 OBD connection

3 Aktualisierungsdaten  3 update dates

10 Fahrzeug  10 vehicle

11 OBD-Anschluss  11 OBD connector

12 zentrales Gateway 13 Ethernet 12 central gateway 13 Ethernet

20, 20', 20" Steuergerät  20, 20 ', 20 "control unit

21 BUS-Anschluss/Steuergerät-Kommunikationseinrichtung 21 BUS connection / control unit communication device

22 Steuergerät-Recheneinrichtung 22 control unit computing device

23, 23', 23" BUS  23, 23 ', 23 "BUS

30 Steuergerät-Speichereinrichtung  30 control unit memory device

31 erster logischer Datenträger  31 first logical volume

32 zweiter logischer Datenträger  32 second logical volume

33 Bootloader/Startprogramm  33 Boot loader / start program

34 erste Programmdaten  34 first program data

35 zweite Programmdaten  35 second program data

S1-S12 Schritte  S1-S12 steps

OS Betriebssystem  OS operating system

APP1 Programmupdater  APP1 program update

APP2, APP3 Programme  APP2, APP3 programs

Claims

Ansprüche Expectations 1. Steuergerät (20) für eine Fahrzeugkomponente, insbesondere für eine  1. Control device (20) for a vehicle component, in particular for a Fahrzeugkomponente eines PKWs (10), folgendes aufweisend:  Vehicle component of a car (10), comprising the following: - eine Speichereinrichtung (30) zur Speicherung eines  - A storage device (30) for storing a Programmupdaters (APP1), eines ersten logischen Datenträgers (31) und eines zweiten logischen Datenträgers (32);  Program updateser (APP1), a first logical data carrier (31) and a second logical data carrier (32); - eine Recheneinrichtung (22) zum Ausführen des  - A computing device (22) for executing the Programmupdaters (APP1) und von ersten Programmdaten (34), die auf dem ersten logischen Datenträger (31) gespeichert sind;  Program updates (APP1) and first program data (34) stored on the first logical data carrier (31); dadurch gekennzeichnet, dass  characterized in that - der Programmupdater (APP1) dazu ausgebildet ist, zweite  - The program update (APP1) is trained to second Programmdaten (34) des zweiten logischen Datenträgers (32) unter Verwendung von Aktualisierungsdaten (3) zu aktualisieren; und  Update program data (34) of the second logical data carrier (32) using update data (3); and - die Recheneinrichtung (22) dazu ausgebildet ist, die aktualisierten  - The computing device (22) is designed to update the zweiten Programmdaten (35) des zweiten logischen Datenträgers (32) auszuführen.  to execute second program data (35) of the second logical data carrier (32). 2. Steuergerät (20) nach Anspruch 1, 2. Control device (20) according to claim 1, dadurch gekennzeichnet, dass  characterized in that die Recheneinrichtung (22) dazu ausgebildet ist, zumindest eine Teilmenge der zweiten Programmdaten (35) auf den ersten logischen Datenträger (31) zu kopieren, insbesondere die aktualisierten zweiten Programmdaten (35) zu kopieren.  the computing device (22) is designed to copy at least a subset of the second program data (35) to the first logical data carrier (31), in particular to copy the updated second program data (35). 3. Steuergerät (20) nach einem der vorhergehenden Ansprüche, 3. Control device (20) according to one of the preceding claims, gekennzeichnet durch  marked by eine Kommunikationseinrichtung (21) zum Empfangen eines  a communication device (21) for receiving a Aktualisierungssignals, wobei der Programmupdater (APP1) dazu ausgebildet ist, das Aktualisieren der zweiten Programmdaten (32) in Reaktion auf den Empfang des Aktualisierungssignals auszuführen.  Update signal, wherein the program updater (APP1) is designed to carry out the updating of the second program data (32) in response to the receipt of the update signal. 4. Steuergerät (20) nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 3, 4. Control device (20) according to one of the preceding claims, in particular according to claim 3, dadurch gekennzeichnet, dass der Programmupdater (APP1) dazu ausgebildet ist, eine Ausführung der ersten Programmdaten (34) in Reaktion auf ein/das Empfangen des Aktualisierungssignals zu unterbrechen. characterized in that the program updater (APP1) is designed to interrupt execution of the first program data (34) in response to / the receipt of the update signal. 5. Steuergerät (20) nach einem der vorhergehenden Ansprüche, 5. Control device (20) according to one of the preceding claims, dadurch gekennzeichnet, dass  characterized in that das Aktualisieren ein Austauschen eines auf dem zweiten logischen  updating one swapping one on the second logical Datenträger gespeicherten Programms mit einem Austauschprogramm umfasst.  Disk stored program includes an exchange program. 6. Steuergerät (20) nach einem der vorhergehenden Ansprüche, 6. Control device (20) according to one of the preceding claims, dadurch gekennzeichnet, dass  characterized in that das Aktualisieren ein Berechnen einer Prüfsumme, insbesondere eines Hash-Wertes, über die zweiten Programmdaten (35) umfasst.  the update comprises calculating a checksum, in particular a hash value, via the second program data (35). 7. Steuergerät (20) nach einem der vorhergehenden Ansprüche, insbesondere nach Anspruch 4, 7. Control device (20) according to one of the preceding claims, in particular according to claim 4, dadurch gekennzeichnet, dass  characterized in that das Aktualisieren ein Vergleichen der berechneten Prüfsumme mit einer Referenzprüfsumme umfasst, wobei die Recheneinrichtung dazu  the updating comprises comparing the calculated checksum with a reference checksum, the computing device for this purpose ausgebildet ist, die zweiten Programmdaten nur dann auszuführen, wenn die berechnete Prüfsumme und die Referenzprüfsumme identisch sind.  is designed to execute the second program data only when the calculated checksum and the reference checksum are identical. 8. Steuergerät (20) nach einem der vorhergehenden Ansprüche, 8. Control device (20) according to one of the preceding claims, dadurch gekennzeichnet, dass  characterized in that die Aktualisierungsdaten (3) ein Betriebssystem (OS, OS') angeben.  the update data (3) indicate an operating system (OS, OS '). 9. Steuergerät (20) nach einem der vorhergehenden Ansprüche, 9. Control device (20) according to one of the preceding claims, dadurch gekennzeichnet, dass  characterized in that die Recheneinrichtung (22) dazu ausgebildet ist, das Steuergerät (20) in einen Aktualisierungsmodus zu schalten.  the computing device (22) is designed to switch the control device (20) into an update mode. 10. Kit umfassend ein Steuergerät (20) nach einem der vorhergehenden 10. Kit comprising a control device (20) according to one of the preceding Ansprüche und eine Testereinrichtung (1), wobei das Steuergerät (20) eine Kommunikationseinrichtung (21) aufweist und die Testereinrichtung (1) dazu ausgebildet ist, Aktualisierungsdaten (3) über die Claims and a tester device (1), the control device (20) having a communication device (21) and the tester device (1) is designed to update data (3) on the Kommunikationseinrichtung (21) an das Steuergerät (20) zu senden.  Send communication device (21) to the control unit (20). 11. Kit nach Anspruch 10, 11. Kit according to claim 10, dadurch gekennzeichnet, dass  characterized in that die Testereinrichtung (1) dazu ausgebildet ist, zu prüfen, ob der zweite logische Datenträger (32) einen konsistenten Zustand des Fahrzeugs (10) und/oder des Steuergeräts (20, 20', 20") angibt, insbesondere nachdem eine Aktualisierung ausgeführt ist.  the tester device (1) is designed to check whether the second logical data carrier (32) indicates a consistent state of the vehicle (10) and / or the control device (20, 20 ', 20 "), in particular after an update has been carried out . 12. Fahrzeug (10) umfassend eine Vielzahl von Steuergeräten (20, 20', 20") nach einem der Ansprüche 1 bis 9, 12. Vehicle (10) comprising a plurality of control devices (20, 20 ', 20 ") according to one of claims 1 to 9, g e ke n n ze i c h n et durch  marked by ein mit der Vielzahl von Steuergeräten (20, 20', 20") kommunikativ verbundenes Gateway (12), das dazu ausgebildet ist, Aktualisierungsdaten von einer Testereinrichtung (1) zu empfangen und an die Vielzahl der Steuergeräte (20, 20', 20") zu senden.  a gateway (12) communicatively connected to the plurality of control devices (20, 20 ', 20 "), which is designed to receive update data from a tester device (1) and to transmit it to the plurality of control devices (20, 20', 20") ) to send. 13. Verfahren zum Aktualisieren eines Steuergeräts (20), folgende Schritte aufweisend: 13. A method for updating a control device (20), comprising the following steps: e) Ausführen von ersten Programmdaten (34) durch ein  e) Execution of first program data (34) by Steuergerät (20), die auf einem ersten logischen Datenträger (31) gespeichert sind;  Control device (20), which are stored on a first logical data carrier (31); f) Empfangen von Aktualisierungsdaten (3);  f) receiving update data (3); g) Aktualisieren von zweiten Programmdaten (35) unter Verwendung der Aktualisierungsdaten (3), wobei die zweiten  g) updating second program data (35) using the update data (3), the second Programmdaten (35) auf einem zweiten logischen Datenträger (32) gespeichert sind;  Program data (35) are stored on a second logical data carrier (32); h) Ausführen der aktualisierten zweiten Programmdaten (35) auf dem zweiten logischen Datenträger (32) durch das Steuergerät (20).  h) Execution of the updated second program data (35) on the second logical data carrier (32) by the control device (20). 14. Verfahren nach Anspruch 12, 14. The method according to claim 12, gekennzeichnet durch  marked by Kopieren zumindest einer Teilmenge der zweiten Programmdaten (35) auf den ersten logischen Datenträger (31). Copying at least a subset of the second program data (35) onto the first logical data carrier (31). 15. Verfahren nach einem der Ansprüche 13 oder 14, 15. The method according to any one of claims 13 or 14, dadurch gekennzeichnet, dass  characterized in that der erste logische Datenträger (31) als Hauptdatenträger gekennzeichnet ist und der zweite logische Datenträger (32) als Spiegeldatenträger gekennzeichnet ist, wobei das Ausführen der aktualisierten zweiten Programmdaten (35) eine Kennzeichnung des ersten logischen  the first logical data carrier (31) is identified as the main data carrier and the second logical data carrier (32) is identified as the mirror data carrier, the execution of the updated second program data (35) identifying the first logical data carrier Datenträgers (31) als Spiegeldatenträger und des zweiten logischen Datenträgers als Hauptdatenträger umfasst.  Data carrier (31) as a mirror data carrier and the second logical data carrier as the main data carrier. 16. Verfahren nach Anspruch 13, 16. The method according to claim 13, g e ke n n ze i c h n et durch  marked by d4) Ermitteln mindestens eines Kennwerts, der durch die aktualisierten zweiten Programmdaten (35) angeben ist;  d4) determining at least one characteristic value which is indicated by the updated second program data (35); d5) Vergleichen des Kennwerts mit einem Referenzwert;  d5) comparing the characteristic value with a reference value; d6) Abbrechen des Verfahrens, wenn der Referenzwert von dem  d6) canceling the procedure if the reference value of the ermittelten Kennwert abweicht.  determined characteristic value deviates. 17. Computerlesbares Speichermedium, welches Instruktionen enthält, ein Verfahren nach einem der Ansprüche 12 bis 16 zu implementieren, wenn die Instruktionen durch mindestens einen Prozessor ausgeführt werden. 17. Computer-readable storage medium containing instructions to implement a method according to any one of claims 12 to 16 when the instructions are executed by at least one processor.
PCT/EP2019/076994 2018-11-12 2019-10-07 Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium Ceased WO2020099023A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018128183.8A DE102018128183A1 (en) 2018-11-12 2018-11-12 Control device for a vehicle component, kit comprising a control device and a tester device, vehicle, method for updating a control device and computer-readable storage medium
DE102018128183.8 2018-11-12

Publications (2)

Publication Number Publication Date
WO2020099023A2 true WO2020099023A2 (en) 2020-05-22
WO2020099023A3 WO2020099023A3 (en) 2020-08-13

Family

ID=68208279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/076994 Ceased WO2020099023A2 (en) 2018-11-12 2019-10-07 Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium

Country Status (2)

Country Link
DE (1) DE102018128183A1 (en)
WO (1) WO2020099023A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022207459A1 (en) 2022-07-21 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Control device for a windshield wiper system
WO2024125958A1 (en) * 2022-12-16 2024-06-20 Zf Friedrichshafen Ag Indirect over-the-air update

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102024104159B4 (en) * 2024-02-14 2025-09-11 Daimler Truck AG CAN bus system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016200711A1 (en) * 2016-01-20 2017-07-20 Robert Bosch Gmbh Method for updating software of a control unit, preferably for a motor vehicle

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022207459A1 (en) 2022-07-21 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Control device for a windshield wiper system
WO2024125958A1 (en) * 2022-12-16 2024-06-20 Zf Friedrichshafen Ag Indirect over-the-air update

Also Published As

Publication number Publication date
DE102018128183A1 (en) 2020-05-14
WO2020099023A3 (en) 2020-08-13

Similar Documents

Publication Publication Date Title
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
DE102011075776A1 (en) Method and system for updating a shared memory
DE10003108A1 (en) Recoverable software installation apparatus for a built-to-order computer system comprising an interface for connecting the computer system to a network server
WO2003003200A1 (en) Method for transmitting software modules
WO2020099023A2 (en) Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium
DE112019000179T5 (en) VEHICLE CONTROL DEVICE AND PROGRAM UPDATE SYSTEM
DE102017220526A1 (en) Method and device for updating software
DE102022110824A1 (en) OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE102022107393A1 (en) CENTER, DISTRIBUTION CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
DE102022106659A1 (en) OTA MASTER, UPDATE CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
DE102022104321A1 (en) CENTER, UPDATE MANAGEMENT PROCEDURE AND NON-TRANSITORY STORAGE MEDIA
DE102015207795A1 (en) Method and device for updating software in a means of transport
DE112020001385T5 (en) Electronic control device and method for setting control data
WO2022184407A1 (en) Method for operating a control device, and control device
WO2017125181A1 (en) Method for updating control device software, preferably for a motor vehicle
DE102022110251A1 (en) OTA MASTER, CENTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE102021129232A1 (en) CENTER, MANAGEMENT PROCEDURES AND NON-TRANSITORY STORAGE MEDIUM
DE102021128988A1 (en) CENTER, UPDATE MANAGEMENT PROCEDURE AND NON-TRANSITORY STORAGE MEDIA
WO2005022382A2 (en) Method for the installation of a program component
DE69119286T2 (en) Method and device for shadow process generation
DE102018209248A1 (en) A data update system, method for updating a record stored on a controller, and computer readable storage
DE112022005984T5 (en) UPDATE MANAGEMENT SYSTEM
DE102021207046A1 (en) Upgrading or updating a software application
DE102020216481A1 (en) Method of operating a controller and controller
DE102015214389A1 (en) Method and device for updating a virtual machine operated on a physical machine under a hypervisor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19786288

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19786288

Country of ref document: EP

Kind code of ref document: A2