Linux驅動開發入門(一)驅動的概念

2021-10-08 19:24:53 字數 543 閱讀 4826

缺少驅動的電腦是什麼樣的?

試想一下,你有一台缺少usb驅動的電腦。那麼當你電腦上插入乙個u盤的時候,u盤只是和電腦的物理介面連在一起,通了電。因為沒有軟體驅動,沒進行usb通訊,無法讀取到u盤內的資料。就不會和正常一樣提示移動裝置插入,不能在檔案系統中開啟u盤。

正如缺少usb驅動的電腦無法操作u盤一樣,沒有顯示器驅動的電腦也無法顯示圖形影象,沒有音訊驅動的電腦也會變成啞巴。

1.驅動的實現是為了操作硬體,使硬體執行在某種工作狀態。

2.驅動是連線硬體與核心的橋梁。

塊裝置:系統中能夠隨機(不需要按順序)訪問固定大小資料片,如硬碟。

字元裝置:按照字元流的方式被有序訪問,如串列埠、鍵盤。

網路裝置:一般由字元裝置註冊,網路裝置可以通過bsd套介面訪問,如網絡卡。

驅動介面

字元裝置驅動

字元裝置檔案

網路裝置驅動

bsd套接字

塊裝置驅動

塊裝置檔案

Linux驅動入門

核心版本 2.4.22 閱讀此文的目的 學會編寫linux裝置驅動。閱讀此文的方法 閱讀以下2個檔案 hello.c,asdf.c。此文假設讀者 已經能用c語言編寫linux應用程式,理解 字元裝置檔案,塊裝置檔案,主裝置號,次裝置號 會寫簡單的shell指令碼和makefile。1.hello.c...

linux驅動編寫(usb host驅動入門)

usb協議是乙個複雜的協議,目前涉及到的版本就有usb1.0,usb2.0,usb3.0。大家如果開啟kernel usb host目錄,就會發現下面包含了ohci,uhci,ehci,xhci,whci等多種形式的控制器驅動。那麼,對於我們這些不是很了解usb的開發人員,如何了解usb的 結構呢?...

linux驅動開發

這兩天在公司由於一直沒有太過於繁重的任務,於是便給分配了驅動開發的任務,之前一直不明白驅動開發和普通的嵌入式開發到底有什麼區別,然後有沒有經過系統的學習,於是就一直愣在那裡。不過慢慢的還是經過查資料,雖然 沒有編寫出來,但是對於系統的一些東西學習的終於有了一定的了解,感覺這個十分的重要,也為了給自己...