Takk for at du sendte din henvendelse! En av våre teammedlemmer vil kontakte deg straks.
Takk for at du sendte din bestilling! En av våre teammedlemmer vil kontakte deg straks.
Kursplan
Kom i gang med innbagd Rust
- Oversikt over no_std, core og det innbygde Rust-økosystemet
- Valg av målplattform og forståelse av target triples
- Oppsett av rustup, cargo og målverktøykjetter
Verktøy, bygging og feilsøking
- Arbeidsflyter med cargo, cargo-embed, probe-run og OpenOCD
- Programmering og feilsøking med hardware-prober (ST-Link, JLink)
- CI-perspektiver for bygging av innbygde Rust-fastvare
Maskinvareabstraksjon og tilgang til perifere enheter
- Forståelse av embedded-hal-egenskaper og drivermønstre
- Perifere tilgangsbibliotek (PACs) og enhetsbiblioteker (svd2rust)
- Skriving og bruk av HAL-drivere og board support crates (BSCs)
Minnesikkerhet, samtidighet og sanntid
- Sikre mønstre for delt tilstand og muterbare referanser i avbrytelser
- RTIC og andre samtidighetsmodeller for sanntidssystemer
- Bruk av heap vs. stack, allokatorer og unngåelse av dynamisk allokerig
Feilhåndtering, testing og pålitelighet
- Mønstre for feilhåndtering i ressursbegrensede miljøer
- Enhetstesting på vertsmaskin vs. integrasjonstesting på maskinvare
- Feilanalyse, logging og post-mortem strategier
Ytelse, strømforbruk og ressursoptimalisering
- Benchmarking, måling og optimalisering av kritiske veier
- Teknikker for reduksjon av kodestørrelse og linker-skript
- Strømstyringsstrategier og lavstrømdesignmønstre
Distribusjon, sikkerhet og beste praksis i økosystemet
- Secure boot, signing av firmware og oppdateringsstrategier
- Koncepter for forsyningskjeden og avhengighetsadministrasjon
- Roadmap for migrering fra C-fastvare til Rust og fellesskapsressurser
Oppsummering og neste steg
Krav
- Forståelse av grunnleggende Rust-konsepter: eierskap, utlån, levetider
- Erfaring med å skrive ikke-trivielle Rust-programmer (intermediate Rust)
- Kunnskap om innbygde begreper: minnekartlagt I/O, avbrytelser, perifere enheter
Målgruppe
- Innbagde fastvareingeniører som ønsker å innføre Rust
- Programvareingeniører med Rust-erfaring som ønsker å overgå til lavnivåsystemer
- Tekniske ledere som evaluerer Rust for utvikling av innbygde produkter
14 Timer
Referanser (1)
Være i stand til å be om avanserte emner selv om de ikke var planlagt fra starten.
Gabriel Chouinard - Spark Microsystems
Kurs - FreeRTOS: Programming for Real Time Operating Systems
Maskinoversatt