Linux驅動開發學習歸納 3

2021-06-21 10:15:21 字數 985 閱讀 1938

裝置驅動模型由三大塊組成:匯流排、裝置、驅動。

其中匯流排是虛擬匯流排,從linux2.6開始引入了platform虛擬匯流排:即平台裝置模型。

在linux裝置驅動中,平台裝置是指處理器整合的額外功能的附加裝置:如watch dog、iic、rtc、adc等。需要注意的是:平台裝置並不是和字元裝置、塊裝置和網路裝置並列的概念,而是種平行的概念。它是從另乙個角度來對裝置進行概括。

平台裝置的使用方法:

定義平台裝置platform_device ------>註冊平台裝置platform_add_devices()------->定義平台裝置驅動platform_driver-------->註冊平台裝置驅動platform_driver_register() --------->匹配裝置和驅動platform_match()------->探測函式platform_driver->probe()。

平台裝置用platform_device結構體來描述:

17 struct platform_device ;
為了便於統一管理平台裝置的資源,在platform_device結構體中定義了平台裝置所使用的資源。這些資源與特定的處理器相關,需要驅動編寫者根據相關處理器的資料手冊來編寫。

平台裝置資源:

18 struct resource ;
其中,start表示資源的開始位址,end表示資源的結束位址,name表示資源名,flags表示資源的型別(有i/o埠ioresource_io、記憶體資源ioresource_mem、中斷號ioresource_irq、dma資源ioresource_dma等)。

每乙個平台裝置都對應乙個平台裝置驅動,這個驅動用來對平台裝置進行探測、移除、關閉等操作。

平台裝置驅動用platform_driver結構體表示:

58 struct platform_driver ;
平台裝置的具體使用可參考linux核心下的

Windows驅動開發學習3

驅動的 api 函式 1.rtlinitunicodestring 作用 初始化裝置名稱指標。void rtlinitunicodestring in out unicode string destinationstring,in pcwstr sourcestring 2.iocreatedevi...

linux裝置驅動歸納總結

diytvgy的日誌 前言 我的總結是根據學習時的筆記 李楊老師授課 linux核心設計與實現 第三版 linux裝置驅動程式 第三版和 linux裝置驅動開發詳解 第一版來歸納的。1.1 linux裝置驅動的作用 1.2 核心 樹介紹 1.3 核心補丁 1.4 核心中的makefile 1.5 子...

Linux驅動開發學習筆記

一 linux裝置驅動基礎 基於linux2.6核心 參考 linux device drivers 3rd edition linux kernel有乙個很好的特性,可以支援在執行是進行擴充套件。這意味著系統啟動執行是,我們仍然可以向kernel新增功能。這種執行時可以被新增到kernel的 稱為...