Red de conocimiento informático - Material del sitio web - Cómo aprender a desarrollar controladores integrados de Linux y resolver problemas

Cómo aprender a desarrollar controladores integrados de Linux y resolver problemas

2. Compile una aplicación que pueda ejecutarse con un archivo MAKE

3. Aprenda a escribir un archivo MAKE de controlador

4. Escriba un controlador de caracteres simple. Una vez compilado el archivo MAKE, podrá hacerlo. insmod,lsmod,rmmod. Imprima hola mundo en la función de inicio del controlador y debería poder ver el resultado a través de dmesg después de insmod. Después de insmod, debería poder ver el resultado a través de dmesg.

5. Escriba una implementación completa del controlador que incluya lectura, escritura, ioctl, sondeo y otras funciones. Complete la implementación de pasar estructuras del espacio del usuario al espacio del kernel en ioctl.

6. Escriba un controlador de bloque que incluya lectura, escritura, ioctl, sondeo y otras funciones.

7. Simplemente aprenda a administrar la memoria. Esto es lo más difícil. Debe comprender los detalles de implementación de varias funciones de asignación de memoria. Esta es una habilidad básica para el desarrollo de Linux.

8. Aprender la aplicación del mecanismo de bloqueo no es el más difícil, pero es el más propenso a errores e implica muchos problemas de sincronización y concurrencia.

9. Ver el código del controlador real en el kernel. Descubrirá que ya comprende los conocimientos básicos. El marco general es el mismo, solo la implementación de funciones como lectura, escritura, ioctl, etc., pero contiene la implementación de muchos pequeños detalles que no conocía antes. En este momento, tenemos que considerar muchas otras cuestiones, no solo la implementación de funciones básicas. Por ejemplo: la cuarta fase del curso de capacitación de Linux integrado: el desarrollo de microprocesadores integrados y controladores de dispositivos Linux consta principalmente de tres secciones principales: principios de interfaz de hardware ARM, desarrollo de controladores de dispositivos Linux integrados y diseño de controladores avanzados de Linux integrados. desarrollo del conductor. Permita que los estudiantes se familiaricen con el mecanismo del kernel de Linux, las interfaces entre controladores y aplicaciones a nivel de usuario, y dominen las operaciones concurrentes del sistema en los dispositivos.