DE102021208681A1 - Control unit for a motor vehicle and method for updating a control unit - Google Patents

Control unit for a motor vehicle and method for updating a control unit Download PDF

Info

Publication number
DE102021208681A1
DE102021208681A1 DE102021208681.0A DE102021208681A DE102021208681A1 DE 102021208681 A1 DE102021208681 A1 DE 102021208681A1 DE 102021208681 A DE102021208681 A DE 102021208681A DE 102021208681 A1 DE102021208681 A1 DE 102021208681A1
Authority
DE
Germany
Prior art keywords
program
programs
subprograms
control unit
processor
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.)
Pending
Application number
DE102021208681.0A
Other languages
German (de)
Inventor
Steffen Gruner
Marvin Grumprecht
Nicolas Meyrl
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.)
Volkswagen AG
Original Assignee
Volkswagen 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 Volkswagen AG filed Critical Volkswagen AG
Priority to DE102021208681.0A priority Critical patent/DE102021208681A1/en
Publication of DE102021208681A1 publication Critical patent/DE102021208681A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements

Abstract

Die Erfindung betrifft ein Steuergerät (100) für ein Kraftfahrzeug umfassend einen Prozessor (10) und einen Speicher (20). Ein Programm umfasst eine Vielzahl von Teilprogrammen (Q1, ..., Qn; S1, ..., Sm). Die Vielzahl der Teilprogramme sind jeweils in einem voneinander unabhängigen Erstellungsprozess erzeugt und diese so erzeugten Teilprogramme (Q1, ..., Qn; S1, ..., Sm) auf jeweils getrennte Speicherpartitionen (MQ1, ..., MQn; MS1, ..., MSm) des Speichers (20) zum Ausführen durch den Prozessor (10) gespeichert, so dass die Teilprogramme (Q1, ..., Qn; S1, ..., Sm) unabhängig voneinander aktualisierbar sind.
Die Erfindung betrifft ferner ein Verfahren zum Aktualisieren eines Steuergeräts (100) für ein Kraftfahrzeug und ein Verfahren zum Bereitstellen eines Steuergeräts (100) für ein Kraftfahrzeug.

Figure DE102021208681A1_0000
The invention relates to a control unit (100) for a motor vehicle, comprising a processor (10) and a memory (20). A program includes a large number of sub-programs (Q1, ..., Qn; S1, ..., Sm). The large number of subprograms are each generated in a creation process that is independent of one another, and these subprograms (Q1, ..., Qn; S1, ..., Sm) generated in this way are stored on separate memory partitions (MQ1, ..., MQn; MS1, . .., MSm) of the memory (20) for execution by the processor (10), so that the part programs (Q1, ..., Qn; S1, ..., Sm) can be updated independently of one another.
The invention also relates to a method for updating a control unit (100) for a motor vehicle and a method for providing a control unit (100) for a motor vehicle.
Figure DE102021208681A1_0000

Description

Die Erfindung betrifft ein Steuergerät, insbesondere ein sicherheitsrelevantes Steuergerät, für Kraftfahrzeuge, ein Kraftfahrzeug mit einem solchen Steuergerät sowie ein Verfahren zum Aktualisieren eines Steuergeräts. Ferner betrifft die Erfindung ein Verfahren zum Bereitstellen eines Steuergeräts für ein Kraftfahrzeug.The invention relates to a control device, in particular a safety-related control device, for motor vehicles, a motor vehicle with such a control device, and a method for updating a control device. Furthermore, the invention relates to a method for providing a control unit for a motor vehicle.

Funktionale Sicherheit spielt bei Kraftfahrzeugen eine wesentliche Rolle, um einen sicheren Betrieb des Kraftfahrzeugs zu gewährleisten. Dazu wurden Standards wie beispielsweise die ISO 26262 für elektrische Komponenten und Steuergeräte eines Kraftfahrzeugs entwickelt, um mittels besonderer Sicherheitsmaßnahmen Fehlfunktionen zu vermeiden. Dabei erfolgt eine projektbezogene Risikobewertung und auf Basis dieser Risikobewertung eine Einstufung in eine bestimmte Sicherheitsanforderungsstufe, beispielsweise nach aufsteigendem Risiko ASIL A, B, C, D und andernfalls QM, falls im letzteren Fall das Risiko als gering eingestuft wird und so das elektrische System ohne besondere Maßnahmen auskommt. Diese Einstufungen sind fallbezogen und müssen für jedes Projekt einzeln bewertet werden. Die Anforderungen hinsichtlich funktionaler Sicherheit können dabei sowohl an Hardwarekomponenten als auch an Softwarekomponenten gestellt werden.Functional safety plays an important role in motor vehicles in order to ensure safe operation of the motor vehicle. For this purpose, standards such as ISO 26262 for electrical components and control units of a motor vehicle were developed in order to avoid malfunctions by means of special safety measures. A project-related risk assessment is carried out and, on the basis of this risk assessment, a classification into a specific safety requirement level, for example according to increasing risk ASIL A, B, C, D and otherwise QM, if in the latter case the risk is classified as low and the electrical system without any special measures. These ratings are case-based and must be assessed for each project individually. The requirements with regard to functional safety can be placed on both hardware components and software components.

In Antriebskonzepten bei Steuergeräten von Kraftfahrzeugen sind Programme für die Funktionsebene und für die funktionale Sicherheitsebene in einem gemeinsamen File zusammengefasst. Das hat jedoch zur Folge, dass bei einem Update, das heißt bei einer Aktualisierung, der Funktionsanteile aufgrund der nicht gewährleisteten Querwirkungsfreiheit auch der Überwachungsanteil als geändert betrachtet werden muss, auch wenn keine Änderung im jeweiligen Anteil durch das Update geplant ist. Dadurch müssen jedoch aufwendige Freigabetests zum Nachweis der funktionalen Sicherheit in diesen Teilen des Programms wiederholt werden. Das löst enorme Kosten und Projektverzögerungen aus, da der Freigabeaufwand und Programmieraufwand deutlich ansteigt. Insbesondere ergeben sich dadurch Nachteile beim Over-the-Air-Update von Kraftfahrzeugen.In drive concepts for control devices in motor vehicles, programs for the functional level and for the functional safety level are combined in a common file. However, this has the consequence that in the case of an update, i.e. an update, of the functional parts due to the freedom from interference that cannot be guaranteed, the monitoring part must also be regarded as changed, even if no change in the respective part is planned by the update. However, this means that complex release tests to prove functional safety have to be repeated in these parts of the program. This triggers enormous costs and project delays, since the release effort and programming effort increases significantly. In particular, this results in disadvantages in the over-the-air update of motor vehicles.

In der DE 10 2013 226 872 A1 wird ein Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug beschrieben, in welchem zur Vererbung geeignete Programmteile einer sicherheitsrelevanten Funktion in einer zusätzlichen Speicherpartition gespeichert werden können, welche die Rechte eines aufrufenden Programmteiles erben können. Dadurch können sich die Programmteile unterschiedlicher Sicherheitsklassifikation während des Ablaufes nicht beeinflussen.In the DE 10 2013 226 872 A1 a method for operating a control device for a motor vehicle is described, in which program parts of a safety-relevant function suitable for inheritance can be stored in an additional memory partition, which can inherit the rights of a calling program part. As a result, the program parts with different safety classifications cannot influence each other during the process.

In der DE 10 2014 212 018 A1 wird ein Verfahren zur Vermeidung von Speicherschutzverletzungen beschrieben. Dabei werden Zugriffe eines in einem Programmspeicher gespeicherten Programms auf einen für die Zugriffe freigegebenen Datenspeicher in Abhängigkeit einer Sicherheitsanforderungsstufe des Datenspeichers und einer Sicherheitsanforderungsstufe des Programms vorgenommen.In the DE 10 2014 212 018 A1 describes a procedure for avoiding memory protection violations. In this case, a program stored in a program memory accesses a data memory released for access depending on a security requirement level of the data memory and a security requirement level of the program.

In der US 2019/0258812 A1 wird ein Gerät bereitgestellt, welches einen einzigen Speicher aufweist, welcher dynamisch partitioniert wird zur Ausführung von verschiedenen Programmfunktionen auf den Partitionen, ohne dass separate Speicher vorgesehen werden müssen.In the US 2019/0258812 A1 a device is provided which has a single memory which is dynamically partitioned for performing various program functions on the partitions without having to provide separate memories.

Der Erfindung liegt nun die Aufgabe zugrunde, ein Steuergerät für ein Kraftfahrzeug bereitzustellen, welches bei geringerem Freigabeaufwand und geringeren Kosten selektiv aktualisierbar ist. Ferner besteht eine Aufgabe darin, das Aktualisieren von Programmen der funktionalen Sicherheit und das Over-the-Air-Update zu erleichtern.The invention is now based on the object of providing a control unit for a motor vehicle which can be selectively updated with less release effort and lower costs. It is also an object to facilitate functional safety program updating and over-the-air updating.

In bevorzugter Ausgestaltung der Erfindung ist ein Steuergerät, insbesondere ein sicherheitsrelevantes Steuergerät, für ein Kraftfahrzeug bereitgestellt, umfassend: einen Prozessor eingerichtet zum Ausführen eines Programms und einen Speicher. Das Programm ist zum Betrieb einer Fahrzeugkomponente ausgebildet und umfasst eine Vielzahl von Teilprogrammen. Das Steuergerät ist dadurch gekennzeichnet, dass die Teilprogramme jeweils in einem voneinander unabhängigen Erstellungsprozess erzeugt sind und diese so erzeugten Teilprogramme auf jeweils unterschiedlichen Speicherpartitionen zum Ausführen gespeichert sind.In a preferred embodiment of the invention, a control device, in particular a safety-related control device, is provided for a motor vehicle, comprising: a processor set up to run a program and a memory. The program is designed to operate a vehicle component and includes a large number of sub-programs. The control device is characterized in that the subprograms are each generated in a mutually independent creation process and these subprograms generated in this way are stored on different memory partitions for execution.

Der Erstellungsprozess ist mit anderen Worten ein Buildprozess. Der Erstellungsprozess umfasst das Kompilieren eines Quellcodes in ein Programm, welches maschinen-lesbare Codes beziehungsweise Instruktionen aufweist und von dem Prozessor ausgeführt werden kann. Ferner kann der Erstellungsprozess das Verlinken zu Bibliotheken umfassen. In other words, the build process is a build process. The creation process includes compiling a source code into a program which has machine-readable codes or instructions and can be executed by the processor. The creation process may also include linking to libraries.

Speicherpartitionen sind mit anderen Worten getrennte beziehungsweise unabhängige Speicherbereiche eines Speichers. Durch den unabhängigen Erstellungsprozess ergibt sich, dass die Teilprogramme binär unabhängig, das heißt eigenständig voneinander ausführbar sind. Ferner können die Programme beziehungsweise Teilprogramme ein Prozess oder Thread sein, der auf dem Prozessor des Steuergeräts läuft, bei welchen Programmanweisungen ausgeführt und mit anderen Systemkomponenten interagieren, um die verschiedenen Funktionalitäten zu beschreiben. Die Teilprogramme beziehungsweise deren Instruktionen können in einem Speicher gespeichert sein, der in dem Steuergerät implementiert ist. Hierbei kann eine gewöhnliche Speichervorrichtung verwendet werden, wie beispielsweise ein Direktzugriffsspeicher, RAM. Die Teilprogrammanweisungen können auch auf anderen nichtflüchtigen computerlesbaren Medien gespeichert werden. Eine Fahrzeugkomponente kann dabei eine Fahrzeughardware oder aber auch eine Fahrzeugfunktion sein, wobei der Betrieb beispielsweise das Steuern, Auswerten, Regeln und Überwachen umfasst. Zusätzliche Anwendungen sind weiter unten ausgeführt.In other words, memory partitions are separate or independent memory areas of a memory. The result of the independent creation process is that the subprograms are binary independent, ie can be executed independently of one another. Furthermore, the programs or sub-programs can be a process or thread that runs on the processor of the control unit, in which program instructions are executed and interact with other system components in order to implement the various functionalities to describe actions. The subprograms or their instructions can be stored in a memory that is implemented in the control unit. Here, an ordinary memory device can be used, such as random access memory, RAM. The part program instructions may also be stored on other non-transitory computer-readable media. A vehicle component can be vehicle hardware or else a vehicle function, with operation including, for example, controlling, evaluating, regulating and monitoring. Additional applications are detailed below.

Durch den getrennten beziehungsweise unabhängigen Erstellungsprozess sind die Teilprogramme binär unabhängig voneinander, was eine unmittelbare Folge des separaten Erstellungs- beziehungsweise Buildprozesses ist. Im Vergleich zum Stand der Technik wird somit nicht ein gesamtes Programm kompiliert, sondern Teilprogramme werden getrennt und einzeln kompiliert. Als technische Folge ergibt sich, dass die Teilprogramme unabhängig voneinander aktualisiert beziehungsweise upgedated werden können. Ferner kann die Entwicklungsgeschwindigkeit durch die separaten Erstellungsprozesse erhöht werden. Insbesondere kann der Aufwand für Freigabetests von sicherheitsrelevanten Teilprogrammen verringert werden, da bestehende Freigabetests der nicht-aktualisierten Teilprogramme als unmittelbare Folge der binären Unabhängigkeit beibehalten werden können. Ferner kann durch die getrennten Speicherpartitionen freedom of interference, das heißt Rückwirkungsfreiheit, erreicht werden, da ein Teilprogramm keine Speicherzellen von anderen Speicherpartitionen direkt beschreiben kann. Der Zugriff auf diese Speicherpartitionen kann von dem Prozessor gesteuert werden. Insbesondere ein Over-the-Air-Update wird bei einem solchen Steuergerät vereinfacht und Entwicklungsprozesse können beschleunigt werden.Due to the separate or independent creation process, the subprograms are binary independent of one another, which is a direct consequence of the separate creation or build process. In comparison to the prior art, an entire program is not compiled, but sub-programs are compiled separately and individually. The technical consequence is that the subprograms can be updated or updated independently of one another. Furthermore, the development speed can be increased by the separate creation processes. In particular, the outlay for release tests of safety-relevant subprograms can be reduced since existing release tests of the non-updated subprograms can be retained as a direct consequence of the binary independence. Furthermore, freedom of interference, ie freedom from reactions, can be achieved through the separate memory partitions, since a program part cannot directly write to memory cells from other memory partitions. Access to these memory partitions can be controlled by the processor. In particular, an over-the-air update is simplified with such a control device and development processes can be accelerated.

Bevorzugt weisen wenigstens zwei der Teilprogramme eine voneinander unterschiedliche Sicherheitsanforderungsstufe auf. Dadurch ist es mit dem Steuergerät ermöglicht, dass weniger sicherheitskritische oder sicherheitsunkritische Teilprogramme aktualisiert werden können, ohne dass sicherheitsrelevante Teilprogramme verändert werden, was eine Folge der binären Unabhängigkeit ist. Die Freigaben für die sicherheitsrelevanten Teilprogramme können beibehalten werden, wenn weniger kritische oder sicherheitsunkritische Teilprogramme aktualisiert werden, wodurch ein Freigabeaufwand verringert wird. Ein Freigabetest ist dabei ein Test, ob eine geforderte Sicherheitsanforderungsstufe erfüllt ist. Sicherheitsunkritisch bedeutet, dass das Teilprogramm weniger oder keine zusätzlichen Sicherungsmechanismen benötigt. Bevorzugt weisen entsprechende Teilprogramme eine höhere Sicherheitsanforderungsstufe als andere Teilprogramme auf. Beispielsweise kann ein erstes Teilprogramm eine ASIL-Sicherheitsanforderungsstufe aufweisen, zum Beispiel ASIL A, B, C oder D, während ein zweites Teilprogramm lediglich einer Sicherheitsanforderungsstufe QM entspricht. Die Sicherheitsanforderungsstufen können gemäß ISO 26262 für sicherheitsrelevante elektrische/elektronische Systeme in Kraftfahrzeugen vergeben werden, wobei dies nur ein Beispiel ist.At least two of the subprograms preferably have a different security requirement level from one another. This makes it possible with the control unit that less safety-critical or safety-uncritical sub-programs can be updated without safety-relevant sub-programs being changed, which is a consequence of the binary independence. The releases for the safety-relevant sub-programs can be retained if less critical or safety-uncritical sub-programs are updated, thereby reducing the release effort. A release test is a test as to whether a required security requirement level is met. Non-safety-critical means that the program part requires fewer or no additional safety mechanisms. Corresponding sub-programs preferably have a higher security requirement level than other sub-programs. For example, a first part program can have an ASIL safety requirement level, for example ASIL A, B, C or D, while a second part program only corresponds to a safety requirement level QM. The safety requirement levels can be assigned according to ISO 26262 for safety-related electrical/electronic systems in motor vehicles, this being just one example.

Bevorzugt können die Teilprogramme durch ein Schnittstellenmodul verbunden sein. Die Verbindung kann dabei beim Erstellungsprozess generiert werden. Das Schnittstellenmodul stellt eine Kommunikationsebene dar. Dadurch können die unabhängig kompilierten Teilprogramme in Laufzeit miteinander über Schnittstellen kommunizieren, das heißt Daten beziehungsweise Werte zu definierten Zeitpunkten im Ablauf übergeben. Das Schnittstellenmodul erzeugt somit definierte Ein- und Ausgänge in den getrennt erzeugten und somit binär unabhängigen Teilprogrammen. In bevorzugter Ausführungsform ist das Schnittstellenmodul ein Manifest-Wrapper. Der Manifest-Wrapper kann auch nach extern kommunizieren.The partial programs can preferably be linked by an interface module. The connection can be generated during the creation process. The interface module represents a communication level. This means that the independently compiled sub-programs can communicate with one another at runtime via interfaces, ie transfer data or values at defined times in the process. The interface module thus generates defined inputs and outputs in the separately generated and therefore binary independent subprograms. In a preferred embodiment, the interface module is a manifest wrapper. The manifest wrapper can also communicate externally.

Bevorzugt ist der Prozessor dazu eingerichtet, Folgendes zu tun: Erhalten einer Aktualisierung; Bestimmen, in Antwort auf den Erhalt der Aktualisierung, zumindest eines zu aktualisierenden Teilprogramms aus der Vielzahl der Teilprogramme und Aktualisieren des bestimmten Teilprogramms, ohne die nicht-bestimmten Teilprogramme zu verändern. Das Aktualisieren kann in einem vollständigen Ersetzen des ausgewählten Teilprogramms bestehen. Alternativ kann zumindest ein Teil des Teilprogramms aktualisiert werden. Der Vorteil ist hierbei, dass selektiv Teilprogramme aktualisiert werden können, ohne dass andere Teilprogramme verändert werden. Eine Aktualisierung kann auch als Aktualisierungsdaten bezeichnet werden.Preferably, the processor is configured to: receive an update; determining, in response to receiving the update, at least one partial program to be updated from among the plurality of partial programs and updating the determined partial program without changing the non-determined partial programs. Updating can consist of a complete replacement of the selected part program. Alternatively, at least part of the part program can be updated. The advantage here is that part programs can be updated selectively without changing other part programs. An update can also be referred to as update data.

Die erhaltene Aktualisierung kann einen Identifikator umfassen und der Prozessor kann dazu eingerichtet sein, auf Basis des erhaltenen Identifikators wenigstens ein Teilprogramm aus der Vielzahl der Teilprogramme zu bestimmen. Der Identifikator stellt mit anderen Worten eine Kennung dar. Mit dieser Kennung können dazu passende Teilprogramme bestimmt werden und dann nur dieses oder diese Teilprogramme in Folge aktualisiert werden. Die Bestimmung kann beispielsweise durch Abgleich mit vorgespeicherten Paaren aus Identifikator und dem zugehörigen Teilprogramm erfolgen, mit welchen dann der empfangene Identifikator verglichen wird zur Bestimmung des zugehörigen zu aktualisierenden Teilprogramms.The update received may include an identifier, and the processor may be configured to determine at least one subprogram from the plurality of subprograms based on the received identifier. In other words, the identifier represents an identifier. With this identifier, matching subprograms can be determined and then only this or these subprograms can be updated in succession. The determination can be made, for example, by comparison with pre-stored pairs of identifier and the associated part program, with which the received identifier is then compared to determine the associated part program to be updated.

Der Prozessor kann dazu eingerichtet sein, Freigabetests von nicht-bestimmten Teilprogrammen beizubehalten. Solche Freigabetests zur Prüfung der Erfüllung der funktionalen Sicherheit können sehr aufwendig und zeitintensiv sein. Somit kann der Freigabeaufwand stark reduziert werden, da Freigabetests für sicherheitskritische Teilprogramme sehr aufwendig sind, jedoch durch die binäre Unabhängigkeit nicht für die nicht-ausgewählten Teilprogramme wiederholt werden müssen.The processor may be configured to maintain release tests of unspecified subprograms. Such release tests to check compliance with functional safety can be very complex and time-consuming. The release effort can thus be greatly reduced, since release tests for safety-critical sub-programs are very complex, but do not have to be repeated for the non-selected sub-programs due to the binary independence.

Der Prozessor ist bevorzugt eingerichtet, die Vielzahl der Teilprogramme gemäß eines vorgegebenen Plans auszuführen. Mittels der Schnittstellenmodule kann somit ein gemeinsames Programm, welches sich aus den Teilprogrammen zusammensetzt, ausgeführt werden. Der Plan legt dabei eine bestimmte Ausführreihenfolge fest. Zudem kann die Übergabe von Werten an die Teilprogramme über die Schnittstellenmodule vorgegeben werden.The processor is preferably set up to execute the multiplicity of subprograms according to a predetermined plan. A common program, which is composed of the subprograms, can thus be executed by means of the interface modules. The plan defines a certain order of execution. In addition, the transfer of values to the program units via the interface modules can be specified.

Die Teilprogramme sind bevorzugt von der Hardware-Peripherie des Steuergeräts getrennt. Mit anderen Worten sind die Teilprogramme hart getrennt von der Hardware-Peripherie, letztere beispielsweise umfassend Eingabe- und Ausgabeeinheiten oder zum Beispiel ASICs. Dadurch können Interferenzen vermieden und die Performanz der Teilprogramme verbessert werden.The subprograms are preferably separated from the hardware peripherals of the control unit. In other words, the part programs are strictly separated from the hardware peripherals, the latter comprising input and output units or, for example, ASICs. This avoids interference and improves the performance of the subprograms.

Wenigstens ein erstes Teilprogramm kann bevorzugt zur Überwachung der Fahrzeugkomponente und ein zweites Teilprogramm zur Steuerung, Diagnose und/oder Auswertung der Fahrzeugkomponente ausgebildet sein. Als Fahrzeugkomponenten kommen verschiedene, im Folgenden beschriebene Komponenten in Betracht. Bevorzugt sind die Teilprogramme zur Auswertung einer Hardware des Kraftfahrzeugs, zur Ansteuerung einer Hardware des Kraftfahrzeugs oder zum Bereitstellen einer Funktion zum Betrieb des Kraftfahrzeugs ausgebildet. Die Teilprogramme dienen somit dem Betrieb des Kraftfahrzeugs. Die Teilprogramme enthalten somit Funktionen zum Betrieb des Kraftfahrzeugs, das heißt zur Überwachung, Steuerung beziehungsweise Regelung, Auswertung von bestimmten Hardwareeinrichtungen oder Fahrerfunktionen des Kraftfahrzeugs.At least one first sub-program can preferably be designed to monitor the vehicle component and a second sub-program to control, diagnose and/or evaluate the vehicle component. Various components described below come into consideration as vehicle components. The subprograms are preferably designed to evaluate hardware in the motor vehicle, to control hardware in the motor vehicle or to provide a function for operating the motor vehicle. The sub-programs are thus used to operate the motor vehicle. The subprograms thus contain functions for operating the motor vehicle, ie for monitoring, controlling or regulating, evaluating certain hardware devices or driver functions of the motor vehicle.

Die angesteuerte Hardware kann eine Kühlmittelpumpe, ein Kühlerrollo, einen Kühlerlüfter, ein Hauptrelais, eine E-Maschine, einen DC-DC-Wandler oder eine Hochvoltbatterie umfassen. Die ausgewertete Hardware kann ein CAN, eine Hardwareklemme, ein Multifunktionslenkrad, ein elektrischer Bremskraftverstärker, ein Kühlmitteltemperatursensor, ein Fahrpedal oder ein Wählhebel sein. Eine Funktion des Kraftfahrzeugs kann eine Fahrerwunsch-Erfassung, eine Fahrerwunsch-Formung, eine Rekuperation, eine Momentaufteilung auf verschiedene Maschinen, eine Antriebsstrangaktivierung, ein elektrisches Thermomanagement oder eine Fahrprogrammauswahl sein.The controlled hardware can include a coolant pump, a radiator blind, a radiator fan, a main relay, an electric machine, a DC-DC converter or a high-voltage battery. The evaluated hardware can be a CAN, a hardware terminal, a multifunction steering wheel, an electric brake booster, a coolant temperature sensor, an accelerator pedal or a selector lever. A function of the motor vehicle can be driver request detection, driver request formation, recuperation, torque distribution to different machines, drive train activation, electrical thermal management or driving program selection.

Die Teilprogramme können bevorzugt jeweils eine Tuningschutz-Kennzeichnung aufweisen. Dadurch können die Teilprogramme vor unerwünschter Manipulation geschützt werden. Eine Tuningschutzeinrichtung kann dazu bereitgestellt sein, zum Beispiel als Teil des Prozessors oder auch separat, welche die Unveränderlichkeit überprüfen beziehungsweise überwachen kann. Als Mittel zur Kennzeichnung kann zum Beispiel eine Checksumme oder ein Hash verwendet werden.The subprograms can preferably each have a tuning protection identifier. This allows the program units to be protected from undesired manipulation. A tuning protection device can be provided for this purpose, for example as part of the processor or also separately, which can check or monitor the immutability. A checksum or a hash, for example, can be used as a means of identification.

Ein weiterer Aspekt der Erfindung betrifft ein Verfahren zum Aktualisieren eines Steuergeräts für ein Kraftfahrzeug gemäß eines der oben ausgeführten Ausführungsformen. Das Verfahren umfasst die Schritte des Erhaltens einer Aktualisierung, das Auswählen beziehungsweise Bestimmen, in Antwort auf die erhaltene Aktualisierung, eines (oder mehrerer) zu aktualisierender Teilprogramme und dann das Aktualisieren des ausgewählten beziehungsweise bestimmten Teilprogramms, ohne die nicht-ausgewählten beziehungsweise nicht-bestimmten Teilprogramme zu verändern. Dadurch wird ein selektives Aktualisierungsverfahren offenbart, welches erlaubt, gezielte Teilprogramme zu aktualisieren, ohne dass die anderen Teilprogramme verändert werden müssen. Dies gelingt durch die binäre Trennung der Teilprogramme als Folge des unabhängigen Erstellungsprozesses. Der Aufwand zum Aktualisieren wird deutlich reduziert. Das Aktualisieren kann den kompletten Austausch eines Teilprogramms oder eines Teils davon umfassen. Das Verfahren kann als ein Over-the-Air-Update durchgeführt werden, das heißt, die Aktualisierung kann über eine Kommunikationsschnittstelle, zum Beispiel eine Funkschnittstelle des Steuergeräts oder des Kraftfahrzeugs, empfangen werden.A further aspect of the invention relates to a method for updating a control unit for a motor vehicle according to one of the specific embodiments explained above. The method comprises the steps of obtaining an update, selecting or determining, in response to the update received, one (or more) partial programs to be updated and then updating the selected or determined partial program, excluding the non-selected or non-determined partial programs to change. As a result, a selective updating method is disclosed which allows targeted sub-programs to be updated without the other sub-programs having to be changed. This is achieved through the binary separation of the subprograms as a result of the independent creation process. The effort for updating is significantly reduced. Updating can involve the complete replacement of a sub-program or a part thereof. The method can be carried out as an over-the-air update, that is to say the update can be received via a communication interface, for example a radio interface of the control device or of the motor vehicle.

Ferner umfasst das Verfahren das Beibehalten von Freigabetests des nicht-ausgewählten Teilprogramms. Freigabetests sind Tests, welche überprüfen, ob die geforderte Sicherheitsanforderungsstufe erfüllt ist. Solche Freigabetests können sehr aufwendig und zeitintensiv sein. Somit kann der Freigabeaufwand stark reduziert werden, da Freigabetests für sicherheitskritische Funktionen sehr aufwendig sind, jedoch durch die binäre Unabhängigkeit nicht für die nicht-ausgewählten Teilprogramme wiederholt werden müssen.Furthermore, the method includes maintaining release tests of the non-selected partial program. Release tests are tests that check whether the required security requirement level is met. Such release tests can be very complex and time-consuming. The release effort can thus be greatly reduced, since release tests for safety-critical functions are very expensive, but do not have to be repeated for the non-selected subprograms due to the binary independence.

Ferner umfasst das Verfahren das Übertragen einer Änderungsinformation über das Aktualisieren eines Teilprogramms an eine Tuningschutzeinrichtung. Dadurch kann die Aktualisierung von der Tuningschutzeinrichtung als erlaubte Änderung akzeptiert werden.The method also includes the transmission of change information about the updating of a part program to a tuning protection device. This allows the tuning protection device to accept the update as a permitted change.

Ein weiterer Aspekt der Erfindung betrifft ein Verfahren zum Bereitstellen eines Steuergeräts für ein Kraftfahrzeug, welches einen Prozessor eingerichtet zum Ausführen eines Programms zum Betrieb einer Fahrzeugkomponente des Kraftfahrzeugs, welches eine Vielzahl von Teilprogrammen umfasst, und einen Speicher umfasst, umfassend die Schritte: Erstellen einer Vielzahl von Teilprogrammen in einem voneinander unabhängigen Erstellungsprozess. In einem weiteren Schritt erfolgt das Speichern dieser so erzeugten Teilprogramme in jeweils unterschiedlichen Speicherpartitionen zum Ausführen durch den Prozessor. Die Vorteile dazu sind bereits oben beschrieben und es wird auf den obigen Abschnitt verwiesen.A further aspect of the invention relates to a method for providing a control unit for a motor vehicle, which has a processor set up for executing a program for operating a vehicle component of the motor vehicle, which includes a large number of subprograms, and a memory, comprising the steps of: creating a large number of subprograms in a mutually independent creation process. In a further step, these subprograms generated in this way are stored in respectively different memory partitions for execution by the processor. The advantages of this have already been described above and reference is made to the section above.

Bevorzugt umfasst das Verfahren das Verbinden der Teilprogramme durch ein Schnittstellenmodul während des Erstellens der jeweiligen Teilprogramme. Das Schnittstellenmodul umfasst dabei definierte Schnittstellen, über welche die Teilprogramme verbunden werden. Dadurch wird eine definierte Kommunikationsebene zwischen den Teilprogrammen erzeugt. So können zum Beispiele Werte und Daten über das Schnittstellenmodul ausgetauscht werden. Dadurch kann ein robuster Programmablauf für die Teilprogramme erfolgen.The method preferably includes the connection of the part programs by an interface module during the creation of the respective part programs. The interface module includes defined interfaces via which the subprograms are connected. This creates a defined communication level between the part programs. For example, values and data can be exchanged via the interface module. This allows a robust program sequence for the subprograms to take place.

Ein weiterer Aspekt der Erfindung ist ein Kraftahrzeug, welches ein Steuergerät nach einem der oberen Ausführungen umfasst. Die oben genannten Vorteile gelten auch für das Kraftfahrzeug, wobei insbesondere ein verbessertes Over-the-Air-Update erfolgt, da selektiv Teilprogramme des Steuergeräts aktualisiert werden können.A further aspect of the invention is a motor vehicle which includes a control device according to one of the above statements. The advantages mentioned above also apply to the motor vehicle, with an improved over-the-air update taking place in particular, since sub-programs of the control unit can be updated selectively.

Weitere bevorzugte Ausgestaltungen der Erfindung ergeben sich aus den übrigen, in den Unteransprüchen genannten Merkmalen.Further preferred configurations of the invention result from the remaining features mentioned in the dependent claims.

Die verschiedenen in dieser Anmeldung genannten Ausführungsformen der Erfindung sind, sofern im Einzelfall nicht anders ausgeführt, mit Vorteil miteinander kombinierbar.Unless stated otherwise in the individual case, the various embodiments of the invention mentioned in this application can advantageously be combined with one another.

Die Erfindung wird nachfolgend in Ausführungsbeispielen anhand der zugehörigen Zeichnungen erläutert. Es zeigen:

  • 1 ein Steuergerät für ein Kraftfahrzeug gemäß einer Ausführungsform der Erfindung,
  • 2 ein Verfahren zum Aktualisieren eines Steuergeräts gemäß einer Ausführungsform der Erfindung und
  • 3 ein Verfahren zum Bereitstellen eines Steuergeräts für ein Kraftfahrzeug gemäß einer Ausführungsform der Erfindung.
The invention is explained below in exemplary embodiments with reference to the associated drawings. Show it:
  • 1 a control unit for a motor vehicle according to an embodiment of the invention,
  • 2 a method for updating a control device according to an embodiment of the invention and
  • 3 a method for providing a control device for a motor vehicle according to an embodiment of the invention.

1 zeigt ein Steuergerät 100 für ein Kraftfahrzeug nach einer Ausführungsform der Erfindung, insbesondere ein Antriebssteuergerät für Kraftfahrzeuge, auch ECU oder ECM genannt. Das Steuergerät 100 weist einen Prozessor 10, insbesondere einen Mikroprozessor oder eine CPU, auf. Der Prozessor 10 ist dabei operativ mit einem Speicher 20 beziehungsweise einer Speicherstruktur verbunden. Der Prozessor 10 kann mehrere Prozessorkerne umfassen oder auch ein Einzelkernprozessor sein. Der Prozessor 10 ist operativ mit dem Speicher 20 verbunden, um ein eingespeichertes beziehungsweise geladenes Programm auszuführen. Das Programm ist dabei zum Betrieb einer Fahrzeugkomponente ausgebildet, wie bereits in den oberen Beispielen ausgeführt ist. Das Programm umfasst dazu eine Vielzahl von maschinen-lesbaren Befehlen beziehungsweise Instruktionen, welche vom Prozessor 10 ausgelesen beziehungsweise ausgeführt werden können, so dass das Steuergerät 100 für das Kraftfahrzeug eine bestimmte Funktion oder bestimmte Funktionen gemäß dem Programm ausführen kann, um eine bestimmte Fahrzeugkomponente zu betreiben. Dies kann eine Steuerung einer Hardware des Kraftfahrzeugs, eine Überwachung oder eine Verifizierung einer Hardware des Kraftfahrzeugs oder einer Fahrfunktion des Kraftfahrzeugs sein. 1 shows a control device 100 for a motor vehicle according to an embodiment of the invention, in particular a drive control device for motor vehicles, also called ECU or ECM. Control unit 100 has a processor 10, in particular a microprocessor or a CPU. The processor 10 is operatively connected to a memory 20 or a memory structure. Processor 10 may include multiple processor cores or may be a single core processor. The processor 10 is operatively connected to the memory 20 to execute a loaded program. The program is designed to operate a vehicle component, as has already been explained in the examples above. For this purpose, the program includes a large number of machine-readable commands or instructions, which can be read out or executed by processor 10, so that control unit 100 for the motor vehicle can carry out a specific function or specific functions according to the program in order to operate a specific vehicle component . This can be controlling hardware in the motor vehicle, monitoring or verifying hardware in the motor vehicle or a driving function of the motor vehicle.

Das Programm umfasst, wie in der 1 dargestellt, mehrere Teilprogramme Q1, ..., Qn; S1, ..., Sm. In der 1 sind rein beispielhaft vier Teilprogramme Q1, Q2, S1, Sm gezeigt, wobei mindestens zwei Teilprogramme vorliegen müssen. Diese Teilprogramme Q1, ..., Qn; S1, ..., Sm bilden im Ablauf das gesamte Programm zum Betrieb der Fahrzeugkomponente aus. Je nach Art der zu betreibenden Fahrzeugkomponente können die Teilprogramme Q1, ..., Qn; S1, ..., Sm beispielhaft zur Auswertung einer Hardware des Kraftfahrzeugs, zur Ansteuerung einer Hardware des Kraftfahrzeugs, der Überwachung einer Hardware oder zum Bereitstellen einer Funktion zum Betrieb des Kraftfahrzeugs ausgebildet sein.The program includes, as in the 1 shown, several subprograms Q1, ..., Qn; S1, ..., Sm. In the 1 four sub-programs Q1, Q2, S1, Sm are shown purely by way of example, with at least two sub-programs having to be present. These subprograms Q1, ..., Qn; S1, . . . , Sm form the entire program for operating the vehicle components in the process. Depending on the type of vehicle component to be operated, the sub-programs Q1, ..., Qn; .

Die Vielzahl der Teilprogramme Q1, ..., Qn; S1, ..., Sm ist jeweils in einem separaten beziehungsweise in einem voneinander unabhängigen Erstellungsprozess beziehungsweise Buildprozess erzeugt. Das bedeutet, dass die Teilprogramme Q1, ..., Qn; S1, ..., Sm nicht durch eine Gesamtkompilierung erzeugt sind, sondern getrennt und einzeln kompiliert/erstellt sind. Dadurch sind die Teilprogramme Q1, ..., Qn; S1, ..., Sm binär unabhängig voneinander. Dadurch wird erzielt, dass die Teilprogramme unabhängig voneinander aktualisiert beziehungsweise upgedated werden können.The large number of subprograms Q1, ..., Qn; S1, . . . , Sm is generated in each case in a separate or in a mutually independent creation process or build process. This means that the subprograms Q1, ..., Qn; S1, ..., Sm are not created by an overall compilation, but are compiled/created separately and individually. As a result, the subprograms Q1, ..., Qn; S1, ..., Sm binary independent of each other. The result of this is that the subprograms can be updated or updated independently of one another.

Die so erzeugten Teilprogramme Q1, ..., Qn; S1, ..., Sm werden dann auf jeweils getrennte Speicherpartitionen MQ1, ..., MQn; MS1, ..., MSm des Speichers 20 gespeichert beziehungsweise liegen dann dort vor. Der Prozessor 10 kann diese Teilprogramme Q1, ..., Qn; S1, ..., Sm entsprechend ausführen, wobei durch die separaten Speicherpartitionen MQ1, ..., MQn; MS1, ..., MSm eine Querwirkungsfreiheit bei Ablauf erzielt wird.The part programs Q1, ..., Qn; S1, ..., Sm are then mapped to separate memory partitions MQ1, ..., MQn; MS1, ..., MSm of the memory 20 are stored or lie then there before. The processor 10 can use these subprograms Q1, ..., Qn; Execute S1,...,Sm accordingly, using the separate memory partitions MQ1,...,MQn; MS1, . . . , MSm freedom from interference is achieved during expiry.

Mindestens eines der Teilprogramme S1, ..., Sm weist eine sicherheitsrelevante Funktion des Kraftfahrzeugs auf. In dem vorliegenden Beispiel sind das die Teilprogramme S1 und das Teilprogramm Sm, wobei m ≥ 2 und auch weitere Teilprogramme zwischen 1 und m sich befinden können, welche hier nicht gezeigt sind. Die Sicherheitsrelevanz lässt sich durch eine Sicherheitsanforderungsstufe beschreiben. Dem Teilprogramm S1 ist beispielhaft eine Sicherheitsanforderungsstufe ASIL C zugewiesen und dem Teilprogramm Sm ist rein beispielhaft eine Sicherheitsanforderungsstufe ASIL A zugewiesen. Die Teilprogramme Q1 und Q2 enthalten beispielsweise eine weniger sicherheitskritische beziehungsweise eine sicherheitsunkritische Funktion. Diesen ist beispielsweise eine geringe Sicherheitsanforderungsstufe von QM zugewiesen. Die Art der Sicherheitsanforderungsstufe ist jedoch nur ein Beispiel und es können auch andere Sicherheitsklassifikationen verwendet werden. Die Teilprogramme S1, ..., Sm können beispielsweise zur Überwachung der Fahrzeugkomponente ausgebildet sein, insbesondere der nachfolgenden Funktionen. Die Teilprogramme Q1, ..., Qn können beispielsweise zur Steuerung, Diagnose und/oder Auswertung der Fahrzeugkomponente ausgebildet sein.At least one of the subprograms S1, ..., Sm has a safety-related function of the motor vehicle. In the present example, these are the subprograms S1 and the subprogram Sm, where m≧2 and there can also be other subprograms between 1 and m, which are not shown here. The security relevance can be described by a security requirement level. A safety requirement level ASIL C is assigned to the sub-program S1 by way of example, and a safety requirement level ASIL A is assigned to the sub-program Sm purely by way of example. The subprograms Q1 and Q2 contain, for example, a less safety-critical or a safety-uncritical function. For example, a low safety requirement level of QM is assigned to these. However, the type of security integrity level is only an example and other security classifications can also be used. The sub-programs S1, . . . , Sm can be designed, for example, to monitor the vehicle component, in particular the subsequent functions. The subprograms Q1, . . . , Qn can be designed, for example, to control, diagnose and/or evaluate the vehicle component.

Die Teilprogramme Q1, ..., Qn; S1, ..., Sm können dabei so auf die Speicherpartitionen MQ1, ..., MQn; MS1, ..., MSm des Speichers 20 verteilt werden, dass Sicherheitsanforderungsstufen der Speicherpartition mit der Sicherheitsanforderungsstufe des Teilprogramms übereinstimmen. Beispielsweise kann das Teilprogramm Q1 auf einer Speicherpartition mit Sicherheitsanforderungsstufe QM gespeichert sein. Das Teilprogramm S1 kann auf einer Speicherpartition der Sicherheitsanforderungsstufe ASIL C gespeichert sein. The subprograms Q1, ..., Qn; S1, ..., Sm can thus access the memory partitions MQ1, ..., MQn; MS1, ..., MSm of the memory 20 are distributed that security requirement levels of the memory partition match the security requirement level of the part program. For example, the part program Q1 can be stored on a memory partition with security requirement level QM. The subprogram S1 can be stored on a memory partition of the ASIL C safety requirement level.

Nicht alle Speicherpartitionen MQ1, ..., MQn; MS1, ..., MSm des Speichers 20 müssen belegt sein, was von der Anzahl der Speicherpartitionen und der Anzahl der Teilprogramme abhängt. Beispielsweise sind die Speicherpartitionen MQn und MS2 leer.Not all memory partitions MQ1, ..., MQn; MS1, ..., MSm of memory 20 must be occupied, which depends on the number of memory partitions and the number of part programs. For example, memory partitions MQn and MS2 are empty.

Die Vielzahl der Teilprogramme Q1, ..., Qn; S1, ..., Sm sind durch ein Schnittstellenmodul 30 verbunden. Das Schnittstellenmodul 30 kann dabei definierte Schnittstellen aufweisen, um die getrennt voneinander erzeugten Teilprogramme miteinander zu verbinden. Obwohl die Teilprogramme isoliert auf ihren Speicherpartitionen sitzen, können somit Teilprogramme miteinander Werte austauschen. Solche Werte können über das Schnittstellenmodul 30 zwischen den binär getrennten Teilprogrammen Q1, ..., Qn; S1, ..., Sm über Schnittstellenmodule 30 ausgetauscht werden. Das Schnittstellenmodul 30 ist dabei insbesondere durch einen Wrapper oder auch einen Manifest-Wrapper ausgebildet, welcher, wie in der 1 dargestellt, die Teilprogramme umgibt und eine Kommunikationsschicht ausbildet. Der Prozessor 10 kann so die Vielzahl der Teilprogramme Q1, ..., Qn; S1, ..., Sm gemäß einem vorgegebenen Plan ausführen. Dies erfolgt insbesondere mittels des Schnittstellenmoduls 30 beziehungsweise des Wrappers. Der vorgegebene Plan, auch scheduling genannt, kann so die binär getrennten Teilprogramme Q1, ..., Qn; S1, ..., Sm in einer vordefinierten Reihenfolge ausführen. Zum Beispiel können gemäß dem Plan zu vorgegebenen Zeitpunkten bestimmte Werte zwischen bestimmten Teilprogrammen über das Schnittstellenmodul 30 übertragen werden oder auch bestimmte Teilprogramme gestartet oder beendet werden.The large number of subprograms Q1, ..., Qn; S1, ..., Sm are connected by an interface module 30. In this case, the interface module 30 can have defined interfaces in order to connect the part programs generated separately from one another to one another. Although the part programs are isolated on their memory partitions, part programs can thus exchange values with one another. Such values can be exchanged via the interface module 30 between the binary-separated part programs Q1, ..., Qn; S1, ..., Sm are exchanged via interface modules 30. The interface module 30 is formed in particular by a wrapper or a manifest wrapper, which, as in the 1 shown, which surrounds sub-programs and forms a communication layer. The processor 10 can thus process the large number of subprograms Q1, . . . , Qn; Execute S1,...,Sm according to a given schedule. This is done in particular by means of the interface module 30 or the wrapper. The specified plan, also called scheduling, can thus contain the binary separate subprograms Q1, ..., Qn; Execute S1, ..., Sm in a predefined order. For example, according to the plan, specific values can be transmitted between specific subprograms via the interface module 30 at predetermined times, or specific subprograms can also be started or ended.

Die binäre Trennung der Teilprogramme Q1, ..., Qn; S1, ..., Sm wie oben beschrieben hat den Vorteil, dass die Teilprogramme Q1, ..., Qn; S1, ..., Sm selektiv aktualisiert werden können. Dazu kann der Prozessor 10 eine Aktualisierung erhalten, beispielsweise über ein Kommunikationsmodul, welches hier nicht gezeigt und als Funkschnittstelle ausgebildet sein kann. Insbesondere kann somit auch ein Over-the-Air-Update beschrieben werden, bei welchem das Update über die Funkschnittstelle des Fahrzeugs oder des Steuergeräts erhalten wird. Der Prozessor 10 wählt beziehungsweise bestimmt dann ein zu aktualisierendes Teilprogramm in Antwort auf den Erhalt der Aktualisierung. Die Identifikation eines zu aktualisierenden Teilprogramms kann zum Beispiel durch zusätzliche Informationen, gespeicherte und/oder übertragene Information, erhalten werden.The binary separation of the subprograms Q1, ..., Qn; S1, ..., Sm as described above has the advantage that the part programs Q1, ..., Qn; S1, ..., Sm can be updated selectively. For this purpose, the processor 10 can receive an update, for example via a communication module, which is not shown here and can be designed as a radio interface. In particular, an over-the-air update can thus also be described, in which the update is received via the radio interface of the vehicle or the control unit. The processor 10 then selects or designates a partial program to be updated in response to receiving the update. The identification of a part program to be updated can be obtained, for example, through additional information, stored and/or transmitted information.

Bevorzugt kann die erhaltene Aktualisierung einen Identifikator umfassen, so dass der Prozessor 10 auf Basis des erhaltenen Identifikators ein oder mehrere Teilprogramme aus der Vielzahl der Teilprogramme bestimmen kann. Mit einer solchen Kennung können die zu dieser Kennung passenden Teilprogramme bestimmt werden und dann nur dieses oder diese Teilprogramme in Folge aktualisiert werden. Die Bestimmung kann beispielsweise durch Abgleich mit vorgespeicherten Paaren aus Identifikator und zugehörigem Teilprogramm erfolgen, mit welchen dann der empfangene Identifikator verglichen wird zur Bestimmung des zugehörigen zu aktualisierenden Teilprogramms.The update received can preferably include an identifier, so that the processor 10 can determine one or more sub-programs from the plurality of sub-programs on the basis of the identifier received. With such an identifier, the subprograms that match this identifier can be determined and then only this or these subprograms can be updated in succession. The determination can be made, for example, by comparison with pre-stored pairs of identifier and associated part program, with which the received identifier is then compared to determine the associated part program to be updated.

Der Prozessor 10 kann dann ferner das Aktualisieren des ausgewählten beziehungsweise bestimmten Teilprogramms ausführen, ohne die nicht-bestimmten Teilprogramme zu verändern beziehungsweise zu aktualisieren. Dadurch kann ein anstehendes Update zielgerichtet beziehungsweise selektiv verwendet werden, um eines der binär getrennten Teilprogramme zu aktualisieren. Das Aktualisieren kann insbesondere ein vollständiges Ersetzen oder eine punktuelle Veränderung des Teilprogramms beinhalten. Vor Ausführung der Aktualisierung kann ferner eine Prüfung der Kompatibilität der Aktualisierung mit den anderen Teilprogrammen durchgeführt werden, um basierend auf dem Resultat das Aktualisieren durchzuführen oder zu verhindern. Der Prozessor 10 kann ferner dazu eingerichtet ist, Freigabetests von nicht-bestimmten Teilprogrammen beizubehalten. Dadurch kann der Freigabeaufwand stark reduziert werden, da Freigabetests für sicherheitskritische Funktionen sehr aufwendig sind, jedoch durch die binäre Unabhängigkeit nicht für die nicht-ausgewählten Teilprogramme wiederholt werden müssen.The processor 10 can then also carry out the updating of the selected or specific part program without changing or updating the non-specific part programs. This means that an upcoming update can be carried out in a targeted manner wise be used selectively to update one of the binary-separated part programs. Updating can in particular include complete replacement or selective modification of the subprogram. Before the update is carried out, the compatibility of the update with the other subprograms can also be checked in order to carry out or prevent the update based on the result. The processor 10 can also be set up to maintain release tests of non-determined sub-programs. As a result, the release effort can be greatly reduced, since release tests for safety-critical functions are very expensive, but do not have to be repeated for the non-selected subprograms due to the binary independence.

Die Teilprogramme Q1, ..., Qn; S1, ..., Sm sind bevorzugt von der Hardware-Peripherie des Steuergeräts 100 getrennt. Dadurch ist eine direkte Verbindung der Teilprogramme Q1, ..., Qn; S1, ..., Sm zur Hardware-Peripherie verhindert, einschließlich zum Beispiel von ASICs oder Ein- und Ausgabeeinheiten. Die Verbindung der Teilprogramme zur Hardware-Peripherie kann über ein Betriebssystem, OS, erfolgen. Eine Folge ist, dass kritische Interferenzen verhindert und die Performanz der Teilprogramme sichergestellt wird.The subprograms Q1, ..., Qn; S1, ..., Sm are preferably separated from the hardware peripherals of control unit 100. This means that the subprograms Q1, ..., Qn; S1, ..., Sm to hardware peripherals, including for example ASICs or input and output units. The subprograms can be connected to the hardware peripherals via an operating system, OS. One consequence is that critical interference is prevented and the performance of the subprograms is ensured.

2 zeigt ein Verfahren zum Aktualisieren eines Steuergeräts 100 für ein Kraftfahrzeug. Das Steuergerät 100 kann dabei so ausgebildet sein wie in der 1 beziehungsweise wie oben beschrieben. Das Verfahren umfasst in einem ersten Schritt das Erhalten S110 einer Aktualisierung. Das kann zum Beispiel durch eine Kommunikationsschnittstelle/Modul des Steuergeräts 100 oder des Kraftfahrzeugs erfolgen, zum Beispiel eine Funkschnittstelle wie bei einem Over-the-Air-Update. In einem weiteren Schritt erfolgt das Auswählen beziehungsweise das Bestimmen S120 eines oder mehrerer zur Aktualisierung korrespondierender Teilprogramme basierend auf der Aktualisierung. Die erhaltene Aktualisierung kann beispielsweise einen mitgesandten Identifikator umfassen, so dass auf Basis des erhaltenen Identifikators ein oder mehrere Teilprogramme aus der Vielzahl der Teilprogramme bestimmt werden können. Die Bestimmung kann, wie oben beschrieben, beispielsweise durch Abgleich mit vorgespeicherten Paaren aus Identifikator und dem zugehörigen Teilprogramm erfolgen, wie bereits oben näher beschrieben. 2 shows a method for updating a control unit 100 for a motor vehicle. The control unit 100 can be designed as in FIG 1 or as described above. In a first step, the method includes receiving S110 an update. This can be done, for example, by a communication interface/module of control unit 100 or of the motor vehicle, for example a radio interface as in an over-the-air update. In a further step, one or more partial programs corresponding to the update are selected or determined S120 based on the update. The update received can, for example, include an identifier that is also sent, so that one or more sub-programs can be determined from the large number of sub-programs on the basis of the identifier received. As described above, the determination can be made, for example, by comparison with pre-stored pairs of identifier and the associated subprogram, as already described in more detail above.

In einem weiteren Schritt erfolgt das Aktualisieren S130 des ausgewählten Teilprogramms, ohne die nicht-ausgewählten Teilprogramme zu verändern. Dies kann deswegen erfolgen, da die Teilprogramme unabhängig voneinander erstellt beziehungsweise kompiliert wurden. Das Verfahren umfasst ferner das Beibehalten von Freigabetests von nicht-ausgewählten Teilprogrammen. Dadurch kann der Aufwand für Freigabetests, was eine aufwendige Berechnung erfordert, von sicherheitsrelevanten Teilprogrammen verringert werden, da bestehende Freigabetests der nicht-aktualisierten Teilprogramme als unmittelbare Folge der binären Unabhängigkeit beibehalten werden können.In a further step, the selected part program is updated S130 without changing the non-selected part programs. This can be done because the subprograms were created or compiled independently of one another. The method further includes maintaining release tests of unselected partial programs. As a result, the outlay for release tests, which requires complex calculations, can be reduced for safety-relevant subprograms, since existing release tests for the non-updated subprograms can be retained as a direct consequence of the binary independence.

Ferner kann das Verfahren das Übertragen einer Änderungsinformation über das Aktualisieren eines Teilprogramms an eine Tuningschutzeinrichtung umfassen. Dadurch kann die Aktualisierung von der Tuningschutzeinrichtung als erlaubte Änderung akzeptiert werden.Furthermore, the method can include the transmission of change information about the updating of a part program to a tuning protection device. This allows the tuning protection device to accept the update as a permitted change.

In der 3 wird ferner ein Verfahren zum Bereitstellen eines Steuergeräts 100 für ein Kraftfahrzeug beschrieben. Das Steuergerät 100 umfasst dabei einen Prozessor 10 eingerichtet zum Ausführen eines Programms und einen Speicher 20. Das Programm kann zum Betrieb einer Fahrzeugkomponente des Kraftfahrzeugs ausgebildet sein. Das Steuergerät 100 ist beispielsweise nach der oben beschriebenen Ausführungsform der 1 ausgebildet und es wird auf die obige Beschreibung verwiesen. In einem Schritt S210 umfasst das Verfahren das Erstellen einer Vielzahl von Teilprogrammen Q1, ..., Qn; S1, ..., Sm in einem voneinander unabhängigen Erstellungsprozess. Durch den getrennten beziehungsweise unabhängigen Erstellungsprozess sind die Teilprogramme binär unabhängig voneinander, was eine unmittelbare Folge des separaten Erstellungs- beziehungsweise Buildprozesses ist. Im Vergleich zum Stand der Technik wird somit nicht ein gesamtes Programm kompiliert, sondern Teilprogramme werden getrennt und einzeln kompiliert. Als technische Folge ergibt sich, dass die Teilprogramme unabhängig voneinander aktualisiert beziehungsweise upgedated werden können.In the 3 a method for providing a control unit 100 for a motor vehicle is also described. Control unit 100 includes a processor 10 set up to run a program and a memory 20. The program can be designed to operate a vehicle component of the motor vehicle. The control unit 100 is, for example, according to the embodiment described above 1 formed and reference is made to the above description. In a step S210, the method includes the creation of a plurality of part programs Q1, ..., Qn; S1, ..., Sm in a mutually independent creation process. Due to the separate or independent creation process, the subprograms are binary independent of one another, which is a direct consequence of the separate creation or build process. In comparison to the prior art, an entire program is not compiled, but sub-programs are compiled separately and individually. The technical consequence is that the subprograms can be updated or updated independently of one another.

In einem weiteren Schritt S220 umfasst das Verfahren das Speichern dieser so erzeugten Teilprogramme in jeweils getrennten Speicherpartitionen MQ1, ... MQn; MS1, ..., MSm des Speichers 20 zum Ausführen durch den Prozessor 10. Dabei können wenigstens zwei Teilprogramme Q1, ..., Qn; S1, ..., Sm eine voneinander unterschiedliche Sicherheitsanforderungsstufe aufweisen. In einem weiteren Schritt erfolgt das Verbinden der Teilprogramme Q1, ..., Qn; S1, ..., Sm durch ein Schnittstellenmodul 30 während des Erstellens der Vielzahl der Teilprogramme Q1, ..., Qn; S1, ..., Sm. Dadurch können die unabhängig kompilierten Teilprogramme in Laufzeit miteinander über Schnittstellen kommunizieren, das heißt Daten beziehungsweise Werte zu definierten Zeitpunkten im Ablauf übergeben.In a further step S220, the method includes storing these part programs generated in this way in separate memory partitions MQ1, . . . MQn; MS1, ..., MSm of the memory 20 for execution by the processor 10. At least two subprograms Q1, ..., Qn; S1, ..., Sm have a mutually different safety requirement level. In a further step, the subprograms Q1, . . . , Qn are linked; S1, ..., Sm by an interface module 30 during the creation of the plurality of part programs Q1, ..., Qn; S1, ..., Sm. This means that the independently compiled subprograms can communicate with one another via interfaces at runtime, ie they can transfer data or values at defined times in the process.

BezugszeichenlisteReference List

100100
Steuergerät control unit
1010
Prozessorprocessor
2020
SpeicherStorage
3030
Schnittstellenmodul / Wrapper Interface module / wrapper
MQ1, ..., MQnMQ1, ..., MQn
Speicherpartition/SpeicherbereichStorage partition/storage area
MS1, ..., MSnMS1, ..., MSn
Speicherpartition/SpeicherbereichStorage partition/storage area
Q1, ..., QnQ1, ..., Qn
Teilprogrammesubprograms
S1, ..., SmS1, ..., Sm
Teilprogramme subprograms
S110S110
Erhalten einer AktualisierungGet an update
S120S120
Bestimmen/Auswählen eines TeilprogrammsDetermine/select a part program
S130S130
Aktualisieren des Teilprogramms Updating the part program
S210S210
Erzeugen von TeilprogrammenCreation of part programs
S220S220
Speichern von TeilprogrammenSaving part programs

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION

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

Zitierte PatentliteraturPatent Literature Cited

  • DE 102013226872 A1 [0004]DE 102013226872 A1 [0004]
  • DE 102014212018 A1 [0005]DE 102014212018 A1 [0005]
  • US 20190258812 A1 [0006]US20190258812A1 [0006]

Claims (15)

Steuergerät (100) für ein Kraftfahrzeug, umfassend: einen Prozessor (10) eingerichtet zum Ausführen eines Programms, einen Speicher (20), wobei das Programm zum Betrieb einer Fahrzeugkomponente des Kraftfahrzeugs ausgebildet ist und dazu eine Vielzahl von Teilprogrammen (Q1, ..., Qn; S1, ..., Sm) umfasst, dadurch gekennzeichnet, dass die Vielzahl der Teilprogramme jeweils in einem voneinander unabhängigen Erstellungsprozess erzeugt sind und diese so erzeugten Teilprogramme (Q1, ..., Qn; S1, ..., Sm) auf jeweils getrennte Speicherpartitionen (MQ1, ..., MQn; MS1, ..., MSm) des Speichers (20) zum Ausführen durch den Prozessor (10) gespeichert sind.Control device (100) for a motor vehicle, comprising: a processor (10) set up to execute a program, a memory (20), the program being designed to operate a vehicle component of the motor vehicle and a large number of subprograms (Q1, ... , Qn; S1, ..., Sm), characterized in that the plurality of part programs are each generated in a mutually independent creation process and these part programs (Q1, ..., Qn; S1, ..., Sm ) are stored on respectively separate memory partitions (MQ1, ..., MQn; MS1, ..., MSm) of the memory (20) for execution by the processor (10). Steuergerät (100) nach Anspruch 1, wobei wenigstens zwei Teilprogramme (Q1, ..., Qn; S1, ..., Sm) eine voneinander unterschiedliche Sicherheitsanforderungsstufe aufweisen.Control unit (100) after claim 1 , wherein at least two subprograms (Q1, ..., Qn; S1, ..., Sm) have a different security requirement level. Steuergerät (100) nach einem der Ansprüche 1 bis 2, wobei die Vielzahl der Teilprogramme (Q1, ..., Qn; S1, ..., Sm) durch ein Schnittstellenmodul (30) verbunden sind.Control unit (100) according to one of Claims 1 until 2 , wherein the plurality of part programs (Q1, ..., Qn; S1, ..., Sm) are connected by an interface module (30). Steuergerät (100) nach Anspruch 3, wobei der Prozessor (10) eingerichtet ist, die Vielzahl der Teilprogramme (Q1, ..., Qn; S1, ..., Sm) gemäß einem vorgegebenen Plan auszuführen.Control unit (100) after claim 3 , wherein the processor (10) is set up to execute the plurality of subprograms (Q1, ..., Qn; S1, ..., Sm) according to a predetermined plan. Steuergerät (100) nach einem der Ansprüche 1 bis 4, wobei der Prozessor (10) eingerichtet ist, Folgendes zu tun: - Erhalten einer Aktualisierung; - Bestimmen, in Antwort auf den Erhalt der Aktualisierung, von mindestens einem zu aktualisierenden Teilprogramm aus der Vielzahl der Teilprogramme; - Aktualisieren des mindestens einen bestimmten Teilprogramms, ohne die nicht-bestimmten Teilprogramme zu verändern.Control unit (100) according to one of Claims 1 until 4 wherein the processor (10) is arranged to: - receive an update; - determining, in response to receiving the update, at least one of the plurality of partial programs to be updated; - Updating the at least one specific sub-program without changing the non-specific sub-programs. Steuergerät (100) nach Anspruch 5, wobei die erhaltene Aktualisierung einen Identifikator umfasst und wobei der Prozessor (10) dazu eingerichtet ist, auf Basis des erhaltenen Identifikators mindestens ein Teilprogramm aus der Vielzahl der Teilprogramme zu bestimmen.Control unit (100) after claim 5 , wherein the update obtained comprises an identifier and wherein the processor (10) is set up to determine at least one sub-program from the plurality of sub-programs on the basis of the identifier received. Steuergerät (100) nach einem der Ansprüche 5 bis 6, wobei der Prozessor (10) dazu eingerichtet ist, Freigabetests von nicht-bestimmten Teilprogrammen beizubehalten.Control unit (100) according to one of Claims 5 until 6 , wherein the processor (10) is set up to maintain release tests of non-determined part programs. Steuergerät (100) nach einem der Ansprüche 1 bis 7, wobei mindestens ein Teilprogramm (S1, ..., Sm) zur Überwachung der Fahrzeugkomponente und mindestens ein Teilprogramm (Q1, ..., Qn) zur Steuerung, Diagnose und/oder Auswertung der Fahrzeugkomponente ausgebildet ist.Control unit (100) according to one of Claims 1 until 7 , wherein at least one sub-program (S1, ..., Sm) for monitoring the vehicle component and at least one sub-program (Q1, ..., Qn) for controlling, diagnosing and/or evaluating the vehicle component is designed. Steuergerät (100) nach einem der Ansprüche 1 bis 8, wobei die Teilprogramme (Q1, ..., Qn; S1, ..., Sm) jeweils eine Tuningschutz-Kennzeichnung aufweisen.Control unit (100) according to one of Claims 1 until 8th , wherein the subprograms (Q1, ..., Qn; S1, ..., Sm) each have a tuning protection identifier. Verfahren zum Aktualisieren eines Steuergeräts (100) für ein Kraftfahrzeug nach einem der Ansprüche 1 bis 9, umfassend die Schritte: - Erhalten (S110) einer Aktualisierung; - Bestimmen (S120), in Antwort auf den Erhalt der Aktualisierung, von mindestens einem zu aktualisierenden Teilprogramm aus der Vielzahl der Teilprogramme; - Aktualisieren (S130) des mindestens einen bestimmten Teilprogramms, ohne die nicht-bestimmten Teilprogramme zu verändern.Method for updating a control unit (100) for a motor vehicle according to one of Claims 1 until 9 , comprising the steps of: - obtaining (S110) an update; - determining (S120), in response to receiving the update, at least one partial program to be updated from the plurality of partial programs; - Updating (S130) the at least one specific sub-program without changing the non-specific sub-programs. Verfahren nach Anspruch 10, umfassend das Beibehalten von Freigabetests von nicht-ausgewählten Teilprogrammen.procedure after claim 10 , including maintaining release tests of non-selected subprograms. Verfahren nach einem der Ansprüche 10 bis 11, umfassend das Übertragen einer Änderungsinformation über das Aktualisieren eines Teilprogramms an eine Tuningschutzeinrichtung.Procedure according to one of Claims 10 until 11 , comprising transmitting change information about updating a part program to a tuning protection device. Verfahren zum Bereitstellen eines Steuergeräts (100) für ein Kraftfahrzeug, welches einen Prozessor (10) eingerichtet zum Ausführen eines Programms zum Betrieb einer Fahrzeugkomponente des Kraftfahrzeugs, welches eine Vielzahl von Teilprogrammen (Q1, ..., Qn; S1, ..., Sm) umfasst, und einen Speicher (20) umfasst, umfassend die Schritte: - Erzeugen (S210) der Vielzahl von Teilprogrammen (Q1, ..., Qn; S1, ..., Sm) in einem voneinander unabhängigen Erstellungsprozess; - Speichern (S220) dieser so erzeugten Teilprogramme in jeweils getrennten Speicherpartitionen (MQ1, ... MQn; MS1, ..., MSm) des Speichers (20) zum Ausführen durch den Prozessor (10).Method for providing a control device (100) for a motor vehicle, which has a processor (10) set up for executing a program for operating a vehicle component of the motor vehicle, which program has a large number of subprograms (Q1, ..., Qn; S1, ..., Sm) and a memory (20) comprising the steps of: - Generating (S210) the plurality of part programs (Q1, ..., Qn; S1, ..., Sm) in a mutually independent creation process; - Storage (S220) of these part programs generated in this way in respectively separate memory partitions (MQ1, ... MQn; MS1, ..., MSm) of the memory (20) for execution by the processor (10). Verfahren nach Anspruch 13, umfassend das Verbinden der Teilprogramme (Q1, ..., Qn; S1, ..., Sm) durch ein Schnittstellenmodul (30) während des Erstellens der Vielzahl der Teilprogramme (Q1, ..., Qn; S1, ..., Sm).procedure after Claim 13 , comprising linking the partial programs (Q1, ..., Qn; S1, ..., Sm) through an interface module (30) during the creation of the plurality of partial programs (Q1, ..., Qn; S1, ... , Sm). Kraftahrzeug, umfassend ein Steuergerät (100) nach einem der Ansprüche 1 bis 9.Motor vehicle, comprising a control device (100) according to one of Claims 1 until 9 .
DE102021208681.0A 2021-08-10 2021-08-10 Control unit for a motor vehicle and method for updating a control unit Pending DE102021208681A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021208681.0A DE102021208681A1 (en) 2021-08-10 2021-08-10 Control unit for a motor vehicle and method for updating a control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021208681.0A DE102021208681A1 (en) 2021-08-10 2021-08-10 Control unit for a motor vehicle and method for updating a control unit

Publications (1)

Publication Number Publication Date
DE102021208681A1 true DE102021208681A1 (en) 2023-02-16

Family

ID=85040123

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021208681.0A Pending DE102021208681A1 (en) 2021-08-10 2021-08-10 Control unit for a motor vehicle and method for updating a control unit

Country Status (1)

Country Link
DE (1) DE102021208681A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013226872A1 (en) 2013-10-15 2015-04-16 Continental Automotive Gmbh Method for operating a control unit of a motor vehicle and control unit for a motor vehicle
DE102014212018A1 (en) 2014-06-23 2015-12-24 Continental Teves Ag & Co. Ohg Method and circuit for preventing memory protection infringements
US20190258812A1 (en) 2018-02-20 2019-08-22 Sensata Technologies, Inc. Memory security for automotive functional safety compliance with independent downstream processes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013226872A1 (en) 2013-10-15 2015-04-16 Continental Automotive Gmbh Method for operating a control unit of a motor vehicle and control unit for a motor vehicle
DE102014212018A1 (en) 2014-06-23 2015-12-24 Continental Teves Ag & Co. Ohg Method and circuit for preventing memory protection infringements
US20190258812A1 (en) 2018-02-20 2019-08-22 Sensata Technologies, Inc. Memory security for automotive functional safety compliance with independent downstream processes

Similar Documents

Publication Publication Date Title
DE102019109672A1 (en) CANCELLATION AFTER PARTIAL FAILURE IN MULTIPLE ELECTRONIC CONTROL UNITS BY OVER THE AIR UPDATE
DE102012009482B4 (en) Functionally expandable vehicle control unit and method for supplementing the functionality of a vehicle control unit
DE112017005979T5 (en) Parallel Process Device and Parallel Process Program
EP3709166A1 (en) Method and system for secure signal manipulation for testing integrated security functionalities
DE102012209789B4 (en) ON-VEHICLE ELECTRICAL CONTROL DEVICE
DE102018206720A1 (en) Method for performing a software update in a control unit of a motor vehicle and a correspondingly configured motor vehicle
DE102016204970A1 (en) Parallelization compilation method, parallelization complicator and vehicle device
DE102021208681A1 (en) Control unit for a motor vehicle and method for updating a control unit
DE102018110018A1 (en) A method for providing an integrated process for the ECU development and simulation device for the ECU development
EP3529723A1 (en) Apparatuses, methods and computer programs for a vehicle and a central office
WO2005022382A2 (en) Method for the installation of a program component
DE102022113922A1 (en) OTA MASTER, SYSTEM, PROCEDURE, NON-TRANSITORY STORAGE MEDIUM AND VEHICLE
DE102022208218A1 (en) Device for performing an OTA update for a vehicle and method thereof
DE102007023048A1 (en) Intelligent system for determining optimal partition size in a bespoke environment
DE102018123563B4 (en) Method for inter-core communication in a multi-core processor
DE102019202870A1 (en) Parallelization method, parallelization tool and multi-core microcomputer
DE102016219449A1 (en) Parallelization method, parallelization tool and vehicle-mounted device
DE102020111051A1 (en) ARRANGEMENT, SOFTWARE PROGRAM AND COMPUTER-IMPLEMENTED METHOD FOR EXECUTING A RELOADABLE PROGRAM ON AN EMBEDDED SYSTEM OF A VEHICLE
DE102019202228A1 (en) Parallelization method, parallelization tool, multi-core microcomputer and in-vehicle device
EP3991037B1 (en) Controller for a vehicle, system, method, and motor vehicle comprising such a controller
DE102010042574A1 (en) Method for operating microcontroller of automobile, involves interrupting specific functions by mechanism such that functions are executed without interference from execution of other functions
DE102022112550A1 (en) Method for adapting a functionality of a software application to the hardware equipment of a motor vehicle that is available for executing the functionality, as well as a computer-readable storage medium and computer system
DE102020118479A1 (en) Method for enabling automatic evaluation of a current software security status and data processing device
DE102022107393A1 (en) CENTER, DISTRIBUTION CONTROL METHOD AND NON-TRANSITORY STORAGE MEDIUM
WO2023073095A1 (en) Method for non-reactive validation of a function application

Legal Events

Date Code Title Description
R163 Identified publications notified