Contattataci
 Durata 14 ore

Struttura del corso

Introduzione a Rust per Embedded

  • Panoramica su no_std, core e l'ecosistema Rust per embedded
  • Scelta del target e comprensione delle triple di target
  • Configurazione di rustup, cargo e toolchain per i target

Strumenti, Compilazione e Flusso di Debug

  • Utilizzo di cargo, cargo-embed, probe-run e flussi di lavoro con OpenOCD
  • Flash e debug con sonde hardware (ST-Link, JLink)
  • Considerazioni per la CI nella compilazione di firmware embedded in Rust

Astrazione Hardware e Accesso alle Periferiche

  • Comprensione dei trait embedded-hal e dei modelli di driver
  • Crates di accesso periferiche (PAC) e crates per dispositivi (svd2rust)
  • Scrittura e utilizzo di driver HAL e crates di supporto alla scheda (BSC)

Sicurezza della Memoria, Concorrenza e Tempo Reale

  • Modelli sicuri per lo stato condiviso e i riferimenti mutabili nelle interruzioni
  • RTIC e altri modelli di concorrenza per sistemi in tempo reale
  • Uso di heap vs. stack, allocatori ed evitare l'allocazione dinamica

Gestione degli Errori, Test e Affidabilità

  • Modelli di gestione degli errori in ambienti con risorse limitate
  • Test unitari su host vs. test di integrazione su hardware
  • Analisi dei guasti, logging e strategie post-mortem

Prestazioni, Consumo Energetico e Ottimizzazione delle Risorse

  • Benchmarking, misurazione e ottimizzazione dei percorsi critici
  • Tecniche per la riduzione della dimensione del codice e script del linker
  • Strategie di gestione energetica e modelli di design a basso consumo

Deployment, Sicurezza e Migliori Pratiche dell'Ecosistema

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

Riepilogo e Prossimi Passi

Requisiti

  • Conoscenza dei concetti fondamentali di Rust: ownership, borrowing, lifetimes.
  • Esperienza nella scrittura di programmi Rust non banali (livello intermedio).
  • Familiarità con i concetti embedded: I/O memory-mapped, interruzioni, periferiche.

Pubblico di Riferimento

  • Ingegneri di firmware embedded che desiderano adottare Rust.
  • Ingegneri del software con esperienza in Rust in transizione verso sistemi a basso livello.
  • Responsabili tecnici che stanno valutando Rust per lo sviluppo di prodotti embedded.

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative