Embedded-Software-Design und Patterns mit C - Seminar / Kurs von MicroConsult GmbH

Embedded-Software-Design und Patterns mit C

Inhalte

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.

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.

Zielgruppen

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.

Termine und Orte

Datum Dauer Preis
München, DE
13.09.2021 - 16.09.2021 32 h Jetzt buchen ›
25.10.2021 - 28.10.2021 32 h Jetzt buchen ›
25.10.2021 - 28.10.2021 32 h Jetzt buchen ›
10.01.2022 - 13.01.2022 32 h Jetzt buchen ›
28.03.2022 - 31.03.2022 32 h Jetzt buchen ›

SG-Seminar-Nr.: 5330801

Anbieter-Seminar-Nr.: ESD-C

Termine

  • 13.09.2021 - 16.09.2021

    München, DE

  • 25.10.2021 - 28.10.2021

    München, DE

    München, DE

  • 10.01.2022 - 13.01.2022

    München, DE

  • 28.03.2022 - 31.03.2022

    München, DE

Preise inkl. MwSt. Es können Gebühren anfallen. Für eine exakte Preisauskunft wählen Sie bitte einen Termin aus.

Jetzt buchen ›
Seminar merken ›

Semigator berücksichtigt

  • Frühbucher-Preise
  • Last-Minute-Preise
  • Gruppenkonditionen

und verfügt über Sonderkonditionen mit einigen Anbietern.

Der Anbieter ist für den Inhalt verantwortlich.

Über Semigator mehr erfahren

  • Anbietervergleich von über 1.500 Seminaranbietern
  • Vollständige Veranstaltungsinformationen
  • Schnellbuchung
  • Persönlicher Service
Datum Dauer Preis
München, DE
13.09.2021 - 16.09.2021 32 h Jetzt buchen ›
25.10.2021 - 28.10.2021 32 h Jetzt buchen ›
25.10.2021 - 28.10.2021 32 h Jetzt buchen ›
10.01.2022 - 13.01.2022 32 h Jetzt buchen ›
28.03.2022 - 31.03.2022 32 h Jetzt buchen ›