Vielen Dank für die Zusendung Ihrer Anfrage! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Vielen Dank, dass Sie Ihre Buchung abgeschickt haben! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Schulungsübersicht
Erste Schritte mit Embedded Rust
- Übersicht über das no_std-, core- und embedded-Rust-Ökosystem
- Auswahl eines Target-Typs und Verständnis von Target-Triples
- Einrichtung von rustup, Cargo und Zieltoolchains
Tooling, Build- und Debug-Workflows
- Nutzung von cargo, cargo-embed, probe-run und OpenOCD-Workflows
- Beschreiben und Debuggen mit Hardware-Probes (ST-Link, JLink)
- Überlegungen zur CI für das Bauen von eingebetteter Rust-Firmware
Hardwareabstraktion und Peripheriezugriff
- Verständnis der embedded-hal-Traits und Treibermuster
- Peripheral Access Crates (PACs) und Device Crates (svd2rust)
- Schreiben und Verwenden von HAL-Treibern und Board-Support-Crates (BSCs)
Speichersicherheit, Synchronisation & Echtzeit
- Sichere Muster für gemeinsamen Zustand und veränderbare Referenzen in Interrupt-Kontexten
- RTIC und weitere Synchronisationsmodelle für Echtzeitsysteme
- Nutzung von Heap vs. Stack, Allokatoren und Vermeidung dynamischer Allokation
Fehlerbehandlung, Testing & Zuverlässigkeit
- Muster zur Fehlerbehandlung in ressourcenbeschränkten Umgebungen
- Unit-Tests auf dem Host vs. Integrationstests auf der Hardware
- Fehleranalyse, Logging und Post-Mortem-Strategien
Performance, Energieverbrauch & Optimierung von Ressourcen
- Benchmarking, Messungen und Optimierung kritischer Pfade
- Techniken zur Reduzierung der Codegröße und Linker-Skripte
- Energiemanagementstrategien und Low-Power-Designmuster
Bereitstellung, Sicherheit & Best Practices im Ökosystem
- Sicherer Start (Secure Boot), Firmware-Signierung und Update-Strategien
- Aspekte der Lieferkette und Abhängigkeitsverwaltung
- Roadmap zur Migration von C-Firmware zu Rust sowie Community-Ressourcen
Zusammenfassung und nächste Schritte
Voraussetzungen
- Grundlegende Kenntnisse in den Kernkonzepten von Rust: Ownership, Borrowing, Lifetimes
- Erfahrung mit der Entwicklung nicht-triviale Rust-Programme (fortgeschrittenes Rust)
- Vertrautheit mit eingebetteten Konzepten: memory-mapped I/O, Interrupts, Peripheriegeräte
Zielgruppe
- Embedded-Firmware-Ingenieure, die Rust einführen möchten.
- Softwareentwickler mit Rust-Erfahrung, die in den Bereich der hardwarenahen Systeme wechseln wollen.
- Technische Projektleiter, die Rust für die Entwicklung eingebetteter Produkte evaluieren.
14 Stunden
Erfahrungsberichte (1)
Die Fähigkeit, auch fortgeschrittene Themen anzusprechen, selbst wenn sie zunächst nicht geplant waren.
Gabriel Chouinard - Spark Microsystems
Kurs - FreeRTOS: Programming for Real Time Operating Systems
Maschinelle Übersetzung