Die Entwicklung von Embedded-Systemen wird immer anspruchsvoller. Geräte wie iPad und Surface haben in Sachen Hardware- und Softwarequalität sowie Nutzungserlebnis die Messlatte deutlich höher gelegt. In diesen Zeiten ist es daher sehr wichtig,bessere Embedded-Devices in kürzerer Zeit zu entwickeln.
Die meisten Softwareentwickler leben heute in einer Welt von Open Source, Cloud Computing und schnellen agilen Entwicklungszyklen. Sie entwickeln mit erstaunlich leistungsstarker Open-Source-Software neuartige Programmkombinationen und schaffen so innerhalb von Tagen neue Prototypen oder starten innerhalb von Minuten mehrere tausend Server.
Bislang hat sich diese Effizienz auf die Welt der klassischen Softwareentwicklung beschränkt. Auf die Welt der professionellen Embedded-Entwicklungen wurde sie noch nicht übertragen. Selbst Hobbyentwickler profitieren heute schon von Plattformen wie Raspberry Pi und Arduino, die mit ihren großzügigen Ökosystemen echte Produktivitätsgewinne bieten. Doch diese Plattformen sind nicht geeignet, sie in Embedded-Devices zu implementieren. Entwickler von professionellen Embedded-Systemen können somit nicht mit der Performance der klassischen Softwareentwicklung mithalten, da sie bis heute keine vergleichbaren Ökosysteme haben.
Die Frage ist nun: Wie lässt sich diese Lücke schließen? Warum nicht eine standardbasierte Linux-Plattform verwenden, um dieses riesige Ökosystem der Open-Source-Software auch für Embedded-Devices zu nutzen? Eine solche Entwicklungsumgebung zeichnet sich dadurch aus, dass sie beispielsweise die besten Teile von WebKit fürs HTML-Rendering und die V8-JavaScript-Engine zusammenbringt. »Out-of-the-Box« unterstützt werden Audio-, Video- und 3D-Rendering mit WebGL sowie Raster- und Vektorgrafiken und UIs, die sich automatisch an unterschiedliche Bildschirmformate anpassen. Mit diesen Technologien lassen sich ausgefeilte Anwendungen mit vielfältigen Möglichkeiten der Benutzerinteraktionen erstellen. Zudem profitieren diese Web-Technologien von der breitesten Unterstützung und der größten Entwicklergemeinschaft aller Programmierumgebungen. Sie übertreffen andere Umgebungen hinsichtlich der Anzahl der Entwickler, Unterstützungsressourcen, Best-Practices und Community-Aktivitäten. Da fast jedes vorhandene Problem schon einmal gelöst wurde, können Softwareentwickler auf bestehendes Wissen zur effizienten Wiederverwendung zurückgreifen und sich darauf konzentrieren, ihre Produkte mit neuen Innovationen zu versehen, anstatt Code neu zu entwickeln, den andere bereits geschrieben haben.
Was hindert Entwickler aber bisher daran, diese Umgebungen für eingebettete Applikationen zu nutzen? Der fehlende Support für die Embedded-Hardware-Plattformen! Es kann Stunden, Tage oder gar Monate dauern, um unzureichende Treiberimplementierungen oder inkompatiblen Code zu debuggen, der alleine deshalb entsteht, weil eine Hardware nicht auf die Algorithmen einer solch komplexen Software getestet wurde. Wie können Applikationsentwickler aber diese potenzielle Arbeitslast umgehen? Embedded Now hat sich der Aufgabe angenommen, diese Lücke im Ökosystem zu füllen. Das Unternehmen hat ein Ökosystem aus Single-Board-Computern (SBC) und Peripheriegeräten geschaffen, das für den Betrieb von HTML 5-, CSS- und JavaScript-Applikationen in linuxbasierten Embedded-Systemen geeignet ist. Die Systeme kommen vorinstalliert, entweder mit Lubuntu, Ubuntu 14.04 LTS Desktop oder Ubuntu Server. Zudem bietet Embedded Now Support für Entwickler, die Applikationen mit Electron, Chromium oder dem Chromium-Embedded-Framework erstellen. Zusätzliche herstellerspezifische Features machen diese Linux-Systeme zu idealen Plattformen für Entwickler von Embedded-Applikationen. Dazu gehören beispielsweise Funktionen, die der Korruption von Speichermedien vorbeugen oder die drahtlose Vernetzung in kommerziellen und industriellen Umgebungen robuster machen. Hinsichtlich der Peripherie berät Embedded Now seine Kunden auch bei der Auswahl der besten WLAN- oder Bluetooth-Implementierungen oder kann sie sogar dabei unterstützen, spezialisierte Peripherie für Aufgaben wie Analog-Digital-Wandlung und Motion-Control zu entwickeln. Die Tatsache, dass alle Plattformen auf Standards basieren, ermöglicht den Kunden eine schnelle Umsetzung und egal welche spezifische Peripherie sie auch immer für ihre Applikation benötigen: Das Ziel ist es stets, Out-of-the-box zu arbeiten, da die Plattformen nur weit verbreitete Standardschnittstellen – wie beispielsweise USB-Ports – und Linux-Distributionen mit extrem umfangreicher Treiberunterstützung verwenden.
Wie viel schneller kann man mit einer standardbasierten Linux-Plattform ein Embedded-Produkt auf den Markt bringen? Die Kunden von Embedded Now brauchen in der Regel drei bis zwölf Monate bis zur Herstellung von serienreifen Devices. Es gibt sogar Kunden, die ihre Entwicklungszeitpläne um etwa zwölf bis achtzehn Monate verkürzen konnten.
Modulare Herangehensweise
Um Kunden professionell mit anwendungsorientierten Linux-Plattformen zu bedienen, muss man sich auf Kernkompetenzen fokussieren und die richtigen Ökosystempartner finden. Für ihren kommerziellen Off-the-Shelf (COTS) SBC, genannt Piconium, hat Embedded Now einen modularen Ansatz auf Basis des COM Express Computer-on-Module-Standards gewählt (Bild 1). Damit ist die von den Kunden verlangte Zuverlässigkeit gesichert. Die FCC- und CE-konforme Plattform, die von mobilen Client-Devices bis hin zu Micro-Server-Anwendungen für Edge-Computing genutzt werden kann, basiert auf einem COM-Express-Modul Type 10 und misst nur 130 mm × 55 mm. Dennoch bietet sie eine Vielzahl an Schnittstellen wie 2 × USB 3.0, 5 × USB 2.0, Ethernet, HDMI sowie Wi-Fi und Bluetooth (über USB-Erweiterungen) und zudem LVDS-Displays und -Kabel mit Touchpanel-Support als Zubehör (Bild 2).
Der Piconium-Rechner ist für nahezu alle Anwendungen einsetzbar, da er auch für den Betrieb im erweiterten Temperaturbereich von -40 °C bis + 100 °C geeignet ist. Alle Komponenten und der Aufbau sind für den industriellen Einsatz zertifiziert. Die Komponenten, wie etwa der verriegelnde Stecker für Weitbereichsnetzteile, wurden für den Einsatz in anspruchsvollsten Umgebungen ausgewählt.
Kunden können ein bedarfsgerecht passendes Computer-on-Module mit der Pin-Belegung von COM-Express Type 10 auswählen, um die Leistung von Single- und Multi-Core-Intel-Atom- oder Celeron-Prozessoren der 3. Generation bis zu Modulen mit der neuesten 5. Generation von Intel-Atom-, Celeron- und Pentium-Prozessoren (Codename Apollo Lake [1] mit Goldmont-CPU [2]) zu skalieren. Beide Prozessortechnologien unterstützen den erweiterten Temperaturbereich und bieten eine Langzeitverfügbarkeit von mindestens 7 Jahren. Die Leistungsaufnahme von weniger als 12 W ermöglicht lüfterlose Designs, die keine anspruchsvolle Kühllösungen erfordern und damit den Design-in-Aufwand reduzieren. Darüber hinaus sind sie aufgrund der starken Verbreitung der Intel-Atom-Technologie von Intel gegenüber alternativen Prozessor-Angeboten im Vorteil, da mehr Linux-Support Out-of-the-Box geboten wird. Der Speicher ist für alle Versionen von 1 GB bis 8 GB konfigurierbar. Embedded Now entschied sich für den COM-Express-Standard, weil er die breiteste Skalierbarkeit für zukünftige Entwicklungen bis hin zu Server-Level-Plattformen bietet, und wählte congatec als Modul-Lieferanten. (fr)
Referenzen
Riemenschneider, F.: Eintauchen in Intels Apollo Lake. DESIGN&ELEKTRONIK 2017, Ausgabe 2, S. 85ff.
Riemenschneider, F.: Intels »Goldmont« macht Atom wettbewerbsfähig. DESIGN&ELEKTRONIK 2017, Ausgabe 5, S. 50 ff.