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
Vittnesmål (5)
Han svarar på mina frågor mycket väl förklarat.
Khaled Almarzooqi - Beamtrail
Kurs - Circuits and Electronics Fundamentals
Maskintolkat
Sean var en dynamisk talare och de praktiska övningarna var mycket intressanta. Jag ser hur de kommer att vara verkligen tillämpningsbara.
Temira Koenig - Yeshiva University
Kurs - Raspberry Pi for Beginners
Maskintolkat
Att utbildaren anpassar sig efter våra behov
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Kurs - The Yocto Project - An Overview - hands-on
Maskintolkat
Instruktören var verkligen trevlig och kunskapfull, och gick det extra steget för att förklara saker som jag inte kände till
Felix - Microchip Technology Inc
Kurs - Embedded C Application Design Principles for Automotive Professionals
Maskintolkat
Förvärvandet av användbar kunskap och förtydligandet av saker jag tidigare var osäker på.
Kenneth Mahoney - University of Glasgow
Kurs - Arduino: Programming a Microcontroller for Beginners
Maskintolkat