Recientemente, comencé a desarrollar un controlador de un dispositivo integrado ejecutando linux.Nuevo en el desarrollo del kernel/controlador de Linux
Hasta ahora solo tengo , lea sobre linux internals.
Al no tener experiencia previa en desarrollo de controladores, me resulta un poco difícil encontrar mi primer paso.
- He descargado el código fuente del kernel (v2.6.32).
- He leído (escapado) Controladores de dispositivos Linux (3e)
- He leído algunos mensajes relacionados aquí en StackOverflow.
- Entiendo que Linux tiene un enfoque "monolítico".
- He compilado kernel (incluido el controlador existente en menuconfig etc.)
- Conozco los conceptos básicos de los archivos kconfig y makefile, así que eso no debería ser un problema.
Puede alguien describir la estructura (es decir, las interrelaciones enlaces)
de los diversos directorios en el código del kernel-source.En otras palabras, dado un archivo de código fuente, los cuales
otros archivos tendrían que consultar para obtener el código relacionado(Los -s "# include" proporcionan una idea parcial)
¿Podría alguien ayudarme a obtener una mejor idea?
Cualquier ayuda será muy apreciada
Gracias.
Esto debería aclararlo. http://www.youtube.com/watch?v=ENNKtfR2PYc –
Escriba un módulo simple Hello World para el kernel. Luego, una vez que comprenda el Hello World Kernel Module , escriba http://www.freesoftwaremagazine.com/articles/drivers_linux y pruébelo.Siga el enlace de arriba hasta que no lo comprenda. y también leí dos de mis publicaciones aquí http://mail.nl.linux.org/kernelnewbies/2010-09/ Luché literalmente en el foro para entender cómo funciona esto. Así que tienes que hacer lo mismo. Independientemente de lo que alguien diga luchar hasta que no entiendas. La mejor manera de aprender es retomar un proyecto y comenzar a trabajar al final obtendrás mucho. Por ejemplo, decide arreglar un –
error para un controlador inalámbrico en kernel. Sé que en este momento parece weired pero persígalo hasta que lo hagas. Al final de ti podrás hacerlo. –