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
 14 godzin

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (5)

Propozycje terminów

Powiązane Kategorie