《驱动调试 - 加载内核模块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)。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM