当前位置: 代码迷 >> 驱动开发 >> 关于嵌入式S3C6410的I2C驱动的编写解决思路
  详细解决方案

关于嵌入式S3C6410的I2C驱动的编写解决思路

热度:72   发布时间:2016-04-28 10:31:33.0
关于嵌入式S3C6410的I2C驱动的编写
求大神指点:
    最近在进行HMC5883L数值指南针的驱动的编写,该传感器是支持I2C驱动的,但是在linux 2.6.38的内核上已经写好了I2C的驱动,但是却不能进行在内核中进行注册,内核输出信息是“不能创建这个设备”,但不知38内核与32内核,以及更低版本的内核之间的I2C驱动的框架有何区别,请指教? 
    又没有哪位大神已经给予38内核开发出了这款驱动程序,或者成功的进行其他的I2C类传感器的驱动开发,求指教? 

若有什么好的资料请发送邮箱 :  [email protected]    谢谢打家了!!!!!

------解决方案--------------------
修改IIC:删除IIC相关内容
    如果采用内核默认的IIC,友善提供的EEPROM读写程序将不能执行,只有去除IIC相关内容或将24c08的地址改为0xA0后才能使用.

linux-2.6.38.7移植到mini2440/micro2440(一)——基本系统
------解决方案--------------------
我们公司的IIC都是模拟的 从来不用自带的IIC模块 不知为何
------解决方案--------------------
1:“不能创建这个设备”
你得弄清楚为什么不能创建这个设备,这个应该是可以良好解决的问题。
2:但不知38内核与32内核,以及更低版本的内核之间的I2C驱动的框架有何区别 I2C框架没有多大变化
3:你可以参考你的开发板的其他I2C器件驱动程序。比如加速度传感、光距离传感器、触摸屏。

------解决方案--------------------
引用:
引用:我们公司的IIC都是模拟的 从来不用自带的IIC模块 不知为何

6410 下面的I2C设备驱动使用的是GPIO口吗? 还是可以直接进行设备挂接进行设备读取。但是模拟的含义没有理解  ,请大神指教。


确实不行了就用GPIO模拟呗。

模拟也就是用gpio来输出IIC协议的电平时序,这个其实不是很难,找份IIC的时序,注意读写时机和间隔时间就行,但前提是这个总线上没有接多个IIC外设,因为多个外设就需要IIC的仲裁,这个需要硬件来做,软件做不了。不过一般很少用到,你这个应该是不会接很多IIC到这个同一个管脚上的,另外也能好好学一下IIC协议,不错哦。
  相关解决方案