arm开发板上找不到/dev/i2c-*设备


最近在调试arm与外设iic通讯是,想来个投机取巧,先不写单独的驱动,直接通过iic bus设备是否可以连接到外设,然后发现在板子上找不到“/dev/i2c-n”的设备,标准的系统应该都是有的。

回去看内核驱动

代码位于

lichee/linux-3.10/drivers/i2c/

 

 

#
# Makefile for the i2c core.
#

obj-$(CONFIG_I2C_BOARDINFO)     += i2c-boardinfo.o
obj-$(CONFIG_I2C)               += i2c-core.o
obj-$(CONFIG_I2C_SMBUS)         += i2c-smbus.o
obj-$(CONFIG_I2C_CHARDEV)       += i2c-dev.o
obj-$(CONFIG_I2C_MUX)           += i2c-mux.o
obj-y                           += algos/ busses/ muxes/
obj-$(CONFIG_I2C_STUB)          += i2c-stub.o

ccflags-$(CONFIG_I2C_DEBUG_CORE) := -DDEBUG
CFLAGS_i2c-core.o := -Wno-deprecated-declarations

查看其中的Makefile中有相关驱动的编译脚本,但是却没有i2c-dev.o文件,说明该驱动没有参与编译。

需要去make menuconfig里面配置成m(编译成ko以模块的方式插入)或者y(直接和内核编译在一起),在这里选择以模块的方式编译。

依次执行make menuconfig

然后选择Device Drivers——>I2C support——>I2C device interface设置成M 保存退出,重新编译即可。

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM