Děkujeme za vaši dotaz! Jeden z našich pracovníků vás brzy kontaktuje.
Děkujeme za rezervaci! Jeden z našich pracovníků vás brzy kontaktuje.
Doba trvání 14 hodiny
Návrh Školení
Začínáme s vestavěným Rustem
- Přehled no_std, core a ekosystému vestavěného Rustu
- Výběr cílové platformy a porozumění target triple
- Nastavení rustup, cargo a toolchainů pro cílovou platformu
Tooling, build a debug workflow
- Používání cargo, cargo-embed, probe-run a workflowů OpenOCD
- Flashování a ladění pomocí hardwarových sond (ST-Link, JLink)
- Zvažování CI (Continuos Integration) při buildování vestavěného Rust firmwaru
Hardwarová abstrakce a přístup k perifériím
- Porozumění traitům embedded-hal a vzorcům ovladačů
- Krate pro přístup k perifériím (PACs) a krate zařízení (svd2rust)
- Psaní a používání HAL ovladačů a crate pro podporu desek (BSCs)
Paměťová bezpečnost, konkurence a reálný čas
- Bezpečné vzorce pro sdílený stav a mutovatelné referencí v přerušeních
- RTIC a další modely konkurence pro systémy reálného času
- Použití heapu oproti stacku, alokátory a vyhýbání se dynamické alokaci
Zpracování chyb, testování a spolehlivost
- Vzorce pro zpracování chyb v omezených prostředích
- Unit testy na hostitelském systému oproti integračním testům na hardwaru
- Analýza selhání, logování a strategie post-mortem
Výkon, spotřeba energie a optimalizace zdrojů
- Merření, měření a optimalizace kritických cest (hot paths)
- Techniky pro zmenšování velikosti kódu a linker skripty
- Strategie správy napájení a vzorce designu s nízkou spotřebou
Nasazení, bezpečnost a best practices ekosystému
- Bezpečné spouštění, podepisování firmwaru a strategie aktualizací
- Zvažování dodavatelského řetězce a správa závislostí
- Roadmapa pro migraci C firmwaru na Rust a komunitní zdroje
Shrnutí a další kroky
Požadavky
- Pochopení základních konceptů Rustu: vlastnictví (ownership), vypůjčování (borrowing), životnosti (lifetimes).
- Zkušenost se psaním nejjednodušších až středně složitých programů v Rustu (pokročilá úroveň Rustu).
- Oznámenost s koncepty vestavěných systémů: paměťově mapované vstupy/výstupy (memory-mapped I/O), přerušení, periferie.
Cílové publikum
- Inženýři vestavěného firmwaru, kteří chtějí zavést Rust.
- Software inženýři se zkušenostmi s Rustem, kteří přecházejí na systémy na nízké úrovni.
- Tekničtí vedoucí, kteří vyhodnocují použití Rustu pro vývoj vestavěných produktů.
Reference (1)
Schopnost požadovat pokročilé předměty, i když nebyly původně plánovány.
Gabriel Chouinard - Spark Microsystems
Kurz - FreeRTOS: Programming for Real Time Operating Systems
Přeloženo strojem