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.
Varighet 14 timer
Kursplan
Kom i gang med innebygd Rust
- Oversikt over no_std, core og økosystemet for innebygd Rust
- Velge målplattform og forstå måltrippler
- Sette opp rustup, cargo og målverktøykjeder
Verktøy, bygge- og feilsøkingsarbeidsflyt
- Bruk av cargo, cargo-embed, probe-run og OpenOCD-arbeidsflyter
- Flasj og feilsøk med maskinvareprober (ST-Link, JLink)
- CI-oversikt for bygging av innebygd Rust-firmware
Maskinvareabstraksjon og periferientilgang
- Forstå embedded-hal-trekk og drivermønster
- Periferientilgangskasser (PACs) og enhetskasser (svd2rust)
- Skrive og bruke HAL-drivere og brettstøttkasser (BSCs)
Minnesikkerhet, konkurrenseevne og sanntid
- Sikre mønster for delt tilstand og mutable referanser i avbrytelser
- RTIC og andre konkurrensemønstre for sanntidssystemer
- Heap- kontra stackbruk, allokatorer og unngåing av dynamisk allokering
Feilhåndtering, testing og pålitelighet
- Feilhåndteringsmønster i ressursbegrensede miljøer
- Enhetstester på vertsmaskin kontra integrasjonstester på maskinvare
- Feilanalyse, logging og post-mortem-strategier
Ytelse, strømforsyning og ressursoptimalisering
- Ytelsesmåling, måling og optimalisering av kritiske stier
- Metoder for å redusere kodestørrelse og linker-scripts
- Strategier for strømhåndtering og lavstrøm-designmønster
Utlevering, sikkerhet og beste praksis i økosystemet
- Sikker oppstart, firmware-signering og oppdateringsstrategier
- Vurderinger i forsyningskjeden og avhengighetsadministrasjon
- Vegkart for å migrere C-firmware til Rust og ressurser i fellesskapet
Oppsummering og neste steg
Krav
- Forståelse for sentrale Rust-konsepter: eierskap, lending, levetid (lifetimes).
- Erfaring med å skrive ikke-trivielle Rust-programmer (Rust på mellomnivå).
- Kjennskap til innebygde konsepter: minnekartlagt I/O, avbrytelser, periferenheter.
Målgruppe
- Innebygde firmwareingeniører som ønsker å innføre Rust.
- Programvareingeniører med Rust-erfaring som overgår til lavnivåsystemer.
- Tekniske ledere som vurderer Rust for innebygd produktutvikling.
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