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.
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
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