新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > linux/proc/devices和/dev區(qū)別

linux/proc/devices和/dev區(qū)別

作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

/proc/devices/中的設(shè)備是通過insmod加載到內(nèi)核的,它可產(chǎn)生一個major供mknod作為 參數(shù)。

本文引用地址:http://2s4d.com/article/201610/305911.htm

/dev/*.* 是通過mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c 254 0,用戶通過此設(shè)備名來訪問你的驅(qū)動。

設(shè)備 文件 ,設(shè)備編號 #ll -a /dev 在每一行都可以看到設(shè)備文件、設(shè)備編號(主、次)

對于每種硬件設(shè)備,系統(tǒng)內(nèi)核有相應(yīng)的設(shè)備驅(qū)動程序負(fù)責(zé)對它的處理。而在Unix 中,使用設(shè)備文件的方式來表示硬件設(shè)備,每種設(shè)備驅(qū)動程序都被抽象 為設(shè)備文件的形式,這樣就給應(yīng)用程序一個一致的文件界面,方便應(yīng)用程序和操作系統(tǒng)之間的通信。

習(xí)慣上,所有的設(shè)備文件 都放置在/dev 目錄下。

/proc/devices/中的設(shè)備是通過insmod加載到內(nèi)核的,它可產(chǎn)生一個major供mknod作為 參數(shù) 。

/dev/*.* 是通過mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c 254 0,用戶通過此設(shè)備名來訪問你的驅(qū)動。

mknod - make block or character special files

mknod [OPTION]… NAME TYPE [MAJOR MINOR]

option 有用的就是 -m 了

name 自定義

type 有 b 和 c 還有 p

主設(shè)備號

次設(shè)備號

主 設(shè)備號是由/usr/src/linux/include/linux/major.h定義的,如下定義了一個DOC設(shè)備:

#define IGEL_FLASH_MAJOR 62

假如有一個命令mknod doc b 62 0 :

其中的doc為定義的名 字,b指塊設(shè)備,0指的是整個DOC。如果把0換為1,則1指的是DOC的第一個分區(qū)。2是第2個,依次類推。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉