Unknown symbol __udivdi3 (err 0)
来源:互联网 发布:淘宝被扣48分保证金 编辑:程序博客网 时间:2024/05/19 04:03
最近在调试wlan驱动模块时出现如下错误:
[ 17.940000] qca_ol: Unknown symbol __udivdi3 (err 0)
insmod: can't insert '/lib/modules/qca_ol.ko': unknown symbol in module, or unknown parameter
这个错误导致qca_ol.ko无法挂载从而导致一系列错误。编译时也会提示如下警告:WARNING: "__udivdi3" [/home/master-trunk/project/oem/modules/wlan-10.4-spf50/os/linux/../../qca_ol/qca_ol.ko] undefined!
查阅资料后发现原因是因为嵌入式32位系统中的除法操作(如:a/b),当a为64位变量时不能直接使用除法符号‘/’,否则就会出现上述错误。如果必须做64位除法应该使用函数do_div(a,b),注意次函数的返回值为余数,最终的结果保存在a变量中。
针对do_div()的这种特性我们可以封装一个自己的除法函数:
static u32Divided_64(__u64 a, __u64 b){__u64 result = a;if(b == 0) {return 0;}do_div(result, b);return (u32)result;}
阅读全文
0 0
- Unknown symbol __udivdi3 (err 0)
- Unknown symbol platform_driver_unregister (err 0)
- Unknown symbol platform_driver_unregister (err 0)
- vboxdrv: Unknown symbol mcount (err 0) 解决方法
- fpga_driver: Unknown symbol gpmc_cs_read_reg (err 0)
- Linux内核gprof与insmod模块报Unknown symbol __gnu_mcount_nc (err 0)
- ARM 开发板insmod安装内核模块时,Unknown symbol usb_register_driver (err 0)
- Unknown symbol
- ERR unknown command 'GEOADD'
- unknown symbol class_create
- Unknown symbol gpio_direction_output
- Unknown symbol gpio_direction_output
- Unknown symbol platform_device_put 问题
- mem_malloc:Unknown symbol kmalloc_caches
- Unknown symbol gpio_direction_input解决方法
- pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
- undefined symbol: compiler_globals in Unknown
- 关于 insmod Unknown symbol error
- Spring Boot学习(二)之属性配置文件详解
- iOS主流进度加载提示工具
- 网页静态化--Freemarker
- 曲线拟合问题
- 基于SuperMap iDesktop制作天地图1--10级详细说明
- Unknown symbol __udivdi3 (err 0)
- 流程图怎么画?绘制一个流程图的简单操作方法
- Opencv+visual studio2017配置
- MyBatis--逆向工程
- Optane容量翻倍!价值何在?
- C++读bmp位图以及调用DLL方法
- mac执行git命令出现xcrun: error: invalid active developer path解决方法
- 计算机编码与浮点数
- UDP 打洞的一些整理