linux+arm驅動入手問題

 

開發板mini2440

虛擬機系統 fedora

交叉編譯鏈 友善之臂arm-linux-gcc-4.4.3

linux內核 2.6.32.2

 從安裝開發環境到開始第一個驅動,而且還是完全照着手冊來的,而且沒有自己寫,完全只是熟悉流程,沒想到這個過程也是這麼的不容易,今天不是來慶功的,今天來鼓勵自己的,最簡單的hello模塊到今天爲止還是失敗。

至於其他的大大小小的問題和一些方法就不多講了,本來想弄完了hello模塊的驅動在來個總結,自己搗鼓了倆天,baidu google搜了不少,問題沒有解決,今天終於在羣裏面問了,大家也很積極幫我這新手,不過後來羣主的幾句話讓我很泄氣啊,大概意思就是先去google一下,可能他們看起來很簡單的問題吧,可能google一下就找了答案了。可是我也google了倆天了,額,也許是對的吧,不過很打擊新手。給自己鼓勵一下吧,繼續加油!

問題1 加載hello模塊的時候modprobe: 'mini2440_hello_module.ko': invalid module format 的錯誤,log/messages中的信息如下

[root@FriendlyARM /]# cat var/log/messages
Aug 28 17:49:57 FriendlyARM syslog.info syslogd started: BusyBox v1.13.3
Aug 28 17:50:11 FriendlyARM daemon.info init: starting pid 692, tty '': '-/bin/'

問題2 啓動nfs服務的時候

[root@tom char]# /etc/init.d/nfs start
Starting NFS services:  [  OK  ]
Starting NFS quotas: [  OK  ]
Starting NFS daemon: [FAILED]

問題3 編譯虛擬機系統內核出錯 進行make操作時候出錯

make[1]: *** No rule to make target `missing-syscalls'.  Stop.
make: *** [prepare0] Error 2

 

總結整個過程,開始配置好了nfs服務,可以掛載,安裝好了交叉編譯工具,前天照着ARM Linux 入門與實踐一書時照着寫了一個linux下的hello驅動,發現編譯的時候出現很多的文件和變量找不到的錯誤,上網一搜,發現是因爲內核沒有編譯的原因,按照網上的方法,在/usr/src/kernels/2.6.25-14.fc9.i686下面make,發現出現上面的問題3的出錯,我又上網搜,找了很多辦法也試了好多,而且可能已經改變了一些內核的東西吧,反正是一個一個的方法試的。後面沒有弄成功。

接下來又去看mini2440的用戶手冊,裏面有hello模塊的詳細步驟,我就照着一步步做,其他也遇到了問題,那就是配置了Kconfig後在make menuconfig的時候發現沒有mini2440的模塊,後面又是在內核配置中配置了一番,不過後面是搞定了,依賴關係中的前一個選項沒有選上,一開始什麼都不懂的原因啊,學習吧。後面就照着一步步終於是弄出了一個mini2440_hello_module.ko的模塊,要把這個模塊下到開發板中去,然後動態加載進內核,我就想到用nfs共享來傳,啓動nfs時,出現問題2的出錯。我懷疑是前面內核給弄的,網上一頓搜索,沒有解決,無解就暫時放着,用串口傳,又搗鼓了一頓串口,好了,終於是傳到開發板了,動態加載內核模塊,出現問題1的錯誤,上網一頓搜,沒有解決。整個過程大概就這樣吧。

我自己思考着着幾個問題應該是一起的,就是說,要是我沒有 make那個內核可能就不會啓動不了nfs 或者這個加載 hello模塊可能也是好的,那就是這個問題在於那個內核make的問題上。

第二,問題2和問題1中提示信息中都有deamon這個信息,是不是這倆個問題其實會不會是一個問題?

第三,對於問題1也有可能是編譯內核和編譯模塊的gcc版本問題,其實對於這個版本問題,好暈,一來工具有版本問題,而且,現在一個linux系統有個內核版本,我用的是fedora9.0 內核是2.6.25-14.fc9.i686 然後在這個linux上面又裝了一個內核 是linux2.6.32.2的,然後開發板上的linux也有一個內核,2.6.32.2-FriendlyARM,要把這些東西的依賴關係弄清楚,哪些應該是要相同的。

第四,看能不能解決linux內核那個make的問題。這個可能是關鍵。

今天暫且把這些先寫到這裏 2011-08-28 21:21 

高興一下,剛剛他們電子設計大賽的同學給了一塊西瓜吃,贊一下。

驅動入手問題的解答在另一篇文章中,是因爲後面寫的,而且內容比較多就另外寫了一篇文章。

發佈了53 篇原創文章 · 獲贊 21 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章