Pelo que entendi, Target Package -> Hardware handling -> i2c-tools
refere-se a utilitários do espaço do usuário i2c.
O que você sente falta são os módulos i2c do kernel space, você precisa adicioná-los em make linux-menuconfig
.
Eu usei o Buildroot para construir um sistema operacional mínimo. Durante a etapa de configuração com o utilitário menuconfig
especificado para instalar ferramentas I2C. A opção foi é
Target Package -> Hardware handling -> i2c-tools
Mas quando eu carrego o módulo correspondente, recebo o seguinte erro:
$sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
Além disso, a lista no arquivo modules.dep
está vazia.
$ cat /lib/modules/$(uname -r)/modules.dep
$
Eu provavelmente perdi algo importante.
Eu tenho que copiar manualmente os módulos do kernel da pasta de instalação do Buildroot para o sistema de destino? Como fazer as ferramentas i2c funcionando?
Como sugerido pelo Mali, precisamos ativar o suporte ao kernel para o protocolo de transmissão SPI e I2C. Eu fiz isso compilando o kernel separadamente, mas podemos fazê-lo a partir da pasta Buildroot runnning make linux-menuconfig
Durante a configuração do kernel 3.8.13, adicione:
linux-3.8.13$ make menuconfig
Vá para o menu Drivers de dispositivo e verifique o suporte I2C pressionando "Y".
Entre no menu I2C, vá para interface do dispositivo I2C e pressione ‘ M ’ para suporte ao módulo.
Entre no menu Suporte ao barramento de hardware I2C e pressione ‘M’ BCM2708 BSC
Verifique o suporte a SPI pressionando "Y" e insira o submenu
Pressione ‘M’ perto do driver do controlador SPI BCM2708
Cross compile e uma vez feito você pode carregar os módulos com
modprobe i2c-dev
modprobe i2c-bcm2708
modprobe spi-bcm2708