Tack för att du skickade din fråga! En av våra teammedlemmar kontaktar dig snart.
Tack för att du skickade din bokning! En av våra teammedlemmar kontaktar dig snart.
Kursplan
Kom igång med inbyggd Rust
- Översikt över no_std, core och ecosystemet för inbyggd Rust
- Välja en målplattform och förstå target triples (måltrippler)
- Konfigurera rustup, cargo och måltoolchains
Verktyg, bygg- & felsökningsarbetsflöde
- Använda cargo, cargo-embed, probe-run och OpenOCD-arbetsflöden
- Flashning och felsökning med hårdvaruprob (ST-Link, JLink)
- CI-overväganden för att bygga inbyggd Rust-firmware
Hårdvaraabstraktion och periferiåtkomst
- Förstå embedded-hal-egenskaper och drivrutinsmönster
- Periferiåtkomscrat (PACs) och enhetscrat (svd2rust)
- Skriva och använda HAL-drivrutiner och board support crates (BSCs)
Minnessäkerhet, samtidighet & realtid
- Säkra mönster för delat tillstånd och muterbara referenser i avbrott
- RTIC och andra samtidighetsmodeller för realtidsystem
- Heap vs. stack-användning, allokatörer och undvikande av dynamisk allokeringsanvändning
Felhantering, testning & pålitlighet
- Felhanteringsmönster i begränsade miljöer
- Enhetstestning på värd vs. integrationstestning på hårdvara
- Felanalys, loggning och post-mortem-strategier
Prestanda, energi & resursoptimisering
- Mätning och optimering av kritiska sökvägar
- Tekniker för kodstorleksreduktion och länkarskript
- Energihanteringsstrategier och mönster för låg-energi-design
Distribuering, säkerhet & ecosystemets bästa praxis
- Säker start, firmware-signering och uppdateringsstrategier
- Leveranskedjans överväganden och beroendehantering
- Vägledning för att migrera C-firmware till Rust och gemenskapens resurser
Sammanfattning och nästa steg
Krav
- Förståelse för grundläggande Rust-koncept: ägande, låning, livstider
- Erfarenhet av att skriva icke-triviala Rust-program (avancerad Rust)
- Kännedom om inbyggda koncept: minnesmappning, avbrott, periferier
Målgrupp
- Inbyggda firmware-utvecklare som vill använda Rust
- Programvaruutvecklare med erfarenhet av Rust som övergår till lågnivåsystem
- Tekniska ledare som utvärderar Rust för inbyggd produktutveckling
14 Timmar
Vittnesmål (1)
Att kunna begära avancerade ämnen även om de inte var planerade från början.
Gabriel Chouinard - Spark Microsystems
Kurs - FreeRTOS: Programming for Real Time Operating Systems
Maskintolkat