Soy un principiante y quiero comenzar a escribir el código de los controladores del dispositivo. Sé el lenguaje C. ¿Cuál es la mejor manera de comenzar mi viaje en la programación de conductores? ¿Hay algún curso en línea disponible o algún libro que pueda ayudarme?

Comience a leer el libro del controlador del dispositivo Linux escrito por Jonathan Corbet, Alessandro Rubini y Greg Kroah-Hartman e implemente el conocimiento adquirido al escribir el controlador del dispositivo.

  • Comience escribiendo el controlador del dispositivo de caracteres.
  • Aprenda a leer y comprender la hoja de datos del dispositivo.
  • Estudie la estructura file_operations y aprenda cómo implementar métodos de lectura / escritura para su controlador y cómo conectarlo a la estructura file_operations.
  • Conozca algunos conceptos básicos de la programación del kernel.
  • Aprenda a escribir las funciones init y exit para el controlador.
  • Aprenda a registrar y anular el registro del dispositivo. (Qué API debe usar para registrar / cancelar el registro del dispositivo).
  • Aprenda a probar el controlador.
  • Aprenda cómo compilar el código del controlador del dispositivo y cómo obtener el archivo .ko.
  • Estudie el comando insmod, rmmod y moprobe.
  • Familiarizarse con el comando dmesg

Linux Device Driver 4 en rústica y LDD3 en línea

http://free-electrons.com/doc/bo

Antes de eso, comience con el siguiente enlace.

Controlador de dispositivo de personaje

Debe conocer el número mayor y menor, el espacio del kernel y el espacio del usuario, registrar y anular el registro de un dispositivo, abrir y cerrar un dispositivo, leer y escribir un dispositivo, operaciones IOCTL (control de entrada y salida) en un dispositivo.