在嵌入式Linux驱动编程之中,如果遇到WARNING: "__aeabi_xxx" [xxx.ko] undefined! 类似的警告信息,可以不理会吗?
答案是不可以!
警告内容包含一下一种或多种,
WARNING: "__aeabi_f2d" [xxx.ko] undefined!
WARNING: "__aeabi_ddiv" [xxx.ko] undefined!
WARNING: "__aeabi_fdiv" [xxx.ko] undefined!
WARNING: "__aeabi_dmul"[xxx.ko] undefined!
WARNING: "__aeabi_f2uiz"[xxx.ko] undefined!
WARNING: "__aeabi_d2uiz"[xxx.ko] undefined!
WARNING: "__aeabi_ui2f"[xxx.ko] undefined!
WARNING: "__aeabi_ul2f"[xxx.ko] undefined!
以上内容若不理会,在加载驱动时moddep modprobe,一样会失败
平台:32bit arm
内核:Linux3.14
原因为:所使用Linux内核版本不支持ARM平台的相关运算导致,相同的内核代码在X86平台是没有问题的。
相关运算包括:浮点运算 和 64bit运算(32处理器)
解决方案:不要在内核层进行相应运算处理,改为app层计算。
备注:浮点是很多处理器的软肋 ,DSP没有用过,有了解的请评论。