Linux kernel 使能I2C驱动

        记录一下在kernel中使用设备树使能I2C驱动并在/dev目录下显示i2c-0节点的方法。

第一步:menuconfig

        在内核源码目录下,我们先进行图形化界面配置,使用如下命令:

    make menuconfig

         如图,在路径Device Drivers > I2C support下,进行I2C的选项选择。其中第三项:I2C device interface要记得勾选,否则在/dev目录下不会生成I2C节点!

 第二步:设备树

        一般使用硬件I2C的时候,原厂会在设备树的dtsi文件中加入该节点的信息,但status状态是disabled,所以我们需要在所使用的dts文件中使能该节点。

        原厂写好的节点:

         用户需要自己添加的信息:

         将状态status赋值为okay一般就可以结束了。我这里I2C下挂了一个RTC芯片,所以我添加了RTC的节点。

第三步:编译、下载、测试

        在kernel启动log中可以看到有I2C驱动控制器打印的信息

         在系统中 ls /dev查看是否存在I2C节点:

         可以看到,i2c-0节点存在,此时就可以使用open,write,read应用函数去操作节点啦。

        关键注意点:menuconfig选择配置项的时候,一定记得要选择I2C device interface,否则/dev下找不到该节点!

附加记录(linux下gpio模拟i2c)

menuconfig:

 设备树:

 注意使用的gpio有没有其他其他功能被占用,另外要添加到alise节点。

gpios两个引脚的顺序:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Absorbed_w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值