Návrh Školení
Začínáme s Embedded Rustem
- Přehled no_std, core a ekosystému embedded Rustu
- Volba cíle a pochopení cílových trojic (target triples)
- Nastavení rustup, cargo a cílových toolchainů
Nástroje, sestavovací a ladící pracovní postupy (build & debug workflow)
- Použití cargo, cargo-embed, probe-run a OpenOCD pracovních postupů
- Flashování a ladění s hardwarovými sondami (ST-Link, JLink)
- Aspekty CI při vytváření firmware ve embedded Rustu
Abstrakce hardwaru a přístup k perifériím (peripheral access)
- Pochopení embedded-hal traitů a vzorů pro ovladače (drivers)
- Přístupové knihovny periférií (PACs) a zařízení (svd2rust)
- Psaní a používání HAL ovladačů a knihoven podpory desek (BSCs)
Bezpečnost paměti, konkurenční programování & reálný čas (real-time)
- Bezpečné vzory pro sdílené stavy a mutabilní odkazy v přerušeních (interrupts)
- RTIC a jiné konkurenční modely pro systémy v reálném čase
- Použití haldy vs. zásobníku, alokační přístupy a vyhýbání se dynamickému alokaci paměti (dynamic allocation)
Zpracování chyb, testování & spolehlivost (reliability)
- Vzory pro zpracování chyb v omezených prostředích (constrained environments)
- Unit testing na hostitelské platformě vs. integrační testování na hardwaru
- Analýza selhání, logování a post-mortem strategie (post-mortem strategies)
Výkon, spotřeba energie & optimalizace zdrojů (resource optimization)
- Benchmarkování, měření a optimalizace klíčových částí kódu (hot paths)
- Techniky pro snižování velikosti kódu a linker skripty (linker scripts)
- Strategie správy energie a návrhy na nižší spotřebu (low-power design patterns)
Nasazení, bezpečnost & osvědčené postupy ekosystému (ecosystem best practices)
- Bezpečný start, podpis firmware a strategie aktualizace firmwaru (secure boot, firmware signing, and update strategies)
- Aspekty dodavatelské řetězce a správa závislostí (supply-chain considerations and dependency management)
- Plán pro přechod firmware v C na Rust a komunitní zdroje (roadmap for migrating C firmware to Rust and community resources)
Shrnutí a další kroky (next steps)
Požadavky
- Chápání základních konceptů jazyka Rust: vlastnictví, půjčování, životní cykly
- Zkušenosti s psaním nezřetězených programů v Rustu (pokročilý Rust)
- Odborné znalosti v oblasti vestavěných systémů: paměťově mapované I/O, přerušení, periférie
Cílová skupina
- Inženýři vestavěných firmware hledající přechod k Rustu
- Softwaroví inženýři s zkušenostmi v Rustu přecházející na nízkoúrovňové systémy
- Techničtí vedoucí hodnotící Rust pro vývoj vestavěných produktů
Reference (5)
He answers my questions very well explained.
Khaled Almarzooqi - Beamtrail
Kurz - Circuits and Electronics Fundamentals
Sean was a dynamic speaker and the hands-on exercises were very interesting and I can see how they will be really applicable.
Temira Koenig - Yeshiva University
Kurz - Raspberry Pi for Beginners
That the trainer adapts to our needs
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Kurz - The Yocto Project - An Overview - hands-on
Trenér byl opravdu laskavý a dobře informovaný, vysvětloval věci, které jsem nevěděl
Felix - Microchip Technology Inc
Kurz - Embedded C Application Design Principles for Automotive Professionals
Přeloženo strojem
The aquisition of useful knowlwdge and clarification of some things I was not sure of peviously.