Embedded Devices: Mit FOTA-Updates immer auf dem neuesten Stand

Das Firmware-Over-the-Air-Update (FOTA-Update) ist eine der wichtigsten Eigenschaften für die überwiegende Mehrheit moderner Embedded-Geräte, die beispielsweise von Herstellern in den Branchen Automotive, Unterhaltungselektronik oder Healthcare eingesetzt werden. Die FOTA-Update-Funktionalität ermöglicht es Herstellern zum einen, Fehler in Softwarekomponenten des bestehenden Systems zu beheben und zum anderen Updates aus der Ferne einzuspielen. Damit bleiben die Geräte immer auf dem aktuellsten Stand, auch wenn neue Funktionen und Features erst nach dem Kauf eines Devices eingeführt werden.

Eingriff ins laufende System

Eine der Hauptanforderungen an ein Gerät als Komponente für die Automobilindustrie war, dass ein Update während der Laufzeit einer Linux-Plattform installiert und in sekundäre Bootloader-, Linux-Kernel- und User-Land-Anwendungen implementiert werden sollte. Eine externes Watchdog Device ist ebenfalls Teil des Update-Mechanismus, der das Booten des aktualisierten Kernels steuert, um mögliche Stillstände zu verhindern. Darüber hinaus war es auch wichtig, den unbeaufsichtigten Aktualisierungsprozesses mit einer Funktion zur automatischen Wiederherstellung im Falle eines Fehlers oder einer Unterbrechung auszustatten.

Minimierte Ausfallzeiten und eine Rollback-Funktion

Drei Sätze NAND-Flash-Partitionen wurden implementiert, um die Ausfallzeiten des Systems während des Updates zu minimieren und eine automatische Rollback-Funktion bereitzustellen. Jedes Set enthält eine Partition für den Linux-Kernel und eine weitere für das Root-Dateisystem. Wenn das System auf Partitionssatz A läuft, werden neue Kernel- und Root-Dateisystem-Images in Partitionssatz B geflasht. Sobald das Flashen abgeschlossen ist, wird das gesamte System auf Partitionssatz B neu gestartet. Während des ersten Starts wird eine Überprüfung der Funktionsfähigkeit durchgeführt. Im Falle eines fehlgeschlagenen Checks startet das System wieder in den Partitionssatz A zurück.

Wenn es nicht möglich sein sollte, in den B-Partitionssatz neu zu booten – und darüber hinaus nach einem Rollback auch nicht in den Partitionssatz A zurückzukehren – wird ein dritter Partitionssatz F verwendet, wobei F für „Factory Firmware“ steht. Dieses Partitionsset ist während des Gerätelebenszyklus nicht veränderbar und enthält daher Firmware, die bei der Werksproduktion verifiziert und geflasht wurde. Obwohl die Firmware in der F-Partition als veraltet angesehen werden kann, garantiert sie, dass bis zum Eintreffen eines Servicetechnikers zumindest eine minimale Systemfunktionalität zur Verfügung steht, um das defekte Gerät für die weitere Wartung abzuholen.

Drei Partitionssets

Maximale Fehlertoleranz und Ausfallsicherheit

Auch für den Fall, dass das Firmware-Update nicht vollständig durchgeführt werden kann, ist vorgesorgt: ein externes Watchdog-Gerät kommt zum Einsatz, um das Gerät zurückzusetzen. Während des Neustarts erkennt der Bootloader, warum das System neugestartet wurde: per Watchdog-Gerät, aufgrund eines Stromausfalls oder daraufhin, dass das System nach Abschluss des Aktualisierungsvorgangs zum Neustart aufgefordert worden ist. Dann trifft der Bootloader eine Entscheidung, welcher Partitionssatz für den aktuellen Bootvorgang unter Berücksichtigung des Auslösers zum Neustart ausgewählt werden soll. Dies wird durch die Verwendung einer Reboot-Matrix ermöglicht, wobei derselbe Code beibehalten werden kann und nur die Reboot-Matrix geändert wird, um einen zusätzlichen oder blockierten Neustart-Pfad bereitzustellen. All dies macht das System zu einer flexiblen und zur gleichen Zeit übertragbaren Lösung.

Es existieren bereits diverse Implementierungen für FOTA-Updates, die auf zwei Partitionssets basieren. Jedoch hat sich Concept Reply dazu entschieden, eine eigene Lösung mit drei Partitionssets zu entwickeln und somit zu erreichen, dass Kundensysteme fehlertoleranter und robuster als vergleichbare Lösungen sind. Damit wird das Konzept auch für Geräte interessant, bei denen die Ausfallsicherheit das entscheidende Kriterium ist.


Concept Reply ist ein auf innovative IoT-Lösungen spezialisierter Softwareentwicklungspartner und bietet von der Idee über die Konzeptphase bis hin zu Implementierung, Betrieb und Support Lösungen für seine Kunden in den Bereichen Smart Infrastructure, Industrial IoT und Connected Car. Mit seinen IoT Spezialisten erstreckt sich das Angebot von der Implementierung im Embedded-Umfeld bis hin zur Gateway Software oder Cloud-Applikation. www.concept-reply.de