Bądźmy w kontakcie

Plan Szkolenia

Wprowadzenie do Rusta dla Systemów Wbudowanych

  • Przegląd no_std, core i ekosystemu Rusta dla systemów wbudowanych.
  • Wybór celu i zrozumienie potrójnych celów.
  • Konfiguracja rustup, cargo i łańcuchów narzędziowych.

Narzędzia, Budowanie i Debugowanie

  • Korzystanie z cargo, cargo-embed, probe-run i przepływów OpenOCD.
  • Wgrywanie i debugowanie za pomocą sprzętowych sond (ST-Link, JLink).
  • Uwagi dotyczące CI przy budowaniu 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 korzystanie z 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 mutowalnych referencji w przerwaniach.
  • RTIC i inne modele współbieżności dla systemów czasu rzeczywistego.
  • Użycie sterty a 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 a testy integracyjne na sprzęcie.
  • Analiza błędów, logowanie i strategie post-mortem.

Wydajność, Zarządzanie Energią i Optymalizacja Zasobów

  • Pomiar wydajności, optymalizacja krytycznych ścieżek.
  • Techniki redukcji rozmiaru kodu i skrypty linkera.
  • Strategie zarządzania energią i wzorce projektowania niskiego poboru mocy.

Wdrażanie, Bezpieczeństwo i Najlepsze Praktyki Ekosystemu

  • Bezpieczny rozruch, podpisywanie oprogramowania sprzętowego i strategie aktualizacji.
  • Uwagi dotyczące łańcucha dostaw i zarządzania 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 poziom).
  • Znajomość koncepcji systemów wbudowanych: pamięć mapowana na wejście/wyjście, przerwania, peryferia.

Grupa docelowa

  • Inżynierowie oprogramowania sprzętowego, którzy chcą zacząć używać Rusta.
  • Programiści z doświadczeniem w Rust, przechodzący na niskopoziomowe systemy.
  • Kierownicy techniczni oceniający Rust pod kątem rozwoju produktów wbudowanych.
 14 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie