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
Recensioni (5)
He answers my questions very well explained.
Khaled Almarzooqi - Beamtrail
Corso - Circuits and Electronics Fundamentals
Sean was a dynamic speaker and the hands-on exercises were very interesting and I can see how they will be really applicable.
Temira Koenig - Yeshiva University
Corso - Raspberry Pi for Beginners
That the trainer adapts to our needs
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Corso - The Yocto Project - An Overview - hands-on
L'allenatore è stato davvero gentile e ben informato, facendo il possibile per spiegare cose che non sapevo
Felix - Microchip Technology Inc
Corso - Embedded C Application Design Principles for Automotive Professionals
Traduzione automatica
The aquisition of useful knowlwdge and clarification of some things I was not sure of peviously.