当前位置: 代码迷 >> 驱动开发 >> 喏喏的问下,你们哪位高手有am2321B温湿度传感器的linux内核驱动
  详细解决方案

喏喏的问下,你们哪位高手有am2321B温湿度传感器的linux内核驱动

热度:146   发布时间:2016-04-28 10:11:02.0
喏喏的问下,你们谁有am2321B温湿度传感器的linux内核驱动?
我有am2311的温湿度传感器的驱动,但是发现并不能用,于是看下哪位大神能帮帮我,我开发板的linux内核版本是2.6.35.7;大神可以留下你的任何联系方式,跪求
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

好像标准 IIC 接口,应该不难,找个类似的看看,我也没做过

是不难,而且我有am2311的驱动源码,但是最近非常忙,而且对驱动也不是很了解,希望有人能帮忙稍微修改下,懂驱动的人做的话只需要1个小时不到,对我来也许一个小小的错误,我还有花好几天;请问下你恰好有这个编译内核环境吗?能不能帮帮我
  内核编译很简单啊,make 就行了,你可以同时做别的

现在正在自己写驱动,基于am2311的源码上更改,首先是看下能不能加载成功;
发现加载失败,提示信息:
am2321b: version magic '2.6.35.7 preempt mod_unload ARMv7 ' should be '2.6.35.7+ preempt mod_unload ARMv7 '
insmod: can't insert 'am2321b.ko': invalid module format
 这个提示不明白什么意思,看起来没错
------解决方案--------------------
参考:Linux kernel version magic: Adding the missing plus suffix

解决方案一:不要在Git Repository里面编译内核Image。重新编译内核。这样你的内核vermagic就不会有多出来的加号。
解决方案二:照该链接说的,修改ustrelease.h,在头文件中加入“+”,这样,你生成的模块的vermagic就和Image的一样。

如果只是测试,可以用"modprobe -force",让加载模块忽略这个错误。 
------解决方案--------------------
就是说,你得看看am2311正常工作了没有?可以读些芯片上的寄存器来判断。或者用示波器看看IIC上的通讯情况。