Linux 驅動開發學習基本步驟

2021-04-22 23:12:01 字數 927 閱讀 7989

首次發表於:http://www.top-e.org/jiaoshi/html/?125.html

1.首先需要對c語言程式設計非常熟悉,這是在linux下程式設計的基本條件。

2.會寫簡單的makefile,編寫乙個簡單的應用程式,再寫乙個makefile,讓它能正常編譯。makefile主要目的就是用來管理編譯龐大的**檔案。

3.了解linux核心的目錄結構,尤其要熟悉kernel目錄下的driver目錄組織結構,這裡一般存放核心中的驅動程式。

4.學會配置、編譯linux核心。

5.寫一簡單char驅動,makefile編譯通過,可以insmod, lsmod, rmmod。在驅動程式的init函式裡加列印字串, insmod後應該能夠通過dmesg看到輸出。

6.寫一完整char驅動, 加上read, write, ioctl等各種操作函式的驅動實現。 在ioctl裡完成從使用者空間向核心空間傳遞結構體的實現。

7.寫一block驅動,如磁碟驅動。加上read,write,ioctl,poll等各種函式實現。

8.學習linux系統中interrupt機制的實現,這是編寫驅動中常用到的技術。

9.學習記憶體管理,明白各種memory alloc的函式實現細節,這是linux開發的基本功之一。

10.學習鎖機制的應用,如訊號量、自旋鎖等。鎖主要用來解決很多同步和併發的問題。

11.以上知識你都認為掌握了,接下來就看核心中實際應用的驅動**。你會發現最基本的你已經知道了,大的框架都是一樣的,無非是read,write,ioctl等函式的實現,但裡面包含了很多很多細小的實現細節是之前不知道的,比如程式的設計邏輯,演算法等。這時候就要考慮到很多實際的問題而不僅僅是基本功能的實現。

12.最後就是堅持不斷地學習與總結。

總之,根據以上的步驟學習你會有實際的提高,但還有一點是最重要的,就是要有持之以恆的學習精神,並且要有解決任何問題的信心。

Linux裝置驅動開發學習步驟

最近在學習這個linux裝置驅動開放這一塊,因為是自學的所以摸不到頭緒,經過一段時間的摸索,現在又了一點認識,所以我在這裡就來寫一下 1.學會寫簡單的makefile 2.編一應用程式,可以用makefile跑起來 3.學會寫驅動的makefile 4.寫一簡單char驅動,makefile編譯通過...

Linux驅動開發步驟

1 在kconfig檔案中新增選項,如下 config ys qdec tristate ys qdec help ys qdec 2 在makefile檔案中新增編譯設定,如下 obj config ys qdec ys qdec.o 以上兩步做好,就可以在menuconfig中選擇,把你的驅動檔...

Linux驅動程式開發學習步驟

出處 1.學會寫簡單的makefile 2.編一應用程式,可以用makefile跑起來 3.學會寫驅動的makefile 4.寫一簡單char驅動,makefile編譯通過,可以insmod,lsmod,rmmod.在驅動的init函式裡列印hello world,insmod後應該能夠通過dmes...