Struttura del corso

Introduzione a Embedded Rust

  • Panoramica di no_std, core e dell'ecosistema di Rust embedded
  • Scelta del target e comprensione delle target triples
  • Configurazione di rustup, cargo e delle toolchain di target

Strumenti, Workflow di Compilazione e Debug

  • Utilizzo di cargo, cargo-embed, probe-run e OpenOCD workflows
  • Flashing e debugging con hardware probes (ST-Link, JLink)
  • Considerazioni CI per la compilazione del firmware Rust embedded

Astrazione Hardware e Accesso ai Peripheral

  • Comprensione delle caratteristiche di embedded-hal e dei pattern driver
  • Crates per l'accesso ai peripheral (PACs) e device crates (svd2rust)
  • Scrittura e utilizzo di HAL drivers e board support crates (BSCs)

Sicurezza della Memoria, Concorrenza e Sistemi in Tempo Reale

  • Pattern sicuri per lo stato condiviso e le referenze mutabili negli interrupt
  • RTIC e altri modelli di concorrenza per i sistemi in tempo reale
  • Uso della heap vs. stack, allocators e evitare l'allocazione dinamica

Gestione degli Errori, Test e affidabilità

  • Pattern di gestione degli errori in ambienti con risorse limitate
  • Unit testing sul host vs. test di integrazione sul hardware
  • Analisi dei guasti, logging e strategie post-mortem

Prestazioni, Potenza e Ottimizzazione delle Risorse

  • Benchmarking, misurazione e ottimizzazione di hot paths
  • Tecniche di riduzione della dimensione del codice e linker scripts
  • Strategie di gestione dell'alimentazione e design a basso consumo

Distribuzione, Sicurezza e Best Practices per l'Ecosistema

  • Secure boot, firma del firmware e strategie di aggiornamento
  • Considerazioni sulla catena di fornitura e gestione delle dipendenze
  • Roadmap per la migrazione del firmware C a Rust e risorse della community

Riepilogo e Passi Successivi

Requisiti

  • Una comprensione dei concetti fondamentali di Rust: proprietà, borrowing, durate della vita
  • Esperienza nella scrittura di programmi non banali in Rust (Rust intermedio)
  • Familiarità con i concetti embedded: I/O mappati a memoria, interrupt, periferiche

Pubblico di riferimento

  • Ingegneri firmware embedded che desiderano adottare Rust
  • Ingegneri software con esperienza in Rust che si stanno spostando verso sistemi a basso livello
  • Responsabili tecnici che valutano Rust per lo sviluppo di prodotti embedded
 14 Ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (5)

Corsi in Arrivo

Categorie relative