Tecnología

Inicio

¿Cómo se crea un controlador de dispositivo de entrada I2C Linux?

¿Cómo se crea un controlador de dispositivo de entrada I2C Linux?


I2C (Intel-Integrated Circuit) es un tipo de protocolo llamado un autobús que es utilizado por el ordenador placas para comunicarse con los dispositivos. El protocolo I2C es anticuada, pero el protocolo sigue siendo popular entre los constructores de hardware aficionados, ya que es fácil de implementar. Los controladores de dispositivos en Linux interpretan I2C llama a través del I2C núcleo que se incluye en la mayoría de las distribuciones de Linux. Escribir un controlador para un dispositivo de entrada I2C en Linux requiere que el programador importar I2C-núcleo y poner en marcha el dispositivo. El nombre del dispositivo y la dirección deben ser proporcionados por el fabricante del dispositivo.

Instrucciones

1 Lanzar el terminal pulsando la tecla "Ctrl", "Alt" y "t" al mismo tiempo. La ventana de comandos de terminal aparecerá en la pantalla.

2 Instalar el I2C-core si no lo está ya disponible en el sistema. En el símbolo del sistema escriba "sudo apt-get install I2C-core", a continuación, pulse "Enter". El terminal le pedirá la contraseña de root, escriba la contraseña y pulse "Enter". El terminal instalará el I2C-núcleo.

3 Cambie los directorios a la papelera de código. Por ejemplo, si la papelera de código se llevó a cabo en "/ home / bin" tipo "cd / home / bin" en el símbolo del sistema y presiona "Enter".

4 Lanzar "Gedit". Tipo de "gedit" en el símbolo del sistema y presiona "Enter".

5 Copia el código siguiente a la ventana Gedit:

incluir I2C-core.h

struct i2c_device_id estática <UNIQUE prefix> _idtable [] = {

{ "&lt;UNIQUE PREFIX>", &lt;DEVICE ID> },

};

MODULE_DEVICE_TABLE (I2C, <UNIQUE prefix> _idtable);

struct i2c_driver estática <UNIQUE prefix> _driver = {

.driver = {

.name = "& lt; prefijo único>",

},

.id_table = & lt; prefijo único> _ids,

.probe = & lt; prefijo único> _probe,

.Remove = & lt; prefijo único> _remove,

}

static int __init <UNIQUE prefix> _init (void)

{

return i2c_add_driver(&&lt;UNIQUE PREFIX>_driver);

}

estática __exit vacía <UNIQUE prefix> _cleanup (void)

{

i2c_del_driver(&foo_driver);

}

<Prefijo único> _init ();

Reemplazar <ID de Dispositivo> con el ID del dispositivo según lo prescrito por el fabricante. Reemplazar <UNIQUE prefix> con un nombre relevante para su conductor. El prefijo debe consistir en letras minúsculas y sin espacios. Utilice el mismo prefijo todas partes que <prefijo único> ocurre.

6 Guardar el código haciendo clic en "Archivo", "Guardar". Nombrarlo el mismo que el <prefijo único> de la Etapa previa con la extensión ".c". Por ejemplo, si su <UNIQUE prefix> "era" iicmouse "llamar al archivo" iicmouse.c ".

7 Cierre la ventana "gedit" haciendo clic en la "x" en la esquina superior derecha.

8 Compilar el controlador de dispositivo. En el símbolo del sistema, escriba: "gcc -c ./<DRIVER ARCHIVO>" reemplazar <archivo del controlador> con el nombre del archivo que acaba de crear a continuación, pulse "Enter". El conductor se compilará.

9 Conecte un dispositivo de entrada en un puerto I2C I2C.

10 Escriba el nombre del controlador de dispositivo que acaba de crear en el símbolo del sistema, a continuación, pulse "Enter". El dispositivo iniciará.