阅读:1772回复:9
谁写过linux下的I2C驱动?给点资料行么?
谁写过linux下的I2C驱动?给点资料行么?
|
|
|
沙发#
发布于:2002-12-04 10:47
我想总不会向usb那么复杂吧?
|
|
板凳#
发布于:2002-12-04 09:50
几位说得对,但是I2C是BUS,在这个总线上可以挂很对设备的,kernel 对该BUS有一套管理机制.
|
|
|
地板#
发布于:2002-12-04 08:39
不就是写一个i2c控制器的驱动程序吗?参考i2c的操作例程,可以先写一个简单的用户态测试程序,然后在把它做成驱动程序,我向来是这样写字符设备驱动程序的,不知道在这里是否适用,另外,arm里有i2c的专门接口吗?是不是用普通I/O口模拟的? right |
|
地下室#
发布于:2002-12-04 08:27
不就是写一个i2c控制器的驱动程序吗?参考i2c的操作例程,可以先写一个简单的用户态测试程序,然后在把它做成驱动程序,我向来是这样写字符设备驱动程序的,不知道在这里是否适用,另外,arm里有i2c的专门接口吗?是不是用普通I/O口模拟的?
|
|
|
5楼#
发布于:2002-12-03 15:36
你所谓的“老大”目前为找工作而奔波呢,恐怕没时间研究这个了。
内核里的i2c,我们可以不要,不选它就可以了。当然这是一个很好的参考。不过你不要被这个束缚。 我想麻烦主要出在芯片的工作上。 你可以把芯片的datasheet给我看看。其他珍贵资料就不必了。 我看看它工作流程。不过能不能看懂就是另外的事了 :D :D :D |
|
6楼#
发布于:2002-12-03 15:04
unix1998 :老大,刚浏览了其他的帖子,对老大肃然起敬.
我作的是个cmos sensor 摄像头的驱动,用的arm芯片. 这个片子上集成了i2c控制器.这样就要写个I2C_ADAPTER,然后通过I2C控制摄像头的时候需要另外写一个I2C_CLIENT,后一个驱动调用kernel里的I2C_TRANSFER()来控制I2C总线. 我觉得老大说得对,抛开这些不管,写个char驱动估计也可以工作.但如果kenel里如果已经加载了I2C_ADAPTER,恐怕这样做就有问题了. 在/usr/src//Documents下有几个文档是将I2C的,可是太粗略了. 看了KERNEL的源代码,I2C_ADAPTER我已经知道怎么写了,相对比较容易,I2C_CLIENT好像比较麻烦,我还有很多疑惑. 老大如果感兴趣,我整理一下资料上传共同参考吧. |
|
|
7楼#
发布于:2002-12-03 14:40
只要把i2c看作一个char设备就应该可以了阿。我想没有那么复杂,除非你的硬件设计如此。
你可以告诉我你的硬件设备是什么吗?比如ic卡. |
|
8楼#
发布于:2002-12-03 13:48
I2C的协议我倒是了解.
在linux下编写I2C的设备驱动有特定的规则. 为了要驱动I2C控制器(CPU端),要写一个 i2c_adapter 的设备驱动.而要通过I2C控制外部设备又要写一个 I2C_CLIENT 的设备驱动.可我不知道这些规则,又找不到资料.也找不到完整的源程序可以参考,还请多多帮助 |
|
|
9楼#
发布于:2002-12-03 12:28
linux下的i2c我很熟,问我好了。
其实你看i2c的时序就足够了。 |
|