Systemplattformen

Eine Firmware-Strategie für das Internet der Dinge

21.01.14 | Autor / Redakteur: David Kleidermacher * / Franz Graser

Bild 1: Microkernel im Vergleich zur monolithischen Architektur
Bild 1: Microkernel im Vergleich zur monolithischen Architektur (Bild: Green Hills Software)

Das Internet der Dinge ändert die Art, wie einbebettete Software für Geräte entwickelt wird. Ein stimmiger Firmware-Stack ist hier enorm hilfreich und sollte sorgfältig zusammengestellt werden.

Das Internet der Dinge (Internet of Things; IoT) lässt sich als die schnelle Anbindung von Geräten und Systemen an das Internet definieren. Dies trifft vor allem auf die Objekte zu, die nicht bereits vernetzt sind wie PCs oder Smartphones. Diese Wandlung geht aufgrund kleiner, stromsparender und kostengünstiger Bausteine für die Digitalverarbeitung sowie der drahtlosen Datenanbindung immer schneller vonstatten. Embedded-Systeme existieren seit es Computer gibt. Der IoT-Markt ist jedoch relativ neu bezüglich der Anzahl und Art vernetzter Geräte. Heute mag diese Zahl noch sehr klein erscheinen, in Zukunft wird sich dies aber drastisch ändern.

Der folgende Beitrag beschreibt für neue und erfahrene Entwickler eine Firmware-Strategie, die eine erfolgreiche IoT-Implementierung ermöglicht. Wir definieren die wesentlichen Ebenen des Firmware-Stacks, die Ziele und Schwerpunkte einer Firmware-Strategie und beschreiben die Herangehensweise für jede dieser Ebenen.

Was beim Firmware-Stack zu bedenken ist

Bei der Entscheidung über eine Firmware-Strategie sind folgende Bereiche von besonderer Bedeutung:

  • Hardware/Mikroprozessor,
  • Laufzeit-Ausführung (Echtzeit-Betriebssystem, Hypervisor, etc.),
  • Web-Messaging-Infrastruktur.

Traditionell wird Firmware mit Bootloadern und dem Betriebssystem-Kernel in Verbindung gebracht. Man kann jedoch keine qualitative Firmware-Strategie entwickeln, ohne vernünftige Hardware-Entscheidungen zu treffen. Hinzu kommt, dass im IoT viele Anwendungen ferngesteuert sind, anstatt vor Ort gehostet zu sein. Die Web-Messaging-Infrastruktur – also die Verkehrssprache des IoT – muss daher ein integraler Bestandteil der Firmware-Strategie werden. Software-Anwendungen bleiben oberhalb der Firmware-Ebene, unabhängig davon, ob sie von lokalen oder Web-APIs Gebrauch machen.

Fünf Ziele einer Firmware-Strategie

Folgende fünf Ziele sollten in einer IoT-Firmware-Strategie enthalten sein:

  • Benutzerfreundlichkeit / einfaches Erlernen,
  • maximale Nutzung von Standards,
  • Sicherheitsbewusstsein,
  • Effizienzbewusstsein,
  • Skalierbarkeit einplanen.

Versuchen Sie, Produkte, Protokolle und Architekturen auszuwählen, die für unerfahrene Entwickler einfach zu erlernen und anzuwenden sind. Firmware ist die Umgebung, mit der sich Ihr größtes Kapital – Ihre Entwickler – jeden Tag beschäftigen. Unterschätzen Sie nicht die langfristigen Auswirkungen einer optimierten Firmware-Entwicklung, Testdurchführung und Wartung. Die Anwendung von Protokollen und Architekturen entsprechend offener Standards bietet viele Vorteile: von einer breiteren Palette an Produkten, die zur Verfügung steht, bis hin zu einem größeren Pool erfahrener Entwickler.

Das IoT bringt Sicherheits- und Datenschutzprobleme mit sich. Entwickler, die es versäumen, Sicherheit in ihre anfänglichen Konzepte mit einzubauen, müssen sich später mit Projektabbrüchen oder schweren Folgen für das Unternehmen auseinandersetzen. Laufzeit-Effizienz ist entscheidend für IoT-Geräte, da sie meist batteriebetrieben und ressourcenbeschränkt sind. Skalierbarkeit ist ein Faktor, der meist unterschätzt wird: Entwickler müssen berücksichtigen, wie sich die Wahl der Firmware über verschiedene Geräte und Generationen skalieren lässt, um die getätigten Investitionen zu schützen.

Werfen wir nun einen tieferen Blick auf diese Schwerpunkte und deren Berücksichtigung im Firmware-Stack.

Prozessorarchitekturen brauchen gute Tools

Viele Prozessorarchitekturen eignen sich für IoT-Designs. Bevorzugen Sie solche, die eine große Auswahl an Tools bieten. Wählen Sie eine Prozessorarchitektur, die sich über Produktfamilien und Generationen skalieren lässt. ARM bietet Cores für stromsparende MCUs, für ARM/FPGA-Kombinationen und für 64-Bit Cloud-Server-Prozessoren.

Die Sicherheitsstrategie sollte eine Hardware Root of Trust (HW RoT) enthalten, die sicheres Booten, geschützten Verschlüsselungsspeicher und einen Zufallszahlengenerator bietet. Diese Funktionen garantieren, dass ein IoT-Gerät nicht mit Malware umprogrammiert werden kann und dass nicht korrumpierbare Schlüssel für den Schutz der Daten vorliegen. HW-RoT-Funktionen können im Hauptprozessors präsent sein oder über eine Komponente wie eine Smartcard-MCU oder SIM bereitgestellt werden.

Ein weiterer Aspekt für die Skalierbarkeit bei der Wahl der Hardware ist die Unterstützung der Software/System-Robustheit. Da IoT-Geräte immer komplexer werden, nimmt die Bedeutung der MMU (Memory Management Unit), des virtuellen Speichers und der Hardware-Virtualisierung zu. Die vor kurzem angekündigte ARMv8-R-Architektur ist die erste ihre Art, die alle drei genannten Funktionen bietet und für Embedded-Echtzeit-Anwendungen ausgelegt ist.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 42473994 / Embedded Betriebssysteme)

Embedded Software Engineering Report abonnieren

4 mal jährlich: Die kostenlose Pflichtlektüre für Embedded­-Software- und Systems-Entwickler, von Analyse bis Wartung und Betrieb

* Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung und AGB einverstanden.
Spamschutz:
Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein.