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 |