Bootloader etc

T5erFAN

Top-Mitglied
Ort
BEUTSCHLAND
Mein Auto
T5 Kastenwagen
Erstzulassung
2011
Motor
TDI® BlueMotion® 84 KW
DPF
ab Werk
Getriebe
5-Gang
Antrieb
Front
Ausstattungslinie
Basis
FIN
WV1ZZZ7HZCHxxxxxx
Typenbezeichnung (z.B. 7H)
aus der VIN zu entnehmen
Weitere T5 (Firmenfuhrpark, Taxen oder Spassmobile) in der Zeilenauflistung Aufbauart, Motor, Getriebe und EZ angeben
Trapo
Verstehen, was ein Flash-Bootloader ist und die Nuancen einer Neuprogrammierung von Kfz-Steuergeräten

Jede elektronische Steuereinheit (ECU) in einem Automobil hat die Aufgabe, eine bestimmte Anwendung auszuführen. Ein Antiblockiersystem-ECU sorgt beispielsweise dafür, dass die Bremsen beim Bremsen nicht blockieren.
Wie funktioniert das? – die in die ECU-Hardware portierte ABS-Softwareanwendung ist in der Lage, die Fahrzeuggeschwindigkeit als Eingabe abzurufen und ist darauf ausgelegt, die Bremse an den Rädern basierend auf dieser Eingabe zu reduzieren.
Welche Rolle spielt dabei eine Flash-Bootloader- Software? Sie dürfen fragen!
Nun, wie der Name schon sagt, ist Bootloader der Softwarealgorithmus, der beim Booten des Systems ausgeführt wird.
Lassen Sie uns tiefer eintauchen, um zu verstehen, warum ein Steuergerät/eine Steuereinheit für die Automobilindustrie über die Fähigkeit zur Software-Neuprogrammierung verfügen sollte.
Automotive ECUs (Control Units) unterstützen eine Vielzahl von Funktionalitäten. Diese Features und Funktionalitäten sind immer fortschrittlicher und komplexer geworden.
Für Automobil-OEMs und -Zulieferer ist es unabdingbar, sicherzustellen, dass diese softwaregesteuerten Steuergeräte immer in einer sicheren und effizienten Umgebung arbeiten.
Dies kann nur gewährleistet werden, wenn die ECUs (Steuergeräte) in Ihrem Fahrzeug über die neueste und aktualisierte Version der Software und Sicherheitspatches verfügen.
Daher muss die auf der MCU-Plattform entworfene und portierte Anwendungssoftware ziemlich häufig aktualisiert werden, entweder über einen entfernten Standort oder an der Servicestation.
Die Bootloader-Software, die das ROM der elektronischen Steuereinheit belegt , wurde mit dieser Aufgabe betraut, das Steuergeräte-Software-Update zu ermöglichen.
Die folgende Softwarearchitektur einer Bootloader-Software hilft Ihnen, besser zu verstehen,
uds-Bootloader

Wie die Bootloader-Software die Neuprogrammierung eines Kfz-Steuergeräts zu einem effizienten Prozess macht?​

Ein F-35-Kampfflugzeug hat ungefähr 5,7 Millionen Codezeilen und eine Boeing 787 hat etwas mehr als 6,5 Millionen Codezeilen .
Aber wenn man ein Luxusauto untersucht, würde man feststellen, dass es fast 100 Millionen Zeilen Softwarecode enthält.
So wird das Firmware-Update einer Automotive ECU (Electronic Control Unit) aufgrund der riesigen Menge an Softwarecode zu einer mühsamen Aufgabe.
Eine Bootloader-Software wurde entwickelt, um diesen Prozess der Flash-Neuprogrammierung und der Verwaltung des Firmware-Updates zu automatisieren.
Bei jedem Hochfahren des Systems prüft die Bootloader-Software, ob die neueste/aktualisierte Version der Steuergeräte-Software verfügbar ist.
Wenn ja, lädt die Bootloader-Software vor dem Booten des Systems die neue aktualisierte Version der Firmware herunter und speichert sie. Danach wird der Systemstart ausgeführt und das System läuft nun mit der neuen Version der Software in einer absolut sicheren Umgebung.

Verstehen, wie die Firmware mit einem Flash-Bootloader aktualisiert wird: eine Schritt-für-Schritt-Prozessanleitung​

Ein Flash-Bootloader-Modul wurde entwickelt, um die Firmware ohne die Verwendung von spezieller Hardware wie JTAG zu aktualisieren.
Im Folgenden finden Sie das Flussdiagramm der Schritte bei der ECU-Neuprogrammierung mit Flash Bootloader:
  • Das Flash Bootloader Modul ist das erste Softwaremodul, das beim Booten des Systems (nach dem Einschalten der Stromversorgung des Gerätes) aktiviert wird.
  • Die Kontrolle wird an den Flash Bootloader übertragen, der nach der aktualisierten Version der Firmware sucht. Wenn eine neue Version verfügbar ist, analysiert Flash Bootloader das Update, um die Quelle zu authentifizieren und alle vordefinierten Systemsicherheitsparameter zu überprüfen. Wenn die Authentifizierung erfolgreich ist, schreibt das Bootloader-Modul die neue Aktualisierung auf den Flash-Speicher an der Zieladresse.
  • Als nächstes wird das aktualisierte Programm erneut überprüft, um die Integrität und Treue der Software zu überprüfen. Wenn keine Anomalie gefunden wird, wird die Kontrolle vom Flash-Bootloader an die Anwendung übertragen.
Alle diese Schritte, die in den Prozess einer Steuergeräte-Neuprogrammierung eingebunden sind, werden von zwei verschiedenen Teilen des Bootloaders ausgeführt – dem primären und dem sekundären Bootloader.
Im nächsten Abschnitt erklären wir beide.
Primärer Bootloader: Einrichtung der Mikrocontroller-Einheit
Nach dem Zurücksetzen des Mikrocontrollers kommt die Steuerung zunächst zum Primary Bootloader. Dies ist der Teil der Bootloader-Software, der die MCU-Ressourcen initialisiert und einrichtet.
Im Kontext eines CAN-basierten Bootloaders umfassen die Ressourcen das CAN-Protokoll und den CAN-Controller. Der CAN-Controller wird veranlasst, das Update mit der richtigen CAN-Geschwindigkeit herunterzuladen.
Jedes über den CAN-BUS übertragene Update wird vom CAN-Protokoll identifiziert und nachfolgende Maßnahmen werden ergriffen.
Sekundärer Bootloader: Mikrocontroller-Neuprogrammierung
Ähnlich dem primären Bootloader, der verschiedene Funktionalitäten initialisiert, gibt es einen weiteren Teil der Bootloader-Software, der beim Empfang des Firmware-Updates über das Kommunikationsmedium aktiv wird. Es wird als sekundärer Bootloader bezeichnet.
Im Wesentlichen lädt dieser sekundäre Bootloader die Aktualisierungen der Zielanwendung herunter und programmiert den Flash-Speicher neu.
Es verfügt über alle notwendigen Flash-Routinen und UDS-Funktionen (wenn der Bootloader UDS-basiert ist), die notwendig sind, um die aktualisierten Daten auf dem Flash-Speicher zu speichern.
Der Primary Bootloader übergibt die Kontrolle an den Secondary Bootloader, sobald das Anwendungsupdate empfangen wurde.
Als nächstes initialisiert der sekundäre Bootloader die Flash Bus Interface Unit (FBUI) auf dem RAM-Speicher . Dies ermöglicht das Lesen/Schreiben des Flash-Speichers.
Unmittelbar nach diesem Schritt wird die Kommunikation über CAN wieder initialisiert, damit der Bootloader bereit ist, den UDS-Request zu empfangen.
Danach wird das Update im Flash-Speicher abgelegt. In diesem Fall wird der Secondary Bootloader aus dem RAM gelöscht und die Kontrolle geht wieder an den Primary Bootloader.

Rolle des UDS-Software-Stacks bei der Neuprogrammierung von Kfz-Steuergeräten​

Nach dem AUTOSAR - Standard , Unified - Diagnostics Services (UDS) ist das am besten geeignete Protokoll für die Bootloader - Implementierung für die Zwecke der Reprogrammierung .
Dafür gibt es mehrere Gründe und wir würden sie in anderen UDS-Blogs ausführlich besprechen. Vorerst konzentrieren wir uns auf die Rolle, die UDS in einer Bootloader-Operation spielt.
Im Folgenden sind die Hauptaufgaben von UDS bei einem Steuergeräte-Flashing-Vorgang aufgeführt:
  1. UDS versetzt den Server in einen Umprogrammierungsmodus und startet die Umprogrammierungssequenz
  2. Es übernimmt die Initiierung und Beendigung der Datenübertragung
  3. UDS kümmert sich um Größe und Reihenfolge der zu sendenden/empfangenen Datenblöcke und Speicherblöcke, in denen die Daten gespeichert werden
  4. Die UDS-Dienste ermöglichen es dem Client, eine Routine zu starten oder zu stoppen, die möglicherweise auf dem Server ausgeführt wird
  5. Es ermöglicht dem Client, ein Software-Reset-Ereignis auf dem Server zu initiieren
All diese Aufgaben übernimmt UDS mit Hilfe bestimmter Softwaredienste. Einige dieser Dienste und ihre Verwendung beim Flashen werden in der folgenden Tabelle erläutert.

So funktioniert das Remote-ECU-Flashing mit einem spezialisierten Flash-Bootloader​

Um eine Neuprogrammierung des Kfz-Steuergeräts durchzuführen, muss das Fahrzeug in die Werkstatt gebracht werden, wo der Servicetechniker das Notwendige tut.
Da die in Fahrzeugen verwendete Software jedoch in Umfang und Komplexität wächst, sind auch die Software-Upgrades häufiger geworden.
In solchen Szenarien können die OEMs nicht erwarten, dass die Fahrzeugbesitzer ihr Auto häufig zum Flashen der ECU in die Werkstatt bringen. Eine Bootloader-Software, die mit Remote-Update-Funktionen über Ethernet aktiviert ist, ist hier der Schlüssel.
Mit DoIP (Diagnostics over Internet Protocol) ist ein Steuergeräte-Remote-Update möglich geworden. Während die übrigen Komponenten und Dienste ähnlich sind, hat die Verwendung von Ethernet als Kommunikationsmedium das Remote-Update ermöglicht.
Vereinfacht gesagt wird das über CAN übertragene Firmware-Update mit einem DoIP-Software-Stack über Ethernet gesendet .
Der DoIP-Stack innerhalb der Bootloader-Software identifiziert die Nachricht und der gesamte Prozess der ECU-Neuprogrammierung wird durchgeführt.
Ob basierend auf DoIP oder UDS, der Flash Bootloader ist eine unverzichtbare Komponente angesichts der Bedeutung regelmäßiger Steuergeräte-Updates.
Und mit den Remote-Update-Funktionen für ECUs wird es für OEMs und andere Automobilzulieferer einfach, die Robustheit und Sicherheit der softwaregesteuerten elektronischen Steuereinheiten (ECU) in unseren Fahrzeugen zu gewährleisten.
 
Zu einem Kolloquium gehört ein wenig mehr als copy und paste...
 
Zurück
Oben