Ein Intermediate-Kurs für Entwicklerinnen und Entwickler mit Rust-Erfahrung, die zuverlässige Firmware auf echter Hardware erstellen möchten. Teilnehmende lernen das Embedded-Rust-Ökosystem kennen, arbeiten mit gängigen Peripherien, entwerfen sichere, nebenläufige Aufgaben und debuggen direkt auf dem Zielsystem.
Sie wechseln von Desktop-Rust zu Embedded-Zielen, verstehen Speicher- und Timing-Restriktionen, nutzen Hardware Abstraction Layers und strukturieren Anwendungen für Zuverlässigkeit. Sie konfigurieren Peripherie, gehen sicher mit Interrupts um und etablieren einen reproduzierbaren Build-, Test- und Debug-Workflow auf dem Gerät.
Nach diesem Training können Sie sicher:
• Das Embedded-Rust-Ökosystem navigieren, inklusive cortex-m, HALs und Board Support Packages
• no_std Firmware bauen, Speicherlayout verstehen sowie Panic- und Logging-Verhalten konfigurieren
• GPIO, Timer, UART, I2C und SPI über sichere Abstraktionen ansteuern
• Nebenläufigkeit mit Interrupts sowie Frameworks wie RTIC oder Embassy strukturieren
• Mit probe-rs und defmt auf dem Target debuggen und sinnvolle Assertions nutzen
• Firmware paketieren und über Versionierung, Konfiguration und reproduzierbare Builds übergeben
• Solide Rust-Kenntnisse inkl. Ownership, Traits und Generics
• Grundwissen zu Mikrocontrollern und digitalem I/O
• Ein unterstütztes Dev-Board ist hilfreich, aber nicht zwingend
*Wir passen den Kursaufbau und die Inhalte an Ihre spezifischen Anforderungen und relevanten Anwendungsfälle an.
Modul 1: Embedded-Rust-Ökosystem und Projektsetup
• Zielauswahl, Toolchains und Cross-Kompilierung
• no_std, alloc, Speicherlayout und Linker-Grundlagen
• Panic-Strategien, defmt Logging und Feature-basierte Konfiguration
• Board Support Packages vs. Hersteller-HALs
Modul 2: Sicheres I/O mit HALs
• GPIO Ein- und Ausgänge, Entprellen und Signalführung
• Timer für Delays, Zeitmessung und periodische Tasks
• Clocking verstehen und Auswirkungen auf Timing und Energiebedarf
• Gerätetreiber strukturieren und Hardware sauber von Anwendungslogik trennen
Modul 3: Serielle Kommunikation und Sensoren
• UART für Logs und einfache Protokolle
• I2C und SPI Transaktionen, Adressierung und Fehlerbehandlung
• Einbinden eines Sensors oder Peripheriegeräts über vorhandene Treiber
• Durchsatz, Buffering und Backpressure pragmatisch lösen
Modul 4: Interrupts und Task-Architektur
• Interrupt-Sicherheit, Critical Sections und geteilte Zustände
• Nebenläufigkeitsmodelle mit RTIC oder Embassy im Überblick
• DMA einsetzen, um Timing zu entlasten
• Kleiner Event-Loop mit klaren Ownership-Grenzen
Modul 5: On-Target Testen und Debuggen
• probe-rs Workflow für Flashing und Breakpoints
• Logs und Metriken mit defmt lesen
• Assert-, unwrap- und Fehlersstrategien, die auf MCUs sicher sind
• Minimal-Traces für Post-Mortem-Analysen erfassen
Modul 6: Power, Performance und Robustheit
• Sleep-Modes, Clock-Gating und praktische Stromspar-Tipps
• Watchdog, Fault-Handling und Brownout-Szenarien
• Speicherbedarf, Stack-Dimensionierung und Fragmentierung vermeiden
• Einfache Performance-Messungen und sinnvolles Optimieren
Modul 7: Packaging und Konfigurationsmanagement
• Reproduzierbare Builds, Profile und Linker-Settings
• Konfiguration via Features und Build-Time-Parametern
• Versionierung, Change Notes und Artefakte für die Übergabe
• Dokumentation für Betrieb und Wartung
Modul 8: Alles zusammen in einer kleinen Anwendung
• Minimalen Funktionsumfang definieren und auf Tasks und Peripherie abbilden
• I/O, Timing und einen Kommunikationskanal verdrahten
• Logging, einfache Fehlerbehandlung und Health-Check ergänzen
• Kurze Checkliste für Flashing, Smoke-Test und Release vorbereiten
Praxisnahes Lernen mit erfahrenen Trainern an Ihrem Standort für Organisationen.
Neue Fähigkeiten erlernen, angeleitet von erfahrenen Trainern von überall.