Niedawno zacząłem opracowywać sterownik wbudowanego urządzenia z systemem Linux.Nowość w jądrze Linux/Driver development
Do tej pory mam tylko przeczytać o wewnętrznych elementach linux.
Nie mając wcześniejszego doświadczenia w tworzeniu sterowników, uważam, że trudno jest wylądować mój pierwszy krok.
- Pobrałem kod źródłowy jądra (v2.6.32).
- Przeczytałem (skimped) Sterowniki urządzeń Linux (3e)
- Przeczytałem kilka powiązanych stanowisk tutaj na StackOverflow.
- Rozumiem, że linux ma podejście "monolityczne".
- Mam wbudowane jądro (uwzględniono istniejący sterownik w menuconfig itp.)
- Znam podstawy plików kconfig i makefile, więc nie powinno to stanowić problemu.
Czy ktoś może opisać strukturę (czyli inter-links)
różnych katalogów w kodzie źródłowym jądra.Innymi słowy, biorąc pod uwagę to plik kodu źródłowego,
które inne pliki byłoby zapoznać się z nimi związane Kod(dalej „#include” -s zapewnić częściowe pomysł)
Czy ktoś mógłby mi pomóc w uzyskaniu lepszego pomysłu?
Każda pomoc zostanie bardzo doceniona.
Dziękuję.
To powinno wyczyścić. http://www.youtube.com/watch?v=ENNKtfR2PYc –
Napisz prosty moduł Hello World dla jądra. Następnie, gdy już zrozumiesz moduł jądra Hello World , zapisz to http://www.freesoftwaremagazine.com/articles/drivers_linux i przetestuj go. Przestrzegaj powyższego linku, dopóki go nie zrozumiesz. , a także przeczytać dwa moje posty tutaj http://mail.nl.linux.org/kernelnewbies/2010-09/ Dosłownie walczyłem na forum, aby zrozumieć, jak to działa. Musisz więc zrobić to samo. Niezależnie od tego, co ktoś mówi, walczyć, dopóki nie zrozumiesz. Najlepszym sposobem nauki jest podnieść projekt i zacząć pracę na końcu, dostaniesz dużo. Na przykład zdecyduj się naprawić –
Błąd dla sterownika bezprzewodowego w jądrze. Wiem, że na tym etapie brzmi zmęczony, ale gonić go, aż to zrobisz.Na koniec będziesz mógł to zrobić. –