Zkuste nás kontaktovat
 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ů.

Počet účastníků


Cena za účastníka

Reference (1)

Nadcházející kurzy

Související kategorie