You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派3(Yocto Kirkstone分支)MPU6050驱动加载后无IIO设备文件问题

问题分析与解决步骤

这种情况不正常,驱动加载成功但未生成IIO设备节点,说明内核没探测到MPU6050硬件设备,按以下步骤排查:

  • 第一步:确认树莓派I2C总线已启用
    树莓派默认I2C总线可能未开启,在Yocto的local.conf中添加:

    ENABLE_I2C = "1"
    

    或者通过设备树参数启用:

    RPI_EXTRA_CONFIG += "dtparam=i2c_arm=on"
    
  • 第二步:检查硬件连接与设备存在性
    烧录修改后的镜像启动后,扫描I2C总线(树莓派3默认I2C总线编号是1):

    i2cdetect -y 1
    

    查看输出中是否有0x68或0x69(MPU6050默认I2C地址):

    • 如果没有,检查硬件接线:SDA接GPIO2、SCL接GPIO3,电源接3.3V(禁止接5V),GND接地。
    • 如果有,说明硬件连接正常,继续下一步。
  • 第三步:添加MPU6050设备树节点
    内核需要通过设备树识别MPU6050设备,创建设备树overlay文件mpu6050-overlay.dts:

    /dts-v1/;
    /plugin/;
    
    &i2c1 {
        #address-cells = <1>;
        #size-cells = <0>;
        status = "okay";
    
        mpu6050@68 {
            compatible = "invensense,mpu6050";
            reg = <0x68>;
            status = "okay";
        };
    };
    

    在你之前创建的Linux bbappend文件中添加:

    SRC_URI += "file://mpu6050-overlay.dts;subdir=git/arch/arm/boot/dts/overlays"
    
  • 第四步:补全内核IIO子系统配置
    在MPU6050配置片段中添加IIO基础配置:

    CONFIG_IIO=y
    CONFIG_IIO_BUFFER=y
    CONFIG_IIO_TRIGGER=y
    

    这些是生成IIO设备节点的必要前提。

  • 第五步:重新构建并验证
    执行bitbake core-image-base(或你使用的镜像名称)重新构建,烧录后启动:

    1. 加载驱动(若未自动加载,执行modprobe inv_mpu6050_i2c)
    2. 查看内核日志:dmesg | grep mpu6050,若出现invensense,mpu6050 1-0068: mpu6050 Probed类信息,说明设备被成功探测
    3. 此时再查看/sys/bus/iio/devices/,就能看到iio:deviceX格式的设备节点

内容的提问来源于stack exchange,提问作者isch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 17:32:27