《驱动调试 - 加载内核模块Unknown symbol错误分析》
Posted zhuangquan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《驱动调试 - 加载内核模块Unknown symbol错误分析》相关的知识,希望对你有一定的参考价值。
问题:
在加载nvp6158的模块时,提示“
nvp6158_ex: Unknown symbol HI_I2C_Read (err 0)
nvp6158_ex: Unknown symbol HI_I2C_Write (err 0)
insmod: can‘t insert ‘nvp6158_ex.ko‘: unknown symbol in module, or unknown parameter
分析:
1.用命令查看内核中是否已有这个内核符号
例如要查看是否有HI_I2C_Read这个内核符号,输入命令:
#cat /proc/kallsyms | grep "HI_I2C_Read"
没有相关打印,而输入其它的函数名则会有打印信息。
如果内核中已经包含了这个符号,那么就会有相关的打印信息,否则不打印。
注:
/proc/kallsyms会显示内核中所有的符号,但是这些符号不是都能被其他模块引用的(绝大多数都不能),能被导出的是符号的类型是大写的那些(例如T,U)。
以上是关于《驱动调试 - 加载内核模块Unknown symbol错误分析》的主要内容,如果未能解决你的问题,请参考以下文章
RK3399驱动开发 | 20 - 阿美林7寸mipi屏幕调试(基于linux主线5.4.32内核)
RK3399驱动开发 | 20 - 阿美林7寸mipi屏幕调试(基于linux主线5.4.32内核)
RK3399驱动开发 | 20 - 阿美林7寸mipi屏幕调试(基于linux主线5.4.32内核)