当前位置:  技术问答>linux和unix

【求教】Linux I2C设备驱动开发流程

    来源: 互联网  发布时间:2017-03-15

    本文导语:  本帖最后由 breeze505 于 2012-09-12 17:28:30 编辑 我的ARM平台是 Cortex A9,MSP430G2231通过P1.6、P1.7与ARM核I2C总线通信,ARM上跑的是Linux系统,Linux内核有I2C总线驱动。 所以我除了MSP430端的程序外,ARM端我还需要做MSP430的Linux设...

本帖最后由 breeze505 于 2012-09-12 17:28:30 编辑
我的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驱动,整个开发流程也有点混乱,请指导,谢谢!!

|
1、这就是所谓的用户态驱动程序,是可行的。不同于一般的内核态i2c设备驱动。
2、这种用户态的驱动程序,可以参照Documentation/i2c/dev-interface

3、我不知道你的MSP430G2231是否能够配成i2c从。i2c操作都是由主设备发起的,所以只能有一个主设备。
从设备的i2c地址看数据手册得到。

|
lz这样说,让i2c总线控制器驱动情何以堪
发送正确的i2c地址以及检查ACK,都是i2c总线控制器驱动干的事情

内核态i2c设备驱动只需要关心 读/写 以及读写的个数,使用
int i2c_master_recv(struct i2c_client *client, char *buf, int count)
int i2c_master_send(struct i2c_client *client, const char *buf, int count)
其中client 就已经包含了i2c控制器 和 i2c设备地址的信息,这个client参数也是i2c设备probe成功后自动就得到的

用户态i2c设备驱动,
则需要ioctl(file, I2C_SLAVE, addr) 告知i2c设备地址
之后的读写操作同普通的read write,见Documentation/i2c/dev-interface


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求教求教,shell问题...各位大哥,帮忙下
  • 400分求教: 求教一简单问题,现场给分
  • 高分求教:如何将JAVA文件(.class)制作成可执行文件(.exe),求教方法或工具推荐
  • 急!!求教linux命令的使用:统计出/bin目录中文件的个数,追加到文件filea的结尾
  • 求教:在UNIX中查找包含指定文字的文件名
  • 小白菜求教linux大鸟
  • JDK1.3.1初级问题求教
  • 初学者有问题求教!
  • 各路高手请进!高分求教,非常着急!
  • 高分求教的问题(关于SendMail设置)
  • 简单问题:从sun网站上当了个jdk1.4b3,bin后缀,求教怎么安装
  • 求教:知道当前时间,如何得到N天前的时间 ?
  • 求教:switch(condition)中的condition 必须为整型吗?
  • Linux远程访问的问题,高分求教:)
  • 求教:在Linux下如何做代理服务器?
  • 紧急求教!究竟Java里面有没有相当于C++的CPOINT的类阿?
  • 求教JAVA中XML解析问题
  • 50分求教,在JSP里如何将String转换成Double
  • 我刚装好,是不是需要配制环境变量?求教。
  • 400分求教JAVA皮肤的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3