Szkolenia The Linux Foundation

Cel szkolenia

kod: LFD435

Ten 4-dniowy kurs ma na celu pokazanie doświadczonym programistom, jak tworzyć sterowniki urządzeń dla wbudowanych systemów Linux, i dać im podstawowe zrozumienie oraz znajomość jądra Linux.

Po opanowaniu tego materiału będziesz zaznajomiony z różnymi rodzajami sterowników urządzeń używanych w Linux i zostaniesz wprowadzony do wielu odpowiednich interfejsów API, które będą używane podczas pisania sterowników urządzenia.

Podczas gdy omówimy wewnętrzne elementy jądra i algorytmy, przeanalizujemy głęboko tylko te funkcje, które są zwykle używane w sterownikach urządzeń. Więcej szczegółów na temat takich rzeczy, jak planowanie, zarządzanie pamięcią, itp., odnaleźć można w bardziej skoncentrowanym na jądrze kursie.

Plan szkolenia Rozwiń listę

  1. Wprowadzenie
    • Przedmiot szkolenia
    • Kim jesteś
    • The Linux Foundation
    • Szkolenia The Linux Foundation
    • Programy certyfikacyjne i cyfrowe identyfikatory
    • Dystrybucje Linux
    • Przygotowanie systemu
    • Rzeczy zmieniają się w Linux
    • Dokumentacja i linki
  2. Czynności przygotowawcze
    • Procedury
    • Wersje jądra
    • Źródła jądra i użycie Git
    • Sprzęt
  3. Jak pracować w projektach OSS **
    • Omówienie wniesienia prawidłowego udziału
    • Badanie i zrozumienie DNA projektu
    • Określ czym chcesz się zająć
    • Zidentyfikowanie osób odpowiedzialnych, ich przepływu pracy i metod
    • Uzyskaj wczesne wejście i pracę w otwartym środowisku
    • Przekazuj przyrostowe bity, zamiast dużych fragmentów kodu
    • Zostaw swoje ego przed drzwiami: nie bądź wrażliwy
    • Bądź cierpliwy, rozwijaj relacje długoterminowe, bądź pomocny
  4. Cross-Development Toolchain
    • The Compiler Triplet
    • Wbudowany Linux Distribution Cross Compiler
    • Linaro
    • CodeSourcery
    • Crosstool-ng
    • Buildroot
    • OpenEmbedded
    • Yocto
  5. QEMU
    • Czym jest QEMU?
    • Emulowane architektury
    • Formaty obrazu
    • Dlaczego używać QEMU?
    • Laboratorium
  6. Podstawowa konfiguracja Target Development Board z uSD
    • Dlaczego używamy kart uSD?
    • Uzyskanie SW na karcie uSD
    • Dlaczego używanie kart uSD jest złym pomysłem?
    • Laboratorium
  7. Uruchamianie Target Development Board przez Ethernet
    • Korzystanie ze sprzętu zwirualizowanego
    • Łatwiejszy sposób na rozwój
    • Cele laboratorium
    • Laboratorium
  8. Konfiguracja jądra, kompilacja, uruchamianie
    • Konfiguracja jądra dla Development Board
    • Laboratorium
  9. Sterowniki urządzeń
    • Typy urządzeń
    • Mechanizm a polityka
    • Unikanie bloków binarnych
    • Zarządzanie energią
    • Jak aplikacje korzystają ze sterowników urządzeń
    • Przechodzenie przez wywołania systemowe dostępu do urządzenia
    • Numery błędów
    • Printk()
    • Devres: Managed Device Resources
    • Laboratorium
  10. Moduły i sterowniki urządzeń
    • Makra module_driver()
    • Moduły i Hot Plug
    • Laboratorium
  11. Zarządzanie pamięcią i alokacją
    • Pamięć wirtualna i fizyczna
    • Strefy pamięci
    • Tabela stron
    • Kmalloc()
    • _get_free_pages()
    • Vmalloc()
    • Płyty i alokacje pamięci podręcznej
    • Laboratorium
  12. Urządzenia znakowe
    • Węzły urządzeń
    • Liczby główne i drugorzędne
    • Rezerwacja dużych/mniejszych numerów
    • Dostęp do węzła urządzenia
    • Rejestracja urządzenia
    • Udev
    • Dev_printk() i Associates
    • Struktura file_operations
    • Punkty wejścia sterowników
    • Struktury plików i Inode
    • Różne sterowniki znaków
    • Laboratorium
  13. Funkcje jądra
    • Komponenty jądra
    • Przestrzeń użytkownika a przestrzeń jądra
    • Czy są wywołania systemowe?
    • Dostępne wywołania systemowe
    • Algorytmy planowania i struktury zadań
    • Kontekst procesu
    • Laboratorium
  14. Przesyłanie między użytkownikiem a przestrzenią jądra
    • Przesyłanie między przestrzeniami
    • Put(get)_user() i copy_to(from)_user()
    • Bezpośredni transfer: Jądro I/O i mapowanie pamięci
    • Jądro I/O
    • Mapowanie stron użytkownika
    • Mapowanie pamięci
    • Funkcje przestrzeni użytkownika dla mmap()
    • Punkt wejścia sterownika dla mmap()
    • Dostęp do plików z jądra
    • Laboratorium
  15. Sterowniki platformy
    • Czym są sterowniki platformy?
    • Główne struktury danych
    • Rejestrowanie urządzeń platformy
    • Przykład
    • Twarde dane platformy
    • Nowa droga: drzewa urządzeń
    • Laboratorium
  16. Drzewa urządzeń
    • Czym są drzewa urządzeń?
    • Co robią a czego nie drzewa urządzeń
    • Składnia drzewa urządzeń
    • Przechodzenie przez drzewa urządzeń
    • Powiązania drzewa urządzeń
    • Obsługa drzewa urządzeń w programach rozruchowych
    • Korzystanie z danych drzewa urządzeń w sterownikach
    • Współistnienie i konwersja starych sterowników
    • Laboratorium
  17. Przerwania i wątki
    • Czym są przerwania i wątki?
    • Wyjątki
    • Przerwania asynchroniczne
    • MSI
    • Aktywowanie/dezaktywowanie przerwań
    • Czego nie można robić w trakcie przerwania
    • Struktura danych IRQ
    • Instalowanie programu obsługi przerwań
    • Laboratorium
  18. Pomiary czasu
    • Rodzaje pomiarów czasu
    • Jiffies
    • Uzyskiwanie aktualnego czasu
    • Źródła zegara
    • Zegar czasu rzeczywistego
    • Programowalny interwalometr
    • Licznik znaczników czasu
    • HPET
    • Going Tickless
  19. Zegary jądra
    • Wstawianie opóźnień
    • Czym są zegary jądra?
    • Funkcje zegara o niskiej rozdzielczości
    • Implementacja zegara o niskiej rozdzielczości
    • Zegary wysokiej rozdzielczości
    • Korzystanie z zegarów wysokiej rozdzielczości
    • Laboratorium
  20. Ioctls
    • Czym są Ioctls?
    • Punkty wejścia sterowników dla Ioctls
    • Zablokowane i bezzamkowe Ioctle
    • Definiowanie Ioctls
    • Laboratorium
  21. Unified Device Model i sysfs
    • Unified Device Model
    • Podstawowe struktury
    • Prawdzeiwe urządzenia
    • Sysfs
    • Przykłady kset i kobject
    • Laboratorium
  22. Firmware
    • Czym jest Firmware?
    • Ładowanie Firmware
    • Laboratorium
  23. Usypianie i Kolejki Oczekujące
    • Czym są Kolejki Oczekujące?
    • Usypianie i wybudzanie
    • Przechodzenie do szczegółów usypiania
    • Ekskluzywne usypianie
    • Szczegóły wybudzania
    • Ankietowanie
    • Laboratorium
  24. Obsługa przerwania: Odroczone funkcje i sterowniki użytkownika
    • Połówki górne i dolne
    • Softirqs
    • Zadania
    • Kolejki Robocze
    • Nowe API Kolejki Roboczej
    • Tworzenie wątków jądra
    • Wątkowe programy obsługi przerwań
    • Obsługa przerwań w przestrzeni użytkownika
    • Laboratorium
  25. Sprzęt I/O
    • Bariery pamięci
    • Przydzielanie i mapowanie pamięci I/O
    • Dostęp do pamięci I/O
  26. Bezpośredni dostęp do pamięci (DMA) **
    • Czym jest DMA?
    • Ograniczenia pamięci DMA
    • Maski DMA
    • DMA API
    • Pule DMA
    • Scatter/Gather Mappings
    • Laboratorium
  27. Urządzenia technologii pamięci - MTD (System Plików Pamięci Flash)
    • Czym są urządzenia MTD?
    • NAND vs. NOR vs. eMMC
    • Moduły sterownika i użytkownika
    • System plików Flash
    • Laboratorium
  28. Sterowniki USB
    • Czy jest USB?
    • Topologia USB
    • Terminologia
    • Punkty końcowe
    • Deskryptory
    • Klasy urządzeń USB
    • Obsługa USB w Linux
    • Rejestrowanie sterowników urządzeń USB
    • Przenoszenie danych
    • Przykład sterownika USB
    • Laboratorium
  29. Ankieta zamknięcia i oceny
    • Ankieta ewaluacyjna

** Te sekcje mogą być uznane za częściowo lub w całości opcjonalne. Zawierają materiały źródłowe, tematy specjalistyczne lub przedmioty zaawansowane. Instruktor może zdecydować się na ich pokrycie lub nie, w zależności od doświadczenia uczestników i ograniczeń czasowych.

Pobierz konspekt szkolenia w formacie PDF

Dodatkowe informacje

Wymagania wstępne

Aby jak najlepiej wykorzystać kurs powinieneś posiadać:

Znajomość podstawowych interfejsów i metod jądra, takich jak pisanie, kompilowanie, ładowanie i rozładowywanie modułów, używanie podstawowych operacji synchronizacji oraz podstaw alokacji i zarządzania pamięcią, takich jak LFD420 (Kernel Internals and Development).

Poziom trudności
Czas trwania 4 dni
Certyfikat

Uczestnicy otrzymają certyfikaty podpisane przez The Linux Foundation.

Prowadzący

Certyfikowany trener The Linux Foundation.

Pozostałe szkolenia The Linux Foundation | Embedded Linux

Szkolenia powiązane tematycznie

Programowanie

  • konspekt szkolenia: AZ-204T00 Developing Solutions for Microsoft Azure

    AZ-204T00 Developing Solutions for Microsoft Azure szkolenie Microsoft

    dostępne terminy szkolenia
    cena od: 3900 PLN
    czas: 5 dni
    poziom trudności: 3 z 6
    kod: AZ-204T00
    wersja: A
    2025-03-24 | Wirtualna sala MTG: możliwy termin gwarantowany zarezerwuj
    2025-04-07 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika MTG: możliwy termin gwarantowany zarezerwuj
    2025-04-14 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-05-05 | Kraków / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-06-02 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
  • konspekt szkolenia: AZ-220T00 Microsoft Azure IoT Developer

    AZ-220T00 Microsoft Azure IoT Developer szkolenie Microsoft

    dostępne terminy szkolenia
    cena od: 3500 PLN
    czas: 4 dni
    poziom trudności: 3 z 6
    kod: AZ-220T00
    wersja: A
    2025-04-15 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-05-20 | Kraków / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-06-17 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
  • konspekt szkolenia: MB-500T00 Microsoft Dynamics 365: Finance and Operations Apps Developer

    MB-500T00 Microsoft Dynamics 365: Finance and Operations Apps Developer szkolenie Microsoft

    dostępne terminy szkolenia
    cena od: 4300 PLN
    czas: 5 dni
    poziom trudności: 3 z 6
    kod: MB-500T00
    wersja: A
    2025-03-24 | Kraków / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-03-24 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-04-28 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-05-26 | Kraków / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-06-23 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj

Linux

Open Source

Systemy operacyjne

  • konspekt szkolenia: CompTIA A+ Prep Course

    CompTIA A+ Prep Course szkolenie CompTIA

    dostępne terminy szkolenia
    cena od: 7700 PLN
    czas: 5 dni
    poziom trudności: 2 z 6
    kod: CT-A
    wersja: 220-1101 & 220-1102
    2025-04-28 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-05-19 | Kraków / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-06-16 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
  • konspekt szkolenia: CompTIA Server+ Prep Course

    CompTIA Server+ Prep Course szkolenie CompTIA

    dostępne terminy szkolenia
    cena od: 7000 PLN
    czas: 5 dni
    poziom trudności: 3 z 6
    kod: CT-SERVER
    wersja: SK0-005
    2025-03-31 | Kraków / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-04-28 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-05-26 | Kraków / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
    2025-06-30 | Warszawa / Wirtualna sala HYBRID: szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika zarezerwuj
Formularz kontaktowy

Prosimy o wypełnienie poniższego formularza, jeśli chcą Państwo uzyskać więcej informacji o powyższym szkoleniu.






* pola oznaczone (*) są wymagane

Informacje o przetwarzaniu danych przez Compendium – Centrum Edukacyjne Spółka z o.o.

CENA 8000 PLN NETTO

FORMA SZKOLENIA ?

 

MATERIAŁY SZKOLENIOWE ?

 

WYBIERZ TERMIN SZKOLENIA

  • szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika: HYBRID
    • Informacje ogólne
    • Termin gwarantowany
    • Last minute (-10%)
    • Język obowiązujący na szkoleniu
    • Polski
  • szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika: HYBRID
    • Informacje ogólne
    • Termin gwarantowany
    • Last minute (-10%)
    • Język obowiązujący na szkoleniu
    • Polski
  • szkolenie dostępne w wersji stacjonarnej we wskazanej lokalizacji lub w trybie zdalnym, w zależności od preferencji uczestnika: HYBRID
    • Informacje ogólne
    • Termin gwarantowany
    • Last minute (-10%)
    • Język obowiązujący na szkoleniu
    • Polski
Zarezerwuj termin szkolenia
zamknij

Szkolenie stacjonarne

Szkolenia stacjonarne w Compendium CE odbywają się najczęściej w naszych lokalizacjach w Krakowie i Warszawie, ale także w miejscu ustalonym przez klienta. Grupa uczestnicząca w szkoleniu spotyka się w danym miejscu o określonym czasie i wraz z trenerem aktywnie uczestniczy w laboratoriach.

Szkolenie dlearning

W szkoleniach Compendium Distance Learning możesz uczestniczyć z dowolnego miejsca na świecie. Kursanci, dzięki zaawansowanej technologii, którą dostarcza Compendium CE, stale widzą i słyszą trenera, mogą mu zadawać pytania poprzez chat i mikrofon, a także uczestniczą w ćwiczeniach i laboratoriach, które rozwiązują wraz z prowadzącym. Po więcej informacji zajrzyj na stronę dlearning.eu

zamknij

Materiały papierowe

Materiały tradycyjne: cena zawiera standardowe materiały wydawane w postaci książek papierowych, drukowanych lub innej, w zależności od ustaleń z producentem.

Materiały elektroniczne

Materiały elektroniczne: są to materiały szkoleniowe w wersji elektronicznej, które w zależności od dostawcy udostępniane są za pomocą dedykowanych aplikacji: Skillpipe, eVantage itd. lub w postaci dokumentów PDF.

Materiały ctab

Materiały ctab: cena zawiera tablet ctab oraz materiały szkoleniowe w formie elektronicznej bądź tradycyjne materiały szkoleniowe i materiały dodatkowe dostarczone w wersji elektronicznej w zależności od ustaleń z producentem (w postaci dokumentów PDF lub EPUB). Tak dostarczone materiały są przystosowane pod kątem wyświetlania ich na tablecie ctab. Po więcej informacji zajrzyj na stronę ctab.

Najbliższe szkolenia The Linux Foundation

Harmonogram szkoleń
The Linux Foundation