Bądźmy w kontakcie

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

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie