Contattataci

Struttura del corso

Iniziare con Rust per Embedded

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

Tooling, Build e Workflow di Debug

  • Utilizzo di cargo, cargo-embed, probe-run e OpenOCD.
  • Flashing e debug con probe hardware (ST-Link, JLink).
  • Considerazioni CI per la creazione di firmware Rust embedded.

Astrazione Hardware e Accesso alle Periferiche

  • Comprensione dei trait embedded-hal e dei pattern di driver.
  • Crates di accesso alle periferiche (PAC) e crates di dispositivo (svd2rust).
  • Scrittura e utilizzo di driver HAL e crates di supporto alla scheda (BSC).

Sicurezza della Memoria, Concorrenza e Tempo Reale

  • Pattern sicuri per lo stato condiviso e i riferimenti mutabili negli interrupt.
  • RTIC e altri modelli di concorrenza per sistemi in tempo reale.
  • Uso dell'heap rispetto allo stack, allocatori ed evitare l'allocazione dinamica.

Gestione degli Errori, Testing e Affidabilità

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

Prestazioni, Energia e Ottimizzazione delle Risorse

  • Benchmark, misurazione e ottimizzazione dei percorsi critici.
  • Tecniche di riduzione della dimensione del codice e script del linker.
  • Strategie di gestione dell'energia e pattern di progettazione per basso consumo.

Deploy, Sicurezza e Best Practices dell'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.

Riassunto e Prossimi Passi

Requisiti

  • Comprensione dei concetti fondamentali di Rust: ownership, borrowing e lifetimes.
  • Esperienza nella scrittura di programmi Rust non banali (Rust intermedio).
  • Conoscenza dei concetti embedded: I/O mappato in memoria, interrupt e periferiche.

Partecipanti ideali

  • Ingegneri firmware embedded che intendono adottare Rust.
  • Ingegneri software con esperienza in Rust che vogliono passare a sistemi a basso livello.
  • Capiprogetto tecnici che valutano l'adozione di Rust per lo sviluppo di prodotti embedded.
 14 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative