Contattataci

Struttura del corso

Primi passi con Rust Embedded

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

Strumentazione, Build e Flusso di Debug

  • Utilizzo dei flussi di lavoro con cargo, cargo-embed, probe-run e OpenOCD
  • Flashing e debug con sonde hardware (ST-Link, JLink)
  • Considerazioni per il CI nella costruzione di firmware embedded Rust

Astrazione Hardware e Accesso alle Periferiche

  • Comprensione delle traits di embedded-hal e dei pattern per i driver
  • Crate per l'accesso alle periferiche (PAC) e crate per i dispositivi (svd2rust)
  • Scrittura e utilizzo di driver HAL e crate di supporto alla scheda (BSC)

Sicurezza della Memoria, Concorrenza e Real-Time

  • Pattern sicuri per stati condivisi e riferimenti mutabili nelle interruzioni
  • RTIC e altri modelli di concorrenza per sistemi real-time
  • Utilizzo di heap e stack, allocatori ed evitamento dell'allocazione dinamica

Gestione degli Errori, Testing e Affidabilità

  • Pattern per la gestione degli errori in ambienti con risorse limitate
  • Unit testing su host rispetto a integration testing su hardware
  • Analisi dei guasti, logging e strategie post-mortem

Performance, Potenza e Ottimizzazione delle Risorse

  • Benchmark, misurazioni e ottimizzazione dei percorsi critici
  • Tecniche per la riduzione delle dimensioni del codice e script del linker
  • Strategie di gestione della potenza e pattern di design a basso consumo

Deployment, Sicurezza e Best Practice dell'Ecosistema

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

Sintesi e Prossimi Passi

Requisiti

  • Conoscenza dei concetti fondamentali di Rust: ownership, borrowing, lifetimes
  • Esperienza nella scrittura di programmi Rust non banali (Rust intermedio)
  • Familiarità con i concetti embedded: I/O mappato in memoria, interruzioni, periferiche

Pubblico

  • Ingegneri di firmware embedded interessati all'adozione di Rust
  • Ingegneri del software con esperienza in Rust che si stanno trasferendo verso sistemi di basso livello
  • Responsabili tecnici che valutano l'uso di Rust nello sviluppo di prodotti embedded
 14 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative