Configurar Buildroot para usar I2C

Configurar Buildroot para usar I2C

Vamos a explicar como configurar la comunicación I2C en Buildroot. En una entrada anterior, vimos como crear un sistema embebido Linux para nuestra Raspberry Pi utilizando esta misma herramienta, y será a ese mismo sistema empotrado al que le habilitaremos el I2C y le añadiremos las librerias o herramientas necesarias para manejarlo.

Para ello debemos rehacer la configuración del Buildroot e indicarle en la parte de Hardware Handling, que nos añada la librería de i2c-tools, como aparece en la siguiente imagen:

Buildroot

Y guardamos los cambios, a continuación escribimos el comando make linux-menuconfig y habilitamos lo relativo a los drivers y al bus de comunicación I2C, como aparece en la siguiente imagen:

linux kernel

Una vez hechos los cambios anteriores, volvemos a escribir el comando make, para que se queden aplicados.

configtxt

Para comprobar que se ha configurado correctamente, vamos a conectar a la Raspberry Pi algún sensor I2C.

Con el siguiente comando vamos a listar los dispositivos i2c conectados:

i2cdetect -l

En nuestro caso el que nos interesa es el i2c-1, puesto que por defecto en la versión B de la Raspberry Pi es el que se le asigna. Si ahora escribimos el comando

i2cdetect -y 1

El 1 del comando anterior representa el bus i2c que estamos usando. Deberiamos recibir una respuesta donde nos indica la dirección i2c asignada al dispositivo, en nuestro caso 0x4d.