Entwicklungstrends

So sieht zukunftsfähige Embedded-Softwareentwicklung aus

| Autor / Redakteur: Peter Siwon * / Dr. Anna-Lena Gutberlet

Alte, gewachsene Architektur hat durchaus ihren Reiz: Bei Software können wir uns Nostalgie in der Regel nicht leisten.
Alte, gewachsene Architektur hat durchaus ihren Reiz: Bei Software können wir uns Nostalgie in der Regel nicht leisten. (Bild: gemeinfrei / CC0)

Mit den Experten von MicroConsult sprachen wir über die Bedeutung von Softwarearchitekturen und Frameworks. Dabei wurde das Thema Softwareengineering aus verschiedenen Blickwinkeln beleuchtet.

Ohne Zweifel wurde der Entwicklung von Embedded-Software noch nie so viel öffentliche Aufmerksamkeit geschenkt wie heute.

Internet of Things, Industrie 4.0, autonomes Fahren, Smart Building, Smart City, Smart Healthcare, etc., der Smartphone-Boom mit seinen Apps, aber leider auch der VW-Skandal weckten auch außerhalb der Fachmedien viel Aufmerksamkeit für Embedded-Software.

Embedded-Software ist allgegenwärtig und stellt einen wichtigen Faktor dar, wenn es um Komfort, Sicherheit, Nachhaltigkeit und Innovation geht. Keiner kommt mehr an ihr vorbei. Sogar in der Bekleidungsindustrie bestimmt sie Funktion, Nutzen und Attraktivität der sogenannten Wearables.

Doch worauf kommt es bei all diesen Trends vor allem an, wenn es um das Software-Engineering geht? Wir fragten Thomas Batt, Marcus Gößler, Frank Listing und Remo Markgraf, die als Trainer und Berater für Embedded-Technologien seit vielen Jahren Kunden aus allen Industriebranchen begleiten.

Das Potenzial von Multicore erschließen

Am besten fangen wir bei unserer Betrachtung ganz „unten“ an, beim Mikrocontroller:

Marcus Gößler ist Spezialist für Mikrocontroller bei MicroConsult und sammelte vorher umfassende Erfahrungen als Field Application Engineer und Leiter der Field Application bei großen Halbleiterherstellern. Sein besonderer Fokus liegt auf der Multicore-Technologie, die mehr und mehr bei den Mikrocontrollern an Bedeutung gewinnt.

„Mit dem Thema Multicore muss sich über kurz oder lang wohl jeder Embedded-Entwickler beschäftigen, wenn er nicht den Anschluss verlieren will. Die Frage ist weniger ob, sondern wann das erste Multicore-basierte Projekt realisiert wird. Multicore ist Realität und mehr Kerne und mehr Hersteller mit Multicore-Derivaten werden den Markt betreten. Eine Abstrahierung der Hardware ist dabei von großer Bedeutung, damit die Verteilung und Verwaltung von Software auf diese komplexe Hardware effizient möglich ist. Gerade hier gibt es aktuell allerdings noch Nachholbedarf“ so sein Tenor.

Ergänzendes zum Thema
 
Tipp: FBDi-Directory gratis

Doch was bedeutet „beschäftigen“? Marcus Gößler ist davon überzeugt, dass der effiziente Einsatz von Multicore ein sehr gutes Verständnis der Hardware-Architektur voraussetzt. Sie ist der Grundstein für die Entwicklung einer Software-Architektur, die das Leistungspotenzial von Multicore auch tatsächlich erschließt und die Unabhängigkeit und damit auch die Sicherheit gleichzeitig ablaufender Tasks gewährleistet.

Maßnahmen, um diese Unabhängigkeit und Sicherheit auch überprüfen bzw. Fehler diagnostizieren zu können, kommen ins Spiel. Falls die einzelnen Kerne nicht völlig unabhängig operieren, sondern interagieren, müssen Maßnahmen ergriffen werden, um fehlerhafte gegenseitige Beeinflussungen zu vermeiden. Dies spielt üblicherweise bei Datenzugriffen eine Rolle, beispielsweise im Zusammenhang mit verwendeten Caches.

Des Weiteren sind multicorespezifische Dinge wie Code- und Datenallokation zu betrachten. Die optimale Abstimmung von Hardwarearchitektur und Softwarearchitektur im Sinne von Leistungsgewinn und Sicherheit erfordert ein fundiertes Verständnis dieser beiden Aspekte.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

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

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: 44284320 / Tools & Softwarekomponenten)