- 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: