新聞中心

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

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

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

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

        本文引用地址:http://www.104case.com/article/201610/305911.htm

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

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

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

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

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

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

        mknod - make block or character special files

        mknod [OPTION]… NAME TYPE [MAJOR MINOR]

        option 有用的就是 -m 了

        name 自定義

        type 有 b 和 c 還有 p

        主設(shè)備號(hào)

        次設(shè)備號(hào)

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

        #define IGEL_FLASH_MAJOR 62

        假如有一個(gè)命令mknod doc b 62 0 :

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



        關(guān)鍵詞:

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 山阳县| 建瓯市| 格尔木市| 甘德县| 安龙县| 泉州市| 青浦区| 青海省| 天等县| 碌曲县| 招远市| 庆阳市| 广西| 萝北县| 开封县| 岑溪市| 佛坪县| 礼泉县| 尉犁县| 武胜县| 泸州市| 通山县| 高唐县| 新密市| 夏津县| 慈溪市| 舒城县| 湖州市| 呼伦贝尔市| 聊城市| 莱西市| 胶州市| 突泉县| 洪雅县| 晋江市| 新化县| 宁河县| 乌拉特中旗| 噶尔县| 鄯善县| 肥乡县|