免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3953 | 回复: 13
打印 上一主题 下一主题

关于2.6内核./driver中关于I2C驱动的疑惑,请指点! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-18 17:47 |只看该作者 |倒序浏览
我最近在做2.6内核下的IIC的EEPROM实验,遇到了很多不解,已经几天了没什么进展,跪求赐教。

问题如下:
   
    通过在网上查找相关资料,了解到了在内核./driver/i2c/中有一个i2c-dev.c文件,它实现实现了I2C适配器设备文件的功能,每一个I2C适配器都被分配一个设备。应用程序通过文件名并使用文件操作接口open()、write()、read()、ioctl()和close()等来访问这个设备。
    但是i2c-dev.c并没有针对特定的设备而设计,只是提供了通用的read()、write()和ioctl()等接口,应用层可以借用这些接口访问挂接在适配器上的I2C设备的存储空间或寄存器并控制I2C设备的工作方式,而对于EEPROM设备却不能直接使用来读写。
    于是我找了./driver/i2c/chip/下的eeprom.c文件,想直接通过这个驱动文件操作eeprom设备,但是我发现这个设备并没有register_chrdev()函数,也没有open(),release()等接口,请问如果我直接用这个驱动该怎么访问设备。也就是说eeprom.c和i2c-dev.c的关系是怎么样的?

论坛徽章:
0
2 [报告]
发表于 2008-09-18 17:53 |只看该作者
直接分析它们的调用函数!

论坛徽章:
0
3 [报告]
发表于 2008-09-18 17:56 |只看该作者

回复 #2 rodgerluo 的帖子

分析过了,好像没什么关系,从应用程序的open(),read()...结果来开,就只是执行到i2c_dev.c,根本进步不了eeprom的驱动!

论坛徽章:
0
4 [报告]
发表于 2008-09-18 22:36 |只看该作者

回复 #3 jakolulu 的帖子

论坛徽章:
0
5 [报告]
发表于 2008-09-18 23:53 |只看该作者
好像有个mtdchar设备适合给eeprom用的吧。
不要挂iic上了,直接用mtdchar,或者自己写个char设备,借用iic的api或者单独写api都行。。。

按道理挂iic总线上也可以改成读写eeprom,就是针对该设备改一下read write而已。不过这样做肯定不好。
iic总线不是给内核用的吗?还可以应用层访问?

论坛徽章:
0
6 [报告]
发表于 2008-09-19 00:13 |只看该作者

回复 #5 obima 的帖子

非常感谢大家,首先我现在做的实验必须是基于I2C的EEPROM实验,而且内核中已经有支持eeprom的驱动eeprom.c,内核中i2c-dev.c文件定义的主设备号为89的设备可以方便地给应用程序提供读写I2C设备寄存器的能力,问题是现在我通过应用程序对设备读写总是达不到应有的效果,就是说我在驱动eeprom.c中的read()里添加printk(),但执行应用程序后却看不到效果。

论坛徽章:
0
7 [报告]
发表于 2008-09-19 16:46 |只看该作者
还是没有啊?

论坛徽章:
0
8 [报告]
发表于 2008-09-20 23:54 |只看该作者
看lmsensor 的代码怎么做的
不要问我
我也不知道

论坛徽章:
0
9 [报告]
发表于 2008-09-25 16:48 |只看该作者
LZ,请问你做的eeprom的驱动请问你做的做成功了吗?
能否共享一下资料

论坛徽章:
0
10 [报告]
发表于 2008-09-25 18:16 |只看该作者

回复 #9 larryliang.chen 的帖子

问题搁置了几天,现在可以读了,但写入出了问题,我没有自己写驱动,还是用的i2c-dev.c提供的ioctl()接口,用传感器作了以下测试,发现可以,但用到eeprom上写操作还是会出问题!再想想...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP