Seminare

Embedded Programmierung mit modernem C

Seminar - Vogel Communications Group

Embedded Programmierung ist eine der Domänen für modernes C . Zum Einen bietet C den Durchgriff auf die Hardware an, zum Anderen bietet C Abstraktion an, um komplexe Systeme zu entwickeln. Insbesondere mit C 11 erhält C noch mehr mächtige Features für die embedded Programmierung. Das sind Features wie die Move-Semantik, constexpr-Funktionen oder der neue Container std::array. In dem Seminar lernen Sie die Vorteile und die Anwendung von modernem C in der Embedded-Programmierung kennen.
Termin Ort Preis*
23.10.2019- 25.10.2019 Frankfurt am Main 1.773,10 €
10.12.2019- 12.12.2019 Stuttgart 1.773,10 €
*Alle Preise verstehen sich inkl. MwSt.

Detaillierte Informationen zum Seminar

Inhalte:
1. Seminartag
Sicherheitskritische Systeme
  • Vereinheitlichte Initialisierung mit {} überall anwenden und dadurch die heimliche Verengung von Datentypen vermeiden
  • Automatische Typableitung kennen lernen um Refaktoring von Code zu unterstützen und Variablen immer zu initialisieren
  • Aufzählungen mit Gültigkeitsbereich als typsichere Variante zu klassischen Aufzählungen kennen lernen
  • Mit nullptr Zeiger die Mehrdeutigkeiten der Zahl 0 und dem Makro NULL verhindern
  • Benutzerdefinierte Literale einsetzen um Zahlen mit Einheiten zu verwenden
  • Zusicherungen an den Code mit static_assert vom Compiler prüfen lassen
2. Seminartag
Hohe Performanz
    • Selbst optimierenden Code mit Type-Traits implementieren
    • Konstante Ausdrücke mit constexpr verwenden um teuere Berechnung auf die Compilezeit zu verschieben
    • Durch den Umstieg von geordnete auf ungeordnete assoziative Container die Applikation deutlich beschleunigen
    • Templates
      • Vermittlung der Grundlagen
      • Vorteile von Templates vorstellen
      • Vergleich von statischem Polymorphismus (Templates) mit dynamischen Polymorphismus (Objekt-Orientierung)
    • Eingeschränkte Ressourcen
      • Move-Semantik einsetzen um
        • Teures Kopieren durch billiges Verschieben zu ersetzen
        • Daten nur dann zu erzeugen, wenn es unbedingt notwendig ist
        • Daten zu verschieben, die nicht kopiert werden können
      • Perfekt Forwarding um Funktions-Argumente identisch weiterzureichen
      • Speicherverwaltung
        • Den Einsatz von new und delete besser verstehen
        • placement new für besondere Einsatzzwecke verwenden
        • Speicherlöcher durch placement new finden
      • Den neuen Container std::array kennen lernen, der die Speicher- und Laufzeitcharakteristik des C-Arrays mit dem Interface des C -Vektors verbindet
      • Smart Pointer
        • Exklusive Besitzverhältnisse mit std::unique_ptr
        • Geteilte Besitzverhältnisse mit std::shared_ptr
        • Zeitweise Besitzverhältnisse mit std::weak_ptr
        • Performanz- und Ressourcenvergleich der Smart Pointer
3. Seminartag
  • Mehrere Aufgaben gleichzeitig
    • Das Speichermodell
      • Sequenzielle Konsistenz verstehen
      • Atomare Datentypen kennen lernen
    • Threads
      • Erzeugen eines Threads
      • Lebenszeit eines Threads
      • Datenübergabe an einen Thread
    • Gemeinsame von Threads verwendete Daten
      • Schutz mit Mutexen
      • Schutz mit Locks
    • Daten thread-sicher initialisieren
      • Konstanten Ausdrücken
      • Die Funktion std::call_once und dem Flag std::once_flag
      • Statischen Variablen
    • Thread lokale Variablen
    • Bedingungsvariablen
      • Synchronisation von Threads
      • Gefahren von Bedingungsvariablen
    • Task
      • std::async
      • std::packaged_task
      • std::promise und std::future
Dauer/zeitlicher Ablauf:
3 Tage
Ziele/Bildungsabschluss:
In dem Seminar erlernen Sie die Vorteile von modernem C in der embedded Programmierung. Dabei lernen Sie zuerst die Anforderungen an die embedded Programmierung und die Antworten darauf in C . Diese sind:
  • Sicherheitskritische Systeme
  • Hohe Performanz
  • Eingeschränkte Ressourcen
  • Mehrere Aufgaben gleichzeitig
Lehrgangsverlauf/Methoden:
Zuerst vermittelt Ihnen der Referent die notwendige Theorie, die Sie dann in praktischen Übungen direkt answenden. Die besonderen C Features für die embedded Softwareentwicklung werden vom Referenten in den Kontext der Softwareentwicklung mit modernem C eingebunden. Zu allen Übungen erhalten Sie natürlich die Musterlösungen.
Bitte beachten Sie, dass Sie für das Seminar einen Laptop benötigen, auf dem ein aktueller C Compiler (mind. C 11) installiert ist.
Zielgruppe:
Jeder, der über Grundkenntnisse in C verfügt und diese mit modernem C erweitern möchte.
Seminarkennung:
116
Nach unten
Nach oben

Helfen Sie uns Seminarmarkt.de noch besser zu machen. Wir freuen uns auf Ihr Feedback. Feedback geben

Wir verwenden Cookies, um Ihre Zufriedenheit auf unserer Website zu steigern. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden. Weitere Informationen finden Sie hier










Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha



Bei der Verarbeitung Ihrer personenbezogenen Daten im Zusammenhang mit der Kontaktfunktion beachten wir die gesetzlichen Bestimmungen. Unsere ausführlichen Datenschutzinformationen finden Sie hier. Bei der Kontakt-Funktion erhobene Daten werden nur an den jeweiligen Anbieter weitergeleitet und sind nötig, damit der Anbieter auf Ihr Anliegen reagieren kann.







Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha