Dziękujemy za wysłanie zapytania! Jeden z członków naszego zespołu skontaktuje się z Państwem wkrótce.
Dziękujemy za wysłanie rezerwacji! Jeden z członków naszego zespołu skontaktuje się z Państwem wkrótce.
Plan Szkolenia
Wprowadzenie do systemów wbudowanych w Rust
- Przegląd no_std, core i ekosystemu systemów wbudowanych w Rust
- Wybór celu i zrozumienie target triples
- Konfiguracja rustup, cargo i łańcuchów narzędzi
Narzędzia, proces budowania i debugowania
- Korzystanie z cargo, cargo-embed, probe-run i procesów OpenOCD
- Wgrywanie i debugowanie za pomocą sprzętowych próbników (ST-Link, JLink)
- Zagadnienia CI związane z budowaniem oprogramowania sprzętowego w Rust
Abstrakcja sprzętowa i dostęp do peryferiów
- Zrozumienie cech embedded-hal i wzorców sterowników
- Peryferyjne pakiety dostępu (PACs) i pakiety urządzeń (svd2rust)
- Pisanie i wykorzystywanie sterowników HAL oraz pakietów wsparcia płyt (BSCs)
Bezpieczeństwo pamięci, współbieżność i czas rzeczywisty
- Bezpieczne wzorce dla współdzielonego stanu i zmiennych referencji w przerwaniach
- RTIC i inne modele współbieżności dla systemów czasu rzeczywistego
- Użycie sterty vs. stosu, alokatory i unikanie dynamicznej alokacji
Obsługa błędów, testowanie i niezawodność
- Wzorce obsługi błędów w środowiskach o ograniczonych zasobach
- Testy jednostkowe na hoście vs. testy integracyjne na sprzęcie
- Analiza błędów, logowanie i strategie post-mortem
Wydajność, zarządzanie energią i optymalizacja zasobów
- Testowanie wydajności, pomiary i optymalizacja krytycznych ścieżek
- Techniki redukcji rozmiaru kodu i skrypty linkera
- Strategie zarządzania energią i wzorce projektowe niskiego poboru mocy
Wdrażanie, bezpieczeństwo i najlepsze praktyki ekosystemu
- Bezpieczny rozruch, podpisywanie oprogramowania i strategie aktualizacji
- Zagadnienia łańcucha dostaw i zarządzanie zależnościami
- Plan migracji oprogramowania sprzętowego z C na Rust oraz zasoby społeczności
Podsumowanie i kolejne kroki
Wymagania
- Zrozumienie podstawowych koncepcji Rusta: własność, pożyczanie, czas życia.
- Doświadczenie w pisaniu nietrywialnych programów w Rust (średniozaawansowany Rust).
- Znajomość koncepcji systemów wbudowanych: pamięć mapowana we/wy, przerwania, peryferia.
Grupa docelowa
- Inżynierowie oprogramowania sprzętowego, którzy chcą wdrożyć Rust.
- Programiści z doświadczeniem w Rust, przechodzący do systemów niskopoziomowych.
- Kierownicy techniczni oceniający Rust dla rozwoju produktów wbudowanych.
14 godzin
Opinie uczestników (2)
Świetny kontakt z uczestnikami, otwartość, chęć dzielenia się wiedzą i doświadczeniem
Lukasz Majkut
Szkolenie - Embedded Linux Kernel and Driver Development
Możliwość zadawania pytań na temat zaawansowanych przedmiotów, nawet jeśli nie były one początkowo planowane.
Gabriel Chouinard - Spark Microsystems
Szkolenie - FreeRTOS: Programming for Real Time Operating Systems
Przetłumaczone przez sztuczną inteligencję