Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE-INDEPENDENT SOFTWARE FOR VEHICLE CONTROL DEVICES
Document Type and Number:
WIPO Patent Application WO/2020/120065
Kind Code:
A1
Abstract:
The invention relates to an arrangement having a first control device for a vehicle and a second control device for a vehicle, wherein the first control device and the second control device differ from one another and each have a ROM, wherein a first area of the ROM of the first control device and a first area of the ROM of the second control device each contain a software unit (SWFL HWL1, SWFL HWL2) specific to the control device. A second area in the ROM of the first control device and a second area in the ROM of the second control device contain identical software units (SWFL PROG) which are independent of the control device, wherein a third area in the ROM of the first control device and a third area in the ROM of the second control device each contain a structure (SWFL DATA, SWFL DATA HwM, SWFL DATA Hwl2) of function pointers, and wherein at least one function pointer references an instruction of the software unit (SWFL HWL1, SWFL HWL2) specific to the control device and at least one function pointer references an instruction of the software unit (SWFL PROG) which is independent of the control device.

Inventors:
JANSOHN LAURA (DE)
KIEBLER HORST (DE)
BRAUCHLE RALF (DE)
DILLMANN CHRISTIAN (DE)
DALLATH PETER (DE)
ADIS FRANZ (DE)
WITTMANN GEORG (DE)
FRISCHMANN RAINER (DE)
LEITNER ERIK (DE)
HEILMANN WOLFGANG (DE)
Application Number:
PCT/EP2019/081420
Publication Date:
June 18, 2020
Filing Date:
November 15, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZAHNRADFABRIK FRIEDRICHSHAFEN (DE)
International Classes:
G06F9/445
Foreign References:
US6363436B12002-03-26
Other References:
LEVINE J R ED - LEVINE J R: "Linkers and Loaders, passage", 1 January 2000, LINKERS AND LOADERS, MORGAN KAUFMANN PUBLISHERS, SAN FRANSISCO, PAGE(S) 117, 5 - 10, 58, XP002492096
Download PDF:
Claims:
Patentansprüche

1 . Anordnung mit einem ersten Steuergerät für ein Fahrzeug und einem zweiten Steuergerät für ein Fahrzeug; wobei

das erste Steuergerät und das zweite Steuergerät sich voneinander unterscheiden jeweils einen ROM aufweisen; wobei

ein erster Bereich des ROMs des ersten Steuergeräts und ein erster Bereich des ROMs des zweiten Steuergeräts jeweils eine steuergerätespezifische Softwareein heit (SWFL HWL1 , SWFL HWL2) beinhalten; dadurch gekennzeichnet, dass ein zweiter Bereich im ROM des ersten Steuergeräts und ein zweiter Bereich im ROM des zweiten Steuergeräts gleiche, steuergeräteunabhängige Softwareeinheiten (SWFL PROG) beinhalten; wobei

ein dritter Bereich im ROM des ersten Steuergeräts und ein dritter Bereich im Rom des zweiten Steuergeräts jeweils eine Struktur (SWFL DATA, SWFL DATA Hwl1 , SWFL DATA Hwl2) von Funktionszeigern beinhalten; und wobei

mindestens ein Funktionszeiger eine Anweisung der steuergerätespezifischen Soft wareeinheit (SWFL HWL1 , SWFL HWL2) referenziert und mindestens ein Funktions zeiger eine Anweisung der steuergeräteunabhängigen Softwareeinheit (SWFL PROG) referenziert.

2. Anordnung nach Anspruch 1 ; dadurch gekennzeichnet, dass

die Struktur von Funktionszeigern aus einem steuergeräteunabhängigen Teil (SWFL DATA) und einem steuergerätespezifischen Teil (SWFL DATA Hwl1 , SWFL DATA Hwl2) besteht.

3. Verfahren zur Generierung von Software für eine Anordnung nach dem vorherge henden Anspruch mit den folgenden Schritten:

- Linken des steuergeräteunabhängigen Teils (SWFL DATA) der Struktur von Funkti onszeigern und der steuergeräteunabhängigen Softwareeinheit (SWFL PROG) zu ei nem steuergeräteunabhängigen Softwaremodul (101 );

- Linken der der steuergerätespezifischen Softwareeinheit (SWFL HWL1 ) für das erste Steuergerät und eines ersten Abschnitts (SWFL DATA Hwl1 ) des steuergerä tespezifischen Teils der Struktur von Funktionszeigern zu einem ersten steuergerä tespezifischen Softwaremodul (103); - Linken der der steuergerätespezifischen Softwareeinheit (SWFL HWL2) für das zweite Steuergerät und eines zweiten Abschnitts (SWFL DATA Hwl2) des steuerge rätespezifischen Teils der Struktur von Funktionszeigern zu einem zweiten steuerge rätespezifischen Softwaremodul (105); und

- Zusammenfügen des steuergeräteunabhängigen Softwaremoduls (101 ), des ersten steuergerätespezifischen Softwaremoduls (103) und/oder des zweiten steuergerä tespezifischen Softwaremoduls (105).

Description:
Geräteunabhängige Software für Fahrzeuqsteuerqeräte

Die Erfindung betrifft eine Anordnung nach dem Oberbegriff von Anspruch 1 und ein Verfahren nach dem unabhängigen Verfahrensanspruch.

Aus dem Stand der Technik sind dynamische Programmbibliotheken (Dynamic Link Library, DLL) bekannt. Diese eignen sich für die Verwendung in Direktzugriffsspei chern (Random-Access Memory, RAM). Fahrzeugsteuergeräte weisen allerdings Festwertspeicher (Read-Only Memory, ROM) auf.

Der Erfindung liegt die Aufgabe zugrunde, Software für Fahrzeugsteuergeräte mit größtmöglicher Flexibilität wiederverwendbar zu machen.

Diese Aufgabe wird gelöst durch eine Anordnung nach Anspruch 1 und ein Verfahren nach dem unabhängigen Verfahrensanspruch. Bevorzugte Weiterbildungen sind in den Unteransprüchen enthalten und ergeben sich aus den in den Figuren dargestell ten Ausführungsbeispielen.

Die Erfindung sieht vor, steuergerätespezifische und steuergeräteunabhängige An weisungen unabhängig voneinander zu linken. Dies wird durch eine Zeigerzwischen schicht erreicht, die aus zwei bevorzugt symmetrischen Teilen besteht. Ein steuerge rätespezifischer Teil wird mit den jeweiligen steuergerätespezifischen Anweisungen gelinkt, ein steuergeräteunabhängiger Teil mit den steuergeräteunabhängigen An weisungen.

Die Zeigerzwischenschicht enthält eine Obermenge von Schnittstellen, die von unter schiedlichen zu unterstützenden Hardwareplattformen benötigt bzw. bereitgestellt werden. Manche dieser Schnittstellen sind so ausgeführt, dass die dahinterliegenden Informationen bzw. Abarbeitungsketten zwischen den Hardwareplattformen unter schiedlich sein können. Die Zeigerzwischenschicht funktioniert wie eine Routing-Gegenkomponente. Jeder Teil der Zeigerzwischenschicht besteht vorzugsweise aus sogenannten Routingfunk tionen und einer Zeigertabelle, die als Struktur von Funktionszeigern angelegt ist. Dadurch können steuergerätespezifische Anweisungen von steuergeräteunabhängi gen Anweisungen und umgekehrt steuergeräteunabhängige Anweisungen von steu ergerätespezifischen Anweisungen aufgerufen werden. Die Startadresse der jeweili gen Zeigertabelle wird durch ein Label in einer übergeordneten Locator-Datei be kanntgegeben.

Eine erfindungsgemäße Anordnung umfasst ein erstes Steuergerät für ein Fahrzeug und ein zweites Steuergerät für ein Fahrzeug. Mit Steuergerät wird ein Mittel bezeich net, das ausgebildet ist, Software auszuführen und in Abhängigkeit von den in der Software enthaltenen Anweisungen physische Komponenten des jeweiligen Fahr zeugs zu steuern oder zu regeln. Insbesondere kann es sich um Getriebesteuerge räte handeln.

Bei dem ersten Steuergerät und dem zweiten Steuergerät handelt es sich um Steuer geräte, die nicht baugleich sind. Die Steuergeräte unterscheiden sich also voneinan der. Der Unterschied zwischen dem ersten Steuergerät und dem zweiten Steuergerät betrifft mindestens eine physische Komponente des jeweiligen Steuergeräts. Mindes tens eine physische Komponente des ersten Steuergeräts ist also nicht baugleich in dem zweiten Steuergerät enthalten . Bevorzugt ist umgekehrt auch mindestens eine physische Komponente des zweiten Steuergeräts nicht baugleich in dem ersten Steuergerät enthalten

Die beiden Steuergeräte weisen jeweils einen ROM auf.

Ein erster Bereich des ROMs des ersten Steuergeräts und ein erster Bereich des ROMs des zweiten Steuergeräts beinhalten jeweils eine steuergerätespezifische Softwareeinheit. Mit Software werden Anweisungen und Daten bezeichnet, die das Verhalten des Steuergeräts festlegen, wenn die Anweisungen von dem Steuergerät ausgeführt werden. Steuergerätespezifische Software bezeichnet Software, die auf das jeweilige Steuergerät angepasst ist und somit auf dem anderen Steuergerät nicht ausgeführt werden kann. Softwareeinheit bezeichnet einen Teil einer Software.

Erfindungsgemäß beinhalten ein zweiter Bereich im ROM des ersten Steuergeräts und ein zweiter Bereich im ROM des zweiten Steuergeräts jeweils eine steuergeräte unabhängige Softwareeinheit. Die steuergeräteunabhängige Softwareeinheit im zweiten Bereich des ROMs des ersten Steuergeräts gleicht der steuergeräteunab hängigen Softwareeinheit im zweiten Bereich des ROMs des zweiten Steuergeräts. Die Anweisungen und Daten der steuergeräteunabhängigen Software ein heit in den zweiten Bereichen des ROMs des jeweiligen Steuergeräts sind also identisch.

Ein dritter Bereich im ROM des ersten Steuergeräts und ein dritter Bereich im ROM des zweiten Steuergeräts beinhalten jeweils eine Struktur von Funktionszeigern. Bei der Struktur von Funktionszeigern handelt es sich um die oben genannte Zeigerzwi schenschicht. Die Funktionszeiger können etwa in Form einer Tabelle abgelegt wer den.

Über die Funktionszeiger lassen sich aus der steuergerätespezifischen Softwareein heit Anweisungen der steuergeräteunabhängigen Softwareeinheit und umgekehrt aus der steuergeräteunabhängigen Softwareeinheit Anweisungen der steuergerä tespezifischen Softwareeinheit aufrufen. Entsprechend referenziert mindestens ein Funktionszeiger eine Anweisung der steuergerätespezifischen Softwareeinheit. Über diesen Funktionszeiger lässt sich aus der steuergeräteunabhängigen Softwareeinheit heraus die Anweisung der steuergerätespezifischen Softwareeinheit aufrufen. Analog referenziert mindestens ein Funktionszeiger eine Anweisung der steuergeräteunab hängigen Softwareeinheit. Über diesen Funktionszeiger lässt sich die Anweisung der steuergeräteunabhängigen Softwareeinheit aus der steuergerätespezifischen Soft wareeinheit heraus aufrufen.

Die steuergerätespezifische Softwareeinheit wird für das jeweilige Steuergerät etwa als separates Hex-File zur Verfügung gestellt. Eine eindeutige Hardwarekennung in nerhalb der Logistikdaten im Steuergerät legt bevorzugt fest, welche Fassung der steuergerätespezifischen Softwareeinheit für das entsprechende Steuergerät not wendig ist. Ein Fahrzeughersteller ist damit in der Lage, die dem Steuergerät zuge ordnete Fassung der steuergerätespezifischen Softwareeinheit korrekt auszuwählen und auf das Steuergerät zu programmieren.

In einer bevorzugten Weiterbildung ist die Struktur von Funktionszeigern zweiteilig ausgeführt. Sie besteht weiterbildungsgemäß aus einem steuergeräteunabhängigen Teil und einen steuergerätespezifischen Teil.

Die einzelnen steuergerätespezifischen und steuergeräteunabhängigen Softwareein heiten und Strukturen von Funktionszeigern müssen unter Verwendung eines Lin kers, auch Binder oder Bindlader genannt, zu einem auf einem Steuergerät lauffähi gen Programm integriert werden. Während der Integration wird anhand einer Schnitt stellenbeschreibungsdatei der steuergeräteunabhängige Teil der Struktur von Funkti onszeigern automatisch generiert. Damit wird sichergestellt, dass keine Schnittstelle in der Struktur verloren geht.

Ein entsprechendes erfindungsgemäßes Verfahren sieht die Ausführung folgender Verfahrensschritte vor:

Linken des steuergeräteunabhängigen Teils der Struktur von Funktionszeigern und der steuergeräteunabhängigen Softwareeinheit zu einem steuergeräteun abhängigen Softwaremodul;

Linken der der steuergerätespezifischen Softwareeinheit für das erste Steuer gerät und eines ersten Abschnitts des steuergerätespezifischen Teils der Struk tur von Funktionszeigern zu einem ersten steuergerätespezifischen Software modul;

Linken der der steuergerätespezifischen Softwareeinheit für das zweite Steuer gerät und eines zweiten Abschnitts des steuergerätespezifischen Teils der Struktur von Funktionszeigern zu einem zweiten steuergerätespezifischen Soft waremodul; und Zusammenfügen des steuergeräteunabhängigen Softwaremoduls, des ersten steuergerätespezifischen Softwaremoduls und/oder des zweiten steuergerä tespezifischen Softwaremoduls zu der lauffähigen Software.

Mit Softwaremodul wird eine Softwareeinheit bezeichnet, die sich mit anderen Soft wareeinheiten zu lauffähiger Software zusammenfügen lässt.

Für die unterschiedlichen Linkläufe wird ein gemeinsames Locator-File verwendet, um den Wartungsaufwand gering zu halten. Verschiedene Präprozessorschalter im Locator-File dienen dabei zur spezifischen Einstellung für das jeweilige Softwaremo dul. Im Wesentlichen wird damit festgelegt, welche Speicherbereiche dem jeweiligen Softwaremodul zugeordnet werden und damit gleichzeitig verhindert, dass es durch die verschiedenen Linkläufe zu Speicherüberlappungen kommen kann. In jedem Linklauf wird vom Linker bevorzugt eine Koppeltable erstellt.

In jeder Softwareeinheit ist bevorzugt ein Referenzstring hinterlegt. Mittels dieses Re ferenzstrings wird sichergestellt, dass nur zueinander kompatible Softwareeinheiten geflasht werden können. Alternativ kann diese Prüfung beim Aufstarten des Steuer geräts durch das Steuergerät selbst erfolgen.

Im Flash-Baustein des jeweiligen Steuergeräts sind für die steuergerätespezifische Softwareeinheit entsprechende Flash-Segmente vorreserviert.

Ein bevorzugtes Ausführungsbeispiel der Erfindung ist in Fig. 1 dargestellt. Im Einzel nen zeigt:

Fig. 1 ein Strukturdiagramm.

Fig. 1 stellt drei Softwaremodule dar - ein steuergeräteunabhängiges Softwaremodul 101 , ein erstes steuergerätespezifisches Softwaremodul 103 und ein zweites steuer gerätespezifisches Softwaremodul 105. Das steuergeräteunabhängige Softwaremo dul 101 weist einen steuergeräteunabhängigen Teil SWFL DATA einer Struktur von Funktionszeigern und eine steuergeräteunabhängige Softwareeinheit SWFL PROG auf. Die steuergerätespezifischen Softwaremodule 103, 105 weisen jeweils einen steuergerätespezifischen Teil SWFL DATA Hwl1 , SWFL DATA Hwl2 und eine steuer gerätespezifische Softwareeinheit SWFL HWL1 , SWFL HWL2 auf.

Durch Zusammenfügen der drei Softwaremodule 101 , 103, 105 entsteht Software 107, die auf einem Steuergerät ausführbar ist. Die Software 107 umfasst den steuer geräteunabhängigen Teil SWFL DATA der Struktur von Funktionszeigern, die beiden Abschnitte SWFL DATA Hwl1 , SWFL DATA Hwl2 des steuergerätespezifischen Teils der Struktur von Funktionszeigern, die steuergeräteunabhängige Softwareeinheit SWFL PROG und wahlweise die steuergerätespezifische Softwareeinheit SWFL HWL1 für das erste Steuergerät oder die steuergerätespezifische Softwareeinheit SWFL HWL2 für das zweite Steuergerät. Die beiden steuergerätespezifischen Soft wareeinheiten SWFL HWL1 , SWFL HWL2 sind zur Anpassung an das jeweilige Steuergerät untereinander austauschbar.

Bezuqszeichen

101 steuergeräteunabhängiges Softwaremodul

103 erstes steuergerätespezifisches Softwaremodul

105 zweites steuergerätespezifisches Softwaremodul

SWFL DATA steuergeräteunabhängiger Teil einer Struktur von Funktionszei gern

SWFL PROG steuergeräteunabhängigen Softwareeinheit

SWFL DATA Hwl1 erster Abschnitts eines steuergerätespezifischen Teils der Struk tur von Funktionszeigern

SWFL DATA Hwl2 zweiter Abschnitts des steuergerätespezifischen Teils der Struk tur von Funktionszeigern

SWFL HWL1 steuergerätespezifische Softwareeinheit für ein erstes Steuerge rät

SWFL HWL2 steuergerätespezifische Softwareeinheit für ein zweites Steuer gerät