Archiwum autora: Adam

Lekcja 10- Device-tree

Wstęp W tej lekcji zapoznamy się ze sposobem użycia device-tree z poziomu modułu kernelowego. Jeśli nie masz najmniejszego pojęcia czym jest device-tree to odsyłam do lekcji 6 z kursu budowania Linuksa. Device-tree Zanim użyjemy device-tree w sterowniku to najpierw musimy … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 09- Sterowniki platformowe

Wstęp Urządzenia platformowe(ang. Platform devices) to krótko mówiąc urządzenia, które nie posiadają mechanizmu automatycznego wykrycia czyli popularnie mówiąc nie mają hot-pluga. Takimi urządzeniami na pewno nie będą żadne urządzenia używające USB. Przykładowymi urządzeniami platformowymi będą wszelkie urządzenia komunikujące się po … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 08- sysfs

Wstęp W tej lekcji zapoznamy się z implementacją kolejnej metody komunikacji z urządzeniem. W lekcji 03 zapoznaliśmy się z urządzeniami znakowymi i tworzyliśmy plik urządzenia w katalogu /dev, który reprezentował to urządzenie. Teraz utworzymy atrybut dla tego urządzenia. Mówiąc obrazowo, … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 07- Parametry modułów

Wstęp Czasami chcemy aby nasz moduł był bardziej uniwersalny i mógł obsługiwać dane peryferium, ale podłączone do różnych magistrali i pinów. My w tym celu wykorzystamy parametry przekazywane do modułów, będziemy mogli przekazać naszemu sterownikowi do którego pinu GPIO jest … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 06- Przerwania

Wstęp Przerwanie to zdarzenie zewnętrzne odbierane przez system, które musi zostać obsłużone przez system. Takim zdarzeniem może być np. wciśnięcie guzika czy odebranie danych przez kartę sieciową. Obsługa przerwania jest wykonywana poprzez odpowiednio zdefiniowaną funkcję. Dzięki użyciu przerwań nie musimy … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 05- Timery

Wstęp W tej lekcji poznamy metody pracy z linuksowymi timerami czyli funkcjonalnością, która umożliwia nam odwleczenie wykonania danej funkcji w czasie. Aby zilustrować to zagadnienie zmodyfikujemy kod naszego sterownika z poprzedniej lekcji. Tym razem dioda będzie migać, a nie tylko … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 04- Obsługa GPIO

Wstęp W tej krótkiej lekcji zapoznamy się z podstawami obsługi GPIO w kernelu Linuksa. Obsługa tego interfejsu jest bardzo prosta tak samo jak on sam, ale umożliwia on zaprezentowanie wielu aspektów kernela na żywo, a nie „na sucho” jakimiś dziwnymi … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 03- Urządzenia znakowe

Wstęp W tej lekcji utworzymy pierwszy sterownik wirtualnego urządzenia znakowego. Czemu wirtualnego? Wirtualnego ponieważ ten sterownik nie będzie obsługiwać żadnego fizycznego urządzenia, stworzy on natomiast odpowiedni plik w katalogu /dev do którego będzie można pisać i czytać. Można to porównać … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 02- Pierwszy moduł

Wstęp W tej lekcji w końcu zaimplementujemy pierwszy prosty moduł kernelowy. Nie będzie on robił nic szczególnego, jego jedyną funkcją będzie wypisanie informacji w logu systemowym, że został on załadowany lub usunięty z systemu. Jak programować w kernelu? Pierwszą różnicą, … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz

Lekcja 01- Przygotowanie środowiska

Wstęp Jak zostało wspomniane we wprowadzeniu posiadam płytki BeagleBone Black oraz Raspberry Pi 4. Nie będziemy przygotowywać własnego systemu dla tych płytek bo jesteśmy leniwi. Użyjemy Debiana dla BBB oraz Raspberry Pi OS dla RPi4. Dwie kolejne sekcje prezentują jak … Czytaj dalej

Zaszufladkowano do kategorii Kurs pisania sterowników | Dodaj komentarz