在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 如何在嵌入式LINUX中增加自己的設(shè)備驅(qū)動(dòng)程序

            如何在嵌入式LINUX中增加自己的設(shè)備驅(qū)動(dòng)程序

            ——
            作者: 時(shí)間:2007-03-05 來(lái)源: 收藏

            驅(qū)動(dòng)程序的使用可以按照兩種方式編譯,一種是靜態(tài)編譯進(jìn)內(nèi)核,另一種是編譯成模塊以供動(dòng)態(tài)加載。由于uC不支持模塊動(dòng)態(tài)加載,而且嵌入式LINUX不能夠象桌面LINUX那樣靈活的使用insmod/rmmod加載卸載設(shè)備驅(qū)動(dòng)程序,因而這里只介紹將設(shè)備驅(qū)動(dòng)程序靜態(tài)編譯進(jìn)uC內(nèi)核的方法。
            下面以UCLINUX為例,介紹在一個(gè)以模塊方式出現(xiàn)的驅(qū)動(dòng)程序test.c基礎(chǔ)之上,將其編譯進(jìn)內(nèi)核的一系列步驟:

            (1) 改動(dòng)test.c源帶代碼
            第一步,將原來(lái)的:
            #include </module.h>
            #include <linux/version.h>
            char kernel_version[]=UTS_RELEASE;
            改動(dòng)為:
            #ifdef MODULE
            #include <linux/module.h>
            #include <linux/version.h>
            char kernel_version[]=UTS_RELEASE;
            #else
            #define MOD_INC_USE_COUNT
            #define MOD_DEC_USE_COUNT
            #endif
            第二步,新建函數(shù)int init_test(void)
            將設(shè)備注冊(cè)寫在此處:
            result=register_chrdev(254,"test",&test_fops);


            (2) 將test.c復(fù)制到/uclinux/linux/drivers/char目錄下,并且在/uclinux/linux/drivers/char目錄下mem.c中,int chr_dev_init( )函數(shù)中增加如下代碼:
            #ifdef CONFIG_TESTDRIVE
            init_test();
            #endif

            (3) 在/uclinux/linux/drivers/char目錄下Makefile中增加如下代碼:
            ifeq($(CONFIG_TESTDRIVE),y)
            L_OBJS+=test.o
            Endif

            (4) 在/uclinux/linux/arch/m68knommu目錄下config.in中字符設(shè)備段里增加如下代碼:
            bool 'support for testdrive' CONFIG_TESTDRIVE y

            (5) 運(yùn)行make menuconfig(在menuconfig的字符設(shè)備選項(xiàng)里你可以看見我們剛剛添加的'support for testdrive'選項(xiàng),并且已經(jīng)被選中);make dep;make linux;make linux.text;make linux.data;cat linux.text linux.data > linux.bin。
            (6) 在 /uclinux/romdisk/romdisk/dev/目錄下創(chuàng)建設(shè)備:
            mknod test c 254 0
            并且在/uclinux/appsrc/下運(yùn)行make,生成新的Romdisk.s19文件。

            到這里,在UCLINUX中增加設(shè)備驅(qū)動(dòng)程序的工作可以說是完成了,只要將新的linux.bin與Romdisk.s19燒入目標(biāo)板中,你就可以使用自己的新設(shè)備test了。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


            關(guān)鍵詞: linux

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉