Embedded C++

Das Seminar “Embedded C++” vermittelt neben den Grundlagen und Grundtechniken der Objektorientierung mit der Programmiersprache C++ auch die Besonderheiten von kleinen Embedded-Systemen. Es wird darauf eingegangen, welche Voraussetzungen für einen erfolgreichen Einsatz erfüllt sein müssen und welche Sprachmittel nicht verwendet werden können, um die Speicher- und Laufzeitanforderungen von kleinen Systemen erfüllen zu können.
Des Weiteren wird auf ein UML-Werkzeug eingegangen, mit dem ein lauffähiges System erstellt wird.

Inhalte

  • Klassen, Objekte, Instanzen, Exemplare
  • Attribute, Operationen, Zusicherungen
  • Vererbung
  • Assoziation, Aggregation und Komposition
  • Nachrichtenaustausch
  • Polymorphie
  • Erweiterungen gegenüber ANSI C
  • Templates
  • Fehlerbehandlung
  • UML – Unified Modeling Language und Vorstellung eines UML-Werkzeuges
  • Embedded C++ in Embedded-Systemen
  • C++ und Betriebssysteme
  • Übungen

Voraussetzungen

C-Kenntnisse oder eine höhere Programmiersprache

Zielgruppe

Entwicklungsleiter, Projektleiter, Systemdesigner, Softwareentwickler, …

Hinweise

Das Seminar besteht zu ca. 30 % aus praktischen Übungen. Mithilfe eines UML-Werkzeuges wird der praktische Umgang mit UML geübt und das erstellte UML-Modell in ein lauffähiges System überführt.
Die Übungen erfolgen am PC unter Windows mit Visual C++. Es kommt zusätzlich eine weitere Embedded-Entwicklungsumgebung und ein dazugehöriges Entwicklungsboard zum Einsatz.

Dauer

4 Tage

Embedded Systems für Entscheider und Systemdesigner

Dieses Seminar richtet sich an Entscheider und Systemdesigner, die im Embedded-System-Umfeld entwickeln. Es werden Maßnahmen zur Qualitätssicherung und Steuerung der Software-Entwicklung gezeigt. Dazu gehören neben Entwicklungsprozessen die Bewertung von Architekturen mit ihren Vor- und Nachteilen. Es wird gezeigt, wie Software spezifiziert, umgesetzt und abgenommen wird. Die Teilnehmer haben die Möglichkeit, Pflichtenhefte mit den dazugehörigen Abnahmekriterien zu schreiben und die Ergebnisse anhand dieser Dokumente abzunehmen.

Inhalt

  • Entwicklungsprozesse für Embedded Systems
  • Architekturen
  • Praktische Umsetzung von Architekturen an praktischen Beispielen
  • Methoden und Werkzeuge zum Modellieren, Implementieren und Testen
  • Echtzeitverhalten und Verwendung von Ressourcen des Mikrocontrollers
  • Dokumentation von Ergebnissen
  • Praktische Übungen am PC/Laptop

Zielgruppe

Systemdesigner, Projektleiter, Entwicklungsleiter, Software-Entwickler,…

Voraussetzungen

C-Kenntnisse oder Kenntnisse einer höheren Programmiersprache

Hinweise

Schwerpunkte sind ist die Bewertung von Architekturen und Abnahmekriterien. Es wird den Teilnehmern ermöglicht, Pflichtenhefte zu schreiben und die Ergebnisse anhand dieser Dokumente abzunehmen.

Dauer

3 Tage

Programmieren in C

C ist eine standardisierte Programmiersprache (ANSI C) hoher Portabilität und bildet die Grundlage für C++, Visual C++ und Java-Programmierung. Neben strukturierter Anwendungsprogrammierung eignet sich C auch für die systemnahe Programmierung und wird nahezu ausschließlich für Programmieraufgaben im Bereich der „Embedded Systems“ eingesetzt.

Die Teilnehmer erwerben neben den Grundlagen vertiefte Kenntnisse der Programmiersprache C. Die Trainingsmethode gewährleistet die unmittelbare Verwendung der Teilnehmerkenntnisse in Softwareprojekten.

Inhalte

  • Einführung in C
  • Preprozessor
  • Ausdrücke und Operatoren
  • Datentypwandlungen
  • Ein-/Ausgabefunktionen
  • Kontrollstrukturen
  • Pointer
  • Vektoren
  • Strukturen
  • Bitoperationen
  • Funktionen
  • Komplexe Definitionen/Deklarationen
  • Pointer auf Funktionen
  • Dynamische Speicherverwaltung
  • Eigenschaften von Variablen
  • Dateien
  • Programmierstil

Hinweis

Zu ca. 40% des Kurses bearbeiten die Teilnehmer unter Betreuung einfache und komplexe Übungen am Rechner. Sie erhalten die Programmbeispiele der Kursunterlagen und die Lösungen der Übungsaufgaben auf CD.

Die Kursübungen erfolgen unter Windows mit Visual C++.

Zielgruppe

Systemdesigner, Projektleiter, Software-Entwickler, …

Voraussetzungen

Grundkenntnisse einer höheren Programmiersprache

Dauer

5 Tage

Programmieren in C++

Um komplexe Programmsysteme erstellen zu können, bedarf es neuer Methoden, die die Wiederverwendung und Erweiterung/Ergänzung von existierender Software vereinfacht bzw. ermöglicht. C++ ergänzt C um neue leistungsfähige Möglichkeiten, ohne dabei auf Bekanntes zu verzichten. Der Teilnehmer wird durch das Seminar in die Lage versetzt, einen Umstieg von C nach C++ zu vollziehen. Er kann die gewonnenen Erkenntnisse direkt in seine Projektarbeit einfließen lassen.

Inhalte

Objektorientierte Entwicklung

  • Objektorientierte Analyse
  • Objektorientiertes Design
  • Objektorientierte Programmierung

Die Sprache C++

  • Erweiterung von C++ gegenüber C
  • Objekte
  • Überladen von Operatoren
  • Vererbung
  • Virtuelle Funktion
  • Templates

Visual C++

  • Werkzeuge
  • Klassenbibliothek
  • Erstellen von Oberflächen
  • Erstellen von Anwendungen

Zielgruppe

Software-Entwickler, Systemdesigner, Projektleiter, Entwicklungsleiter, …

Voraussetzungen

C-Kenntnisse oder Kenntnisse einer höheren Programmiersprache

Hinweise

Schwerpunkte sind die Programmiersprache C++, die objektorientierte Analyse und das objektorientierte Design. Es wird dabei Wert auf die praktische Umsetzbarkeit in der Praxis gelegt.

Es werden begleitend zum Seminar Übungen am Rechner durchgeführt.

Dauer

3 Tage

Real Time C für Embedded Systems

Der Fokus des Seminars liegt neben der hardwarenahen C-Programmierung von kleinen Embedded Systemen mit ihren begrenzten Ressourcen auf dem Entwicklungsprozess.
Es werden Themen wie Rechnerarchitekturen, Teststrategien und Dokumentation abgedeckt.

Inhalte

  • Modultechnik
  • Festlegung der Sichtbarkeit, Lebensdauer und des Speicherortes von Variablen in einem Programm
  • Regeln zur Sichtbarkeit von Funktionen in einem Programm
  • C-Präprozessor
  • Rechnerarchitekturen
  • Werkzeuge zur Programmentwicklung (z.B. AVR Studio)
  • Funktionsblöcke von Mikrocontrollern
  • Software-Techniken zur Vermeidung des aktiven Wartens
  • Embedded-Systems-Entwicklungsprozess
  • Strukturierte Analyse und Design
  • Implementierung von Zustandsmaschinen
  • Schichtenmodell (Hardware-Abstraktion. Call-Back-Funktionen, synchrone und asynchrone Kommunikation)
  • Einführung in make
  • Dokumentation mit Doxygen

Übungen

Alle Themen werden durch praktische Übungen ergänzt, es wird dazu ein kleines Embedded System verwendet, um die Teilnehmer mit der Arbeitsweise vertraut zu machen und um das Gelernte durch die Übungen zu vertiefen. Zu den komplexeren Übungen gehören u. a:

  • Ansteuern eines grafischen LC-Displays
  • Darstellung von Text und Grafikelementen
  • Achszähler

Zielgruppe

Entwickler, die bereits Erfahrung mit Mikrocontrollern gesammelt haben.

Voraussetzungen

Programmiererfahrungen in C (z. B. unser Seminar Programmieren in C), Kenntnisse eines Mikrocontrollers.

Dauer

4 Tage

Real Time C für Mikrocontroller

Der Fokus des Seminars ist die hardwarenahe C-Programmierung von kleinen Embedded Systemen mit ihren begrenzten Ressourcen. Neben wichtigen Grundlagen werden Themen wie hardwarenahe Rechnerarchitekturen und Software-Architekturen abgedeckt.

Inhalte

  • Datentypen
  • Datenstrukturen (struct, enum, union, Arrays)
  • Kontrollstrukturen (if, switch, for, while, do while)
  • Zeiger mit Funktionszeiger
  • Funktionen und die Übergabe von Parametern
  • Dynamische Speicherverwaltung
  • Modultechnik
  • Festlegung der Sichtbarkeit, Lebensdauer und des Speicherortes von Variablen in einem Programm
  • Regeln zur Sichtbarkeit von Funktionen in einem Programm
  • C-Präprozessor
  • Rechnerarchitekturen
  • Werkzeuge zur Programmentwicklung (z.B. AVR Studio)
  • Funktionsblöcke von Mikrocontrollern
  • Software-Techniken zur Vermeidung des aktiven Wartens
  • Embedded-Systems-Entwicklungsprozess
  • Strukturierte Analyse und Design

Übungen

Alle Themen werden durch praktische Übungen ergänzt, es wird dazu ein kleines Embedded System verwendet, um die Teilnehmer mit der Arbeitsweise vertraut zu machen und um das Gelernte durch Übungen zu vertiefen. Zu den komplexeren Übungen gehören u. a:

  • Realisierung einer seriellen Kommunikation
  • Ansteuern eines grafischen LC-Displays
  • Darstellung von Text und Grafikelementen

Zielgruppe

Entwickler, die Mikrocontroller programmieren oder zukünftig programmieren wollen.

Voraussetzungen

In diesem Seminar werden grundsätzliche Kenntnisse einer höheren Programmiersprache vorausgesetzt.

Dauer

4 Tage

Real Time C für Mikrocontroller und Embedded Systems

Das Seminar deckt die gesamte Entwicklungskette vom Entwurf über die Programmierung bis zum Testen ab. Es wird dabei auf die hardwarenahe C-Programmierung von kleinen Embedded Systemen mit ihren begrenzten Ressourcen eingegangen. Neben wichtigen Grundlagen werden Themen wie hardwarenahe Rechnerarchitekturen, Software-Architekturen, Teststrategien und Dokumentation abgedeckt.

Inhalte

  • Datentypen
  • Datenstrukturen (struct, enum, union, Arrays)
  • Kontrollstrukturen (if, switch, for, while, do while)
  • Zeiger mit Funktionszeiger
  • Funktionen und die Übergabe von Parametern
  • Dynamische Speicherverwaltung
  • Modultechnik
  • Festlegung der Sichtbarkeit, Lebensdauer und des Speicherortes von Variablen in einem Programm
  • Regeln zur Sichtbarkeit von Funktionen in einem Programm
  • C-Präprozessor
  • Rechnerarchitekturen
  • Werkzeuge zur Programmentwicklung (z.B. AVR Studio)
  • Funktionsblöcke von Mikrocontrollern
  • Software-Techniken zur Vermeidung des aktiven Wartens
  • Embedded-Systems-Entwicklungsprozess
  • Strukturierte Analyse und Design
  • Implementierung von Zustandsmaschinen
  • Schichtenmodell (Hardware-Abstraktion. Call-Back-Funktionen, synchrone und asynchrone Kommunikation)
  • Einführung in make
  • Dokumentation mit Doxygen

Übungen

Alle Themen werden durch praktische Übungen ergänzt, es wird dazu ein kleines Embedded System verwendet, um die Teilnehmer mit der Arbeitsweise vertraut zu machen und um das gelernte durch die Übungen zu vertiefen. Zu den komplexeren Übungen gehören u. a:

  • Realisierung einer seriellen Kommunikation
  • Ansteuern eines graphischen LC-Display
  • Darstellung von Text und Grafikelementen
  • Achszähler

Zielgruppe

Entwickler die Mikrocontroller programmieren oder zukünftig programmieren wollen.

Voraussetzungen

In diesem Seminar werden grundsätzliche Kenntnisse einer höheren Programmiersprache vorausgesetzt.

Dauer

5 Tage

Sichere Software

Mit steigenden Qualitätsansprüchen steigen auch die Anforderungen an den Softwareentwurf. Sicherer Softwareentwurf ist nicht auf den Bereich der sicherheitsrelevanten Software beschränkt. Sicherer Softwareentwurf reduziert das Risiko einer Störung der beabsichtigten Programmfunktionalität. In diesem Seminar werden ganzheitliche Software-Entwurfskonzepte, die sowohl die Testverfahren als auch die Applikation umfassen, vorgestellt.

Die Konzepte werden an praktischen Beispielen vertieft. Nutzen Sie zur Steigerung Ihrer Softwarequalität auch die bewährten Methoden aus dem Bereich des sicherheitsrelevanten Systementwurfs. Zeigen Sie auch mit einfachen Mitteln, dass Ihre Software funktioniert. Steigern Sie mit der Qualität Ihrer Software auch Ihre Produktivität.

Inhalte

  • Test-Strategien
  • V-Modell
  • Inkrementelle Entwicklung
  • Test-Optimierungskriterien
  • Verifikation gegen Spezifikation
  • Integration von Testkonzepten in den Systementwurf
  • Einsatz von Standardwerkzeugen
  • Fallstudien

Zielgruppe

Entwicklungsleiter, Systemdesigner, Projektleiter, Softwareentwickler, Tester und Qualitätsbeauftragte

Voraussetzungen

Programmiererfahrung

Dauer

2 Tage

Testen sicherheitskritischer Software

Inhalt

Der Inhalt und Umfang dieses Seminares wird den individuellen Bedürfnissen des Kunden angepasst.

Dauer

nach Vereinbarung

Preis

auf Anfrage

Termine 2. Halbjahr 2010

Programmieren in C 06.12.-10.12.2010
EC++ (Embedded C++) 06.12.-08.12.2010
Real Time C für Mikrocontroller
und Embedded Systems
27.09.-01.10.2010
29.11.-03.12.2010
Real Time C für Mikrocontroller
27.09.-30.09.2010
29.11.-02.12.2010
Real Time C für Embedded Systems
28.09.-01.10.2010
30.11.-03.12.2010
Embedded Systems für Entscheider und Systemdesigner 04.10.-06.10.2010
Programmieren in C++ 06.12.-09.12.2010
Sichere Software 04.10.-06.10.2010
Testen sicherheits-
kritischer Software
auf Anfrage

Wochenendseminare

Real Time C für Mikrocontroller
und Embedded Systems
28.10.-01.11.2010
Real Time C für Mikrocontroller
28.10.-30.10.2010
Real Time C für Embedded Systems
29.10.-01.11.2010