Kontakt aufnehmen

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

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (1)

Kommende Kurse

Verwandte Kategorien