Najnowsze komentarze
Archiwum kategorii: Kurs pisania sterowników
Lekcja 15- Zakończenie
To byłoby na tyle z rzeczy, które chciałem przedstawić. W chwili obecnej posiadasz już sporo wiedzy nt. kernela Linuksa, umiesz implementować już proste moduły co jest dobrą podstawą do dalszej nauki jeśli interesuje Cię ta tematyka. Polecane lektury Tematyka kernela … Czytaj dalej
Zaszufladkowano do kategorii Kurs pisania sterowników
Dodaj komentarz
Lekcja 14- Górne i dolne połówki
Wstęp W tej lekcji zapoznamy się z koncepcją górnych i dolnych połówek(ang. top and bottom halves). Pojęcie połówek ma związek z obsługą przerwań. Używanie połówek oznacza, że obsługa danego zdarzenia zostaje podzielona na dwie części. Pierwszą część będzie stanowić stanowić … Czytaj dalej
Zaszufladkowano do kategorii Kurs pisania sterowników
Dodaj komentarz
Lekcja 13- I2C
Wstęp W tej lekcji zapoznamy się z obsługą magistrali I2C z poziomu modułu kernelowego. Wykorzystamy tutaj wiedzę z poprzednich lekcji- a w szczególności z lekcji o sterownikach platformowych i device-tree. Implementacja W tej lekcji zaimplementujemy sterownik dla zegara RTC DS3231. … Czytaj dalej
Zaszufladkowano do kategorii Kurs pisania sterowników
Dodaj komentarz
Lekcja 12- Synchronizacja
Wstęp W tej lekcji zapoznamy się z metodami synchronizacji. Ponieważ zajęliście się linuksowym kernelem to zakładam, że całkiem dobrze programujecie i wiecie czym jest mutex oraz spinlock i ogólnie na czym polega synchronizacja. Implementacja W tej lekcji zaimplementujemy aż 5 … Czytaj dalej
Zaszufladkowano do kategorii Kurs pisania sterowników
Dodaj komentarz
Lekcja 11- Eksportowanie symboli
Wstęp W tej krótkiej lekcji dowiemy się jak używać symboli zdefiniowanych w jednym module w innym module. Co rozumiem przez symbol? Przez symbol rozumiem zmienną lub funkcję. Umożliwienie użycia symbolu innym modułom nazywamy najczęściej po prostu eksportowaniem symboli. Implementacja Jak … Czytaj dalej
Zaszufladkowano do kategorii Kurs pisania sterowników
Dodaj komentarz
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