Bądźmy w kontakcie

Plan Szkolenia

Wprowadzenie do Rusta dla systemów wbudowanych

  • Przegląd no_std, core oraz ekosystemu Rusta dla systemów wbudowanych
  • Wybór celu i zrozumienie potrójnych celów (target triples)
  • Konfiguracja rustup, cargo oraz łańcuchów narzędzi dla celu

Narzędzia, proces budowania i debugowania

  • Korzystanie z cargo, cargo-embed, probe-run oraz OpenOCD
  • Programowanie i debugowanie z wykorzystaniem sprzętowych sond (ST-Link, JLink)
  • Zagadnienia CI w kontekście budowania oprogramowania sprzętowego w Rust

Abstrakcja sprzętu i dostęp do peryferiów

  • Zrozumienie cech embedded-hal oraz wzorców sterowników
  • Pakiety dostępu do peryferiów (PACs) oraz 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 mutowalnych referencji w przerwaniach
  • RTIC oraz inne modele współbieżności dla systemów czasu rzeczywistego
  • Użycie sterty a stosu, alokatory oraz 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 oraz strategie post-mortem

Wydajność, optymalizacja zasobów i energii

  • Testy wydajnościowe, pomiary i optymalizacja krytycznych ścieżek
  • Techniki redukcji rozmiaru kodu oraz skrypty linkera
  • Strategie zarządzania energią i wzorce projektowe dla niskiego poboru mocy

Wdrażanie, bezpieczeństwo i najlepsze praktyki ekosystemu

  • Bezpieczny rozruch, podpisywanie oprogramowania oraz strategie aktualizacji
  • Zagadnienia łańcucha dostaw oraz 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 na I/O, przerwania, peryferia

Grupa docelowa

  • Inżynierowie oprogramowania sprzętowego, którzy chcą zacząć korzystać z Rusta
  • Programiści z doświadczeniem w Rust, przechodzący do systemów niskopoziomowych
  • Kierownicy techniczni oceniający Rust w kontekście rozwoju produktów wbudowanych
 14 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (1)

Propozycje terminów

Powiązane Kategorie