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
Att komma igång med Rust för inbyggda system
- Översikt över no_std, core och ekosystemet för Rust för inbyggda system.
- Välja ett mål (target) och förstå target triples.
- Ställa upp rustup, cargo och målverktygskedjor.
Verktyg, bygg- och felsökningsarbetsflöden
- Använda cargo, cargo-embed, probe-run och OpenOCD-arbetsflöden.
- Skriva och felsöka via hårdvaruprob (ST-Link, JLink).
- Overväga CI (Continuous Integration) när du bygger Rust-firmware för inbyggda system.
Hårdvaruabstraktion och tillgång till perifera enheter
- Förstå embedded-hal-traiten och drivrutinsmönster.
- Tillgångskrate för perifera enheter (PAC) och enhetskrate (svd2rust).
- Skriva och använda HAL-drivrutiner och board support krate (BSC).
Minnessäkerhet, samtidighet och realtid
- Säkra mönster för delat tillstånd och muterande referenser i interrupt.
- RTIC och andra samtidighetsmodeller för realtidssystem.
- Heap vs stack-användning, allokerare och undvikande av dynamisk allokerings.
Felhantering, testning och tillförlitlighet
- Felmönster i resursbegränsade miljöer.
- Enhetstester på värdmaskin mot integrationstester på hårdvara.
- Felfelanalys, loggning och strategier för efterdyningar.
Prestanda, strömförbrukning och resursoptimering
- Benchmarking, mätning och optimering av värmiga vägar.
- Metoder för att minska kodstorlek och länkarskript.
- Strömförvaltningsstrategier och lågenergidesignmönster.
Förutsättning, säkerhet och bästa praxis för ekosystemet
- Säker start, firmware-signering och uppdateringsstrategier.
- Beräkning av leveranskedjan och beroendehantering.
- Vägkarta för att migrera C-firmware till Rust samt community-resurser.
Sammanfattning och nästa steg
Krav
- Förståelse av grundläggande Rust-koncept: ägarskap (ownership), borrowing och livstider.
- Erfarenhet av att skriva icke-triviala Rust-program (medelstort Rust-nivå).
- Van vid inbyggda koncept: minnesmappad I/O, interrupt och perifera enheter.
Målgrupp
- Inbyggda firmwareingenjörer som vill adoptera Rust.
- Mjukvaruingenjörer med Rust-erfarenhet som går över till lågnivåsystem.
- Tekniska ledare som utvärderar Rust för inbyggd produkutveckling.
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