天天看點

Linux驅動程式學習步驟

 了解linux驅動程式技巧學習的方法很重要,學習linux作業系統時,你可能會遇到關于驅動方面的問題,

這裡将介紹學習linux驅動程式的方法,在這裡拿出來和大家分享一下。

1.學會寫簡單的makefile

2.編一應用程式,可以用makefile跑起來

3.學會寫linux驅動程式的makefile

4.寫一簡單char驅動,makefile編譯通過,可以insmod,lsmod,rmmod.在驅動程式的init函數裡列印

helloworld,insmod後應該能夠通過dmesg看到輸出。

5.寫一完整驅a動,加上read,write,ioctl,polling等各種函數的驅動實作。在ioctl裡完成從使用者空間向

核心空間傳遞結構體的實作。

6.寫一block驅動程式加上read,write,ioctl,poll等各種函數實作。

7.簡單學習下記憶體管理,這個是最難的,明白各種memoryalloc的函數實作細節。這是linux開發的基本功

8.學習鎖機制的應用,這個不是最難的但是最容易犯錯的,涉及到很多同步和并發的問題。

9.看核心中實際應用的linux驅動程式代碼。你會發現最基本的你已經知道了,大的架構都是一樣的,無

非是read,write,ioctl等函數的實作,但裡面包含了很多很多細小的實作細節是之前不知道的。這時候就

要考慮到很多别的問題而不僅僅是基本功能的實作。

推薦您看2.6.20中integrated的一個驅動kvm,記得是在driver/lguest下,很好玩的,就是linux下的虛

拟機驅動程式,代碼不長,但功能強大。有能力的可以自己寫一作業系統按照要求做成磁盤鏡像加載到虛

拟機中,然後客戶機可以有自己的4G虛拟位址空間。

10.看完linux驅動程式代碼歡迎您進入Linuxkernel學習中來。

最簡單的方法,跟着ldd(linuxdevivedriver)做一遍。

本文轉hackfreer51CTO部落格,原文連結:http://blog.51cto.com/pnig0s1992/602276,如需轉載請自行聯系原作者

繼續閱讀