基于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
解决方案一:不要在Git Repository里面编译内核Image。重新编译内核。这样你的内核vermagic就不会有多出来的加号。
解决方案二:照该链接说的,修改ustrelease.h,在头文件中加入“+”,这样,你生成的模块的vermagic就和Image的一样。
如果只是测试,可以用"modprobe -force",让加载模块忽略这个错误。 我已经确定出原因了,是由于没有上拉电阻造成的;am2311与am2321b的区别就是am2311内部自带上拉电阻,而am2321b是不带上拉电阻的;也即是说,驱动能够兼容,但是需要添加上拉电阻;并且我已经将驱动写完了,原理是一样的;测试好用;