Zum Hauptinhalt springen

C++ für Embedded Systeme

Zielgruppe

Softwareentwickler/innen mit C-Kenntnissen, die Anwendungen objektorientiert in C++ für Embedded-Systeme erstellen wollen.

Vorkenntnisse

Gute Programmiererfahrung in C.

Dauer

5 Tage (mit praktischen Übungen)

Kursziel

In diesem Kurs lernen Sie die Programmiersprache C++ für die Anwendung in Embedded-Systemen kennen. Besonderer Wert wird dabei auf ein gutes Verständnis der objektorientierten Programmierung (OOP) und deren Einfluss auf die Systemressourcen gelegt. Zu diesem Zweck werden die Unterschiede der OOP im Vergleich zur klassischen C-Programmierung, sowie deren Auswirkungen auf den Speicherplatz- und Laufzeitbedarf detailliert erläutert. Außerdem zeigt der Kurs, wie Klassen und ihre Beziehungen mithilfe der Unified Modelling Language (UML) dargestellt werden und schafft somit eine wichtige Grundlage für einen guten objektorientierten Softwareentwurf. Schließlich behandelt der Kurs auch, wie Hardwarebausteine objektorientiert eingebunden und benutzt werden können. Die dazu gehörenden Übungen werden bei Präsenzkursen auf einer ARM-basierenden Target-Hardware, bei Onlinekursen mithilfe eines entsprechenden Softwareemulators durchgeführt. Die Spracheigenschaften dieses Grundlagenkurses basieren im Wesentlichen auf dem Sprachstandard C++98/03. Die Eigenschaften der neueren Sprachstandards (C++11, C++14, C++17, C++20) werden in dem weiterführenden Kurs „Modernes C++“ behandelt.


Hinweis

Der Kurs „C++ für Embedded Systeme“ setzt sich aus den folgenden Kursmodulen zusammen, die bei entsprechenden Vorkenntnissen auch einzeln gebucht werden können:


Inhalt

Nicht-Objektorientierte Sprachmittel und I/O

  • Datentyp bool
  • Referenzen
  • Funktionsüberladung
  • Vorbelegungsparameter
  • Dynamische Speicherverwaltung
  • Überladung von Operatoren
  • Ein-/Ausgabe (cin/cout)
  • Cast-Operatoren
  • Bereichsbasierte for-Schleife (C++11)
  • Scoped Enumerations (C++11)
  • nullptr (C++11)
  • Alias-Typdefinition mit using (C++11)

Von der Struktur zur Klasse

  • Datenelemente, Attribute
  • Elementfunktionen, Methoden
  • Statische/nicht-statische Elemente
  • this-Pointer
  • Zugriffsrechte public und private
  • Klasse

Konstruktoren und Destruktoren

  • Standard- und Kopierkonstruktor
  • Bei globalen und statischen Objekten und Arrays
  • Bei Objekten, die Objekte enthalten

Operatoren als Klassenelemente

  • Zuweisungsoperator
  • Auswahloperator
  • Typumwandlungsoperator

Vererbung und Aggregation

  • Basis- und abgeleitete Klassen
  • Vorteile der Vererbung gegenüber der Aggregation
  • Modellierung der Basisklassenfunktionalität
  • Auswirkungen auf Konstruktion und Destruktion
  • Zugriffsrecht protected
  • Ableitung mit Einschränkung der Zugriffsrechte
  • Cast-Operatoren

Virtuelle Funktionen und Polymorphie

  • Statische und dynamische Bindung
  • Virtuelle Funktionen
  • Abstrakte Funktionen und abstrakte Klassen
  • Schnittstellen (Interfaces)
  • Cast-Operatoren

Bewertung der Sprachmittel

  • Objektmodell
  • Erzeugung und Zerstörung von Objekten
  • Temporäre Objekte
  • Vererbung
  • Virtuelle Funktionen
  • Dynamische Speicherverwaltung

Objektorientierter Zugriff auf Hardwarebausteine

  • Traditionelle Lösungen
  • Lösung mithilfe einer Struktur
  • Hardwarebaustein als Objekt einer Klasse
  • Interruptbehandlung

Praktische Übungen

Setzten Sie das Gelernte direkt in die Praxis um.

Der Kursinhalt entspricht nicht ganz dem, was Sie suchen?


Das sagen Kunden:

"Didaktisch gut aufbereitet, absolut sicher in der Ausführung!"
"Hervorragende Kursleitung!"
"Angenehm ruhig, kompetent, offen für Fragen."
"Sehr gut fand ich die Erklärung der Hintergründe."
"Mit 'Design Patterns für Embedded Systeme' hat Herr Nieratschker ein sehr lehrreiches, interaktives und spannendes Training entwickelt. Durch die aufeinander aufbauenden Rätselfragen fühlt sich der Kurs an, wie eine gedankliche Schnitzeljagd: der Da Vinci Code für Programmierer."
"Noch nie einen so perfekt strukturierten Kurs besucht!!! SKT++."
"Gute bildliche Erklärungen, viel Geduld bei praktischen Anwendungen."
"Ein Muss für jeden objektorientierten Programmierer!"
"Sehr guter Ansatz zum Herleiten der Patterns."
"Alle Teilnehmer wurden 'abgeholt', da der Wissensstand sehr unterschiedlich ist."
"Hat mich richtig vorwärts gebracht."
"Sehr gute, praxisnahe Beispiele."
"Der Dozent beherrscht es, die Kursteilnehmer mitzunehmen."
"Komplexe Themen super verständlich hergeleitet."
"Knowledge of the instructor far above the trained theme!"
"The thing I liked most was the instructor's teaching skills!"
"The things I liked most were the teacher's clarity both in presentation and spoken English."
"Examples from real world, not like e.g. wikipedia."
"We were 'forced' to think ... Our attention was up all the time, which was great."
"What I liked in particular was the deep knowledge of the instructor and the sense of humor."
"What I liked in particular was the way we discovered patterns."
"Didaktisch gut aufbereitet, absolut sicher in der Ausführung!"
"Hervorragende Kursleitung!"
"Angenehm ruhig, kompetent, offen für Fragen."
"Sehr gut fand ich die Erklärung der Hintergründe."
"Mit 'Design Patterns für Embedded Systeme' hat Herr Nieratschker ein sehr lehrreiches, interaktives und spannendes Training entwickelt. Durch die aufeinander aufbauenden Rätselfragen fühlt sich der Kurs an, wie eine gedankliche Schnitzeljagd: der Da Vinci Code für Programmierer."
"Noch nie einen so perfekt strukturierten Kurs besucht!!! SKT++."
"Gute bildliche Erklärungen, viel Geduld bei praktischen Anwendungen."
"Ein Muss für jeden objektorientierten Programmierer!"
"Sehr guter Ansatz zum Herleiten der Patterns."
"Alle Teilnehmer wurden 'abgeholt', da der Wissensstand sehr unterschiedlich ist."
"Hat mich richtig vorwärts gebracht."
"Sehr gute, praxisnahe Beispiele."
"Der Dozent beherrscht es, die Kursteilnehmer mitzunehmen."
"Komplexe Themen super verständlich hergeleitet."
"Knowledge of the instructor far above the trained theme!"
"The thing I liked most was the instructor's teaching skills!"
"The things I liked most were the teacher's clarity both in presentation and spoken English."
"Examples from real world, not like e.g. wikipedia."
"We were 'forced' to think ... Our attention was up all the time, which was great."
"What I liked in particular was the deep knowledge of the instructor and the sense of humor."
"What I liked in particular was the way we discovered patterns."

SKT Nieratschker · Karl Nieratschker · Joseph-Maria-Lutz-Str. 7 · D-85293 Reichertshausen · Tel. +49 (0) 8441 490210 · office@skt-nieratschker.com