Zkuste nás kontaktovat

Návrh Školení

Začínáme s vestavěným Rustem

  • Přehled knihoven no_std, core a celého ekosystému vestavěného Rustu
  • Výběr cílové platformy a pochopení tzv. target triple hodnot
  • Nastavení nástrojů rustup, Cargo a odpovídajících toolchainů pro danou platformu

Nástroje, procesy sestavování a ladění

  • Práce s nástroji Cargo, cargo-embed, probe-run a OpenOCD
  • Nahrávání kódu a ladění pomocí hardwarových adaptérů (ST-Link, JLink)
  • Aspekty konfigurace CI pro sestavování firmwaru v prostředí Rustu

Abstrakce hardwaru a přístup k periferiím

  • Pochopení konceptů z knihoven embedded-hal a vzorců použití ovladačů
  • Používání specifikací pro přístup k jednotlivým periferiím (PACs) a generovaných knihoven typu svd2rust
  • Vytváření vlastních ovladačů a podpůrných knihoven pro konkrétní desky (BSCs)

Paměťová bezpečnost, konkurenčnost a reálné časování

  • Bezpečné způsoby práce se sdíleným stavem a proměnnými v prostředí přerušení
  • Použití modulů typu RTIC či jiných modelů konkurenčnosti v reálném čase
  • Volba mezi využitím zásobníku a haldy, řešení alokace paměti a vyhýbání se dynamické alokaci

Ošetřování chyb, testování a spolehlivost

  • Techniky ošetření chyb v prostředích s omezenými zdroji
  • Rozdíly mezi jednotkovým testováním na hostitelském počítači a integračním testováním přímo na hardwaru
  • Analýza vzniklých chyb, protokolování a strategie diagnostiky i po vyskytnutí selhání

Optimalizace výkonu, spotřeby energie a využití zdrojů

  • Měření a optimalizace kritických částí kódu podle jejich provozní náročnosti
  • Postupy redukování velikosti binárního souboru a úpravy linkerových skriptů
  • Strategie hospodárného využívání energie a návrh konstrukcí s minimální spotřebou

Nasazení, zabezpečení a osvědčené postupy v ekosystému Rustu

  • Bezpečné spouštění programů, podepisování firmwaru a metody jeho aktualizace
  • Aspekty zajištění integrity a správy externích závislostí v rámci projektů Rust
  • Praktický návod přechodu ze systémů vytvořených v jazyce C na ekosystém Rust a užitečné komunitní zdroje

Shrnutí a další směřování

Požadavky

  • Znalost základních konceptů Rustu: vlastnictví, půjčování, životnosti proměnných
  • Praktické zkušenosti s psaním komplexnějších programů v Rustu (středně pokročilá úroveň)
  • Základní povědomí o konceptech vestavěných systémů: paměťově mapovaný vstup/výstup, přerušení, periferie

Cílové skupiny

  • Inženýři vyvíjející firmwar pro vestavěné systémy, kteří chtějí začít používat Rust
  • Softwaroví inženýři s praxí v Rustu přecházející na nízkoúrovňové systémy
  • Techničtí vedoucí pracovníci posuzující vhodnost jazyka Rust pro vývoj vestavěných produktů
 14 Hodiny

Počet účastníků


Cena za účastníka

Reference (1)

Nadcházející kurzy

Související kategorie