3. 學會寫驅動的makefile
4. 寫壹簡單char驅動,makefile編譯通過,可以insmod, lsmod, rmmod. 在驅動的init函數裏打印hello world, insmod後應該能夠通過dmesg看到輸出。
5. 寫壹完整驅a動, 加上read, write, ioctl, polling等各種函數的驅動實現。 在ioctl裏完成從用戶空間向內核空間傳遞結構體的實現。
6. 寫壹block驅動, 加上read,write,ioctl,poll等各種函數實現。
7. 簡單學習下內存管理, 這個是最難的,明白各種memory alloc的函數實現細節。這是linux開發的基本功。
8. 學習鎖機制的應用,這個不是最難的但是最容易犯錯的,涉及到很多同步和並發的問題。
9. 看內核中實際應用的驅動代碼。 妳會發現最基本的妳已經知道了, 大的框架都是壹樣的, 無非是read, write, ioctl等函數的實現, 但裏面包含了很多很多細小的實現細節是之前不知道的。 這時候就要考慮到很多別的問題而不僅僅是基本功能的實現。例如:淩陽教育嵌入式linux培訓課程的第四階段:嵌入式微處理器及Linux設備驅動開發的學習主要是通過:ARM硬件接口原理,嵌入式Linux設備驅動開發,嵌入式Linux高級驅動程序設計這三大塊深入淺出的學習驅動程序開發。讓學員熟悉Linux的內核機制、驅動程序與用戶級應用程序的接口,掌握系統對設備的並發操作。