字元裝置驅動 —— 字元裝置驅動框架
1、概述:
linux中一切皆檔案,裝置也如此,並且以操作檔案即檔案IO的方式訪問裝置。
應用程式只能透過庫函式中的系統呼叫來操作硬體,對於每個系統呼叫,驅動程式中都會有一個與之對應的函式,對於字元裝置驅動,這些函式集中在file_operations結構體中。當應用程式使用系統呼叫read、write等函式訪問裝置時,最終會呼叫到file_opeartions中的成員,當然一開始fops中的只是一大堆函式指標的呼叫介面,具體的函式就需要我們在驅動中實現,實現對應操作函式後,與fops一對接,應用程式最終就能對硬體進行控制了。
那麼問題來了,當應用程式使用系統呼叫訪問裝置時,linux系統怎麼知道呼叫哪一個驅動的fops中的成員呢?
2、裝置號、裝置節點
裝置號和驅動相關聯
裝置號是一個ID,裝置節點就是驅動檔案
字元裝置和塊裝置是獨立的,雖然裝置號可能相同,但卻是不同的裝置
3、字元裝置驅動框架
作為字元裝置驅動要素:
1,必須有一個裝置號,用在眾多到裝置驅動中進行區分
2,使用者必須知道裝置驅動對應到裝置節點(裝置檔案)
linux把所有到裝置都看成檔案
crw-r----- 1 root root 13, 64 Mar 28 20:14 event0
crw-r----- 1 root root 13, 65 Mar 28 20:14 event1
crw-r----- 1 root root 13, 66 Mar 28 20:14 event2
3,對裝置操作其實就是對檔案操作,應用空間操作open,read,write的時候
實際在驅動程式碼有對應到open, read,wri
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946382/viewspace-2838187/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LED字元裝置驅動字元
- 字元驅動裝置踩坑字元
- 字元裝置驅動——申請、建立、應用.字元
- liunx驅動之字元裝置的註冊字元
- 字元驅動框架字元框架
- 新字元驅動框架驅動LED字元框架
- Linux驅動實踐:你知道【字元裝置驅動程式】的兩種寫法嗎?Linux字元
- ArmSoM系列板卡 嵌入式Linux驅動開發實戰指南 之 字元裝置驅動Linux字元
- 字元裝置驅動學習之cdev_init和cdev_alloc字元dev
- Linux裝置驅動程式學習----1.裝置驅動程式簡介Linux
- 驅動Driver-MISC雜項驅動裝置
- 【linux】驅動-7-平臺裝置驅動Linux
- Linux驅動開發筆記(四):裝置驅動介紹、熟悉雜項裝置驅動和ubuntu開發雜項裝置DemoLinux筆記Ubuntu
- platform 裝置驅動實驗Platform
- 【linux】驅動-6-匯流排-裝置-驅動Linux
- 在Linux中,什麼是裝置驅動程式?如何安裝和解除安裝裝置驅動程式?Linux
- 05_雜項裝置驅動
- mtd裝置驅動(待學習)
- linux 裝置驅動基本概念Linux
- win10驅動未知裝置怎麼辦_win10裝置管理器驅動未知裝置處理方法Win10
- 框架-SPI四種模式+通用裝置驅動實現框架模式
- pci匯流排驅動及pci裝置驅動註冊
- 裝置驅動程式包可以刪除嗎 win10裝置驅動程式包能刪嗎Win10
- 非同步通知和MISC裝置驅動非同步
- iOS 裝置驅動 for windows 32&64iOSWindows
- linux裝置驅動編寫入門Linux
- 無作業系統時的裝置驅動和有作業系統時的裝置驅動作業系統
- platform_driver驅動及裝置驅動匹配識別符號Platform符號
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- 裝置樹下的 LED 驅動實驗
- 【Linux SPI】RFID RC522 裝置驅動Linux
- 【linux】驅動-9-裝置樹外掛Linux
- Linux驅動之I2C匯流排裝置以及驅動Linux
- 如何編寫一個簡單的Linux驅動(三)——完善裝置驅動Linux
- 框架-裝置與驅動的拆分及實現-I2C框架
- linux核心原始碼閱讀-塊裝置驅動Linux原始碼
- linux驅動之獲取裝置樹資訊Linux
- 基於匯流排裝置驅動模型的按鍵讀取驅動程式模型