ECU Interfacing leicht gemacht mit Binary Code Management
- Automobiltechnik
02:07min
Übersicht
Was wäre, wenn Sie ECU‑interne Funktionen testen oder ersetzen könnten – ohne Zugriff auf den Source Code?
In diesem dBRIEF zeigt dSPACE, wie Binary Code Management das Testen und Entwickeln von Funktionen auf Seriensteuergeräten deutlich vereinfacht.
Das Binary Code Management-Tool von dSPACE ist ein effizientes Werkzeug, mit dem Ingenieure Funktionen von Steuergeräten ändern und testen können, ohne auf den ursprünglichen Quellcode zugreifen oder diesen verändern zu müssen. Das ist normalerweise schwer möglich, da die Toolchains komplex sind und der Source Code oft nur eingeschränkt verfügbar ist. Die dSPACE Solution bewältigt diese zentrale Herausforderung in der Entwicklung eingebetteter Software durch Anpassungen direkt im Binärcode.
Unter Verwendung lediglich der ursprünglichen Flash-Datei und der dazugehörigen MAP-Datei ermöglicht das Binary Code Management Tool Entwicklern, ungenutzten Speicher der ECU-Software zu patchen. Dieser Ansatz ermöglicht den Zugriff auf bestehende oder das Patchen neuer Funktionen in das Flash-File ohne Anpassungen am Source Code vornehmen zu müssen.
Bei der Funktionsentwicklung können externes und internes Bypassing genutzt werden. Beim externen Bypassing wird die ECU direkt mit externen Echtzeitplattformen für Rapid Prototyping verbunden, während internes Bypassing neue Funktionen direkt im ECU-Speicher ablegt und im Steuergerät ausführt. Bei der Absicherung und dem Abtesten von Funktionen können interne Funktionen direkt stimuliert und die Ausgaben ausgelesen werden, was insbesondere zur Analyse sicherheitskritischer Anwendungen unerlässlich ist.
Die Binary Code Management Tool beschleunigt die Entwicklung, vereinfacht das Testen und reduziert die Abhängigkeit zu Toolchains und der Source Code-Verfügbarkeit, was es für Entwicklungsingenieure und Validierungsteams äußerst relevant macht.
Gastgeber
Martin Teiner
Product Manager, Real-Time Test & Development Solutions, dSPACE
FAQ
Q1: Was versteht man unter „Binary Code Management“ in der ECU-Entwicklung?
A1: „Binary Code Management“ ist eine Methode, mit der die ECU-Funktionalität durch das Einfügen von Patches in die kompilierte Software geändert und erweitert werden kann, ohne auf den Quellcode zugreifen zu müssen. Dabei werden vorhandene Flash-Dateien und Informationen zur Speicherzuordnung genutzt. Dies ermöglicht effizientes Testen und schnelle Iterationen.
Q2: Wie können ECU-Funktionen ohne Quellcode geändert werden?
A2: Funktionen können geändert werden, indem Patches in ungenutzte Speicherbereiche der ECU-Software eingefügt werden. Dadurch werden eine Neukompilierung und direkte Änderungen am Quellcode vermieden. Durch die Informationen aus der MAP-Datei können freie Speicherbereiche identifiziert und der Patch mit bestehenden Funktionseinstiegspunkten verknüpft werden.
Q3: Was ist der Unterschied zwischen internem und externem Bypassing?
A3: Beim internen Bypassing werden neue Funktionen direkt im ECU-Speicher abgelegt und im Steuergerät ausgeführt. Beim externen Bypassing werden Funktionen auf einer externen Echtzeitplattform ausgeführt, die mit der ECU verbunden ist. Beide Methoden unterstützen flexibles Testen und Entwickeln.
Q4: Was sind die Vorteile der Verwendung von Binary Code Management?
A4: Es verringert die Abhängigkeit zu Toolchains und Zugriffsrechten auf Quelldateien, beschleunigt Entwicklungszyklen und vereinfacht das Testen von Steuergeräten. Dies führt zu effizienteren und flexibleren Arbeitsabläufen.
Q5: Warum ist die Reaktionszeitanalyse beim Testen von Steuergeräten wichtig?
A5: Die Reaktionszeitanalyse stellt sicher, dass die Funktionen der Steuereinheit die Leistungs- und Sicherheitsanforderungen erfüllen. Dies ist besonders bei sicherheitsrelevanten Fahrzeugsystemen von entscheidender Bedeutung. Eine genaue Zeitmessung hilft bei der Validierung der Systemzuverlässigkeit.
Q6: Welche Eingaben sind für die Nutzung des Binary Code Management-Tools erforderlich?
A6: Das Tool benötigt die originale ECU-Flash-Datei und eine MAP-Datei, die das Speicherlayout und die Funktionseinstiegspunkte beschreibt. Diese Eingaben ermöglichen das präzise Einfügen von Patches. Es sind keine zusätzlichen Quellcodes erforderlich.