Hands-on Linux Academy 2022 – Wprowadzenie do sterowników urządzeń w systemie Linux

  • GDAŃSK
    3 października 2022
    09:00 - 15:00
  • WARSZAWA
    4 października 2022
    09:00 - 15:00
  • POZNAŃ
    5 października 2022
    09:00 - 15:00
  • WROCŁAW
    6 października 2022
    09:00 - 15:00
  • KRAKÓW
    7 października 2022
    09:00 - 15:00

 


archiwum


Zapraszamy do udziału w warsztatach linuksowych zorganizowanych przez SoMLabs i Elhurt, poświęconych podstawom systemu Linux Yocto Project – zaawansowanego wariantu bezpłatnego systemu operacyjnego dla platform embedded.

Uczestnicy będą mieli możliwość poznać w praktyce m.in. podstawy tworzenia sterowników dla nowych urządzeń w Linuksie na bazie praktycznych przykładów. Przykłady będą uruchamiane na platformie sprzętowej StarCB-6ULL/StarSOM-6ULL opracowanej i produkowanej przez SoMLabs.

Zgłoszenia przyjmujemy do 15.09.2022, do godz. 15:00.

 

Cel szkolenia

Podczas warsztatów uczestnicy będą mieli możliwość napisania kodu sterowników dla urządzeń podłączonych do magistrali I2C.

Poszczególne ćwiczenia zostały przygotowane, tak aby stanowiły kolejne etapy projektu rozwijając obsługę urządzeń o dodatkowe funkcje.

Każdy ze sterowników będzie kompilowany i uruchamiany na platformie StarSOM-6ULL jako moduł jądra, co pozwoli na dynamiczną modyfikację obsługi każdego z urządzeń.

Ćwiczenia będzie można wykonać modyfikując własnoręcznie źródła lub używając gotowych plików zawierających niezbędne zmiany.

 

Warsztaty są przeznaczone dla inżynierów chcących poznać:

  • podstawy pisania sterowników w systemie Linux,
  • sposoby dostępu do urządzenia z kontekstu użytkownika,
  • metody komunikacji z urządzeniem z poziomu aplikacji użytkownika,
  • możliwości modyfikacji device tree dla nowych urządzeń.

Przykłady przygotowane na warsztaty przygotowano z myślą o konstruktorach i programistach chcących pisać własne sterowniki dla urządzeń działających pod kontrolą systemu Linux i modyfikować system na potrzeby tworzenia własnych rozwiązań sprzętowych i programowych.

 

Sprzęt wykorzystywany podczas szkolenia:

Warsztaty zostaną przeprowadzone na platformie sprzętowej firmy SoMLabs bazującej na mikroprocesorze NXP i.MX6ULL. Jest to zestaw sprzętowy składający się z:

  • StarSOM-6ULL – moduł SoM z mikroprocesorem i.MX6ULL, pamięcią Flash eMMC, pamięcią RAM DDR3L, interfejsem kablowym Ethernet oraz (opcjonalnie) zintegrowanym modułem radiowym WiFI/BT-BLE,
  • StarCB-6ULL-STD – płyta bazowa (carrier board) zaprojektowana do ewaluacji podstawowych możliwości modułu SoM i zastosowanego w nim mikroprocesora.

 

Rolę urządzeń peryferyjnych będzie spełniać moduły KAmod z interfejsami I2C, wyposażone w: sensor temperatury i sterownik LED. Będą one dołączane do StarCB-6ULL-STD za pomocą przewodów.

Sprzęt niezbędny do wykonania ćwiczeń udostępnią uczestnikom organizatorzy.

 

Lokalizacje:

  • Gdańsk – 3.10.2022
  • Warszawa – 4.10.2022
  • Poznań – 5.10.2022
  • Wrocław – 6.10.2022
  • Kraków – 7.10.2022

W przypadku dużej liczby zgłoszeń organizatorzy zastrzegają sobie prawo wyboru spośród zgłoszeń osób zapraszanych na warsztaty.

O wynikach rekrutacji organizator poinformuje kandydatów drogą elektroniczną. Dodatkowe informacje i materiały zostaną przesłane po zakończeniu naboru.

Osoby, które nie zakwalifikują się w pierwszym naborze do udziału w szkoleniu, zostaną umieszczone na liście rezerwowej.

Warsztaty odbędą się w godz. 9.00-15.00 (z przerwami kawowymi i lunchem).

UWAGA! W przypadku ogłoszenia pandemicznych restrykcji warsztaty mogą zostać odwołane lub może zostać zmniejszona liczba uczestników.

 

AGENDA

1. Wprowadzenie

Podstawy Yocto

  • generacja systemu dla urządzeń SoMLabs
  • omówienie zmian na potrzeby warsztatów
  • programowanie modułu StarSOM

Modyfikacje device tree

  • dodawanie urządzenia do device tree
  • kompilacja plików device tree na platformie StarSOM-6ULL

Sterowniki urządzeń

  • kompilacja i dodawanie modułów jądra
  • tworzenie nowej klasy urządzeń
  • dodawanie nowego urządzenia
  • zapis i odczyt pliku sterownika
  • implementacja wywołań ioctl
  • dostęp do urządzenia z aplikacji użytkownika
  • tworzenie atrybutów sysfs
  • obsługa przerwań GPIO
  • powiadamianie aplikacji za pomocą mechanizmu poll

 

2. Warsztaty

Lab #0

  • Kompilacja modułów jądra w systemie Linux.
  • Ładowanie i usuwanie modułów jądra.
  • Instalacja modułów jądra.

Lab #1

  • Tworzenie nowej klasy urządzeń z domyślnymi atrybutami sysfs.

Lab #2

  • Implementacja sterownika urządzenia KAmodPCA9533.
  • Dekompilacja pliku dtb i dodawanie nowego urządzenia w device tree.

Lab #3

  • Implementacja operacji zapisu i odczytu pliku urządzenia.

Lab #4

  • Implementacja wywołania IOCTL dla nowego urządzenia.
  • Używanie wywołań IOCTL w aplikacji użytkownika.

Lab #5

  • Implementacja sterownika urządzenia KAmodLM75A.
  • Implementacja atrybutów sysfs dla urządzenia.
  • Dodawanie nowego urządzenia w device tree.

Lab #6

  • Implementacja przerwania GPIO w sterowniku urządzenia.
  • Implementacja atrybutu sysfs dla wywołania POLL.
  • Konfiguracja przerwania GPIO w device tree.
  • Używanie wywołań POLL w aplikacji użytkownika.

 

ORGANIZATORZY: