錯誤原因總結 及 解決方法
1、 原因:這是因爲 正在運行的板子的內核版本 與 編譯驅動的內核版本 不一致造成的。
解決方法:確保在與開發板運行的相同的內核版本下,編譯你的驅動程序,如果正常情況 這個問題是可以解決的。
2、 原因:如果你確定你的問題不是第1種情況,那麼你把內核配置中的模塊版本檢測給去掉 並 強制加載驅動的選項給選上,我是通過這辦法解決的。
解決方法: 將內核配置爲強制加載驅動模塊(我用的內核版本是 linux-3.14.38)
① make menuconfig 配置內核
② 選中 Enable loadable module support,並且敲回車進入
選中 Forced module loading,強制加載驅動程序
取消 Module versioning support,去掉模塊版本檢測
③ 編譯內核,把這個內核燒寫到開發板中。在此這個內核裏,在編譯好你的內核程序
在開發板上就可以用insmod成功加載了,lsmod可以看到掛載的驅動。