移植mpu6050驱动到arm linux上遇到的一些问题!

2018年2月1日

 之前有想和朋友合起来做一个四轴的想法,买了一个mpu6050模块,然后朋友买的正点原子stm32f767的附带资料里是mpu9000系列的例程。我自己有一个jz2440开发板,然后放寒假之后,就想着用这个mpu6050学习一下armlinux的iic驱动,由于mpu6050这个器件专业度很高,比较复杂,本意是练习iic,所以预想先实现读取mpu6050温度传感器的功能。

 程序编写完之后,编译一直过不去,有这个提示

WARNING: "__truncdfsf2" [/home/book/Desktop/iic/mpu6050_drv.ko] undefined!

WARNING: "__adddf3" [/home/book/Desktop/iic/mpu6050_drv.ko] undefined!

WARNING: "__divdf3" [/home/book/Desktop/iic/mpu6050_drv.ko] undefined!

WARNING: "__floatsidf" [/home/book/Desktop/iic/mpu6050_drv.ko] undefined!

交叉编译器里面的libgcc.a用nm libgcc.a查看了,是有这几个函数实现的,国内网站上找到了一个解释

http://bbs.chinaunix.net/thread-709564-1-1.html

这个帖子了二楼的这位看了Linux Kernel Development这本书,说是

LKD 第一章
1.6 内核开发的特点
1.6.1 没有 libc 库
....
1.6.4 不要轻易在内核中使用浮点数
   “。。。。。还有其他一些琐碎的事情。如果要直接了当的回答,那就是:别这么做了,不要在内核中使用浮点数。”
但是mpu6050温度读取必须要用很多复杂数据运算,浮点数的使用无法避免,个人感觉问题不知道是否出在这儿。

问题待解决。先留个疑问在这儿把。到时候mpu6050移植完毕顺便一起贴在这里。

http://blog.csdn.net/batizty2001/article/details/5978847



你可能感兴趣的:(arm-linux)