Grazie per aver inviato la tua richiesta! Uno dei nostri team membri ti contatterà a breve.
Grazie per aver inviato il tuo prenotazione! Uno dei nostri team membri ti contatterà a breve.
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.
Recensioni (1)
Essere in grado di richiedere argomenti avanzati anche se non erano stati pianificati inizialmente.
Gabriel Chouinard - Spark Microsystems
Corso - FreeRTOS: Programming for Real Time Operating Systems
Traduzione automatica