Buildrootを使用して最小オペレーティングシステムを構築しました。ユーティリティーを使用した構成段階で、menuconfig
I2C ツールをインストールすることを指定しました。オプションは次のとおりです。
Target Package -> Hardware handling -> i2c-tools
ただし、そのモジュールをロードすると、次のエラーが発生します。
$sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
また、ファイルのリストmodules.dep
が空です。
$ cat /lib/modules/$(uname -r)/modules.dep
$
私が重要なことを逃したかもしれません。
Buildrootインストールフォルダからターゲットシステムにカーネルモジュールを手動でコピーする必要がありますか? i2cツールを正しく動作させるには?
答え1
私が知る限り、Target Package -> Hardware handling -> i2c-tools
これはユーザースペースi2cユーティリティを意味します。
欠けているのはカーネル空間i2cモジュールなのでmake linux-menuconfig
。
答え2
Maliが提案したように、SPIおよびI2Cトランスポートプロトコルのカーネルサポートを有効にする必要があります。カーネルを別々にコンパイルしましたが、実行中のBuildrootフォルダで実行できます。make linux-menuconfig
カーネル 3.8.13 構成中に以下を追加します。
linux-3.8.13$ make menuconfig
行くデバイスドライバメニューと確認I2Cサポート「Y」を押してください。
I2Cメニューに入り、入ります。I2Cデバイスインターフェースそして 'を押してください。中サイズ'モジュールサポートのため。
入力するI2Cハードウェアバスのサポートメニューを選択して「M」を押すBCM2708バランスパフォーマンス表
調査するSPIサポート「Y」を押してサブメニューに入ります。
近くで「M」を押すBCM2708 SPIコントローラドライバ
クロスコンパイルして完了したら、モジュールをロードできます。
modprobe i2c-dev
modprobe i2c-bcm2708
modprobe spi-bcm2708