Embedded C++ für Fortgeschrittene: Objektorientierte Programmierung für Mikrocontroller mit C++/EC++
Die steigende Komplexität in Embedded-Softwareapplikationen und die immer leistungsfähigere Hardware erlauben inzwischen, C++ in steigendem Maße auch in Embedded-Systemen einzusetzen. Dabei sind abhängig von der Applikation Qualitätsmerkmale wie Sicherheit (Safety und Security), Performance, Ressourcenverbrauch und andere zu berücksichtigen.
C++ für Embedded-Applikationen
- Historie
- Spezielle Qualitätsanforderungen an Embedded-Software
- Empfehlungen und Regelwerke (Codier-Richtlinien)
- C++ Compiler-Prinzipien
- Ausblicke: C++ Idiome und Clean Code Development
- Praxistipp mit wichtigen Referenzen
- Klasse und Objekt
- Bestandteile von Klassen
- Modifizierer für Daten, Funktionen und Objekte
- Klassen-Funktionszeiger am Beispiel Zustandsfolgeautomaten-Implementierung
- Klassenrelationen (Assoziation, Aggregation, Komposition und Vererbung)
- Virtuelle Funktionen und Interfaces (Realisierung und Zugriff)
- Erweiterte C++ Konstrukte
- Verwendung von (verschachtelten) Namespaces im Programmcode
- Namespace Alias, anonymer Namespace, Koenig-Lookup, inline Namespace
- Abbildung der Software-Architektur im Programmcode
- C++ Standard-Namespace std
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Übung: Basierend auf der Architektur arbeiten Sie Namespaces in den bestehenden Programmcode ein
- Programmierung der Einfach- und Mehrfachvererbung (mit Interfaces)
- Problemsituationen und Lösungen bei der Mehrfachvererbung
- Virtuelle Vererbung
- Assembler-, Speicher- und Laufzeit-Analysen und -Optimierungen
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Übung: Sie verwenden und programmieren die Mehrfachvererbung, wahlweise virtuell
- Exception Handling - Erläuterung und Programmierung
- Exception-Klassen und -Hierarchien
- Benutzer-Exceptions
- C++ System-Exceptions
- Verschachteltes Exception Handling
- Assembler-, Speicher- und Laufzeit-Analysen und -Optimierungen
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Übung: Sie binden Exception Handling in die bestehende Applikation ein
- Speichersegmente (BSS, Stack, Heap) für Objekte im Vergleich
- Dynamisches Speichermanagement mit new und delete mit und ohne Exception Handling
- Operatorüberladung von new und delete
- Pool-Allocation Pattern
- Placement new
- Risiken und Stolpersteine vermeiden
- Assembler-, Speicher- und Laufzeit-Analysen und -Optimierungen
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Übung: Sie erzeugen und löschen Objekte dynamisch auf dem Heap
- Erläuterung und Programmierung von RTTI
- type_info Klasse
- Konsequenzen beim Einsatz
- Bezug zu Exception Handling und New Style Casts
- Assembler-, Speicher- und Laufzeit-Analysen und -Optimierungen
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Übung: Sie verwenden RTTI zur Klassenidentifikation zur Laufzeit
- Static, dynamic, const und reinterpret Cast
- Die richtige Wahl beim Einsatz
- Bezug zu RTTI und Exception Handling
- Assembler-, Speicher- und Laufzeit-Analysen und -Optimierungen
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Template-Funktionen
- Template-Klasse und -Objekt
- Template-Parameter und -Alias
- Vererbung und Interfaces mit Template-Klassen
- Praxistipps: Statische versus dynamische Polymorphie
- CRTP (Curiously Recurring Template Pattern)
- Template-Spezialisierung und (implizite versus explizite) -Instanziierung
- Type Traits und Concepts
- Variadische Template-Funktionen und -Klassen
- Perfekt Forward
- Assembler-, Speicher- und Laufzeit-Analysen und -Optimierungen
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Übung: Sie programmieren eine Template-Klasse zur Anwendung im Observer-Pattern-Kontext der Applikation
- Besonderheiten und Varianten von Smart Pointer
- Programmierung eigener Smart Pointer
- C++ Smart Pointer
- Lambda-Funktionen
- Assembler-, Speicher- und Laufzeit-Analysen und -Optimierungen
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Grundlegende Konzeptübersicht
- Container, Iteratoren, Adapter, Algorithmen
- Differenzierung und Vorstellung unterschiedlicher Container
- Container für sequenzielle, sortierende und spezielle Anwendungsfälle
- Funktionsobjekte (Funktoren)
- Lambda-Funktionen
- Allocator-Klasse
- Assembler-, Speicher- und Laufzeit-Analysen und -Optimierungen
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Übung: Sie verwenden eine Container-Klasse im Observer-Pattern-Kontext der Applikation
- Embedded-Software-Architekturrichtlinien
- Embedded-Software-Qualitätsmerkmale
- Software-Layer-Pattern: Embedded-Software-Schichtenarchitektur
- Synchrone und asynchrone Software-Architektur
- Unidirektionale und bidirektionale Kommunikation
- Callback-Struktur mit und ohne Betriebsmittel eines Betriebssystems
- Objektorientierte Konzepte und Programmierung von Standard-Peripherietreibern
- Objektorientierte Konzepte und Programmierung von Interrupt-Behandlungen
- Registerbank-Zugriff
- Callback-Strukturen im Interrupt-Kontext
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Übung: Sie binden einen Hardwaretreiber und Interrupt-Service in die Applikation ein
- std::string und std::string_view
- iosteam und iomanip
- std::stringstream
- std::function, std::optional, std::variant und std::any
- Anwendungsbeispiele und Empfehlungen zur Verwendung in Embedded-Software
- Für die durchgängige Übung (Uhrenapplikation) verwenden Sie das Arm Keil MDK (Microcontroller Development Kit) zusammen mit einer realen oder simulierten Hardware basierend auf einem Arm Cortex®-M3 Mikrocontroller.
- Sie erhalten von uns Ihre Übungsverzeichnisse und Lösungsbeispiele für alle Übungsaufgaben.
- Sie erhalten alle C++ Beispiele in elektronischer Form und können diese sehr einfach für Ihre Entwicklungsumgebung anpassen.
- Sie erhalten eine Zusammenfassung von skalierbaren Empfehlungen zur Anwendung von C++ in Embedded-Software als Checkliste.
- Sie erhalten zudem eine Tool- und Software-Komponentenübersicht für die Entwicklung von Embedded-Software.
- Sie bekommen hilfreiche Notationsübersichten für UML und SysML.
Sie kennen die Anwendung und die Effizienz fortgeschrittener C++ Konstrukte (Namespaces, Templates, Exception Handling, Runtime Type Identification, New Style Casts, Mehrfachvererbung, Speichermanagement).
Sie sind in der Lage, über die Verwendung dieser Konstrukte in Ihrer Applikation fundiert zu entscheiden.
Sie haben einen Überblick über die Elemente und Mechanismen der STL (Standard Template Library) und können diese bereits einsetzen.
Sie können Patterns (State-Pattern, Singleton-Pattern, Observer-Pattern, Smart-Pointer-Pattern und Layer-Pattern) auf Ihre Applikationen hin adaptieren und dort implementieren.
Der EC++ Kurs für Fortgeschrittene richtet sich an Programmierer, Software-Entwickler, Software-Designer und Software-Architekten, die fortgeschrittene C++ Konstrukte in der Embedded-Softwareentwicklung einsetzen.
Objektorientierte C++ Grundlagen sind zwingend erforderlich, UML-Grundlagen von Vorteil.
Empty donot delete
Onsite-Training: Individuelle Workshops - exakt auf Ihr Projekt zugeschnitten
In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.
Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.
Coaching mit Mehrwert - Expertenwissen für Ihren Projekterfolg
Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.
| Termin | Ort | Sprache | Preis | Dauer | |
|---|---|---|---|---|---|
*Preis je Teilnehmer, in Euro zzgl. USt.
Anmeldecode: EC++FOR
Empty donot delete
All inclusive!
Im Preis enthalten:
Mittagessen, Kalt- und Warmgetränke, frisches Obst, Snacks,
Trainingsunterlagen und Ihr MicroConsult-Zertifikat
Seminar-Ort
Präsenz-Trainings:
MicroConsult Academy GmbH
Charles-de-Gaulle-Str. 6
81737 München, Deutschland
+49 89 450617-71
>> Anfahrtsbeschreibung und Hotelinfo
Live-Online-Trainings:
Finden online über WebEx oder Zoom statt.
Organisatorisches
Reservierung / Anmeldung
Sie können sich jederzeit unverbindlich einen Platz in einem Training reservieren; diese Reservierung halten wir bis maximal drei Wochen vor Trainingsbeginn offen.
Für die sichere Teilnahme an einem Training senden Sie uns bitte eine verbindliche Anmeldung.
Beides können Sie online vornehmen – direkt von der jeweiligen Trainingsbeschreibung aus (Button „Unverbindlich Reservieren“ bzw. „Anmelden“).
Bitte beachten Sie auch unser Bonusprogramm bei der gleichzeitigen Buchung von mehreren Trainings und/oder Teilnehmenden.
Seminar-Ort
MicroConsult Academy GmbH
Charles-de-Gaulle-Str. 6
81737 München, Deutschland
Tel.: +49 89 450617-71 >> Anfahrtsbeschreibung
Trainingszeiten (Präsenz-Trainings)
HINWEIS:
Bei einigen Trainings weichen die Zeiten ab. Beachten Sie daher bitte in jedem Fall die Anfangs- und Endzeiten in der Anmeldebestätigung, die wir Ihnen vor Ihrem Training senden!
Eintägiges Training: 08:30 – 17:00 h
Zweitägiges Training: Tag 1: 09:30 – 17:30 h / Tag 2: 08:30 – 17:00 h
Dreitägiges Training: Tag 1: 09:30 – 17:30 h / Tag 2-3: 08:30 – 17:00 h
Viertägiges Training: Tag 1: 09:30 – 17:30 h / Tag 2-4: 08:30 – 17:00 h
4,5-tägiges Training: Tag 1: 09:30 – 17:30 h / Tag 2-4: 08:30 – 17:00 h / Letzter Tag: 08:30 – 13:00 h
Fünftägiges Training: Tag 1: 09:30 – 17:30 h / Tag 2-4: 08:30 – 17:00 h / Letzter Tag: 08:30 – 15:00 h
Struktur und Ablauf unserer Live-Online-Angebote unterscheiden sich von den Präsenztrainings. Die genauen Trainingszeiten entnehmen Sie bitte unserer Anmeldebestätigung.
Trainingszertifikat
Nach Abschluss Ihres Trainings erhalten Sie das MicroConsult-Zertifikat als Beleg über Ihr neu erworbenes Wissen.
Trainingsunterlagen
Hochwertige Lehrmaterialien und ausführliche Unterlagen sind im Preis inbegriffen.
Mitbringen
Neben viel Neugierde und Wissensdurst benötigen Sie nichts weiter. Unsere Räume sind mit allem ausgestattet, was zur Durchführung des Trainings nötig ist, und Ihre Trainingsunterlagen und Schreibmaterial warten bereits auf Sie.
Verpflegung
Gastfreundschaft ist uns wichtig. Deshalb laden wir Sie zum Mittagessen in ein nahegelegenes Restaurant ein. Auch für Ihre Erfrischung ist gesorgt: Kalt- und Warmgetränke stehen Ihnen den ganzen Tag zur Verfügung, ebenso wie Snacks und frisches Obst.
Räumlichkeiten
Bei unseren Schulungsräumen legen wir besonderen Wert auf eine offene und freundliche Atmosphäre und eine hochwertige und moderne technische Ausstattung.

Lage
Unser Trainingszentrum ist verkehrstechnisch günstig gelegen. Mehrere Hotels befinden sich in unmittelbarer Nähe.
Zur Anfahrtsbeschreibung und den Hotel-Informationen
Haben Sie Fragen?
Wir helfen Ihnen gerne weiter. Alle Fragen rund um die Organisation unserer Trainings beantwortet Ihnen unser Service Office unter Tel. +49 (0)89 450617-71. Oder senden Sie eine Mail an training@microconsult.com.
Bonusprogramm
Der Gruppen-Vorteil: Verbindliche Anmeldung einer Gruppe für ein Training
Anzahl der Personen |
Höhe des Rabatts |
| 2 bis 3 Personen | 5 % |
| 4 bis 5 Personen | 10 % |
| ab 6 Personen | 15 % auch bei Verteilung auf 2 Termine |
| mehr als 8 Personen | auf Anfrage |
Der Ausbildungsbonus: Verbindliche Anmeldung einer Person zu mehreren Trainings
Anzahl Trainings |
Höhe des Rabatts |
|---|---|
| 2 Trainings | 5 % |
| 3 Trainings | 8 % |
| Mehr als 3 Trainings | auf Anfrage |
Was sonst noch wichtig ist
Dieses Bonusschema gilt ausschließlich für unsere offenen Trainings.
Erforderlich für die Inanspruchnahme der Sonderkonditionen ist eine geschlossene, verbindliche Anmeldung und die Teilnahme aller gebuchten Personen zu den vereinbarten Terminen. Grundlage für die Berechnung ist die aktuelle Preisliste auf www.microconsult.de.
Die einzelnen Rabattmodelle sind nicht miteinander kombinierbar. Eine Terminverschiebung durch uns oder die Teilnahme einer Ersatzperson bleiben ohne Einfluss auf die Konditionen.
Gültig nur bei Direktbuchung über uns; bei Buchung über externe Weiterbildungsportale findet unser Bonusprogramm keine Anwendung.
Sprechen Sie uns an, unser Service Office steht Ihnen unter Tel. +49 (0)89 450617-71 zur Verfügung. Oder verwenden Sie auch gerne das Kontaktformular.
Gemeinsam finden wir die optimale Lösung für Sie!
Verwandte Trainings
- Embedded C++: Objektorientierte Programmierung für Mikrocontroller mit C++/EC++ und UML
Anmeldecode: EC++ - Embedded C Schulung: Programmiermethoden und -tools für Embedded-Anwendungen
Anmeldecode: EMB-C - DSP-Grundlagen: Applikationen mit dem Mikrocontroller
Anmeldecode: DSP-G - RTOS-Grundlagen und Anwendung: Mechanismen und deren Einsatz in Laufzeit-Architekturen für Embedded- und Echtzeitsysteme
Anmeldecode: RTOS-AR - Embedded-Multicore-Mikrocontroller in der Praxis
Anmeldecode: µCMULTI - Software-Architektur-Schulung für Embedded-Systeme und Echtzeitsysteme
Anmeldecode: EMB-AR - Coaching: Embedded- und Echtzeit-Programmierung
Anmeldecode: C-EMB-PRG
Kundenstimmen
Sie haben Fragen?
Gerne helfen wir Ihnen!
Melanie Menzl
Organisation offene TrainingsSilke Bluhm
Organisation Onsite-Trainings & CoachingNora Pohle
Vertriebkontakt@microconsult.com
+49 89 450617 - 71
Ihre Vorteile auf einen Blick:
- 100 % praxisnah: Sie lernen, was im Projektalltag wirklich zählt – mit echten Tools und erprobten Methoden von Expertinnen und Experten aus der realen Projektwelt.
- Wie und wo Sie wollen: Wählen Sie zwischen Live-Online- oder Präsenz-Training, durchgeführt in unserem Training Center oder bei Ihnen vor Ort.
- Kleine Gruppen, große Wirkung: Maximal 12 Teilnehmende – so bleibt Raum für Ihre Fragen, Ihre Themen, Ihre Praxis.
- Verständlich statt verkopft: Komplexe Inhalte werden greifbar – mit Beispielen, interaktiven Übungen und einem klaren roten Faden.
- Kombinierbar: Ideal als Einzelseminar oder Teil einer Weiterbildungsreihe.
- Nachhaltiger Lernerfolg: Sie erhalten hochwertige Unterlagen zum Nacharbeiten.
- Flexible Teilnahme: Bis 3 Wochen vor dem Termin kostenlos stornieren oder umbuchen – Ihre Buchung bleibt übertragbar.