Recentemente, ho iniziato a sviluppare un driver di un dispositivo incorporato che esegue Linux.Sviluppo nuovo kernel/driver per Linux
Fino ad ora ho solo leggi sugli interni di Linux.
Non avendo esperienza precedente nello sviluppo del guidatore, trovo che sia un po 'difficile raggiungere il mio primo passo.
- Ho scaricato il codice sorgente del kernel (v2.6.32).
- Ho letto driver di periferica Linux (non) (3e)
- Ho letto alcuni post correlati qui su StackOverflow.
- Capisco che linux abbia un approccio "monolitico". kernel
- ho costruito (driver esistente incluso nel menuconfig etc.)
- so le basi di kconfig e Makefile in modo che non dovrebbe essere un problema.
qualcuno può descrivere la struttura (ossia le interrelazioni collegamenti)
delle varie directory nel codice kernel-source.In altre parole, dato un file di codice sorgente,
che altri file sarebbe fare riferimento al codice relativo(I -s "# include" forniscono un'idea parziale)
Qualcuno potrebbe aiutarmi a farsi un'idea migliore?
Qualsiasi aiuto sarà molto apprezzato
Grazie.
Questo dovrebbe chiarire. http://www.youtube.com/watch?v=ENNKtfR2PYc –
Scrivi un modulo semplice Hello World per il kernel. Quindi, una volta compreso il modulo del kernel Hello World , scrivi a questo http://www.freesoftwaremagazine.com/articles/drivers_linux e testalo. Segui il link sopra finché non capisci. e leggere anche due dei miei post qui http://mail.nl.linux.org/kernelnewbies/2010-09/ Ho letteralmente combattuto sul forum per capire come funziona. Quindi devi fare lo stesso.Errispetto a quello che qualcuno dice di combattere finché non capisci. Il modo migliore per imparare è prendere un progetto e iniziare a lavorare alla fine ne otterrai molto. Ad esempio decidere di sistemare un –
bug per un driver wireless nel kernel. So che in questa fase suona stanco ma inseguirlo fino a farlo. Alla fine di voi sarete in grado di farlo. –