Ein praxisnaher Kurs mit klarer Hardwareausrichtung für sicheres Embedded Development in Rust. An den ersten beiden Tagen stehen Setup, Peripherie, Timing und zuverlässiges Debugging auf dem Gerät im Mittelpunkt. Der dritte Tag ergänzt Optimierung, robuste Fehlerpfade, Deployment und grundlegende Sicherheit.
Sie richten no_std-Projekte ein, arbeiten sicher mit Vendor HALs und strukturieren Treiber mit klarer Ownership. Sie testen und debuggen auf dem Zielgerät, beurteilen Energie und Speicher und paketieren Firmware teamtauglich. Sie optimieren kritische Pfade, härten die Fehlerbehandlung, planen Updates und setzen Sicherheitsbasics um.
• Embedded-Rust-Anwendungen mit HALs, Timern, Interrupts und DMA aufbauen und debuggen
• Kleine, verlässliche Anwendungsstrukturen mit Logging, Recovery und Health Checks entwerfen
• Für Größe und Geschwindigkeit optimieren und zugleich Energie, Speicher und Nebenläufigkeit im Blick behalten
• Provisionierung, Updates und sichere Kommunikation für Geräte im Feld planen
• Sicherer Umgang mit Rust-Grundlagen und cargo
• Erfahrung mit Mikrocontrollern sowie Linux- oder macOS-Shell
• Zugriff auf ein unterstütztes Board, Probe und Toolchain
*Wir passen den Kursaufbau und die Inhalte an Ihre spezifischen Anforderungen und relevanten Anwendungsfälle an.
Modul 1: Embedded-Rust-Ökosystem und Projektsetup • Zielplattform wählen, Toolchains und Cross Compilation • no_std, alloc, Speicherlayout und Linker-Grundlagen • Panic-Verhalten, Logging mit defmt und Konfiguration über Feature Flags • Board Support Packages vs Vendor HALs und sinnvolle Einsätze
Modul 2: Sicheres I/O mit HALs • GPIO-Muster für Input und Output sowie Entprellung • Timer für Delays, Zeitbasis und periodische Aufgaben • Taktquellen verstehen und Auswirkungen auf Timing und Leistung • Gerätetreiber strukturieren und Hardware von Anwendungslogik trennen
Modul 3: Serielle und Sensor-Kommunikation • UART für Logs und einfache Protokolle • I2C- und SPI-Transaktionen, Adressierung und Fehlerbehandlung • Einfachen Sensor oder Peripherie über vorhandenen Treiber einbinden • Hinweise zu Durchsatz, Puffern und Backpressure
Modul 4: Interrupts und Task-Struktur • Interrupt-Sicherheit, kritische Abschnitte und Shared-State-Muster • Nebenläufigkeit mit RTIC oder Embassy im Überblick • DMA nutzen, wo Timing vereinfacht und CPU-Last sinkt • Kleinen Event Loop mit klaren Ownership-Grenzen entwerfen
Modul 5: On-Target-Tests und Debugging • probe-rs-Ablauf für Flashen und Breakpoints • Logs und Metriken auf dem Gerät mit defmt lesen • Assert, unwrap und Fehlerstrategien sicher für Mikrocontroller • Minimale Traces für Post-Mortem-Analysen erfassen
Modul 6: Energie, Leistung und Robustheit • Schlafmodi, Clock Gating und praktische Stromspartipps • Fehlerfälle, Watchdogs und Brownout-Szenarien handhaben • Speicherbedarf, Stack-Größen und Fragmentierung vermeiden • Einfache Performancemessungen und sinnvolle Optimierungszeitpunkte
Modul 7: Packaging und Konfigurationsmanagement • Reproduzierbare Builds, Profile und Linker-Einstellungen • Konfiguration über Features und Build-Parameter • Firmware versionieren und Änderungsnotizen pflegen • Artefakte und Dokumentation für Teamübergaben bereitstellen
Modul 8: Zusammenspiel in einer kleinen Anwendung • Minimalen Funktionsumfang definieren und Aufgaben und Peripherie zuordnen • I/O, Timing und einen Kommunikationskanal verdrahten • Logging, einfache Fehlerbehandlung und Health Check ergänzen • Kurze Checkliste für Flashen, Smoke Test und Release vorbereiten
Modul 9: Firmware-Optimierungsmethoden • Hotspots messen mit Cycle-Countern, Timestamps und leichten Probes • Cargo-Profile, LTO, panic=abort, Codegen Units und Size-versus-Speed-Abwägungen • Hot Paths säubern Busy Waits vermeiden, DMA bevorzugen, Interrupt-Prioritäten justieren • Zero-Cost-Muster Allokation vermeiden, Inlining und statische Bindung nutzen
Modul 10: Robuste Fehlerbehandlung für Geräte • no_std-taugliche Fehlertypen Result, eigene Enums und kompakte Codes • APIs ohne Panic Retries, Backoff und begrenzte Queues • Zentrale Meldung Health Flags, Zähler und sparsame Telemetrie • Sichere Recovery-Strategien Watchdog Reset, Notlaufmodi und persistente Fehlermarker
Modul 11: Deployment, Updates und Diagnostik • Bootloader-Varianten und A/B-Slots mit sauberer Versionierung • Updatewege Kabel, Feld oder OTA Anforderungen und Randbedingungen • Einstellungen und Persistenz-Layouts Wear Leveling und Schemaweiterentwicklung • Provisionierung in großem Maßstab eindeutige IDs, Schlüssel und reproduzierbare Flash-Checklisten
Modul 12: Sicherheit auf Mikrocontrollern • Threat Modeling für Embedded-Angriffsflächen Debug, Firmware, Kommunikation, Speicher • Härtung Build und Laufzeit cargo audit, clippy, unsafe Reviews, MPU sofern vorhanden • Kryptografie-Grundlagen bewährte Crates, RNG, Schlüsselhandhabung, Timing-Aspekte • Sichere Kommunikation und Zugriff Debug Ports sperren, Secure-Boot-Voraussetzungen, Zertifikats- oder Token-basiertes Pairing
Praxisnahes Lernen mit erfahrenen Trainern an Ihrem Standort für Organisationen.
Neue Fähigkeiten erlernen, angeleitet von erfahrenen Trainern von überall.