Plan Szkolenia
Rozpoczynanie pracy z wbudowanym Rustem
- Przegląd no_std, core i ekosystemu wbudowanego Rusta
- Wybór celu i zrozumienie trójek celowych
- Konfiguracja rustup, cargo i łańcuchów narzędziowych docelowych
Narzędzia, proces budowania & debugowania
- Używanie cargo, cargo-embed, probe-run oraz przepływów pracy OpenOCD
- Programowanie i debugowanie z sondami sprzętowymi (ST-Link, JLink)
- Rozważania dotyczące CI przy budowaniu firmware wbudowanego w Rust
Abstrakcja sprzętu i dostęp do peryferiów
- Zrozumienie cech embedded-hal i wzorców sterowników
- Pakiety dostępu do peryferiów (PACs) i pakiety urządzeń (svd2rust)
- Pisanie i używanie sterowników HAL oraz pakietów wspomagających płytki (BSCs)
Bezpieczeństwo pamięci, współbieżność & czas rzeczywisty
- Bezpieczne wzorce dla wspólnego stanu i zmiennych referencji w przerwaniach
- RTIC i inne modele współbieżności dla systemów czasu rzeczywistego
- Użycie stercu vs. stosu, alokatorów oraz unikanie dynamicznej alokacji
Obsługa błędów, testowanie & niezawodność
- Wzorce obsługi błędów w ograniczonych środowiskach
- Testy jednostkowe na hostach vs. testy integracyjne na sprzęcie
- Analiza błędów, logowanie i strategie post-mortem
Wydajność, energia & optymalizacja zasobów
- Benchmarkowanie, pomiar i optymalizacja gorących ścieżek
- Techniki redukcji rozmiaru kodu i skrypty łącznika
- Strategie zarządzania energią i wzorce projektowania o niskim zużyciu energii
Wdrażanie, bezpieczeństwo & najlepsze praktyki ekosystemu
- Bezpieczny start, podpisywanie firmware i strategie aktualizacji
- Rozważania dotyczące łańcucha dostaw i zarządzanie zależnościami
- Drogowskaz do migracji firmware z języka C do Rust oraz zasoby społecznościowe
Podsumowanie i następne kroki
Wymagania
- Zrozumienie podstawowych koncepcji Rust: własności, pożyczania, czasów życia
- Doświadczenie w pisaniu niebanalnych programów w Rust (poziom średni Rust)
- Zapoznanie z koncepcjami wbudowanymi: pamięć mapowana do wejścia/wyjścia, przerwania, urządzenia peryferyjne
Grupa docelowa
- Inżynierowie oprogramowania firmware wbudowanego, którzy chcą zacząć używać Rust
- Inżynierowie oprogramowania z doświadczeniem w Rust, którzy chcą przejść do systemów niskopoziomowych
- Liderzy techniczni oceniający Rust dla rozwoju produktów wbudowanych
Opinie uczestników (5)
On odpowiada na moje pytania bardzo dobrze wytłumaczone.
Khaled Almarzooqi - Beamtrail
Szkolenie - Circuits and Electronics Fundamentals
Przetłumaczone przez sztuczną inteligencję
Dostosowanie trenera do naszych potrzeb
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
Szkolenie - The Yocto Project - An Overview - hands-on
Przetłumaczone przez sztuczną inteligencję
Zdobywanie przydatnych wiedzy i rozjaśnianie niektórych spraw, o których wcześniej nie byłem pewien.
Kenneth Mahoney - University of Glasgow
Szkolenie - Arduino: Programming a Microcontroller for Beginners
Przetłumaczone przez sztuczną inteligencję
Uwielbiam wiedzę trenera.
Aaron Swift - ITW Hobart
Szkolenie - FreeRTOS: Programming for Real Time Operating Systems
Przetłumaczone przez sztuczną inteligencję
Zagadnienia zawiązane z tworzeniem i używaniem makr, obrazowy opis standardu języka C i wyjaśnienie użyteczności w systemach embeded, zagadnienia zwiażane z kompilowaniem i kompilatorami.