Linux裝置驅動程式 字元裝置驅動程式

2021-06-25 13:51:35 字數 819 閱讀 9838

1.檢視主裝置號,次裝置號

進入/dev目錄執行ls -l,第四,五列分別為主次裝置號,10,180,1,5,這些是主裝置號,而60,63這些就是次裝置號

130|shell@android:/dev # ls -l

crw-rw-r-- system   radio     10,  60 1969-12-31 21:00 alarm

crw-rw-rw- root     root      10,  63 1969-12-31 21:00 ashmem

crw-rw-rw- root     root      10,  59 1969-12-31 21:00 binder

crw-rw-rw- root     root     180, 194 1969-12-31 21:00 btusb0

2.儲存裝置編號

在linux/types.h中定義了dev_t來儲存裝置編號:

typedef __u32 __kernel_dev_t;

typedef __kernel_dev_t          dev_t;

這是個32位的數,前12位儲存主裝置號,後20位儲存次裝置號

major(dev_t dev)獲取主裝置號

minor(dev_t dev)獲取次裝置號

mkdev(int major,int minor)將主次裝置號轉換成dev_t型別

3.建立乙個字元裝置

首先要獲得裝置編號

//liunux/fs.h

extern int register_chrdev_region(dev_t, unsigned, const char *);

linux裝置驅動程式 字元裝置驅動程式

先留個 有一起學習驅動程式的加qq295699450 字元裝置驅動 這篇比較惱火。載入成功,但是讀不出來資料,有知道怎麼回事的,留個言,一起討論下 資料結構 struct scull mem struct scull dev dev 整個驅動程式 如下 include include include...

裝置驅動 字元裝置驅動程式

linux下的應用程式在訪問字元裝置時,一般都是通過裝置檔案訪問的。裝置檔案一般都存放在 dev目錄下。字元裝置檔案的第乙個標誌是c,如下所示 總結 每乙個檔案代表乙個裝置,在時間前面有兩個用逗號隔開的數字,第乙個數字是主裝置號,第二個數字是次裝置號。一般認為乙個主裝置號對應乙個驅動程式,這裡列出的...

Linux裝置驅動程式 字元裝置驅動程式設計

linux對裝置的操作與對檔案的操作是一樣的,可以看到乙個裝置所對應的檔案。我們平時用的read write等函式也可以用於裝置檔案。字元裝置 以字元為單位 按照順利操作 沒有快取區,故不支援隨機讀寫 例外 幀快取裝置,如顯示卡,是可以隨機訪問的 裝置號由主裝置號與次裝置號組成。主裝置號標識裝置對應...