- 博客(4)
- 收藏
- 关注
原创 I2C与SCCB协议一个小小的区别(解释了ov9650从设备号为什么是30)
另外:I2C与SCCB协议区别:从机地址因为I2C是7位地址,最后一位是读写位,而SCCB是8位地址,比如ov9650,他是SCCB协议,他的地址是0x60,那么如果挂接到I2C总线上,他的地址就变成0x30了,这样算的:SCCB地址: 0x60: 0 1 1 0_0 0 0 0这个0还是地址位I2C地址 : 0 1 1 0_0 0 0
2012-11-09 20:46:18
4227
1
原创 linux内核I2C驱动子系统分析(三)
那么i2c设备驱动开始上菜啦!写设备驱动:四部曲:构建i2c_driver注册i2c_driver构建i2c_client ( 第一种方法:注册字符设备驱动、第二种方法:通过板文件的i2c_board_info填充,然后注册) 注销i2c_driver具体如下:● 构建i2c_driverstatic struct i2c_driver pca
2012-11-09 20:43:31
504
原创 linux内核I2C驱动子系统分析(二)
下面具体分析如何写第一部分:主控芯片的i2c驱动分为2个步骤:写总线驱动:选了个主控芯片,比如:S3C8900(自己瞎编的芯片)在driver/i2c/busses/i2c-s3c2410.c中没有找到这个芯片的I2C支持(总线驱动支持)。。。(倒霉了,没有选好芯片,也可能是最新型号的,linux内核没跟上)在此之前先分析i2c-s3c2410.c中完成的工作(总线驱动):
2012-11-09 20:40:52
358
原创 linux内核I2C驱动子系统分析(一)
因为I2C的通信肯定至少要有2个芯片完成,所以它的驱动是由2大部分组成:主芯片的i2c的驱动从芯片的i2c的驱动 注:万一选的都不支持咋办???(惨了,只能2个芯片的驱动都得实现了,不过过程差不多)(一).主芯片的I2C的驱动:(具体如何实现在后面)首先要查看linux内核是否支持主芯片中i2c驱动器,如果支持就配置一下就ok了,否则要编写主控芯片
2012-11-09 20:32:22
372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人