《驅動調試 - 加載內核模塊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