Plan Szkolenia
1. Wprowadzenie do jądra Linux
- Przegląd wbudowanego Linuxa
- Architektura jądra Linux
- Przestrzeń użytkownika a przestrzeń jądra
- Zadania jądra
- Przepływ pracy przy rozwijaniu jądra
- Przegląd obsługiwanych platform wbudowanych
2. Konfiguracja środowiska programistycznego
- Przygotowanie stacji roboczej do rozwoju
- Koncepcje kompilacji krzyżowej
- Instalacja wymaganych narzędzi programistycznych
- Konfiguracja płyty deweloperskiej BeagleBone Black
- Konfiguracja konsoli szeregowej
- Uruchamianie urządzenia docelowego
3. Pozyskiwanie i zrozumienie źródeł jądra
- Drzewo źródeł jądra Linux
- Jądra stabilne a jądra z długoterminowym wsparciem
- Pobieranie źródeł jądra
- Eksploracja struktury kodu źródłowego
- Dokumentacja jądra
- Zarządzanie wersjami jądra
4. Konfiguracja, kompilacja i uruchamianie jądra
- Konfiguracja jądra przy użyciu menuconfig
- Wybór funkcji jądra
- Kompilacja krzyżowa jądra
- Budowanie obrazów jądra
- Instalacja modułów jądra
- Przegląd programu rozruchowego
- Uruchamianie niestandardowego jądra
5. Podstawy drzewa urządzeń
- Cel drzewa urządzeń
- Pliki źródłowe drzewa urządzeń (DTS)
- Binarny obiekt drzewa urządzeń (DTB)
- Koncepcje opisu sprzętu
- Modyfikowanie plików drzewa urządzeń
- Budowanie i wdrażanie drzew urządzeń
6. Moduły jądra Linux
- Architektura modułów jądra
- Budowanie ładowalnych modułów jądra
- Ładowanie i usuwanie modułów
- Parametry modułów
- Zależności modułów
- Interakcja z modułami jądra
- Techniki debugowania modułów
7. Debugowanie jądra Linux
- Logowanie jądra za pomocą printk()
- Korzystanie z dmesg
- Dynamiczne debugowanie
- Analiza paniki jądra
- Komunikaty Oops
- Debugowanie za pomocą GDB
- Podstawowe narzędzia do śledzenia wydajności
8. Sterowniki urządzeń znakowych
- Model sterowników urządzeń w Linuxie
- Urządzenia znakowe
- Rejestracja sterowników
- Operacje na plikach
- Operacje odczytu i zapisu
- Interfejs IOCTL
- Zarządzanie pamięcią
- Zwalnianie zasobów sterownika
9. Integracja sterowników i dostęp do sprzętu
- Urządzenia i sterowniki platformowe
- Programowanie GPIO
- Obsługa przerwań
- Czasomierze i praca odroczona
- Dostęp do rejestrów sprzętowych
- Praca z wejściem/wyjściem mapowanym w pamięci
10. Kontrola wersji z Git
- Podstawy Git
- Zarządzanie kodem źródłowym jądra
- Rozgałęzienia i scalanie
- Tworzenie poprawek
- Przeglądanie zmian
- Współpraca przy rozwijaniu jądra
11. Praktyczne laboratoria rozwijania jądra
- Konfiguracja niestandardowego jądra
- Budowanie i wdrażanie jądra
- Tworzenie prostego modułu jądra
- Rozwijanie podstawowego sterownika urządzenia znakowego
- Modyfikowanie plików drzewa urządzeń
- Debugowanie problemów jądra na BeagleBone Black
12. Najlepsze praktyki i podsumowanie
- Styl kodowania jądra
- Pisanie łatwych w utrzymaniu sterowników
- Częste pułapki programistyczne
- Zasoby dokumentacji jądra
- Przepływ pracy przy współtworzeniu open source
- Powtórka kluczowych pojęć
- Pytania i odpowiedzi
- Kolejne kroki w rozwijaniu jądra Linux
Wymagania
Podstawowa znajomość obsługi systemu GNU/Linux
Opinie uczestników (6)
Świetny kontakt z uczestnikami, otwartość, chęć dzielenia się wiedzą i doświadczeniem
Lukasz Majkut
Szkolenie - Embedded Linux Kernel and Driver Development
strona praktyczna
Piotr Uruski
Szkolenie - Embedded Linux Kernel and Driver Development
Wiedza trenera. Był w stanie odpowiedzieć na wszystkie moje pytania, nawet na te dotyczące naszej platformy. Kontynuował również pomoc, dopóki wszyscy nie zrozumieli materiału.
James O'Donnell - Tennant Company
Szkolenie - Embedded Linux Kernel and Driver Development
Przetłumaczone przez sztuczną inteligencję
Dodatkowe informacje o narzędziach stosowanych przy pracy z kodem i oprogramowaniem w ogóle. Bogata literatura podana przez prowadzącego.
Michal Zych - Siec Badawcza Lukasiewicz - Instytutu Lotnictwa
Szkolenie - Embedded Linux Kernel and Driver Development
Bardzo szerokie spektrum zagadnień, dające pogląd na wiele kwestii związanym z tematem szkolenia.
Przemyslaw Ujma - Hectronic Polska Sp. z o.o.
Szkolenie - Embedded Linux Kernel and Driver Development
I liked the hands-on nature of it.
Maurice Egan
Szkolenie - Embedded Linux Kernel and Driver Development
Przetłumaczone przez sztuczną inteligencję