Embedded-Software-Design und Patterns mit C
MicroConsult GmbHEmbedded-Software-Design und Patterns mit C
Alle verfügbaren Kurstermine
Beschreibung
Embedded-Software-Design und Patterns mit C
Ziel
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.
Inhalte / Module
Themeneinleitung Embedded-Software-Design
- Definition Software-Design
- Einordnung in den gesamten Entwicklungsprozess
- Die Rolle des Software-Designers
Objektorientierung in C
- Klassen und Objekte
- Relationen: Dependency, Assoziation, Aggregation, Komposition, Vererbung
- Interfaces und virtuelle Funktionen
- Ü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
- Softwaredesign-Pattern: Builder/Manager, Facade, Strategy
- Hardwarezugriff-Pattern: HW Proxy, HW Adapter, Mediator, Observer, Debouncing, Interrupt, Polling
- Safety and Reliability, One's Complement, CRC, Smart Data, Channel, Protected Single Channel, Multi-Channel (Dual, Triple), Sanity Check, Monitor-Actuator
- Übung: Sie wenden in der Messgeräte-Applikation die o.a. Patterns teilweise an
Zustandsautomaten
- Entwurf
- Implementierungsvarianten: Switch-Case, Tabelle, State-Pattern
- Ü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
- Als Teilnehmer haben Sie die folgenden Möglichkeiten, um Ihre Übungen und die Lösungen aus dem Workshop mitzunehmen:
- Sie nehmen eine Kopie Ihrer Übungen und die von MicroConsult entwickelten Lösungen direkt auf einem von MicroConsult bereitgestellten kostenfreien USB-Stick mit, oder …
- Sie senden sich die Dateien selbst per E-Mail zu, oder …
- Sie erhalten auf Anfrage Zugriff auf die Dateien per Download.
- 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) im A3-Format.
Zielgruppe / Voraussetzungen
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.
Abschlussqualifikation / Zertifikat
Teilnahmezertifikat
Infos anfordern
Kontaktinformation MicroConsult GmbH
MicroConsult GmbH
MicroConsult GmbH

MicroConsult GmbH
Experience Embedded - Die in München ansässige MicroConsult GmbH unterstützt Embedded-Ingenieure mit bewährten Entwicklungsmethoden und praxisnahem Wissen beim kosten- und termingerechten Abschluss ihrer Projekte. Das breite Beratungs- - und Trainingsangebot zu Tools, Methoden und Technologien für Embedded Entwickler sowie zu...
IT-Weiterbildung leicht gemacht
Virtuelle Workshops und IT-Fachtrainings von Experten für Profis.