Debugger für Universalsteuergeräte Vector und iSystem vereinfachen Steuergeräteentwicklung

Vector Universalsteuergerät VC121-12 mit iSystem-Debugmodul
Vector Universalsteuergerät VC121-12 mit iSystem-Debugmodul

Für kleinere Serien bietet Vector Informatik Universal-Steuergeräte an, die direkt in ein Fahrzeug integriert werden können. Trotzdem muss der Automobilhersteller noch die Software entwickeln. Dabei hilft ein steckbares Debug-Modul.

Luxusfahrzeuge können heute fast nicht mehr selbständig existieren - zu groß sind die Aufwendungen für die Entwicklung neuer Fahrzeuge. Bentley und Lamborghini gehören zum Volkswagen-Konzern, Rolls Royce ist eine Tochter von BMW und Ferrari sowie Maseriati sind Töchter von Fiat. Die Autohersteller nutzen bei diesen Fahrzeugen viele Komponenten aus der Massenproduktion und reichern sie dann mit zusätzlichen Funktionen an. Für diese Zusatzfunktionen sind Steuergeräte notwendig. Während sich deren individuelle Entwicklung bei Mittelklasse-Fahrzeugen schnell durch die großen Verkaufszahlen amortisiert, sieht die Rechnung in dem von Kleinserien geprägten Luxussegment anders aus: Genauso wie bei standardisierten Computerplattformen bietet sich hier der Rückgriff auf ein universelles Gerät an, das wahrscheinlich nicht ganz genau dem Anwendungszweck angepasst ist und deshalb von den Komponenten her etwas teurer ist - dafür spart man sich aber die hohen Entwicklungskosten, Vector Informatik bietet mit der Steuergeräteserie VC121-12 eine solche Geräteplattform an und kann dessen Entwicklungskosten auf einen größeren Kundenkreis umlegen, was dann für alle günstiger kommt.

Nichtsdestotrotz bleibt dem Autohersteller die Aufgabe, die Software des Steuergerätes an die individuelle Anwendung anzupassen. Die VC12-Gerätefamilie wurde von Vector für Gateway-Aufgaben konzipiert, verbindet also Ein-/Ausgänge und verschiedene Kfz-Bussysteme miteinander. Für die Entwicklung bedeutet das, dass man die Kommunikationsvorgänge überwachen muss. Dazu befindet sich im Steuergerät ein PowerPC-Mikrocontroller mit zahlreichen digitalen und analogen I/Os für Taster und Sensoren sowie Ausgängen für die Ansteuerung von Relais, Ventilen und Motoren. Auch ein Software-Paket ist bereits vorinstalliert, das mit Microsar OS ein einsatzfertiges Autosar-Betriebssystem einschließt.

Direkt ins Zielsystem

Der Entwickler wird für das Debugging seiner Anwendungen nun zunächst die üblichen Debug-Funktionen wie Breakpoints und Darstellung von Variablen brauchen. Dazu gibt es ein steckbaren Debug-Modul von iSystem, das Vector Informatik in Kooperation anbietet. Mit diesen Modul kann man einen PC per USB-Schnittstelle mit den Steuergerät verbinden und direkt auf dem Zielsystem debuggen. Der Haupt-Vorteil dieser Methode ist, dass der Code nicht instrumentiert werden muss, was SRAM-Speicher belegt und das Timing der Anwendung beeinflussen würde. Als Debugging-Werkzeug wird auf dem Entwicklungs-PC die Software winIDEA von iSystem verwendet. Sie kann eine Konfigurationsdatei des Autosar-Betriebssystems vom Steuergerät einlesen und wird dadurch "OS-aware", kann also bestimmen, welche Betriebssystem-Routinen laufen. Über eine Callstack-Anzeige lässt sich zurückverfolgen, ob der Aufruf einer Funktion erwartungsgemäß erfolgt ist oder ob der Aufruf zufällig auf fehlerhaftem Weg oder durch unvorhersehbare Bedingungen zustande kam.

Das Debug-Modul mit einem STM32F405 (ARM Cortex-M4) kann etwas mehr als ein JTAG-Adapter: neben den genannten Funktionen und dem Flashen des Zielsystems können auch Variablen in live zur Laufzeit angezeigt werden. Das liegt daran, dass die Nexus-Schnittstelle, auf der das Modul steckt, von Vector auch als Kalibierinterface genutzt wird, das Werte nach dem XCP-Protokoll genau im 1-ms-Zeitraster überträgt. Diese hohe Geschwindigkeit ist hier überhaupt nicht nötig, denn die Funktion dient lediglich dazu, das dynamische Verhalten von Variablen auf dem Bildschirm zu visualisieren, so dass sich für das Auge eine flüssige Darstellung ergibt. Dazu reichen 30 Werte pro Sekunde.

Mehr Funktionen

An dem kleinen Debug-Modul dürfte iSystem nicht viel verdienen. Vielmehr rechnet iSystem damit, dass das Modul bei den Entwicklern das Bedürfnis nach mehr Funktionen weckt - zum Beispiel Trace, d.h. eine vollständige, instruktionsgenause Rückverfolgbarkeit des Programmcodes. Dazu ist dann allerdings eine aufwändigeres Debug-System in Form eine "BlueBox iC5500" nötig - und damit ein Folgegeschäft, das auch bei iSystem Geld in die Kasse spült. Mit dieser Lösung können dann auch Timing und Codeabdeckung analysiert werden.

Ob das System mit einem Debug-Modul oder einem iC5500-Debugger analysiert wird, spielt für das Steuergerät keine Rolle. Beide werden über einen 38-poligen Mictor-Steckverbinder angeschlossen. Der ist allerdings teuer und deshalb auf Seriengeräten nicht bestückt. A pro pos Serie: Vector lizienziert die Herstellungsdaten des Steuergeräts an die Automobilhersteller, die bei der Fertigung durch Minderbestückung nicht benötigter Peripherie Kosten sparen können. Darin liegt noch eine gewisse Variabitlität der universellen Steuergeräteplattform. Die Entwickler bekommen aber für ihre Arbeit ein Steuergerät im Maximalausbau, mit Debug-Schnittstelle, -Modul und sämtlicher bestückter Peripherie. Für Serienfahrzeuge wird ein Universalsteuergerät niemals so passgenau zugeschnitten sein wie ein fahrzeugspezifisches Steuergerät. Für kleine Serien von einigen hundert bis tausend Stück lohnt sich der Overhead jedoch durch die eingesparten Entwicklungskosten.