Edocti Training
Architektur und Design eingebetteter Software
Geplante Sessions
Aktuell sind keine Termine verfügbar.
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