Übung: Sie designen und implementieren Klassen sowie Objekte mit verschiedenen Relationen, führen diese auf einem Embedded-Target aus und testen sie. Mit jeder Übung wächst Schritt für Schritt eine Messgeräte-Applikation.
Ausgewählte Design-Prinzipien mit C umgesetzt
DRY, KISS, Vorsicht vor Optimierungen
SLA, SRP, Dependency Inversion
Prinzip der geringsten Überraschungen
Open/Closed-Prinzip, Law of Demeter, YAGNI
Source-Code-Konventionen, MISRA
Ausgewählte Design Patterns
Softwarearchitektur-Pattern: Layer, Blackboard, Pipes and Filters, Client Server, Model View Controller (MVC), Microkernel
Übung: Sie designen und implementieren den objektorientierten Zustandsautomaten der Messgeräte-Applikation
Betriebssystem
Mechanismen in der Übersicht: Task-Management, Scheduler, Synchronisation, Kommunikation, Ressourcen-Managament, Zeit-Management, Interrupt-Management, Speichermanagement
Praxisbeispiel: Anwendungen der Mechanismen in der Messgeräte-Applikation
Callback-Strukturen
Kommunikation zwischen Architekturelementen
Designregeln
Synchron, asynchron
Callback-Struktur prozedural und objektorientiert
Callback-Struktur mit und ohne Betriebssystem
Variationsmöglichkeiten
Qualitativ hochwertige Software-Architektur mit Callback-Strukturen
Übung: Sie designen und implementieren eine objektorientierte Callback-Struktur in der Messgeräte-Applikation.
Hardware-Treiberkonzepte und Interrupts
Architekturrichtlinien
Software Layer Pattern
Praxisbeispiele von Softwareschichten-Architekturen
Objektorientierte Treiberkonzepte
Interrupt-Handling
Praxistipps: Standards und Quellen zu Treiberkonzepten
Übung: Sie designen und implementieren einen Treiber und den dazugehörigen Treiberzugriff in der Messgeräte-Applikation.
Ausgewählte Refactorings in C
Randbedingungen für erfolgreiches Refactoring
Kleine und große Schritte
Smells
Refactoring Patterns
Praktische Übungen
Für die durchgängige Übung (Messgeräte-Applikation) verwenden Sie das Arm Keil MDK (Microcontroller Development Kit) zusammen mit einer realen Hardware, basierend auf einem Arm Cortex-M3 Mikrocontroller.
MicroConsult Plus
Sie erhalten von uns Ihre Übungsverzeichnisse und Lösungsbeispiele für alle Übungsaufgaben.
Sie erhalten alle C-Beispiele und UML-Modelle in elektronischer Form und können diese sehr einfach für Ihr Entwicklungsenvironment anpassen.
Ferner erhalten Sie eine Tool- und Software-Komponentenübersicht für die Entwicklung von Embedded-Software.
Sie bekommen zudem die Notationsübersicht für UML (Unified Modeling Language).
Lernziele
Sie lernen die für die Embedded-Softwareentwicklung wichtigen Programmierprinzipien und Design Patterns kennen und können diese in C programmieren und in Ihren Projekten anwenden.
Beherrschen Sie die objektorientierte Programmierung und Implementierung, auch von Zustandsautomaten in C, und machen Sie sich mit den Mechanismen eines Embedded-/Echtzeitbetriebssystems vertraut.
So sind Sie in der Lage, Hardware-Treiber, Interrupt-Konzepte und Callback-Strukturen in C umzusetzen.
Zielgruppe
Der Kurs Embedded-Software-Design und Patterns in C richtet sich an Programmierer, Software-Entwickler, Software-Designer und Software-Architekten, die C für Embedded-Software-Applikationen einsetzen.
Voraussetzungen
Sie sollten über C-Programmierkenntnisse verfügen; Mikrocontroller-Grundkenntnisse sind von Vorteil