Edocti
Fortgeschrittene technische Ausbildung für den modernen Softwareingenieur
Edocti Training

Architektur und Design eingebetteter Software

Fortgeschritten
21 h
4.6 (53 Bewertungen)

Geplante Sessions

Aktuell sind keine Termine verfügbar.
Architektur und Design eingebetteter Software

Architektur eingebetteter Software: Erlernen Sie einen stringenden Prozess, um extrem zuverlässige, modulare und skalierbare Embedded‑Systeme zu entwerfen.

Erstellen Sie hands‑on durchdachte Schichtenarchitekturen, entwerfen Sie saubere Komponenten und nutzen Sie effektive UML‑Modellierung.

Wenden Sie moderne C++‑Praktiken passgenau auf Hardware-Constraints und Echtzeitsysteme an.

Praktische Erfahrung sammeln: Die Labs machen ~70% des Kurses aus und konzentrieren sich auf den kompletten Aufbau robuster Embedded-Designs.

Nutzen: Sie verbessern die langfristige Wartbarkeit, die einfache Testbarkeit und die Ausführungsperformance Ihrer Embedded‑Software deutlich.

Für wen: Konzipiert für Softwareingenieure mit solider C/C++‑Erfahrung, die in komplexen, geschäftskritischen Embedded‑Projekten arbeiten.

Der Kurs enthält zudem optionale Deep-Dives zu fortgeschrittenen Architektur‑Patterns und ISO 26262 Safety-Konzepten.

Fähigkeiten, die Sie lernen werden

Embedded Architektur UML-Modellierung Komponenten-Design Echtzeitsysteme Embedded C++ Patterns Hardware Abstraktion (HAL) MISRA & Statische Analyse ISO 26262 Grundlagen

Curriculum

Tag 1 — Von Anforderungen zur Architektur (Embedded‑Realitäten)

  • Problemrahmen und Stakeholder; Qualitätsattribute (Safety, Performance, Availability, Energie)
  • Anforderungserfassung und Traceability (Use Cases, Non‑Funktionales, Interface Contracts)
  • Kontext, Hardware‑Constraints, Memory/CPU/Energie‑Budgets; frühe Risiken und ADRs
  • Architektur‑Sichten: Kontext, Container/Komponenten, Deployment; Mapping auf das Target

Tag 1 — Strukturelles Modellieren für Embedded‑Systeme

  • UML mit Enterprise Architect: Packages, Components, Deployment‑ und Klassendiagramme
  • Layer und Grenzen: Applikation, Services, Treiber; HAL/SAL‑Patterns; Portabilitäts‑Seams
  • Dataflow und Nebenläufigkeitsmodell (Event‑driven vs. Time‑triggered; Task‑Graph)
  • Schnittstellen und Verträge: APIs, Fehlercodes, Pre/Postconditions

Tag 2 — Verhalten, Timing und Echtzeit‑Design

  • State Machines richtig (Hierarchie, Mealy/Moore, Mode Management, Reentrancy)
  • Sequence/Activity/Timing‑Diagramme für Flüsse und Zeitbudgets
  • Scheduling: periodische/sporadische Tasks, Rate‑Monotonic vs. EDF, kooperativ vs. präemptiv
  • Priority Inversion und Ceilings; Partitionierung über Cores; WCET‑Abschätzung

Tag 2 — Embedded C/C++‑Techniken

  • Ressourcenbesitz und RAII; Smart Pointers vs. statischer Speicher; pimpl und Interfaces
  • Statischer vs. dynamischer Polymorphismus; CRTP; constexpr und Compile‑Time‑Konfiguration
  • Fixed‑Point‑Mathematik; Memory Pools, Ringpuffer und Zero‑Copy‑Pipelines
  • ISR‑sicherer Code und DMA‑Patterns; volatile, Atomics, Alignment und Endianness

Tag 3 — Hardwarezugriff, Portabilität und Startup

  • Memory‑mapped I/O und Registerzugriffsmuster; Bitfields und Masken sicher einsetzen
  • Treiber vs. Services; CMSIS‑artige Header; Device Trees (Überblick, falls relevant)
  • Boot‑Sequenz und Initialisierung; Secure‑Boot‑Basics; Linker‑Script‑Essentials (Überblick)

Tag 3 — Zuverlässigkeit, Diagnose und Tests

  • Fehlerbehandlung; Watchdogs und Brown‑out; Graceful Degradation
  • Logging/Tracing; Ereignislogs und Performance‑Counter; Telemetrie‑Hooks
  • Static Analysis und MISRA C/C++; Unit/Integration‑Tests; SIL/HIL und Fault Injection

Tag 3 — Vom Modell zum Code‑Skeleton

  • Modell auf Module/Ordner abbilden; Abhängigkeitsregeln; Public vs. Private Headers
  • Buildsystem (CMake) und Toolchain‑Integration; Feature Flags und Varianten
  • Applikations‑Skeleton generieren; ersten Use Case verdrahten und CI‑Smoke‑Tests

Optionale Module

Optional — Safety & Security

  • ISO 26262‑Ausrichtung (ASIL‑Denken, Safety Mechanisms) — Überblick
  • Sichere Kommunikation und Secure Flashing; Hardening‑Checkliste

Kursablauf

  • Teil 1: 09:00–10:30
  • Pause: 10:30–10:45
  • Teil 2: 10:45–12:15
  • Mittagspause: 12:15–13:15
  • Teil 3: 13:15–15:15
  • Pause: 15:15–15:30
  • Teil 4: 15:30–17:30

Haben Sie an diesem Kurs teilgenommen?

Ihre Meinung ist uns sehr wichtig. Teilen Sie Ihre Erfahrungen mit uns und helfen Sie uns, diesen Kurs für zukünftige Teilnehmer weiter zu verbessern.

Feedback teilen

Möchten Sie mehr erfahren? Wir helfen Ihnen gern!

Oder schreiben Sie uns direkt an training@edocti.com.