Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Softwareentwicklung (Windows, Linux, Mobile)

Softwareentwicklung - Training & Coaching:

 

Softwareentwicklung - Fachwissen:

Entwurfsmuster – Design Pattern


Software-Architektur braucht Verantwortung und Können: W
elche Themen sollte der Software-Architekt beherrschen?

Mit der steigenden Produktkomplexität und immer leistungsfähigerer Hardware erhöhen sich ebenfalls der Umfang und die Komplexität der Software von Embedded-Systemen. In vielen Produkten setzt die Software den wesentlichen Teil der Funktionalität um.


Wie geht es weiter mit C++? -
Beschlossene und geplante Änderungen des C++-Standards

Seit der Version 11 bewegt sich wieder etwas im Hause C++. Wurde lange Zeit die Weiterentwicklung des C++ Standards von der (Programmier-) Öffentlichkeit kaum wahrgenommen, hat die Version 11 von C++ der Programmiersprache neuen Schwung verliehen.


Windows en miniature -
Was steckt hinter Windows 10 IoT?

Microsoft hat im letzten Jahr mit großem Getöse "Windows 10 IoT" vorgestellt. Eine Version – Windows 10 IoT Core – ist sogar auf der beliebten Bastelplattform Raspberry Pi verfügbar. Was steckt nun hinter "Windows 10 IoT Core"?


Von C nach Embedded-C: Das Ziel bestimmt den Weg

Natürlich ist Embedded-C auch C. Der Umstieg von C auf Embedded-C bedeutet aber, dass der Programmierer sich beim Einsatz an den Erfordernissen der jeweiligen Embedded-Anwendung orientieren muss. Dies sind beispielsweise Echtzeitfähigkeit, geringer Speicherbedarf oder hohe Betriebssicherheit. Gleichzeitig stellt die Wiederverwendbarkeit von Software auch in der Embedded-Welt ein wichtiges Qualitätsmerkmal dar. Die richtige Anwendung der C-Schlüsselwörter spielt dabei eine bedeutende Rolle.


Objektbasiert oder objektorientiert? - Moderne Low-Level-Treiberprogrammierung mit C/C++

Die Programmiersprache C ist in der Embedded-Welt sehr weit verbreitet. Eine Vielzahl von Embedded-Systemen wurde in der Vergangenheit – und wird sicher auch noch in Zukunft – in C programmiert. Der Zugriff auf die im Mikrocontroller vorhandenen Peripheriemodule (Steuer-, Status- und Arbeitsregister) kann in unterschiedlichsten Formen durchgeführt werden. Für die modernen, zum Teil sehr komplexen Embedded-Systeme muss darauf geachtet werden, dass gut lesbarer, wiederverwendbarer, leicht erweiterbarer Code entsteht. Hier kommt als Programmier-Paradigma die "objektbasierte Programmierung" ins Spiel. Und dann stellt sich als nächstes die Frage, ob nicht gleich "objektorientiert" programmiert werden soll.


Implementierung von Zustandsautomaten in C++

Für Steuerungsaufgaben werden heutzutage in vielen Programmen Zustandsautomaten eingesetzt. Die Programmiersprache C++ setzt sich auch im Embedded-Bereich immer mehr durch, viele Projekte steigen von C auf C++ um. Das Kompaktseminar vermittelt einen Einblick in die Programmierung von Zustandsautomaten mithilfe der Programmiersprache C++. Es wird gezeigt, welche Alternativen zu Switch-Case und Zustands-Pattern existieren. Weiterhin werden Vor- und Nachteile der einzelnen Lösungen diskutiert.


Prinzipien für Embedded-Softwarearchitekturen


Die SOLID-Prinzipien: 5 Grundsätze für bessere Software

Die Qualität der Software ist nicht in allen Projekten ideal, und deshalb werden in vielen Bereichen Anstrengungen unternommen, eine Verbesserung zu erreichen. Der Einsatz von Software Engineering soll den Code in allen seinen Aspekten verbessern.


Das Rad nicht immer neu erfinden - Architekturmuster im Embedded-Umfeld

Da Embedded-Projekte sehr klein starten, wird dort oft kein Gedanke an die Software-Architektur verschwendet. Etwas soll schnell funktionieren – und die Probleme mit der neuen Hardware sind ja auch noch zu lösen. Solch ein Vorgehen rächt sich schnell. Spätestens bei der nächsten Kundenanforderung merkt man, dass ein bisschen Struktur in der Applikation die Änderungen erleichtert hätte – aber wir haben ja jetzt keine Zeit mehr, etwas zu ändern, denn der Kunde wartet. So geht es dann weiter - und jedes Mal wird der Aufwand immer größer.


Apps plattformunabhängig entwickeln - Möglichkeiten und Grenzen von HTML5 und JavaScript

Applikationen unabhängig vom Betriebssystem entwickeln, ohne dass eine spezielle Laufzeitumgebung installiert ist – das wäre doch super. Warum ersetzen wir nicht das Betriebssystem durch den Browser - den gibt es überall? Jeder Browser versteht HTML, und seit vielen Jahren kann jeder Browser JavaScript. Damit ist doch alles vorhanden. Wir beschreiben die Benutzeroberfläche mit HTML und programmieren mit JavaScript. – Alles wird gut: schnellere Entwicklungszeiten, billige Entwickler (man muss ja keine exotischen Programmiersprachen beherrschen) und keine Sonderlösungen für eine spezielle Plattform. Aber: Wie immer steckt der Teufel im Detail. Deshalb wird in diesem Artikel der Mythos HTML5 etwas näher betrachtet und die Möglichkeiten und Grenzen der Applikationsentwicklung speziell für mobile Geräte werden aufgezeigt.


Das Embedded Software Engineering Kochbuch


Anti-Aging für Embedded-Software - Tipps für langlebige Software


Software-Paradigmen: Was programmiere ich da eigentlich?

Ein SW-Paradigma ist ein grundsätzlicher Programmierstil - also die Art und Weise, wie ein Programmierer seinen Code schreibt. Die Unterschiede der Paradigmen liegen im Umgang mit den Daten und ihrer Repräsentation bzw. in der Darstellung des Kontrollflusses. Die verschiedenen Paradigmen schließen sich nicht grundsätzlich gegenseitig aus, sondern lassen sich häufig miteinander kombinieren. Bei der Bezeichnung der Paradigmen herrscht oft Verwirrung. Einige Namen werden falsch verwendet, bei anderen herrscht Unklarheit, wo neben der großen Ähnlichkeit nun der Unterschied besteht. Dieser Artikel erläutert einige der heute gebräuchlichen SW-Paradigmen.

 

Software-Engineering mit UML & C: Praxisgerechter Einsatz für kleine Embedded-Systeme

In vielen Köpfen ist die UML verknüpft mit objektorientierter Programmierung und Hochsprachen wie C++, Java oder C#. Das ist natürlich auch richtig, aber die UML ist ebenso bestens für die Modellierung und Implementierung von kleinen Embedded-Applikationen mit prozeduraler Programmierung in ANSI-C einsetzbar. Wie das im Einzelnen für typische Software-Elemente aussieht und wie die Vorgehensweise dazu ist, zeigt dieser Beitrag.

 

Gesunde Software

 

Wissenswertes zur Entwicklung & Programmierung von Embedded-Software

Merkzettel


Sie haben derzeit keine Trainings auf dem Merkzettel.