驅動裝置的復用

2021-07-26 02:22:24 字數 792 閱讀 6514

裝置復用的步驟:

1:註冊時連續註冊多個裝置,首先獲得起始裝置的裝置號

#define major 100

dev_t devno = mkdev(major,0)//起始裝置的主裝置號100,從裝置號0

2:註冊字元裝置函式:int register_chrdev_region(dev_t from,unsigned count,const char *name)

表示:從裝置號from開始,連續註冊count個裝置。公用裝置名稱name

3:初始化字元裝置:宣告乙個字元裝置:struct cdev c_dev;

初始化字元裝置的介面函式是:void cdev_init(struct cdev *cdev,const struct fileoperation *fops)

作用是:將裝置操作方法,與字元裝置繫結

4:新增字元裝置:

新增字元裝置的介面函式是:int cdev_add(struct cdev *p,dev_t dev,unsigned count)

從取得的裝置號開始,連續新增count 個裝置

5:建立裝置檔案:mknod /dev/***0 c 100 0

mknod /dev/***1 c 100 1

......

mknod /dev/***count c 100 count

6:應用程式開啟裝置檔案:fd0 = open(/dev/***0,0666);

fd1 = open(/dev/***1,0666);

fd2 = open(/dev/***count,0666);

裝置驅動例項 字元裝置驅動

在整個linux裝置驅動學習中,字元裝置驅動較為基礎。通過對它的學習,對裝置驅動進一步加深了解 cdev 結構體struct cdev 講下比較重要的成員變數 dev t dev 定義了32位的裝置號,其中12位是主裝置號,20位是從裝置號。獲取主裝置號 major dev t dev 獲取從裝置號...

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

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

字元裝置驅動與塊裝置驅動 網路裝置驅動的區別

在linux作業系統下有3類主要的裝置檔案型別 塊裝置 字元裝置和網路裝置。這種分類方法可以將控制輸入 輸出裝置的驅動程式與其他作業系統軟體分離開來。字元裝置是指訪問時沒有快取的裝置。典型的字元裝置包括滑鼠 鍵盤 序列口等。字元裝置與塊裝置的主要區別是 在對字元裝置發出讀 寫請求時,實際的硬體i o...