-
Die
vorliegende Erfindung betrifft ein Verfahren zum Erzeugen einer
Betriebssoftware auf einem Steuergerät für ein Kraftfahrzeug. Die Erfindung
betrifft auch ein Steuergerät
für ein
Kraftfahrzeug. Steuergeräte
in Kraftfahrzeugen werden mit einer Betriebssoftware ausgestattet,
damit sie ihre jeweils vorgesehenen Aufgaben im Kraftfahrzeug erfüllen können. In
den heutigen Systemen werden lauffähige Programme im Vorfeld der
Produktion erzeugt und der Montagelinie fertig zur Verfügung gestellt.
Varianten in den Zielsystemen, also individuelle Eigenschaften der
jeweiligen Steuergeräte,
mit Einfluss auf die auf ihnen ausführbaren Programme werden entweder
durch Berücksichtigung
in der Parametrierung und Aktivierung von Codeteilen oder durch
automatische Selektion von bereits codierten Varianten berücksichtigt.
Dabei ist die Betriebssoftware mit ihren möglichen Varianten und Codeteilen
auf einem Speicher des Steuergeräts
abgelegt.
-
Ein
Problem ist dabei die Vielfalt in der Praxis möglicher Varianten der Betriebssoftware.
Insbesondere lassen sich mit der herkömmlichen Variantencodierung
und Parametrierung der Software viele verbaute Komponentenvarianten,
wie z. B. fahrzeugspezifische Kommunikationsprotokolle oder OEM
spezifische Funktionsstrategien nicht, oder nur mit sehr hohem Ressourcenverbrauch
auf dem Mikrocontroller des Steuergeräts konfigurieren. Insbesondere sind
dabei viele unterschiedliche Softwareversionen bzw. große und schnelle
Flashspeicher des Steuergeräts
notwendig, in denen die verschiedenen möglichen Varianten abgelegt
sind und ausgeführt
werden. Dadurch besteht ein hoher Bedarf an Ressourcen, insbesondere
Speicher platz und Laufzeit auf dem Steuergerätespeicher. Es resultieren
hohe Entwicklungs- und Logistikkosten bzw. ein erhöhter Teilepreis.
-
In
der Veröffentlichung
von Frenzel, P. et al.: „Extending
the Reflexion Method for Consolidating Software Variants into Product
Lines", 14th working conference an reverse engineering,
28. bis 31. Oktober 2007, ist ein Verfahren zum Vergleichen von
Softwarevarianten beschrieben, die durch „cloning-at-the-large" erzeugt wurden.
-
DE 101 53 447 A1 beschreibt
ein Verfahren zur Programmierung eines Steuergeräts eines Fahrzeugs, bei dem über eine
Programmiervorrichtung in einem Speicher des Steuergeräts ein Fahrzeugtyp angepasster
Arbeitsprogrammsatz und/oder ein Fahrzeugtyp angepasster Applikationsdatensatz
abgespeichert wird.
-
DE 102 34 063 B4 beschreibt
ein Verfahren zum variantenspezifischen Programmieren eines Programm-
und Datenspeichers eines Steuergeräts, wobei ein Speicher ein
Basisprogramm und mehrere variantenspezifische Programmänderungsinformationen
sowie ein Basisdatensatz und mehrere variantenspezifische Datenänderungsinformationen
abgelegt sind. Zur Programmierung wird eine bestimmte variantenspezifische
Programmänderungsinformation
und Datenänderungsinformation über eine
dem Steuergerät
zu gebende Auswahlinformation gewählt und das Basisprogramm und
der Basisdatensatz werden automatisch gemäß der Programm- und der Datenänderungsinformation
geändert.
Ein Steuergerät
und Netzwerk für
eine Mehrzahl von Vorrichtungen mit einem dazugehörigen Implementierungsverfahren
ist in
WO 2005/006091
A1 beschrieben. Das Implementierungsverfahren umfasst die
Schritte:
a) Ermitteln aller Vorrichtungen eines spezifischen Fahrzeugs,
b) Untersuchen der ermittelten Vorrichtungen im Hinblick auf ihre
jeweiligen Anforderungen an ein Steuergerät sowie Zuordnen der Vorrichtungen
zu einer Domäne,
c) Zusammenstellen des Softwarepakets sowie d) Einspielen des zusammengestellten
Softwarepakets auf das Steuergerät.
-
Weiterhin
ist ein Verfahren und eine Vorrichtung zur Steuerung von Betriebsabläufen in
einem Fahrzeug in
DE
199 64 013 A1 beschrieben. Die Steuerung erfolgt durch
wenigstens eine Steuereinheit mit wenigstens einem nicht flüchtigen
Speichermittel, wobei die Steuerung abhängig von der jeweiligen Ausführungsvariante
des Fahrzeugs und/oder der Steuereinheit durchgeführt wird
und bei einer Funktionsauswahl durch Vorgabe einer Kennung die jeweiligen
Funktionen entsprechend der eingesetzten Ausführungsvarianten ausgewählt werden.
-
Ausgehend
von dem voran erläuterten
Stand der Technik liegt der Erfindung daher die Aufgabe zugrunde,
eine individuelle Betriebssoftware für ein Steuergerät mit hoher
Flexibilität
und geringem Ressourcenbedarf zu erstellen.
-
Diese
Aufgabe wird erfindungsgemäß durch die
Gegenstände
der unabhängigen
Ansprüche
1 und 10 gelöst.
Weitere Lösungen
des Problems finden sich in den Ansprüchen 11 und 12. Vorteilhafte Ausgestaltungen
und Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen sowie
der Beschreibung und der Zeichnung enthalten.
-
Für ein eingangs
genanntes Verfahren zum Erzeugen einer Betriebssoftware auf einem
Steuergerät
für ein
Kraftfahrzeug wird die Aufgabe gemäß der Erfindung dadurch gelöst, dass
aus einer externen Datenquelle eine für den jeweiligen Einsatz des Steuergeräts individuelle
Betriebssoftware auf dem Steuergerät erzeugt wird. Entsprechend
wird die Aufgabe für
ein Steuergerät
der eingangs genannten Art dadurch gelöst, dass es eine nach dem erfindungsgemäßen Verfahren
individuell erzeugte Betriebssoftware aufweist.
-
Der
Erfindung liegt der Gedanke zugrunde, die Betriebssoftware, insbesondere
eine Echtzeitsoftware, für
das jeweilige Zielsystem maßgeschneidert
aus einer externen Datenquelle zu erstellen. Dazu wird die Betriebssoftware
aus der externen Datenquelle ausgewählt bzw. zusammengestellt und auf
dem Steuergerät
installiert bzw. programmiert. Es ist dabei möglich, die Software aus der
Datenquelle auszuwählen
und die Softwarekomponenten erst auf dem Steuergerät zu einem
lauffä higen
Code zusammenzustellen, also insbesondere zu compilieren und zu
verlinken oder aus fertig gelinkten Codeteilen zusammenzusetzen.
Es ist aber auch möglich,
die Software bereits auf der externen Datenquelle zu compilieren
und zu verlinken, und die fertige Software auf das Steuergerät zu übertragen.
Auf diese Weise werden weitere Laufzeit und Speicher des Steuergeräts gespart.
-
Die
Betriebssoftware ist ein lauffähiger
Programmcode für
echtzeitfähige
(embedded) Systeme, insbesondere Steuergeräte (ECU), der zur Ausübung der
jeweils vorgesehenen Funktionen befähigt. Die Betriebssoftware
wird insbesondere in dem Arbeits- oder Programmspeicher des Steuergeräts erzeugt. Bei
der externen Datenquelle handelt es sich um eine Datenquelle, die
nicht auf dem Steuergerät
selbst vorgesehen ist. Insbesondere ist die Datenquelle im Gegensatz
zum Stand der Technik nicht der Arbeits- bzw. Programmspeicher des
Steuergeräts.
Zur Erzeugung der Software ist die externe Datenquelle mit dem Steuergerät in geeigneter
Weise verbindbar.
-
Der
erfindungsgemäß maßgeschneiderte, optimierte
und lauffähige
Code kann dabei zu einem möglichst
späten
Zeitpunkt auf dem Steuergerät
erzeugt werden, z. B. am Bandende des Steuergeräteherstellers, am Bandende
des Automobilherstellers, in Servicewerkstätten oder sogar direkt durch
den Endkunden des Fahrzeugs im Feld. Frühestens wird die Betriebssoftware
erfindungsgemäß erzeugt, nachdem
die Konfiguration des Fahrzeugs soweit feststeht, dass die durch
das jeweilige Steuergerät
zu erfüllenden
Funktionen eindeutig definiert sind.
-
Indem
die Betriebssoftware aus einer externen Datenquelle erzeugt wird,
werden teure Ressourcen auf dem Steuergerät, insbesondere Speicherplatz
und Laufzeit, gespart. Insbesondere muss der Variantenreichtum der
möglichen
Betriebssoftware nicht auf dem Steuergerät gespeichert werden. Vielmehr
können
die möglichen
Varianten der Betriebssoftware auf der externen Datenquelle zur
Verfügung
gestellt werden und von dieser ausgewählt werden. Dies verringert
die Teilekosten. Dabei kann das Steuergerät optimal an die speziellen
Bedingungen im Betrieb angepasst werden. So können z. B. bestimmte Fahrzeugkonfigurationen
oder eine durch das Steuergerät
vorgesehene Ansteuerung bzw. Auswertung bestimmter Aktuatoren bzw.
Sensoren berücksichtigt
werden (ASIC'S,
Sensor-/Aktuator-Interfaces etc.). Auch können andere durch die mit dem Steuergerät zu steuernde
Komponente bedingte Konfigurationen berücksichtigt werden. Ebenso ist
es möglich,
ECU-, Komponenten-, länder-,
gelände- oder
kundenspezifische Konfigurationen mit der Betriebssoftware auf dem
Steuergerät
abzubilden. Indem der auf dem Steuergerät erzeugte Programmcode komponentenindividuell
ausgestaltet sein kann, können
beispielsweise größere Fertigungstoleranzen von
mechanischen Komponenten durch mitgelieferte spezifische Softwarealgorithmen
ausgeglichen werden oder an die jeweils zu steuernde Komponente gebundene
individuelle Verschlüsselungen
realisiert werden. Auch ist es möglich,
bei der Erzeugung der Betriebssoftware die Zusammensetzung des durch das
Kraftfahrzeug getankten Kraftstoffs (Qualität, Typ, etc.) oder Umweltdaten,
z. B. Temperaturen (permanente Kälte
oder Hitze) oder die Luftqualität, zu
berücksichtigen.
-
Mit
nur einem Steuergerät
kann erfindungsgemäß eine Vielzahl
von Einsatzvarianten abgedeckt werden, so dass Logistikkosten gespart
werden. Die Konfiguration des Steuergeräts mit der Betriebssoftware
ist noch bei einem Austausch von Komponenten des Fahrzeugs oder
sogar noch beim Endkunden des Fahrzeugs möglich. So ist es denkbar, bestimmte Softwarefunktionen
als Produkt zu dem Fahrzeug zu verkaufen, die dann durch den Fahrer
selbst installiert werden können.
-
Nach
einer Ausgestaltung der Erfindung kann die Betriebssoftware in einer
die externe Datenquelle enthaltenden Komponente erzeugt und anschließend auf
das Steuergerät übertragen
werden. Bei einer solchen die externe Datenquelle enthaltenden Komponente
kann es sich beispielsweise um einen Computer am Bandende (Bandenderechner)
der Produktionslinie des Steuergeräts oder des Kraftfahrzeugs
handeln. Es kann sich aber beispielsweise auch um eine durch das
Steuergerät
zu steuernde Komponente, beispielsweise einen Sensor oder Aktuator
handeln. Es kann also beispielsweise in einem Bandenderechner überprüft werden,
welche Komponenten in dem Fahrzeug verbaut sind und eine entsprechende
Software für
diese Konfiguration in dem Bandenderechner erstellt werden. Anschließend kann
diese Software dann auf das Steuergerät übertragen werden.
-
Gemäß einer
weiteren Ausgestaltung kann die individuelle Betriebssoftware aus
einer Mehrzahl von auf der externen Datenquelle zur Verfügung gestellten
Softwarekomponenten zusammengestellt werden. Bei dieser Ausgestaltung
wird die Betriebssoftware also durch ein Compilieren und Verlinken
individuell zusammengestellter Softwarekomponenten und anschließender Programmierung
auf dem Steuergerät
erzeugt. Dem Automobil- bzw. Steuergerätehersteller wird bei dieser
Ausgestaltung ein Pool aus Softwaremodulen, beispielsweise in Form
von OBJ Code, Libraries oder C-Code zu Verfügung gestellt. Der Softwarepool
kann auch komponentenspezifisch, also in Abhängigkeit von der durch das
Steuergerät
zu steuernden Komponente, bereitgestellt werden (z. B. Basiscode
für ECU
oder Code für
die Ansteuerung eines speziellen Aktuators/Sensors etc.). Je nach
Fahrzeug- bzw. ECU-Konfiguration wird die Steuergeräte-Software beispielsweise
während
der Fertigung des Fahrzeugs oder Steuergeräts individuell generiert und
anschließend
programmiert. Dazu sind die Softwarearchitektur und die Schnitt stellen
zu den Codevarianten für
den jeweiligen Steuergerätetyp
standardisiert. Das Zusammenstellen der Softwarekomponenten (Compilieren
und Verlinken) kann noch in der externen Datenquelle erfolgen, beispielsweise
parallel zur Steuergeräte-
oder Fahrzeugherstellung. Anschließend, beispielsweise am jeweiligen Bandende,
kann dann die zusammengestellte Betriebssoftware in das Steuergerät übertragen
und so auf dem Steuergerät
erzeugt werden. Dadurch werden Ressourcen, insbesondere Laufzeit,
auf dem Steuergerätespeicher
eingespart. Es ist aber auch denkbar, das Compilieren und Verlinken
bereits auf dem Steuergerät
selbst durchzuführen,
die Softwarekomponenten also vorher von der externen Datenquelle
auf das Steuergerät
zu übertragen.
Die Softwarekomponenten können
beispielsweise in einem Speicher eines Bandenderechners oder in
Speichern einer oder verschiedener, jeweils durch das Steuergerät zu steuernder
Komponenten abgelegt sein und so zur Verfügung gestellt werden. Auch
ist eine Kombination aus einem Ablegen der Softwarekomponenten in
einem Speicher des Bandenderechners und in Speichern eines oder
verschiedener, jeweils durch das Steuergerät zu steuernder Komponenten
möglich.
-
Nach
einer weiteren Ausgestaltung kann die individuelle Betriebssoftware
aus einer auf der externen Datenquelle zur Verfügung gestellten Basissoftware
und mindestens einer ebenfalls auf einer externen Datenquelle für den jeweiligen
Einsatz des Steuergeräts
individuellen Differenzsoftware erzeugt werden. Bei dieser Vorgehensweise
existiert eine allgemeine Basis- oder Mastersoftware, die mit einer
oder mehreren individuell auszuwählenden
Differenzsoftwares zu einem neuen Softwarecode kombiniert wird.
Die jeweilige Differenzsoftware entspricht dabei der Differenz zwischen
der Basissoftware und der für den
Einsatz des Steuergeräts
benötigten
Variante der Betriebssoftware. Zur Erzeugung der Betriebssoftware
kann die Differenzsoftware beispielsweise Teile der Basissoftware
er setzen oder verändern bzw.
ergänzen.
Ein solches Differenzdatensatzverfahren ist im Grundsatz bekannt
aus
WO 2006/100232
A1 . Dieses Verfahren ist im Grundsatz auch bei der Erfindung
anwendbar. Das aus
WO 2006/100232
A1 bekannte Verfahren wird jedoch nur für die Parametrierung (Datensatzkonfiguration)
eingesetzt und nicht für
die Erstellung einer vollständigen
Betriebssoftware des Steuergeräts.
Außerdem sind
bei dem bekannten Verfahren der Basisdatensatz und die jeweiligen
Differenzdatensätze
auf einem Speicher des Steuergeräts
abgelegt. Dadurch besteht wiederum ein hoher Ressourcenbedarf. Erfindungsgemäß wird die
Betriebssoftware dagegen aus einer externen Datenquelle erstellt.
Dabei können
die Datenquellen für
die Basissoftware und die Differenzsoftware dieselbe Datenquelle
oder unterschiedliche Datenquellen sein. Die Mastersoftware und
die Differenzensoftwares können
beispielsweise auf Hex-File-Level gegebenenfalls komprimiert abgelegt
und je nach Fahrzeug- bzw. ECU-Konfiguration zu einer individuellen
Variantensoftware zusammengesetzt werden. Ein Vorteil dieser Ausgestaltung
liegt darin, dass der schnelle und teure Speicher des Steuergeräts (z. B.
Flashspeicher) optimal ausgenutzt werden kann und die Definition
der möglichen Varianten
nicht bereits während
der Entwicklung des Steuergeräts
erfolgen muss. Vielmehr können
auch noch zu einem späteren
Zeitpunkt Varianten durch eine entsprechend nachgelieferte Differenzensoftware
ohne Einfluss auf bestehende Varianten und Mastersoftware berücksichtigt
werden. Darüber
hinaus besteht weitgehend Unabhängigkeit
bezüglich
der möglichen
Schnittstellen und Parameter.
-
Nach
einer weiteren Ausgestaltung kann auf einem Programmspeicher des
Steuergeräts
eine Mehrzahl von Speicherbereichen definiert und bestimmten Funktionen
zugeordnet werden, wobei zur Erzeugung der individuellen Betriebssoftware
die Speicherbereiche zumindest teilweise mit auf der externen Daten quelle
zur Verfügung
gestellten Softwarevarianten befüllt
werden. Bei dieser Ausgestaltung werden also im Programmspeicher
des Steuergeräts
Funktionen des Steuergeräts
und zugehörige Speicherbereiche
insbesondere hinsichtlich ihrer Adresse und Größe statisch festgelegt und
gegebenenfalls verlinkt. Zur Erzeugung der Betriebssoftware werden
beispielsweise am Bandende, in der Werkstatt oder im Feld diese
Bereiche mit den für
die jeweilige Funktion gewünschten
Funktionsvarianten befüllt.
Nach der fertiggestellten Programmierung der Betriebssoftware sind
dann die gewünschten
Funktionsvarianten in dem Programmspeicher enthalten. Die zugehörige RAM-Belegung erfolgt
in diesem Fall dynamisch. Diese Ausgestaltung hat den Vorteil, dass
auch nicht von dem Steuergerätehersteller
zur Verfügung
gestellte „Fremdsoftware" auf dem Steuergerät eingebunden
werden kann, beispielsweise auf Hex-Code-Ebene. Dabei ist es erforderlich,
dass die Schnittstellen und Speicherbereiche zur Entwicklungszeit
des Steuergeräts
bereits eindeutig definiert sind. Darüber hinaus ist die Größe der jeweiligen Speicherbereiche
jeweils so auszulegen, dass die größte der für diesen Speicherbereich jeweils
denkbaren Softwarevariante in diesem Bereich gespeichert werden
kann.
-
Die
externe Datenquelle kann beispielsweise ein externes, vorzugsweise
preisgünstiges
Speichermedium sein, z. B. ein kostengünstiger Flashspeicher. Die
externe Datenquelle kann auch als Speicher in anderen in dem Kraftfahrzeug
verbauten Steuergeräten
oder Komponenten, als Strichcode oder auf einem Transponderchip
auf mechanischen Komponenten des Fahrzeugs, als Speicher im End-of-Line-(EOL-)Rechner,
als Speicher im Service-Tester, auf anderen Speichermedien, wie
Compact Discs usw. vorgesehen sein. Insbesondere kann die externe
Datenquelle ein Speichermedium der durch das Steuergerät jeweils
anzusteuernden Komponente sein. Die Übertragung von Daten von der
externen Datenquelle auf das Steuergerät kann beispielsweise über eine
Datenleitung erfolgen, z. B. eine serielle Anbindung. Es ist aber
auch denkbar, dass zur Erzeugung der individuellen Betriebssoftware
Daten von der externen Datenquelle über ein Computernetzwerk und/oder über das
Internet auf das Steuergerät übertragen
werden. So ist auf diese Weise beispielsweise eine Übertragung
der Daten von einer bei dem Hersteller der von dem Steuergerät zu steuernden
Komponente, dem Steuergerätehersteller
oder dem Fahrzeughersteller vorgesehenen Datenquelle auf das Steuergerät möglich.
-
Zur
Auswahl und Programmierung der gewünschten Softwarevariante auf
dem Steuergerät gibt
es verschiedene Möglichkeiten.
Dies kann durch ein externes Werkzeug, beispielsweise eine entsprechende
Software, oder durch den jeweiligen Benutzer selbst geschehen. Die
Auswahl und/oder Erzeugung der auf dem Steuergerät individuell zu erzeugenden
Betriebssoftware kann insbesondere auch durch eine Steuerungssoftware
erfolgen. Nach einer Ausgestaltung kann die Steuerungssoftware in
einem Speicher des Steuergeräts
enthalten sein. Der die Steuerungssoftware aufweisende Speicher
des Steuergeräts
kann beispielsweise der Arbeitsspeicher oder Programmspeicher des
Steuergeräts
sein. Das Steuergerät
kann mit seiner Steuerungssoftware also selbst prüfen, wie
es sich zu konfigurieren bzw. zu programmieren hat und anschließend die
Umprogrammierung selbst anstoßen.
Dies kann beispielsweise basierend auf der Bestückung des Steuergeräts (z. B.
ASIC's, Sensor-Interfaces etc.)
oder angeschlossenen Komponenten oder Komponentenparametern im Fahrzeug
erfolgen. Grundlage für
die Auswahl und/oder Erzeugung der Betriebssoftware kann z. B. eine
Auswertung einer entsprechenden Diagnosefunktion der Steuerungssoftware
oder ein spezielles Konfigurationsprogramm auf dem Steuergerät sein.
-
Nach
einer weiteren Ausgestaltung kann die Auswahl und/oder Erzeugung
der auf dem Steuergerät
individuell zu erzeugenden Betriebssoftware durch ein Signal von
einer anderen Komponente des Kraftfahrzeugs, insbesondere einem
anderen Steuergerät,
erfolgen. Gemäß dieser
Ausgestaltung kann die Programmierung der Betriebssoftware durch
ein externes Signal, also ein von einem externen Gerät stammendes
Signal, angestoßen
werden. Beispielsweise kann über
einen Can-Bus von einem anderen Steuergerät im Fahrzeug, z. B. einem
Navigationssystem, ein entsprechendes Signal gesendet werden. Ein
solches externes Steuergerät,
beispielsweise ein Navigationssystem, kann selbst die jeweilige Konfiguration
durch eine Datenübertragung
von einer zentralen Quelle erhalten oder beispielsweise abhängig von
der jeweiligen Position des Fahrzeugs (z. B. länder- oder geländespezifisch)
die gewünschte
Konfiguration ermitteln. Das Signal kann von einer externen Steuerungssoftware
stammen, die dann auch die Erzeugung der Betriebssoftware auf dem
Steuergerät übernimmt.
Es ist aber auch denkbar, dass auf dem Steuergerät eine Steuerungssoftware zur
Erzeugung der Betriebssoftware vorhanden ist, die durch das von
dem externen Gerät
stammende Signal lediglich angesteuert wird und dann selbst die entsprechende
Programmierung vornimmt. Eine Auswahl der jeweils zu erzeugenden
Betriebssoftware kann auch abhängig
von der Zusammensetzung des getankten Kraftstoffs (Qualität, Typ,
etc.) oder abhängig
von Umweltdaten, z. B. Temperatur oder Luftqualität erfolgen.
-
Die
der Erfindung zugrundeliegende Aufgabe wird auch gelöst durch
ein Computerprogramm mit Programmcode-Mitteln, mit denen das erfindungsgemäße Verfahren
durchführbar
ist, wenn das Computerprogramm auf einem Computer oder Computer-Netzwerk
ausgeführt
wird. Die Programmcode-Mittel können
auf einem maschinenlesbaren Datenträger gespeichert sein. Umfasst
ist also auch ein entsprechendes Computerprogramm-Produkt, bei dem die
Programmcode-Mittel auf einem maschinenlesbaren Datenträger gespeichert
sind. Die Aufgabe wird außerdem
gelöst
durch einen Datenträger, auf
dem ein Computerprogramm gespeichert ist, das nach Laden in einen
Arbeits- und/oder Hauptspeicher eines Computers oder Computer-Netzwerks das
erfindungsgemäße Verfahren
ausführen
kann.
-
Ein
Ausführungsbeispiel
der Erfindung wird nachfolgend anhand einer Zeichnung näher erläutert. Die
einzige Figur zeigt schematisch ein zur Erzeugung der Betriebssoftware
mit einer externen Datenquelle verbundenes Steuergerät.
-
In
der einzigen Figur ist schematisch ein Steuergerät 1 (ECU) für ein nicht
näher dargestelltes Kraftfahrzeug
gezeigt. In dem dargestellten Beispiel dient das Steuergerät 1 zur
Ansteuerung von ebenfalls nicht dargestellten Fahrzeugsensoren,
beispielsweise Parkdistanzsensoren. Weiterhin ist in der Figur eine
externe Datenquelle 2, vorliegend ein kostengünstiger
Flashspeicher 2, gezeigt. Im dargestellten Beispiel wird
die Datenquelle 2 zusammen mit den von dem Steuergerät 1 zu
steuernden Komponenten, vorliegend den Parkdistanzsensoren, ausgeliefert.
-
Zur
Erzeugung einer individuellen Betriebssoftware auf dem Steuergerät 1,
die das Steuergerät 1 zur
Steuerung der Parkdistanzsensoren befähigt, kann der externe Datenspeicher 2 über eine
Datenleitung 3 seriell an das Steuergerät 1 angebunden werden.
Wie durch den Pfeil 4 an der Datenleitung 3 veranschaulicht,
findet dabei vorwiegend ein Datentransfer von der externen Datenquelle 2 zu
dem Steuergerät 1 statt.
Selbstverständlich
ist aber auch ein Datentransfer in die entgegengesetzte Richtung möglich.
-
Auf
dem Datenspeicher 2 befindet sich eine Mehrzahl von Softwarekomponenten
zur Ansteuerung verschiedener Fahrzeugkomponenten, in dem dargestellten
Beispiel verschiedener Parkdistanzsensoren für verschiedene Kraftfahrzeugkonfigurationen.
In dem Arbeitsspeicher des Steuergeräts 1 ist eine Steuerungssoftware
abgelegt. Die Steuerungssoftware weist eine Diagnosefunktion auf,
mit der der spätere
Einsatzzweck des Steuergeräts 1 ermittelt werden
kann.
-
Im
ausgelieferten Zustand besitzt das Steuergerät 1 noch keine vollständige Betriebssoftware für den späteren Betrieb.
Um diese Betriebssoftware zu erzeugen, wird von der Steuerungssoftware
die Diagnosefunktion durchgeführt.
Als Ergebnis stellt die Steuerungssoftware fest, dass das Steuergerät 1 zur
Steuerung von Parkdistanzsensoren in der für das Kraftfahrzeug spezifischen
Weise vorgesehen ist. Dabei wird von der Steuerungssoftware insbesondere
festgestellt, welche Art von Parkdistanzsensoren auf welche Weise
in dem jeweiligen Kraftfahrzeug durch das Steuergerät 1 angesteuert
und ausgelesen werden sollen. Entsprechend diesem Ergebnis wählt die
Steuerungssoftware aus der Mehrzahl von auf der Datenquelle 2 zur
Verfügung
gestellten Softwarekomponenten die für die vorgesehene Ansteuerung
von Sensoren durch das Steuergerät 1 erforderlichen
Komponenten individuell aus. Die ausgewählten Komponenten werden dann
von der Steuerungssoftware 1 noch auf dem externen Datenspeicher 2 compiliert
und verlinkt oder aus fertig gelinkten Codeteilen zusammengesetzt
und so zu einer Betriebssoftware zusammengestellt. Anschließend wird die
zusammengestellte Software zur Erzeugung der Betriebssoftware über die
Datenleitung 3 von der Datenquelle 2 in den Programmspeicher
des Steuergeräts 1 übertragen
und dort installiert.
-
Im
Ergebnis wird durch die Steuerungssoftware so die für den speziellen
Einsatz des Steuergeräts 1 erforderliche
Betriebssoftware individuell auf dem Steuergerät 1, und insbesondere
in dem Programmspeicher des Steuergeräts 1, erzeugt.
-
Das
Erzeugen der Betriebssoftware auf dem Steuergerät 1 erfolgt in dem
dargestellten Beispiel erst am Bandende des Herstellers des Fahrzeugs,
in dem das Steuergerät 1 verbaut
wird. Die Diagnosefunktion und die anschließende Auswahl und Compilerung
bzw. Verlinkung der Softwarekomponenten für die Betriebssoftware kann
dagegen bereits während der
Steuergeräte-
bzw. Fahrzeugherstellung vor dem Bandende erfolgen. Zu diesem Zeitpunkt
steht die Konfiguration des Fahrzeugs und insbesondere die Konfiguration
des Steuergeräts 1 bereits
eindeutig fest.
-
Erfindungsgemäß ist eine
flexible, individuelle Konfiguration des Steuergeräts 1 möglich, wobei aufgrund
der Nutzung einer externen Datenquelle 2 teure Ressourcen
auf dem Steuergerät 1,
insbesondere Speicherplatz und Laufzeit auf dem Speicher des Steuergeräts 1 gespart
werden.