Linux
Buildroot - 缺少 i2c 核心模組
我使用 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 工具工作?
據我了解,
Target Package -> Hardware handling -> i2c-tools
指的是使用者空間 i2c 實用程序。您錯過的是核心空間 i2c 模組,您需要將它們添加到
make linux-menuconfig
.
按照 Mali 的建議,我們需要啟用核心對 SPI 和 I2C 傳輸協議的支持。我是單獨編譯核心的,但我們可以從執行的 Buildroot 文件夾中完成
make linux-menuconfig
在核心 3.8.13 配置期間,添加:
linux-3.8.13$ make menuconfig
- 轉到設備驅動程序菜單並按“Y”檢查I2C 支持。
- 進入I2C菜單,進入I2C設備界面,按’ M ‘獲取模組支持。
- 進入I2C 硬體匯流排支持菜單並按’M’ BCM2708 BSC
- 檢查SPI支持按’Y’並進入子菜單
- 在BCM2708 SPI 控制器驅動程序附近按“M”
交叉編譯它,一旦完成,你可以載入模組
modprobe i2c-dev modprobe i2c-bcm2708 modprobe spi-bcm2708