Ein Angebot von

Die Verschmelzung von Hardware und Software

| Autor / Redakteur: Semir Haddad * / Sebastian Gerstl

Die erste Programmierbare Hardware: Mit einer Kette aus Lochkarten vereinfachte der Jacquard-Webstuhl die Herstellung von Textilien mit komplexen Mustern wie Brokat, Damast und Matelassé.
Die erste Programmierbare Hardware: Mit einer Kette aus Lochkarten vereinfachte der Jacquard-Webstuhl die Herstellung von Textilien mit komplexen Mustern wie Brokat, Damast und Matelassé. (Bild: Deutsches Technikmuseum Berlin February 2008 0013.JPG / EmptyTerms / CC BY-SA 3.0)

Die Prioritäten in der Entwicklung von Embedded Geräten verlagern sich zunehmend von dem Hard- in den Softwarebereich. Entwickler, die sich auf spezielle Softwaregebiete fokussieren, werden von diesem Trend besonders profitieren.

Das Bestreben, Hardware programmierbar zu machen, hat in den letzten 200 Jahren große Fortschritte gemacht. Als eines der allerersten Beispiele für Hardwareprogrammierung im industriellen Maßstab könnte der in den frühen 1800er Jahren entwickelte Jacquard-Webstuhl gelten. Textilingenieure konnten mit diesem System die Muster definieren, die der Webstuhl mit Hilfe einer Kette von Lochkarten weben sollte (Bild 1). Diese Erfindung machte Joseph Marie Jacquard zu einer Berühmtheit in der Textilindustrie und erwies sich als bahnbrechend für die Hardwareprogrammierung. Sein Name ist heute ein feststehender Begriff für die auf solchen Webstühlen hergestellten Stoffe.

Auch 200 Jahre später ist der Trend zu mehr programmierbarer Hardware ungebrochen. Als erstes leitete die mechanische Automatisierung den Übergang zur Programmierbarkeit ein. Dann folgten elektromechanische und elektronische Logik sowie schließlich Embedded-Steuerungen mit Mikrocontrollern, Mikroprozessoren und Software. Heute ist die Programmierbarkeit von Maschinen und Geräten abhängig von der Anwendung und der Branche. Sie reicht von Geräten mit fester Funktion ohne Programmierbarkeit bis zu umfassend programmierbaren und Upgrade-fähigen Geräten wie Smartphones.

Software-Entwicklung: Eine stille Revolution im Embedded-Bereich

Die herkömmliche Vorgehensweise bei der Entwicklung programmierbarer Hardware lehnt sich stark an den Maschinenbau an: Embedded-Geräte bilden in gewisser Weise das nach, was man früher mit mechanischen oder elektromechanischen Mitteln umsetzte. Ein gutes Beispiel dafür sind Verbrauchszähler. Zunächst traten Stromzähler einfach an die Stelle der mechanischen Zähler. Ein LCD-Display ersetzte die Zahlenräder und optimierte damit die Kosten bei gleichzeitig höherer Zuverlässigkeit. Dann kamen weitere Funktionen wie automatisches Auslesen dazu, um die Betriebskosten zu senken, ohne den Einsatzzweck oder den Anwendungsfall zu verändern.

In diesen Geräten ist Embedded- oder Echtzeit-Software implementiert. Ihre Erstellung erfordert spezifisches Know-how, das nur selten an Universitäten gelehrt wird. Meistens werden diese Kenntnisse erst in der Praxis erworben. Die Entwicklung von Embedded-Software erfordert aus zwei Gründen ebenso viel Know-how wie die Hardware-Entwicklung. Erstens ist die Behebung von Fehlern in Embedded-Software teuer, da sich Upgrades von Geräten als schwierig erweisen können. Zweitens müssen viele Embedded-Geräte strenge Sicherheitsbestimmungen erfüllen, was zusätzliches Wissen und Zeitaufwand zur Einhaltung von Bestimmungen wie IEC 61508, IEC 62304, UL 60730-1 H, CSA E60730-1 H, IEC 60730-1 H, UL 60335-1 R und IEC 60335-1 R, UL 1998 erfordert.

Nur wenige sind sich bewusst, dass bei der Entwicklung von Embedded-Software gerade eine stille Revolution stattfindet, die vom stetig wachsenden Internet der Dinge (IoT) getrieben wird. Mit zunehmender Vernetzung unserer Geräte öffnen sich diese zunehmend auch für die ganze Welt. Ein guter IoT-Baustein muss dem Entwickler über eine klar definierte API Zugang gewähren, wie dies bei Anwendungen wie NEST, Fitbit und Withings (Nokia) Digital Health der Fall ist. Umgekehrt hat jeder vernetzte Baustein jetzt Zugriff auf praktisch unbegrenzte Ressourcen in der Cloud. Dies eröffnet neue Möglichkeiten, die über die Funktionalität herkömmlicher Embedded-Geräte hinausgehen: Spracherkennung, künstliche Intelligenz und persönliche Assistenten, wie etwa Alexa von Amazon, sind heute allgemein verfügbar.

Als Folge beginnt eine neue Entwickler-Generation (die Entwickler-Community im Internet) mit diesen Bausteinen herumzubasteln. Sie beginnen mit Maker-Boards und nutzen dabei die Tools, die sie kennen: objektorientierte Programmierung, APIs, Skripte und Frameworks wie Java, JavaScript, Python, Lua, JSON und REST API. Vor allem die Arduino-Plattform hat neue Maßstäbe im Hinblick auf eine einfachere Embedded-Entwicklung (auf der Basis von Wiring und C++) gesetzt und Objektsprachen-Konzepte wie Methoden und Attribute bekannt gemacht. Zudem wurde mit Raspberry Pi Linux und Python für jeden zugänglich. Beide Plattformen zeigen, wie der Einsatz integrierter Tools mit vordefinierten Frameworks das Schreiben einer einfachen Anwendung zum Kinderspiel werden lässt.

Die Softwareisierung der Hardware

Entwickler dieser neuen Generation erfinden die Embedded-Anwendungen neu und ermöglichen eine „Softwarisierung“ der Hardware. Sie zwingen Embedded-Entwickler dazu, wie moderne Software-Entwickler zu denken, und auch andere für IT-Systeme und Web-Anwendungen nützliche Technologien in Betracht zu ziehen. So kann beispielsweise einer der Renesas-Partner, das IoT-Startup MediumOne, Geräte im Feld mit Python-Skripten in der Cloud programmieren – ein revolutionäres Konzept.

Heute muss das Rad nicht mehr neu erfunden werden. Die Embedded-Branche hat das Potenzial, die Art und Weise, wie Produkte definiert und entwickelt werden vollständig zu verändern. Entwickler müssen auf den wettbewerbsintensiven Märkten von heute lernen, bewährte und bereits in Produkten realisierte Softwarekomponenten mit einem hohen Maß an Abstraktion wiederzuverwenden. Bisher kamen solche Komponenten von spezialisierten Unternehmen, die sehr teuer waren. Dank verschiedener kostengünstigerer Optionen sind diese heute auf einer breiteren Basis verfügbar. Open-Source ist eine dieser Optionen, die jedoch mit Fragen nach unbekannter Qualität und anderen Risiken einhergeht. Eine weitere Möglichkeit ist die Zusammenarbeit mit Chipherstellern, die professionelle Software in ihre Hardware-Komponenten integrieren und diese im Rahmen einer einheitlichen Plattform-Kostenstruktur anbieten.

Dieser Trend zur Implementierung von Software verwandelt herkömmliche Firmware-Entwickler in eine Community stark spezialisierter Designer, ähnlich wie Hardware-Entwickler, die jetzt zu einem spezialisierten Teil von Embedded-Teams geworden sind. In ihrer künftigen Rolle müssen sie sicherstellen, dass ein komplettes Board-Support-Paket auf der Hardware läuft. Damit können immer mehr Softwareentwickler Anwendungen mit Frameworks und High-Level Sprachen sowie Skripten erstellen.

Neue Entwicklungen, neue Möglichkeiten für Entwickler

Dieser Trend eröffnet zudem neue Karrieremöglichkeiten für Embedded-Entwickler. Wer sich auf den folgenden Gebieten weiterbildet, kann von dieser Entwicklung profitieren:

  • Den Einsatz von Middleware und Echtzeit-Betriebssystemen erlernen. Diese Bereiche werden bald zum Grundwissen gehören, das von Entwicklern erwartet wird, die mit Hardware arbeiten.
  • Frameworks nutzen. Automotive-Entwickler arbeiten mit Autosar. Entwickler für Industrieanwendungen können mit Embedded-Linux als gute Wissensgrundlage beginnen. Selbst die Entwicklung von Android- oder IOS-Apps oder sogar einer Minecraft-Mod sind eine gute Möglichkeit, die Arbeit mit Frameworks zu verstehen.
  • Mit Maker-Boards experimentieren. Auch wenn sie manchem Entwickler wie Spielzeug erscheinen, bieten sie doch eine beeindruckende Vielfalt an Möglichkeiten.
  • Die eigene Software-Kompetenz schärfen und sich an Objektsprachen wie C++, Java und Objective C, an Markup-Sprachen wie XML, oder an Skript-Sprachen wie JavaScript, Python oder Lua versuchen. Am besten mit der Entwicklung mobiler Anwendungen oder Webdesigns beginnen, denn bald könnte es Embedded-Optionen mit kleineren Mikrocontrollern geben.
  • Sich mit der RESTfull API und dem JSON-Datenformat vertraut machen. Sie sind das A und O der Internetkommunikation und die meisten IoT-Dienste nutzen das eine oder das andere.

Die Renesas Synergy Plattform ist eine umfassend qualifizierte Plattform mit vollständig integrierter Software, einer skalierbaren Familie von MCUs, vereinheitlichten Entwicklungstools sowie benutzerfreundlichen Kits und Referenz-Software
Die Renesas Synergy Plattform ist eine umfassend qualifizierte Plattform mit vollständig integrierter Software, einer skalierbaren Familie von MCUs, vereinheitlichten Entwicklungstools sowie benutzerfreundlichen Kits und Referenz-Software (Bild: Renesas)

Entwickler-Communities bieten interaktive Peer-to-Peer-Foren, um Software-Fachkenntnisse zu verfeinern, speziell im Bereich neuer Embedded-Frameworks wie der Renesas Synergy Plattform (Bild 2) oder der IoT Sandbox, die mit MediumOne entwickelt wurde.

Es liegt an den Entwicklern sich individuell zu entscheiden, ob sie Teil der Revolution und Anwendungssoftware-Entwickler werden und mit übergeordneten Frameworks arbeiten möchten. Auch wer sich ausschließlich für die Hardware/Firmware-Seite entscheidet, für den ist als Embedded-Entwickler ein gutes Verständnis für die Bedürfnisse der Softwareentwickler im Zeitalter von IoT von zentraler Bedeutung.

Kongresshinweis Der Embedded Software Engineering Kongress findet 2018 vom 3. bis 7. Dezember in Sindelfingen statt. 100 Referenten behandeln an fünf Tagen alle Themen des modernen Embedded Software Engineering. Im letzten Jahr kamen über 1200 Teilnehmer nach Sindelfingen. Der Kongress wird von einer Fachausstellung mit über 50 renommierten Firmen begleitet. Programm und Information.

Im Zeichen der Disruption – Was Deutschlands Embedded-Software-Community jetzt tun muss

Im Zeichen der Disruption – Was Deutschlands Embedded-Software-Community jetzt tun muss

23.10.18 - Die Tech-Welt steht am Beginn eines neuen Zeitalters. Für die Softwareentwickler bedeutet dies nicht nur, das Wettrennen um neue Technologien aufzunehmen. Der gesamte digitale Umbruch im Job muss aktiv gestaltet werden. „Wir sind jetzt agil reicht nicht aus. Wie der Change wirklich klappen kann, erläutern Experten auf dem ESE Kongress. lesen

* Semir Haddad ist Direktor für strategische Planung und Geschäftsentwicklung bei der Renesas Electronics Corporation in Santa Clara.

Kommentar zu diesem Artikel abgeben

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

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

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