linux/proc/devices和/dev區(qū)別
/proc/devices/中的設備是通過insmod加載到內核的,它可產(chǎn)生一個major供mknod作為 參數(shù)。
/dev/*.* 是通過mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c 254 0,用戶通過此設備名來訪問你的驅動。
設備 文件 ,設備編號 #ll -a /dev 在每一行都可以看到設備文件、設備編號(主、次)
對于每種硬件設備,系統(tǒng)內核有相應的設備驅動程序負責對它的處理。而在Unix 中,使用設備文件的方式來表示硬件設備,每種設備驅動程序都被抽象 為設備文件的形式,這樣就給應用程序一個一致的文件界面,方便應用程序和操作系統(tǒng)之間的通信。
習慣上,所有的設備文件 都放置在/dev 目錄下。
/proc/devices/中的設備是通過insmod加載到內核的,它可產(chǎn)生一個major供mknod作為 參數(shù) 。
/dev/*.* 是通過mknod加上去的,格式:mknod device1 c/b major minor 如:mknod dr1 c 254 0,用戶通過此設備名來訪問你的驅動。
mknod - make block or character special files
mknod [OPTION]… NAME TYPE [MAJOR MINOR]
option 有用的就是 -m 了
name 自定義
type 有 b 和 c 還有 p
主設備號
次設備號
主 設備號是由/usr/src/linux/include/linux/major.h定義的,如下定義了一個DOC設備:
#define IGEL_FLASH_MAJOR 62
假如有一個命令mknod doc b 62 0 :
其中的doc為定義的名 字,b指塊設備,0指的是整個DOC。如果把0換為1,則1指的是DOC的第一個分區(qū)。2是第2個,依次類推。