一、開啟驅動開發之路
1、驅動開發的准備工作
(1)正常運行linux系統的開發板。要求開發板中的linux的zImage必須是自己編譯的,不能是別人編譯的。原因在於在安裝模塊的時候會進行安全性校驗
(2)內核源碼樹,其實就是一個經過了配置編譯之后的內核源碼。我們需要內核源碼編譯自己的模塊
(3)nfs掛載的rootfs,主機ubuntu中必須搭建一個nfs服務器。這對於驅動開發前期是不可或缺的,能夠提高我們的開發效率。
2、驅動開發的步驟
(1)驅動源碼編寫、Makefile編寫、編譯
(2)insmod裝載模塊、測試、rmmod卸載模塊
3、實踐
(1)copy原來提供的x210kernel.tar.bz2,找一個干凈的目錄(/root/driver),解壓之,並且配置編譯。編譯完成后得到了:1、內核源碼樹。2、編譯ok的zImage
(2)fastboot將第1步中得到的zImage燒錄到開發板中去啟動(或者將zImage丟到tftp的共享目錄,uboot啟動時tftp下載啟動),將來驅動編譯好后,就可以在這個內核中去測
試。因為這個zImage和內核源碼樹是一伙的,所以驅動安裝時版本校驗不會出錯。
我一般都會選擇通過uboot啟動之后使用tftp去下載主機服務器端共享目錄中的zImage鏡像文件,而不直接將zImage鏡像文件燒入到Flash中,因為可能我們在開發驅動的過程
中會重新對內核進行配置編譯,然后讓開發板去啟動這個新編譯好的內核鏡像文件,如果這樣重復燒flash就比較麻煩了,效率也不高。
參考: 《朱友鵬嵌入式Linux開發\5.Linux驅動開發\5.2.字符設備驅動基礎》
