免费注册 查看新帖 |

Chinaunix

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

问个带I2C操作的字符设备驱动问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-13 11:53 |只看该作者 |倒序浏览
一个设备IC驱动既有I2C串口操作,又有并口操作。
要如何组织其驱动架构?
1.如果像driver/i2c/ships/下的文件那样写,那么它的并口操作又如何完成?
2.如果把它写一个字符设备,如何把I2C操作嵌入到这个字符设备中?在内核模块里有I2C导出的符号吗?它如何探测它的地址之类的?

谢谢!
目前的思路是把它写成一个字符设备驱动,当中嵌入I2C操作,但是这个I2C操作不知如何完成,请高手指点下。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2009-04-13 14:03 |只看该作者

回复 #1 tacoe 的帖子

字符设备,在操作读写的时候,驱动实现改为操作I2C设备

论坛徽章:
0
3 [报告]
发表于 2009-04-13 14:26 |只看该作者

回复 #2 dreamice 的帖子

是既有并口操作也有I2C操作,I2C操作要先
i2c_add_driver(&my_driver)

platform_driver_register(&my_i2c_driver) 等等的。

兄弟,我的目标就是要在字符设备里实现I2C操作,但是不知如何下手啊,在内核里也没有找到相关的代码可以参
考的,你有没有相关的代码是这样操作的?给参考下。。谢谢啊!
同时也这个设备也有一个8位并口操作的。

论坛徽章:
5
4 [报告]
发表于 2009-04-13 15:43 |只看该作者
你这个设备, 硬件上I2C和并口是否独立?  你可以做成两个驱动阿。

软件上, 好像你要先驱动I2C,然后驱动并口, 是吗

论坛徽章:
0
5 [报告]
发表于 2009-04-13 16:12 |只看该作者

回复 #4 yidou 的帖子

是独立的。我有想做成两个独立的驱动,但是在字符模块里有I2C的一些初始化操作。这样的话,在应用程序里只要打开一个文件描述就可以了。如果是两个,我怕同步会有问题。
所以想问下如何把I2C模块中的读写导出到字符模块中去。
thx

论坛徽章:
0
6 [报告]
发表于 2009-04-13 19:10 |只看该作者
两个模块通信

论坛徽章:
0
7 [报告]
发表于 2009-04-14 09:31 |只看该作者

回复 #6 star316 的帖子

在I2C模块里通过EXPORT_SYMBOL()宏,把对I2C的读写导出到另一个模块。但是读写函数涉及到struct i2c_client 这个结构,而这个结构是在I2C里模块里注册的。所以只有在I2C模块里再对这个读写进行一次封装,只把基地址和数据传送。希望这个方法可以用,唯一担心的就是,字符模块能不能访问I2C模块里注册的资源?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP