Wstęp
W tym kursie zostanie omówione w jaki sposób implementować moduły kernela Linux czyli przede wszystkim zapoznamy się z jego API oraz pisaniem sterowników- czyli tym co zapewne interesuje najwięcej osób, które tu trafiło.
Aby kurs był możliwie zwięzły i obrazowy koncepcje związane z kernelem będą w miarę możliwości prezentowane z wykorzystaniem rzeczywistego sprzętu, będę starał się unikać prezentowania abstrakcyjnych przykładów.
Co jest potrzebne do kursu?
Do kursu będzie potrzebny komputer z zainstalowanym Linuksem, który będzie używany do kompilacji przygotowywanych modułów. Będzie również potrzebna płytka typu Raspberry Pi aby przetestować moduły Ja posiadam Raspberry Pi 4 oraz BeagleBone Black więc te płytki będą używane przeze mnie. Poza tym będą potrzebne takie elementy elektroniczne jak płytka stykowa, diody LED, przyciski tact-switch, kabelki goldpin, zegar RTC DS3232 [uzupełnić co jeszcze potrzeba].
Co trzeba umieć?
Warto posiadać wiedzę z Kursu budowania Linuksa, zachęcam do jego przerobienia jeśli nie posiadasz wiedzy w nim zawartej przed przerobieniem tego kursu.
Po drugie musisz znać język C, nie musisz być starym wyjadaczem, ale wskaźniki musisz ogarniać.
Po trzecie obsługę Linuksa też powinieneś mieć ogarniętą. Aby utrzymać kurs zwięzły będę pomijać instruktaż przesyłania plików pomiędzy komputerem, a twoją płytką i inne proste operacje tego typu.
Po czwarte powinieneś umieć podłączać elementy elektroniczne do RPi4 i BBB. Zakładam również, że potrafisz połączyć się ze swoją płytką za pomocą interfejsu UART, jeśli nie wiesz jak tego dokonać zapraszam do Kursu budowania Linuksa.