免费注册 查看新帖 |

Chinaunix

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

【求教】Linux I2C设备驱动开发流程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-12 13:13 |只看该作者 |倒序浏览
本帖最后由 breeze505 于 2012-09-12 17:31 编辑

我的ARM平台是 Cortex A9,MSP430G2231通过P1.6、P1.7与ARM核I2C总线通信,ARM上跑的是Linux系统,Linux内核有I2C总线驱动。
所以我除了MSP430端的程序外,ARM端我还需要做MSP430的Linux设备驱动程序。问题:
(1)芯片的I2C总线驱动内核上已有,那我是否可以在应用程序中使用内核的设备驱动i2c-dev.c中的open、read、write等接口,而不需要重新开发一个设备驱动程序?
(2)若需要,那该如何进行开发相应的设备驱动程序呢中Linux应用层接口open,release,read,write?是否可以参照i2c_dev.c这个文件中的函数,只修改几个外部文件操作接口即可?或是有什么可供参照程序?或有做过的例程帮忙发下最好...
(3)请问我如何获得MSP430这个设备在I2C总线上的地址?

首次做Linux I2C驱动,整个开发流程也有点混乱,请指导,谢谢!!

论坛徽章:
0
2 [报告]
发表于 2012-09-14 09:04 |只看该作者
1.如果有的话,那就不需要再重新开发了,当然重新开发驱动程序来调用这个i2c的驱动也是可以的,这样也比较规范
2.如果是你自己开发的话,就不是调用i2c的open/read/wirte了,这些接口是给应用程序而不是驱动用的,应该直接调i2c传输数据的函数,具体叫什么记不清了,好像就什么tranfer之类的
3.你的MSP430的P1.6/P1.7应该是你自己仿的i2c接口吧,那就需要你自己在MCU端实现I2C device的功能,那总线地址你自己肯定可以指定了

论坛徽章:
0
3 [报告]
发表于 2012-09-14 09:37 |只看该作者
LS right

论坛徽章:
0
4 [报告]
发表于 2012-09-14 16:19 |只看该作者
学习zhong~~~

论坛徽章:
0
5 [报告]
发表于 2012-09-14 17:21 |只看该作者
最好是不要用i2c-dev.c的读写接口,独立做个MSP430驱动,Linux端你可以取其他芯片现成驱动来修改,其实就是创建一个I2C client挂接到I2C总线上去,MSP430端,要实现I2C device功能

论坛徽章:
0
6 [报告]
发表于 2012-09-28 16:39 |只看该作者
IO口模拟I2C的从设备有点难度哦。 一般都是模拟I2C的主设备比较容易。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP