Jestem zainteresowany wykorzystaniem RPi do nauki programowania na poziomie sprzętowym. Szukałem w Internecie kilku samouczków dotyczących RPi, ale wszystko, co znajdę, to ogólne samouczki „jak skompilować jądro”. Bardziej interesują mnie samouczki typu „jak pisać kod jądra / sterowniki urządzeń”. Czy istnieją specjalne samouczki dotyczące RPi, czy może wystarczyłby samouczek * nix do programowania na poziomie sprzętowym?
12
Odpowiedzi:
Nie sądzę, że znajdziesz lepszy zasób niż ten, chyba że znasz kogoś osobiście.
Cieszyć się
PS W przypadku śmierci łącza książka nosi nazwę Linux Device Drivers.
źródło
Właśnie znalazłem coś z University of Cambridge.
Jest łatwy do naśladowania i bardzo dobrze wykonany, jak złożyć swój pierwszy system operacyjny: http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/
źródło
Oprócz książki LDD możesz także zapoznać się z dokumentacją szkolenia na free-electrons.com . Tam wszystkie materiały kursu są otwarte. Całkiem odpowiedni dla tych, którzy trochę zaczęli programować jądro Linuksa, lub którzy szukają głębszego i szerszego zrozumienia określonych tematów / obszarów.
Na początek możesz spojrzeć przynajmniej na dwa pierwsze kursy:
I nie zapomnij o stronie z odnośnikami do kodu źródłowego lxr na free-electrons.com , gdzie możesz sprawdzić kod źródłowy dla różnych wersji jądra.
Jeśli preferujesz IDE, szczególnie NetBeans lub Eclipse, i wiesz, jak uruchamiać skrypty Perla i Makefile, możesz spojrzeć na narzędzia Nbk mojego projektu na github.com . Skrypt umożliwia pełne indeksowanie projektu jądra za pomocą zestawu NetBeans C ++. To znacznie pomaga poprawić doświadczenie, aby lepiej zrozumieć wewnętrzne struktury i relacje kodu źródłowego. Zazwyczaj robię minimalną konfigurację jądra plus określone urządzenie, na które patrzę, robię kompilację i robię indeks w NetBeans tylko w celu analizy kodu jądra. Podczas gdy rzeczywisty rozwój w innym projekcie. Ten skrypt jest testowany bezpośrednio w NetBeans, ale w Eclipse pomysł byłby taki sam (musisz zmodyfikować skrypt, aby pasował do Eclipse).
źródło