Embedded C++ für Controller (Deutsch)/(English)

Kursbeschreibung

Einige ausgewählte C++-Techniken werden am realen Objekt, d. h. an einer realen Hardware gezeigt! Eingesetzt wird der ATMega128 Controller und das Atmel AVR Studio 6.1. Eigens dafür wurde von uns ein einfaches Eval-Board entwickelt, das den Anforderungen für unsere Übungen gerecht wird. Anhand dessen können die erweiterten C++ Programmiertechniken und Entwurfsmuster (Design Patterns) effektvoll an der realen Hardware umgesetzt werden.

Das Eval-Board besitzt Kommunikations-Schnittstellen, wie RS-232 sowie ein Display zur Überwachung der Board Aktivitäten und ein IDE Interface zur Datenspeicherung. Weiterhin kann das Board an verschiedene Sensoren, wie Temperatur, Licht oder zur Messung weiterer Parameter angeschlossen werden.

Die gemessenen Daten werden temporär in Form von objektorientierten Intrusive List, die ihren benötigten Objekt-Speicher dynamisch von einen Real-time Memory Manager erhält. In einer Industrieumgebung werden die Daten entweder von einem PC, z. B. über einen RS-232 Port geholt, der von einer speziellen Client Applikation bedient wird oder im lokalen Datenspeicher abgelegt.

Die notwendigen Treiber für die serielle Kommunikation sowie für den Datenspeicher werden als dll zur Verfügung gestellt, während die Meß-Applikation, der Memory Manager, die Datenobjekte und Intrusive List durch die Kursteilnehmer erstellt werden.

Themenschwerpunkte

  • Einführung in das Atmel AVR Studio
    • Verwendung der Compiler Entwicklungsumgebung
    • Debugging
  • Einführung in notwendigen C++ Entwurfsmuster
    • Intrusive List
    • Real-time Memory Manager
    • Neue Operatoren zur Überladung
  • Erste Applikation: ein einfacher serieller Kommunikationstest
    • ATMega “Server” code
    • PC Client code
  • Threading / asynchrones Processing / Thread Parallelismus
    • Einsatz von Threads zur asynchronen Kommunikation und Datenerfassung
  • Einsatz von Threads zur asynchronen Kommunikation und Datenerfassung
    • Entwurf von Daten-Klassen
    • Einsatz des ATmega A/D-Wandlers zur Erfassung von Sensordaten
    • Erzeugung einer Intrusive List
    • Speichern von Datenobjekten in einer Intrusive List
  • Finale: Wie arbeitet alles zusammen?
  • Einsatz Thread #1 zur Datenerfassung und Datenspeicherung
  • Einsatz Thread #2 zur asynchronen Kommunikation

Voraussetzungen

Gute Kenntnisse in C.

Zielgruppe

System Entwickler, System Programmierer, Anwendungs-Programmier, Embedded Programmierer und System Tester.

Begleitendes Kursmaterial

  • Kursordner (deutsch)
  • Eval-Board

FlexyTrain: Unsere Flexibilität – Ihr Plus

Keinen passenden Termin gefunden? Kein Problem: Bei der Planung unserer Kurstermine bieten wir Ihnen ein Höchstmaß an Flexibilität. Im Klartext: Gemeinsam mit Ihnen finden wir einen geeigneten Termin. Sprechen Sie uns an!