Embedded C++ Grundkurs
Mit vielen Beispielen und praktischen Übungen
Embedded C++ Grundkurs
Prof. Richard Kaiser
Herr Prof. Richard Kaiser ist ein Experte der Softwareentwicklung und begleitet ihre Weiterentwicklung schon viele Jahre. Seine Lehrbücher über C++ stellen den jeweils aktuellen Sprachumfang umfassend und kompakt dar. Durch seine vielen Kurse und seine berufliche Erfahrung kennt er die Anforderungen der Praxis.
Seine Kundenliste spricht für sich: Von renommierten Weltkonzernen bis hin zu kleinen und mittelständischen Unternehmen ließen sie sich alle von Herrn Prof. Kaiser weiterbilden.
Programme für embedded Anwendungen sind oft durch besondere Anforderungen gekennzeichnet. Sie haben oft nur einen kleinen Speicher, sollen besonders schnell und zuverlässig sein und dürfen keinen Heap verwenden, damit es nicht zu einer Speicherfragmentierung kommt.
Traditionellerweise werden embedded Programme oft in C geschrieben. Mit der Weiterentwicklung der Compiler hat C++ heute in Bezug auf Codegröße und Geschwindigkeit aber keine Nachteile mehr gegenüber C. Dazu tragen auch viele neue Sprachelemente von C++11, C++14, C++17 und C++20 bei, zu denen es in C keine Alternativen gibt und die zu schnellerem und kleinerem Code führen als mit C.
Eines der wichtigsten Argumente für C++ ist jedoch, dass Programme für eingebettete Anwendungen immer größer und komplexer werden. Diese Komplexität ist mit den Mitteln von C oft nur noch schwer zu bewältigen. Hier bietet C++ enorme Vorteile, die Entwicklungskosten sparen und zur Zuverlässigkeit der Anwendungen beitragen.
Ziel der Weiterbildung
Das Seminar stellt grundlegende Sprachelemente und -konzepte von C++ (z.B. objektorientierte Programmierung) unter dem Gesichtspunkt der besonderen Anforderungen an embedded Systeme vor und vergleicht sie mit C-Alternativen.
Ein Schwerpunkt liegt auf den neuen Sprachelementen von C++11, C++14, C++17 und C++20, die für embedded Systeme viele Vorteile haben. Neben Sprachelementen werden auch AUTOSAR C++14 und MISRA Regeln für sicherheitsrelevante Systeme betrachtet.
HINWEIS
Der Embedded C++ Grundkurs (VA Nr. 35508) und der Embedded C++ Aufbaukurs (VA Nr. 35313) sind aufeinander abgestimmt. Beide Kurse sind zusammen eine Einführung in die Programmierung von embedded Anwendungen mit C++. Sie richten sich insbesondere an C-Programmierer, die auf C++ umsteigen wollen.
Montag, 5. bis Donnerstag, 8. Mai 2025
9.00 bis 12.15 und 13.45 bis 17.00 Uhr
Embedded Systeme
- Einsatzbereiche und Besonderheiten
- spezielle Anforderungen bei embedded Anwendungen
- Überblick: C und C++ im Vergleich
- ESP32- und STM32-Boards
Elementare Datentypen und Anweisungen
- Ganzzahldatentypen fester Breite
- Trennzeichen bei Zahlliteralen und binäre Literale
- Typ-Inferenz: Implizite Typzuweisungen mit auto
- Initialisierungslisten und Konversionen
- Typsichere Initialisierungen mit Initialisierungslisten
- Bitoperationen
- Wert- und Referenzparameter
- Die Verwendung von C- und C++-Bibliotheken
- Konstanten mit const und constexpr
- constexpr-Funktionen, consteval und constinit
- Init statement für if/switch
- stark typisierte Aufzählungstypen
- C-Arrays, std::array und std::vector
- Funktionszeiger und Interrupt-Funktionen (Interrupt Service Handler-ISR)
Zeiger und Smart Pointer
Namespaces
Überladene Funktionen und Operatoren
- Mit überladenen new- und delete-Operatoren memory-leaks finden
- Benutzerdefinierte Literale
Objektorientierte Programmierung
- Klassen
- Elementfunktionen und der this-Zeiger
- Datenkapselung
- Konstruktoren und Destruktoren
- Klassen ohne pointer und die "rule of zero"
- Elementinitialisierer
- Standardkonstruktor, Kopierkonstruktor, Zuweisungsoperator
- Die Angaben =delete und =default
- Konstante Objekte und Elementfunktionen
- Konvertierende und explizite Konstruktoren
- Statische Klassenelemente
- inline Variablen und static Datenelemente
- Vererbung und Komposition
- Verdeckte Elemente
- Virtuelle Funktionen und Polymorphie
- Rein virtuelle Funktionen und Interface-Klassen
- Interfaces und Mehrfachvererbung
- R-Wert Referenzen und Move-Semantik
- Move-Semantik in der C++-Standardbibliothek und für eigene Klassen
Softwareentwickler, Projektleiter, Testingenieure und Entscheider, die die Vorteile von C++11, C++14, C++17 und C++20 und der objektorientierten Programmierung für embedded Systeme nutzen wollen.
Gute Kenntnisse in der Programmiersprache C werden vorausgesetzt.
73760 Ostfildern
Anfahrt
Die TAE befindet sich im Südwesten Deutschlands im Bundesland Baden-Württemberg – in unmittelbarer Nähe zur Landeshauptstadt Stuttgart. Unser Schulungszentrum verfügt über eine hervorragende Anbindung und ist mit allen Verkehrsmitteln gut und schnell zu erreichen.
Die Teilnahme beinhaltet Verpflegung sowie ausführliche Unterlagen.
Preis:
Die Teilnahmegebühr beträgt:
1.930,00 €
(MwSt.-frei)
Fördermöglichkeiten:
Bei einem Großteil unserer Veranstaltungen profitieren Sie von bis zu 70 % Zuschuss aus der ESF-Fachkursförderung.
Bisher sind diese Mittel für den vorliegenden Kurs nicht bewilligt. Dies kann verschiedene Gründe haben. Wir empfehlen Ihnen daher, Kontakt mit unserer Anmeldung aufzunehmen. Diese gibt Ihnen gerne Auskunft über die Förderfähigkeit der Veranstaltung.
Weitere Bundesland-spezifische Fördermöglichkeiten finden Sie hier.
Inhouse Durchführung:
Sie möchten diese Veranstaltung firmenintern bei Ihnen vor Ort durchführen? Dann fragen Sie jetzt ein individuelles Inhouse-Training an.
Weitere Termine und Orte
Ihr Ansprechpartner für die Veranstaltung
Ich habe sehr viele Informationen bekommen. Alle grundlegenden und auch tiefere Konzepte wurden gelehrt. Leider war das Wissen so umfangreich, dass keine Zeit blieb Wissen über die Anwendung zu vermitteln. Das Wissen wurde auch fast ausschließlich frontal unterrichtet, wir haben sehr wenig selber programmiert. Ich kann den Kurs leider nicht weiterempfehlen.
Sehr geehrter Herr Möllering,
vielen Dank für Ihr konstruktives Feedback. Wir bedauern, dass der Kurs in seiner derzeitigen Form nicht ausreichend praxisorientiert war. Ihren Hinweis nehmen wir ernst und werden die Kursstruktur gemeinsam mit dem Referenten überarbeiten, um künftig eine bessere Balance zwischen theoretischem Wissen und praktischen Übungen zu schaffen. So können wir sicherstellen, dass die Teilnehmer nicht nur das Verständnis der Konzepte gewinnen, sondern auch direkt anwendbare Kenntnisse erwerben.
Wir hoffen dennoch, Sie schon bald wieder an der Akademie begrüßen zu dürfen.
Ihr Team der TAE