linux字元裝置驅動

2022-09-12 23:21:19 字數 613 閱讀 8154

定義和匹配fpos函式

建立cdev結構體

註冊裝置

字元裝置初始化,繫結fops和裝置

新增字元裝置

建立節點--幾種方式

載入函式--作為module初始化

解除安裝函式--對上方使用的資源一一釋放

裝置樹可以通過node系列函式匹配

驅動寫好後,發現echo/cat命令沒法寫入讀取,而且板子會卡。原因:

驅動中write函式返回值是乙個正數n時,表示寫入了n個;返回0時表示沒寫;返回負數表示出錯。

驅動中read函式返回值是乙個正數n時,表示讀取了n個;返回0時表示讀到結尾;返回負數表示出錯。

上層的write和read函式返回值的意義同上,所以在驅動中編寫好返回值和偏移量即可。

上層的echo、cat函式返回值意義同上,可是cat在呼叫驅動中的read函式得到的返回值如果為0,卻不做回顯而是直接返回了。

可以修改返回值or使用******_write_to/from_buffer。

使用cat讀取和echo寫核心檔案節點的一些問題(侵刪)

原文

驅動 linux裝置驅動 字元裝置驅動開發

preface 前面對linux裝置驅動的相應知識點進行了總結,現在進入實踐階段!linux 裝置驅動入門篇 linux 裝置驅動掃盲篇 fedora下的字元裝置驅動開發 開發乙個基本的字元裝置驅動 在linux核心驅動中,字元裝置是最基本的裝置驅動。字元裝置包括了裝置最基本的操作,如開啟裝置 關閉...

Linux裝置驅動之《字元裝置驅動》

linux裝置中最大的特點就是裝置操作猶如檔案操作一般,在應用層看來,硬體裝置只是乙個裝置檔案。應用程式可以像操作檔案一樣對硬體裝置進行操作,如open close read write 等。下面是乙個字元裝置驅動程式的簡單實現test.c 模組分析 1.初始化裝置驅動的結構體 struct fil...

Linux裝置驅動之字元裝置驅動

一 linux裝置的分類 linux系統將裝置分成三種基本型別,每個模組通常實現為其中某一類 字元模組 塊模組或網路模組。這三種型別有 字元裝置 字元裝置是個能夠像位元組流 類似檔案 一樣被訪問的裝置,由字元裝置驅動程式來實現這種特性。字元裝置可以通過檔案系統節點來訪問,比如 dev tty1等。這...