Auf einen Blick

Android birgt interessantes Potenzial für die Entwicklung innovativer Embedded-Systeme und Geräte. Diese profitieren vor allem von dem stabilen, auf Langfristigkeit angelegten Framework, den umfangreichen, nativen Multimediafunktionen für die Anwendungsentwicklung, der vertrauten Bedienoberfläche  sowie von der Anpassbarkeit und dem verkürztem Zeit- und Kostenaufwand bis zur Markteinführung. Mit dem ganzheitlichen Konzeptions- und Entwicklungsansatz für Embedded-Systeme und Geräte auf Android-Basis hilft VIA Entwicklern dabei, Android als Plattform für integrierte Anwendungen zugänglich zu machen. Das umfassende  Leistungsspektrum erstreckt sich dabei über den gesamten Lebenszyklus der Produkte, angefangen bei der Definition der Anforderungen bis zum Produkteinsatz.

Zwar spricht vieles dafür, Android für eingebettete Systeme und Geräte zu nutzen, insbesondere, wenn es um touchbasierende Multimediaanwendungen geht. Allerdings sind auch große Herausforderungen zu meistern, um zu einem optimalen Ergebnis zu  gelangen. Dazu gehören die Wahl der geeigneten ARM-SoC-Plattform für die vorgesehene Systemanwendung, die Portierung und die Anpassung von Betriebssystem und Anwendungen sowie die enge Verzahnung von Hard- und Software.

Markt für eingebettete Android-Systeme wächst

Android kam 2008 auf den Markt und war ursprünglich ausschließlich für Smartphones konzipiert. Seitdem hat dieses Betriebssystem jedoch auch Einzug gehalten in mobile Kommunikationsgeräte, Embedded-Systeme und Geräte der Unterhaltungselektronik wie Set-Top-Boxen oder Onboard-Infotainmentsysteme, aber auch in der Telekommunikation, Medizintechnik sowie Heim- und Industrieautomatisierung. Mit seinem Linux-basierenden Applikations-Framework, das sich vielfältig in anderen Umgebungen verwenden lässt, bietet Android großes Potenzial. Unterstützt werden Neuentwicklungen von eingebetteten Systemen und Geräten für eine Vielzahl unterschiedlicher Branchen, in denen anspruchsvolle Software, aber auch drahtlose Hochgeschwindigkeitsverbindungen, hochentwickelte Multimediafunktionen und eine intuitive Bedienoberfläche entscheidend sind.

Die Beweggründe für das wachsende Interesse vieler Entwickler an Android sind vielfältig. Das stabile, langfristig angelegte Framework für die Anwendungsentwicklung ist einer davon. Auch wenn sich Android regelmäßig weiterentwickelt, bleibt das Framework relativ stabil und bietet Entwicklern eingebetteter Systeme ausreichende Flexibilität sowie die langfristige Perspektive, die beim Aufbau einzigartiger Systeme und Anwendungen auf Basis dieses Betriebssystems nötig sind. Mit umfassenden nativen Multimediafunktionen eignet es sich auch gut für den Einsatz in den klassischen Embedded-Segmenten wie der Industrieautomation, wo die grafische Wiedergabe von Daten und Informationen immer mehr an Bedeutung gewinnt.

Vertraute Benutzeroberfläche

Ein weiterer Vorteil ist die vertraute Benutzeroberfläche, da Android bei fast 80 Prozent aller Smartphones zum Einsatz kommt. Der Schulungs- oder Einarbeitungsbedarf für die Anwender von Embedded-Android-Systemen geht daher gegen null. Auch sind Zeit- und Kostenaufwand bis zur Markteinführung bei eingebetteten Systemen auf Android-Basis geringer als bei Embedded-Linux oder proprietären Systemen. Das weltweit ausgebaute Android-Ökosystem erleichtert es Entwicklern eingebetteter Systeme, Entwicklungsressourcen besser zu nutzen. Android ist eine flexible Plattform und lässt volle Entscheidungsfreiheit für oder gegen die Veröffentlichung eines veränderten Quellcodes unter den Lizenzbestimmungen von Apache 2.0.

Hürden von Android

Trotz des hohen Verbreitungsgrades von Android im Embedded-Markt, stehen Entwickler bei der Verwendung dieses Betriebssystems weiterhin vor großen Herausforderungen. Hierzu zählt zum einen die Auswahl einer geeigneten ARM-SoC-Plattform für die vorgesehene System- oder Geräteanwendung. Es gilt, aus den zahlreichen verfügbaren SoC-Plattformen diejenige auszuwählen, die in Performance, Funktion und Energieeffizienz zur Zielanwendung passt. Auch muss der SoC für die Betriebsumgebung geeignet sein. Für diese Evaluierung sind vor allem die erforderlichen, nicht-nativen Treiber und Applikationen zu ermitteln, die standardmäßig nicht in Android enthalten sind, etwa für Legacy-I/O-Schnittstellen. Zudem ist zu entscheiden, auf welche für Mobilgeräte spezifische Funktionen wie das Batteriemanagement verzichtet werden kann.

Das könnte bedeuten, dass die gesamte Entwicklungsarbeit intern erfolgen muss, während nur einzelne Aspekte der Hard- und Softwareentwicklung und -fertigung an Dritte vergeben werden. Möglicherweise ist es auch erforderlich, einen Partner zu finden, der das vorgesehene System oder Gerät als ganzheitliche, kundenspezifische Lösung liefern kann.

Mit jeder neuen Android-Version entstehen durch kontinuierliche Weiterentwicklungen auch neue Anwendungsmöglichkeiten. Hier gilt es, den regelmäßigen Updates immer einen Schritt voraus zu sein und zu entscheiden, welche Version für das Embedded-System zum Einsatz kommt. Dabei stellt sich die Wahrung der Codeintegrität als die größte Herausforderung dar.

Ganzheitliche Entwicklung von Embedded-Systemen mit Android

Der umfassende, vierstufige Supportprozess erleichtert Softwareentwicklungen für Android-basierende Embedded-Systeme oder Geräte.

Der umfassende, vierstufige Supportprozess erleichtert Softwareentwicklungen für Android-basierende Embedded-Systeme oder Geräte.VIA

Um Entwickler bei der Bewältigung dieser Aufgaben zu unterstützen, hat VIA Embedded einen ganzheitlichen Ansatz zur Konzeption und Entwicklung von Embedded-Systemen und Geräten entwickelt. Dieser Ansatz erstreckt sich über den gesamten Lebenszyklus der Produkte, angefangen bei der Definition der Anforderungen bis hin zum Produkteinsatz. So hält das Unternehmen zum einen mit einem umfassenden Portfolio an Plattformen wie ARM-SoCs von VIA und Freescale genügend SoC-Lösungen für Industrieanwendungen und Verbraucher-/Unterhaltungselektronik bereit, aus denen Entwickler Android-basierender, integrierter Applikationen die gewünschten anwendungsspezifischen Plattformen auswählen können. Zum anderen trägt VIAs immer größer werdende Palette sehr kompakter, lüfterloser Gehäuse und robuster, staubdichter Geräte für extreme Umgebungsbedingungen zu einer weiteren Senkung von Entwicklungsarbeit und Kosten sowie zum beschleunigten Markteintritt Android-basierender Embedded-Systeme und Geräte bei.

Neben den Android BSPs hält VIA Embedded eine Vielzahl benutzerfreundlicher Lösungs- und Servicepakete für spezielle Anwendungen und Branchen bereit, beispielsweise das Smart Embedded Tool Kit Smart-ETK.

Langzeitverfügbarkeit von drei bis fünf Jahren

Über die Watchdog-Schnittstelle lässt sich ein Timer programmieren, der die Funktion der Software überwacht und nach einem Absturz wiederherstellt.

Über die Watchdog-Schnittstelle lässt sich ein Timer programmieren, der die Funktion der Software überwacht und nach einem Absturz wiederherstellt.VIA

Damit Entwickler maximal von ihrer Investition in die Entwicklung Android-basierender Systeme profitieren (ROI), unterstützt VIA Embedded spezifische Boards und Systeme drei bis fünf Jahre. Weiterhin erleichtern die umfangreichen Softwarelösungspakete und Anpassungsservices die maßgeschneiderte Entwicklung Android-basierender Embedded-Systeme und Geräte. Sie umfassen verschiedene Applikationen, unter anderem die individuelle Anpassung von Systemanwendungen wie dem Programmstarter (sodass zum Beispiel eingebettete Applikationen keiner Displaysperre unterliegen), der Systemleiste (sodass sich etwa die Transparenz individuell einstellen lässt) und des Einstellungsmenüs (ermöglicht unter anderem zusätzliche Netzwerkeinstellungen). Ferner umfassen die Lösungspakete auch Kernel und Framework und somit Sicherheitsfunktionen wie die Verschlüsselung von Datenträgern und Nutzerdaten. Dazu kommen sichere Verbindungen, Kerneltreiber für spezielle Geräte sowie Daemons und Dienste (NFS, Telnet, Modbus und weitere) für eine einfachere Handhabung. Das Systemmanagement umfasst Watchdog, Fernüberwachung, Ein- und Ausschalten per Fernzugriff, automatisches Wake-up/Ausschalten sowie das Stummschalten der Aktualisierung von Betriebssystem und Applikationen mithilfe des Smart-ETK. Integrierte I/Os schließen die umfassende Unterstützung bestehender Anschlüsse wie GPIO, RS-232 und CAN-Bus mithilfe des Smart-ETK ein. Ergänzt wird dieser Ansatz durch einen umfassenden, vierstufigen Supportprozess, der die Softwareentwicklungen für das vorgesehene Android-basierende Embedded-System oder Gerät erleichtert und die Markteinführung merklich verkürzt.

Die größte Herausforderung war die Unterstützung des Schrittmotors über einen herkömmlichen I/O-RS232-COM-Anschluss.

Die größte Herausforderung war die Unterstützung des Schrittmotors über einen herkömmlichen I/O-RS232-COM-Anschluss.VIA

Zum Android Smart-ETK gehören zahlreiche APIs. Über die kann die Android-Anwendung auf I/O-Anschlüsse und Verwaltungsdienste zugreifen, die die Systemhardware mitbringt und die vom Standard-Android-Framework nicht unterstützt werden. Diese Schnittstellen bieten einerseits Schutz vor Systemabstürzen und ermöglichen es andererseits, die automatische Ein- und Ausschaltfunktion zu programmieren sowie eine regelmäßige Systemwiederherstellung für maximale Performance zu planen. So lässt sich etwa über Watchdog ein Timer programmieren, der die ordnungsgemäße Funktion der Software überwacht und nach einem System-/Anwendungsabsturz oder -ausfall wiederherstellt. Falls der Watchdog kein „Entwarnungssignal“ erhält, startet das System automatisch neu. Über APIs lässt sich mithilfe einer Android-Applikation das System abschalten beziehungsweise in regelmäßigen Abständen neu starten, um maximale Leistungsfähigkeit zu garantieren. Mit RTC Wake-up wird das System über eine Echtzeituhr (RTC) gesteuert. Die RTC unterstützt drei automatische Wake-up-Einstellungen: Power-on zu einem bestimmten Zeitpunkt (Stunde/Minute) jeden Tag, Power-on zu einem bestimmten Zeitpunkt (Tag/Stunde/Minute) jede Woche und Power-on zu einem bestimmten Zeitpunkt (Tag/Stunde/Minute) jeden Monat.

Das Smart-ETK unterstützt ältere Schnittstellen wie RS232, indem es GPIO, I2C und CAN-Busanschlüsse für die Applikation nutzbar macht.

Einen Vortrag zu diesem Thema gibt es am 1. Juli auf der ECC14 in Winterthur.