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.
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
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