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
Einstieg in Rust für eingebettete Anwendungen
- Überblick über no_std, core und das Ökosystem von embedded Rust.
- Auswahl des Zielsystems sowie Verständnis der sogenannten Target Triples.
- Einrichtung von rustup, Cargo sowie der passenden Toolchains für die jeweilige Hardware.
Werkzeuge, Kompilierung und Debugging-Prozesse
- Nutzung von Cargo, cargo-embed, probe-run sowie OpenOCD zur Entwicklung und Fehlersuche.
- Flashen und Debuggen mittels Hardware-Debuggern wie ST-Link oder JLink.
- Einbindung von CI-Verfahren in den Workflow zur Erstellung von Rust-Firmware.
Hardwareabstraktion und Zugang zu Peripheriegeräten
- Verständnis der Eigenschaften aus embedded-hal sowie gängiger Programmiermuster.
- Nutzung von Peripheral Access Crates (PACs) sowie generierten Gerätedaten durch svd2rust.
- Erstellung und Integration eigener HAL-Treiber sowie Boardsupport-Pakete (BSCs).
Sicherheit, Konkurrenzfähigkeit & Echtzeitverarbeitung
- Gefahrfreie Techniken zur Verwaltung gemeinsam genutzter Zustände und variabler Referenzen in Interrupt-Handlern.
- Verwendung von RTIC sowie anderen Konzepten zur Parallelverarbeitung in Echtzeitsystemen.
- Auswahl zwischen Heap- und Stack-Speicherung, Einsatz von Allokatoren sowie Vermeidung dynamischer Speicherzuweisungen.
Fehlerbehandlung, Tests & Systemzuverlässigkeit
- Verfahren zur Fehlerbehandlung in räumlich begrenzten Umgebungen.
- Unterschiedliche Testansätze: Unit-Tests auf dem Hostsystem vs. Integrationstests direkt auf der Hardware.
- Möglichkeiten zur Fehlersuche, Logging und Post-Mortem-Analyse.
Leistungssteigerung, Energieeffizienz & Ressourcennutzung
- Messung, Bewertung sowie Optimierung kritischer Programmabschnitte.
- Techniken zur Reduzierung der Binärgröße mittels Linker-Skripten.
- Energieoptimierungsstrategien sowie Entwurfsmodelle für energiesparende Systeme.
Deployment, Sicherheit & bewährte Vorgehensweisen im Ökosystem
- Sicherheitsrelevante Maßnahmen: gesichertes Booten, Signatur von Firmware sowie Strategien für Updates.
- Betrachtung der Lieferkette und effiziente Verwaltung von Abhängigkeiten.
- Planungen zum Umzug bestehender C-Firmware nach Rust sowie nützliche Ressourcen aus der Community.
Zusammenfassung und Ausblick auf weitere Schritte
Voraussetzungen
- Grundkenntnisse in den Kernaspekten von Rust: Ownership, Borrowing und Lifetimes
- Erfahrung bei der Programmierung mit komplexeren Rust-Beispielen (Fortgeschrittenen-Level)
- Kenntnisse über Grundlagen eingebetteter Systeme: Speicherzuordnung per Adresszuweisung, Interrupts und Peripheriegeräte
Zielgruppe
- Ingenieure für eingebettete Systeme, die Rust einführen möchten.
- Softwareentwickler mit Rust-Erfahrung, die in den Bereich der Low-Level-Systeme wechseln wollen.
- Führungskräfte aus der Technik, die die Einsatzmöglichkeiten von Rust bei Produktentwicklungen für eingebettete Systeme prüfen möchten.
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