Richtiges „Flashen“ für jede Aufgabenstellung

Immer häufiger kommt es vor, dass Flash-Chips in Entwicklung und Produktion zu reprogrammieren sind. In der Praxis sind die Aufgaben je nach Steuergerät, Abteilung, Hersteller und Zulieferer jedoch ausgesprochen vielfältig, sodass die Vorbereitung, Verwaltung und der Flash-Vorgang doch recht aufwändig sind. Dieser Beitrag steckt deshalb zunächst das rein technische Terrain ab, in dem sich die Flash-Lösungen bewegen. Danach möchte er der Blickwinkel hin zu prozessorientierten Aufgabenstellungen und rationellen Lösungsansätzen öffnen.

Immer häufiger kommt es vor, dass Flash-Chips in Entwicklung und Produktion zu reprogrammieren sind. In der Praxis sind die Aufgaben je nach Steuergerät, Abteilung, Hersteller und Zulieferer jedoch ausgesprochen vielfältig, sodass die Vorbereitung, Verwaltung und der Flash-Vorgang doch recht aufwändig sind. Dieser Beitrag steckt deshalb zunächst das rein technische Terrain ab, in dem sich die Flash-Lösungen bewegen. Danach möchte er der Blickwinkel hin zu prozessorientierten Aufgabenstellungen und rationellen Lösungsansätzen öffnen.

Überall wo man Informationen für bestimmte Zeit dauerhaft abspeichern muss, sind heute wiederbeschreibbare Flash-Speicher im Einsatz, zum Beispiel in USB-Sticks, Digitalkameras und Mobiltelefonen. Auch die dauerhafte Speicherung der Firmware von Mikrocontroller-basierten Steuergeräten im Automobil ist ein häufiger Anwendungsbereich für solche Speicher. Der Markt bietet verschiedene Architekturen in NAND- oder NOR-Flash, die sich in Ansteuerlogik, Zugriffsgeschwindigkeit, Stromaufnahme und Lebensdauer unterscheiden. Allen Typen ist gemeinsam, dass der Speicher vor dem neuen Beschreiben zu löschen ist. Während sich die Daten zwar byteweise auslesen lassen, ist das Löschen – im Gegensatz zu gewöhnlichem EEPROM-Speicher – nur blockweise möglich. In Kfz-Steuergeräten findet sich fast ausschließlich NORFlash.

Unter »technischem Flashen « ist im Wesentlichen der Aktualisierungsvorgang von Programmcode und/ oder Daten in Steuergeräten zu verstehen. Dies geschieht beispielsweise mit einem PC oder Laptop und einer speziellen Software, dem so genannten Flash-Tool, über die vorhandene Netzwerkinfrastruktur wie zum Beispiel das serielle Bussystem CAN.

Die Anforderungen beim Flashen während der Entwicklungsphase, der End-of- Line-Programmierung und bei Software-Updates in Werkstätten unterscheiden sich teils erheblich. Während bei Softwareänderungen in der Entwicklungsphase stets dasselbe Steuergerät mit neuem Code oder neuen Daten zu versorgen ist, kommt es beim produktionsnahen Flashen darauf an, aus einer Vielzahl freigegebener Softwarestände, die zu Fahrzeug und Ausstattung passende korrekte Software zu verwenden (Bild 1). Hier sind Fahrzeugvariante, Ausstattung, Länderkennung, Seriennummer, Sicherheitsaspekte usw. unbedingt zu berücksichtigen.

Zum Flashen sind mindestens die folgenden Komponenten notwendig:

  • die Flash-Daten,
  • das Flash-Tool,
  • der Flash-Bootloader, der im Steuergerät integriert ist und den eigentlichen Lösch-/Schreibvorgang im Steuergerät durchführt sowie
  • die notwendigen Meta-Informationen.

Die Flash-Daten enthalten den Programmcode und die für das Steuergerät bestimmten Parametersätze. Das Flash-Tool realisiert den Ablauf auf der PC-Seite. Unterstützt es nur einen speziellen Flash-Ablauf, benötigt man für unterschiedliche Abläufe jeweils eigene Flash- Tools. Effizienter und zeitgemäßer sind datengetriebene und variabel einsetzbare Werkzeuge. Durch die Steuerung über Flash-Jobs lassen sie sich für verschiedene Steuergeräte und unterschiedliche Flash-Abläufe verwenden, zum Beispiel wenn das gleiche Steuergerät bei unterschiedlichen OEMs zum Einsatz kommen soll. Zur Verwaltung von Flash-Jobs und zugehörigen Flash-Daten in Containern ist nur noch ein einziges dediziertes Tool mit stets derselben Oberfläche notwendig.