• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于ARM-Linux的網(wǎng)絡(luò)驅(qū)動程序設(shè)計(jì)

    2012-09-25 02:13:48孟傳良
    通信技術(shù) 2012年6期
    關(guān)鍵詞:網(wǎng)絡(luò)設(shè)備驅(qū)動程序網(wǎng)卡

    常 鋒, 孟傳良

    0 引言

    為了實(shí)現(xiàn) Linux操作系統(tǒng)的諸多網(wǎng)絡(luò)功能,需要設(shè)計(jì)出合適的網(wǎng)絡(luò)驅(qū)動程序。為了更好地設(shè)計(jì)出適合的網(wǎng)絡(luò)驅(qū)動程序,需要對其運(yùn)行機(jī)理有所了解[1]。由于Linux是開放源代碼的,這使得在Linux內(nèi)核中對相關(guān)的網(wǎng)絡(luò)設(shè)備驅(qū)動部分進(jìn)行修改提供了方便,可以對其網(wǎng)絡(luò)驅(qū)動程序部分進(jìn)行分析和改造,使其滿足特殊的應(yīng)用需要。這里就對 Linux內(nèi)核中的網(wǎng)絡(luò)驅(qū)動程序部分進(jìn)行了詳細(xì)的討論,并結(jié)合一個具體的實(shí)例,探討了如何設(shè)計(jì)出適合的網(wǎng)絡(luò)驅(qū)動程序。

    1 網(wǎng)絡(luò)設(shè)備驅(qū)動的運(yùn)行機(jī)理

    Linux中將設(shè)備分為3種類型:字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。它們的編寫方法大致相同,其中字符設(shè)備和塊設(shè)備可以像文件一樣被訪問,網(wǎng)絡(luò)設(shè)備的驅(qū)動是 Linux操作系統(tǒng)中一種比較特殊的應(yīng)用,它通常是通過套接字(Socket)這種接口來實(shí)現(xiàn)的[2]。在套接字機(jī)制中,系統(tǒng)和驅(qū)動程序之間通過專門的網(wǎng)絡(luò)接口負(fù)責(zé)數(shù)據(jù)的傳遞。應(yīng)用程序不能直接訪問網(wǎng)絡(luò)驅(qū)動程序,而只能通過網(wǎng)絡(luò)子系統(tǒng)與它進(jìn)行交互,網(wǎng)絡(luò)驅(qū)動程序異步地接收來自外界的數(shù)據(jù)[3]。

    1.1 網(wǎng)絡(luò)設(shè)備驅(qū)動的體系結(jié)構(gòu)

    Linux系統(tǒng)的優(yōu)點(diǎn)之一是它具有豐富而穩(wěn)定的網(wǎng)絡(luò)協(xié)議棧,不同于網(wǎng)絡(luò)理論中一般的OSI模型,Linux系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧一般分為4層。從上到下分別是:網(wǎng)絡(luò)協(xié)議接口層、網(wǎng)絡(luò)設(shè)備接口層、設(shè)備驅(qū)動功能層,以及網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)媒介層[4]。

    在這里,網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)媒介層提供訪問物理設(shè)備的驅(qū)動程序。設(shè)備驅(qū)動功能層的作用是為上層程序提供訪問外部設(shè)備的操作接口,并且實(shí)現(xiàn)設(shè)備的驅(qū)動程序,它通過hard_start_xmit()函數(shù)啟動發(fā)送操作,并通過網(wǎng)絡(luò)設(shè)備上的中斷觸發(fā)接受操作。網(wǎng)絡(luò)設(shè)備接口層向協(xié)議接口層提供統(tǒng)一的用于描述具體網(wǎng)絡(luò)設(shè)備屬性和操作的結(jié)構(gòu)體net_device,該結(jié)構(gòu)體是網(wǎng)絡(luò)設(shè)備驅(qū)動功能層中各函數(shù)的容器。網(wǎng)絡(luò)設(shè)備接口層負(fù)責(zé)對硬件設(shè)備驅(qū)動功能層的宏觀規(guī)劃。網(wǎng)絡(luò)協(xié)議接口層為網(wǎng)絡(luò)層協(xié)議提供了一個統(tǒng)一的數(shù)據(jù)包收發(fā)接口,而無需考慮上層協(xié)議類型,其中dev_queue_xmit()函數(shù)用來發(fā)送數(shù)據(jù),netif_rx()函數(shù)用來接受數(shù)據(jù)。這一層的設(shè)計(jì)可以使得上層協(xié)議無需考慮具體硬件的實(shí)現(xiàn)[5]。

    圖1 Linux網(wǎng)絡(luò)驅(qū)動體系結(jié)構(gòu)

    1.2 網(wǎng)絡(luò)驅(qū)動程序的主要功能

    網(wǎng)絡(luò)驅(qū)動程序完成的主要功能包括系統(tǒng)的初始化、數(shù)據(jù)包的發(fā)送和接收等[6]。系統(tǒng)的初始化是通過定義數(shù)據(jù)結(jié)構(gòu)net_device中的初始化函數(shù)init()實(shí)現(xiàn)的。初始化函數(shù)init()會檢測設(shè)備的硬件信息來確定是否對該設(shè)備分配資源空間,檢測完成后會往數(shù)據(jù)結(jié)構(gòu) net_device中填充該設(shè)備的信息,并將該新設(shè)備添加到新的設(shè)備列表中。

    數(shù)據(jù)包的發(fā)送與接收是網(wǎng)絡(luò)設(shè)備驅(qū)動程序的設(shè)計(jì)中最主要的內(nèi)容,對該部分驅(qū)動程序編寫的好壞會直接影響到驅(qū)動程序的整體質(zhì)量。網(wǎng)絡(luò)設(shè)備的發(fā)送需要用到協(xié)議接口層函數(shù)dev_queue_xmit(),通過它來調(diào)用數(shù)據(jù)結(jié)構(gòu)net_device中的hard_header函數(shù)指針,讀取存放在套接字緩沖區(qū)sk_buff里的數(shù)據(jù),并將數(shù)據(jù)發(fā)送到物理設(shè)備上。數(shù)據(jù)包的接收通常使用的是 netif_rx()函數(shù),當(dāng)?shù)讓佑布O(shè)備驅(qū)動程序收到數(shù)據(jù)包時,硬件會產(chǎn)生一個中斷信號,隨后系統(tǒng)就會通過調(diào)用netif_rx()函數(shù)將套接字緩沖區(qū)sk_buff里的數(shù)據(jù)上傳至網(wǎng)絡(luò)層。然后,套接字緩沖區(qū)sk_buff中的數(shù)據(jù)會被 netif_rx_schedule函數(shù)在上層協(xié)議隊(duì)列里進(jìn)行排隊(duì),以便接下來的處理。

    2 基于ARM的CS8900A驅(qū)動程序設(shè)計(jì)

    2.1 CS8900A網(wǎng)卡的介紹

    實(shí)例中,網(wǎng)絡(luò)控制器選用的是CS8900A局域網(wǎng)處理芯片。CS8900A是一款由CIRRUS LOGIC公司生產(chǎn)的16位以太網(wǎng)控制器,它具有功能強(qiáng)大、功耗較低、性能優(yōu)越等特點(diǎn)。該芯片的突出優(yōu)點(diǎn)是適應(yīng)性強(qiáng)、配置方便。它可對物理接口、數(shù)據(jù)傳輸模式和工作模式等根據(jù)不同的需要進(jìn)行動態(tài)的調(diào)整,亦可通過對其內(nèi)部寄存器的調(diào)整使之滿足不同應(yīng)用環(huán)境的需求。

    該芯片的內(nèi)部功能模塊所使用的訪問控制塊(MAC)的設(shè)計(jì)完全依照以太網(wǎng)IEEE 802.3標(biāo)準(zhǔn),具有通用性好的優(yōu)點(diǎn),可與當(dāng)今主流的嵌入式系統(tǒng)兼容。該芯片在處理發(fā)送和接收以太網(wǎng)數(shù)據(jù)幀時主要完成的工作有:檢測數(shù)據(jù)幀的發(fā)送和接收是否存在沖突,對發(fā)送的數(shù)據(jù)幀生成幀頭信息,對收到的數(shù)據(jù)幀的幀頭信息進(jìn)行檢測。此外,它還可對數(shù)據(jù)幀進(jìn)行CSC校驗(yàn)碼的生成和檢測。當(dāng)對其發(fā)送控制寄存器(TxCMD)進(jìn)行初始化配置后,可以使得訪問控制塊能夠自動檢測數(shù)據(jù)幀是否有沖突否則要求重傳。對于不符合 802.3標(biāo)準(zhǔn)的數(shù)據(jù)幀,比如少于46 Byte的數(shù)據(jù)幀,它可自動填充字段以補(bǔ)足不足部分使之滿足標(biāo)準(zhǔn)需求[7]。另外,CS8900A網(wǎng)卡還支持多種傳輸模式,包括I/O模式(該模式為CS8900A存儲區(qū)的默認(rèn)模式,配置較方便)和 Memory模式以及DMA模式。

    2.2 CS8900A網(wǎng)卡驅(qū)動設(shè)計(jì)分析

    網(wǎng)絡(luò)設(shè)備驅(qū)動程序的設(shè)計(jì)需要完成的主要工作是網(wǎng)絡(luò)設(shè)備的注冊、網(wǎng)絡(luò)設(shè)備的初始化和注銷,以及對發(fā)送和接收的數(shù)據(jù)進(jìn)行處理等,當(dāng)遇到傳輸超時和中斷的情況時還要求其能即時做出處理。由于Linux系統(tǒng)是開源的,可以很方便地查看其內(nèi)核的設(shè)備驅(qū)動源代碼,其中數(shù)據(jù)結(jié)構(gòu)和函數(shù)的模板已由Linux提供。因此,設(shè)計(jì)驅(qū)動程序時,要做的主要工作就是根據(jù)具體的網(wǎng)絡(luò)設(shè)備填充相應(yīng)的操作即可。這里,以CS8900A網(wǎng)卡驅(qū)動程序設(shè)計(jì)的實(shí)例來具體說明網(wǎng)絡(luò)設(shè)備驅(qū)動程序的具體實(shí)現(xiàn)過程。開發(fā)環(huán)境使用了arm-linux-gcc交叉工具鏈,采用Linux2.6.26內(nèi)核以及S3C2410開發(fā)板。

    2.2.1 網(wǎng)絡(luò)設(shè)備的初始化

    網(wǎng)絡(luò)設(shè)備的初始化是設(shè)計(jì)網(wǎng)絡(luò)驅(qū)動程序的第一步,該過程主要是通過結(jié)構(gòu)體net_device中的init()函數(shù)實(shí)現(xiàn)的。下面就以實(shí)例來說明初始化函數(shù)要完成的主要工作,這里將初始化函數(shù)設(shè)定為__init cs8900_probe():

    首先,通過以太網(wǎng)接口的函數(shù)ether_setup()的設(shè)置,告知系統(tǒng)需要使用的以太網(wǎng)接口,這里選擇默認(rèn)值即可;接下來,需要對 net_device結(jié)構(gòu)體中的大部分的設(shè)備成員進(jìn)行填充;然后,調(diào)用 check_mem_region()函數(shù),用來檢測要使用的 I/O地址空間,并向系統(tǒng)申請地址空間,這里使用的是以base_addr為起始地址的16個連續(xù)的I/O地址空間;接著還需要調(diào)用cs8900_read()函數(shù),用以檢測CS8900A的網(wǎng)卡信息,這里,設(shè)置網(wǎng)卡的INTRQ0為中斷信號的輸出引腳,并將網(wǎng)卡的 MAC地址寫入到CS8900A網(wǎng)卡的IA寄存器之中;最后,通過對初始化函數(shù)的定義在 register_netdev時的調(diào)用完成CS8900A網(wǎng)卡在Linux系統(tǒng)的設(shè)備鏈表中的注冊。

    2.2.2 網(wǎng)絡(luò)設(shè)備的打開與關(guān)閉

    網(wǎng)絡(luò)設(shè)備的打開和關(guān)閉是網(wǎng)絡(luò)驅(qū)動程序設(shè)計(jì)中必不可少的一環(huán)。由于Linux系統(tǒng)會響應(yīng)ifconfig命令,打開或者關(guān)閉一個網(wǎng)絡(luò)接口。這時,ifconfig命令會調(diào)用控制I/O設(shè)備的ioctl函數(shù)獲得設(shè)備信息和向設(shè)備發(fā)送控制參數(shù),該調(diào)用會設(shè)置flag的IFF_UP位對設(shè)備進(jìn)行打開操作,它可通過驅(qū)動程序的open方法來實(shí)現(xiàn)。這里,就以 cs8900_start()函數(shù)為實(shí)例來說明如何打開網(wǎng)絡(luò)設(shè)備,該函數(shù)要完成的主要工作包括如下:

    首先,使用request_irp()函數(shù)申請中斷,選擇中斷類型以及要申請中斷的網(wǎng)絡(luò)設(shè)備;然后,通過cs8900_set()函數(shù)對 CS8900A網(wǎng)卡中的各個寄存器進(jìn)行設(shè)置,并啟動該設(shè)備;最后,利用 netif_start_queue()函數(shù)指定要啟動發(fā)送隊(duì)列的設(shè)備,以便實(shí)現(xiàn)網(wǎng)絡(luò)的數(shù)據(jù)傳輸。

    2.2.3 網(wǎng)絡(luò)數(shù)據(jù)包的發(fā)送

    網(wǎng)絡(luò)數(shù)據(jù)包的發(fā)送和接收是驅(qū)動程序設(shè)計(jì)中要實(shí)現(xiàn)的兩個最重要的任務(wù)。發(fā)送數(shù)據(jù)包的一般過程是:首先,當(dāng)網(wǎng)絡(luò)設(shè)備加載到 Linux系統(tǒng)上時,會使用到結(jié)構(gòu)體 net_device中的 open方法,并通過hard_header()函數(shù)的調(diào)用來建立所用到的網(wǎng)絡(luò)設(shè)備的硬件幀頭信息。當(dāng)需要發(fā)送一個數(shù)據(jù)包時,它會調(diào)用hard_start_transmit函數(shù),該函數(shù)將會使用結(jié)構(gòu)體net_device中的hard_start_xmit()函數(shù),這是一個指向緩沖區(qū)sk_buff的指針,用以實(shí)現(xiàn)將緩沖區(qū)里的數(shù)據(jù)取出并發(fā)送到網(wǎng)絡(luò)設(shè)備上去。如果數(shù)據(jù)發(fā)送成功,hard_start_xmit()方法會釋放緩沖區(qū)sk_buff里的數(shù)據(jù),并返回0;如若硬件設(shè)備暫時無法處理,比如硬件忙,則返回為1。這時,如果tbusy的值是非0,則被系統(tǒng)任務(wù)認(rèn)為是硬件忙,需要等到 tbusy為 0時才可發(fā)送數(shù)據(jù)。一般,tbusy的置0任務(wù)是由系統(tǒng)的中斷來完成的。當(dāng)硬件發(fā)送數(shù)據(jù)任務(wù)結(jié)束后,會產(chǎn)生一個中斷,這時可以將tbusy置為0,以便通知系統(tǒng)進(jìn)行下次發(fā)送。這里以cs8900_send_start()發(fā)送函數(shù)為實(shí)例,介紹發(fā)送數(shù)據(jù)時所要完成的主要工作:

    首先,嘗試獲取自旋鎖,隨后中止網(wǎng)絡(luò)設(shè)備的發(fā)送隊(duì)列;然后,告知CS8900A需要發(fā)送數(shù)據(jù),以及數(shù)據(jù)的長度;接下來,通過讀取 PP_BusST寄存器,獲得CS8900A的狀態(tài),這要分三種情況,若寄存器TxBidErr置位,表示數(shù)據(jù)長度不合法,則返回錯誤,若寄存器Rdy4TxNOW沒被置位,表示硬件還沒準(zhǔn)備好,則返回錯誤,若一切正常,則開始發(fā)送數(shù)據(jù)幀;還要調(diào)用 cs8900_frame_write()函數(shù)發(fā)送數(shù)據(jù);最后,記錄數(shù)據(jù)幀的發(fā)送時間,以及釋放緩沖區(qū)。

    2.2.4 網(wǎng)絡(luò)數(shù)據(jù)包的接受和中斷處理

    數(shù)據(jù)包的接收過程一般是,當(dāng)數(shù)據(jù)包到達(dá)網(wǎng)絡(luò)設(shè)備時,會由硬件產(chǎn)生一個中斷,通知驅(qū)動程序進(jìn)行數(shù)據(jù)包的接收。中斷處理程序會向系統(tǒng)申請一段地址作為sk_buff緩沖區(qū),用以存放接收到的數(shù)據(jù)。當(dāng)接收到的數(shù)據(jù)存放到緩沖區(qū)后,還需要對其部分信息進(jìn)行填充,比如指定設(shè)備的結(jié)構(gòu)體、數(shù)據(jù)幀類型以及鏈路層數(shù)據(jù)類型等。最后,通過協(xié)議接口層函數(shù) netif_rx()的調(diào)用,把數(shù)據(jù)包交由上層來處理。這里,以接收函數(shù)cs8900_receive()為實(shí)例,說明網(wǎng)絡(luò)設(shè)備的接收數(shù)據(jù)過程:

    首先,通過讀取硬件寄存器,獲得CS8900A的狀態(tài),以及接收的數(shù)據(jù)長度;然后,狀態(tài)解析,若不是RxOK狀態(tài),還需判斷錯誤類型,分為三種情況:若為Runt或者Extradata狀態(tài),則表示數(shù)據(jù)包長度不合法,若為CRCerror狀態(tài),則表示數(shù)據(jù)包校驗(yàn)錯誤,若一切正常,則開始數(shù)據(jù)的接收;接下來,申請一塊緩沖區(qū),并調(diào)用 cs8900_frame_read()函數(shù)來接收數(shù)據(jù);最后,當(dāng)數(shù)據(jù)接收完成后,調(diào)用netif_rx()函數(shù)通知上層。

    3 CS8900A驅(qū)動程序的編譯于測試

    3.1 將設(shè)備驅(qū)動模塊編譯進(jìn)內(nèi)核

    網(wǎng)絡(luò)驅(qū)動程序設(shè)計(jì)好之后,還需要對這個內(nèi)核模塊進(jìn)行編譯,以自定義的這個內(nèi)核模塊作為Linux系統(tǒng)源碼的一部分編譯出新的系統(tǒng)內(nèi)核。下面就以Linux2.6.26內(nèi)核的開發(fā)環(huán)境為例,介紹如何將CS8900的網(wǎng)卡驅(qū)動模塊編譯進(jìn)Linux系統(tǒng)內(nèi)核。

    首先,在Linux2.6.26內(nèi)核的源碼主目錄(這里為/usr/src/linux2.6.26)中的drivers目錄下創(chuàng)建新的目錄 cs8900;然后,將之前編寫好的 cs8900.c和cs8900.h這兩個文件拷貝到該目錄下;接著,就可以編寫Makefile文件:

    #CS8900的Makefile文件

    obj -$(CONFIG_DRIVER_CS8900) +=cs8900.o

    同樣,Kconfig文件的編寫如下:

    #CS8900的網(wǎng)絡(luò)接口

    menu "網(wǎng)絡(luò)接口支持"

    config DRIVER_CS8900

    tristate "CS8900支持"

    source "drivers/cs8900/Kconfig"

    endmenu

    設(shè)置好之后,當(dāng)使用make menuconfig命令時,可以發(fā)現(xiàn)Device Drivers選項(xiàng)下會出現(xiàn)“網(wǎng)絡(luò)接口支持”選項(xiàng),選擇里面的 “CS8900支持”項(xiàng),可以看到它包括三種狀態(tài):即未選中,表示不編譯;選中(M),表示編譯該模塊;選中(*),表示將該模塊編譯為新系統(tǒng)的一部分。

    接下來,對該Linux2.6.26內(nèi)核進(jìn)行重新編譯,使得該內(nèi)核可以支持CS8900網(wǎng)卡驅(qū)動,然后,將編譯后的Linux內(nèi)核上載到S3C2410的開發(fā)板上,配置好相應(yīng)的網(wǎng)絡(luò)參數(shù),就可以對網(wǎng)卡驅(qū)動程序進(jìn)行測試了。

    3.2 測試結(jié)果

    網(wǎng)絡(luò)設(shè)備驅(qū)動測試主要是從底層硬件測試和上層網(wǎng)絡(luò)測試這兩個方面進(jìn)行。底層硬件測試的方法如下:在內(nèi)存中開辟兩塊區(qū)域M1和M2,并按照網(wǎng)絡(luò)數(shù)據(jù)包的格式設(shè)置初始值,將區(qū)域 M1中的數(shù)據(jù)通過網(wǎng)卡發(fā)送出去,通過回環(huán)的方式,最終由主機(jī)端接收到,存放到區(qū)域M2中;再將區(qū)域M2中的數(shù)據(jù)也通過網(wǎng)卡發(fā)送出去,并且接收回來。經(jīng)過多次的循環(huán),比較最終得到的數(shù)據(jù)包和之前設(shè)置的數(shù)據(jù)包是否是一致的。經(jīng)過測試后可以發(fā)現(xiàn),最底層的數(shù)據(jù)發(fā)送和接收是正確無誤的。

    上層網(wǎng)絡(luò)測試的方法如下:通過網(wǎng)線將目標(biāo)機(jī)和PC主機(jī)連接起來,并在目標(biāo)機(jī)端開啟tftp服務(wù),主機(jī)端則使用FlashFXP軟件,從主機(jī)分別傳送數(shù)個小于100 MB的大小不同的文件到目標(biāo)機(jī),再從目標(biāo)機(jī)將文件傳回主機(jī),這個過程進(jìn)行數(shù)次。最后查看平均的網(wǎng)絡(luò)傳輸速度。測試結(jié)果表明網(wǎng)卡驅(qū)動的工作正常,速度穩(wěn)定在5 Mbit/s左右。

    4 結(jié)語

    該設(shè)計(jì)結(jié)合CS8900A網(wǎng)絡(luò)芯片為例,分析了網(wǎng)絡(luò)設(shè)備驅(qū)動程序運(yùn)行的機(jī)理,詳細(xì)介紹了實(shí)現(xiàn)Linux網(wǎng)絡(luò)設(shè)備驅(qū)動程序的一般步驟和關(guān)鍵過程,重點(diǎn)說明每步中關(guān)鍵步驟設(shè)置和處理。一般 Linux網(wǎng)絡(luò)設(shè)備驅(qū)動程序的設(shè)計(jì)都有一定的模式[8-9],遵循這個模式,可以快速地設(shè)計(jì)出需要的驅(qū)動程序。分析了Linux內(nèi)核中的網(wǎng)絡(luò)驅(qū)動程序的工作機(jī)理,并結(jié)合一個實(shí)例,說明如何具體設(shè)計(jì)網(wǎng)絡(luò)驅(qū)動程序使之滿足應(yīng)用要求。通過對CS8900A網(wǎng)絡(luò)驅(qū)動程序設(shè)計(jì)的研究,對于其他相類似的網(wǎng)絡(luò)驅(qū)動程序的設(shè)計(jì)具有一定的參考價值。

    [1] 宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人民郵電出版社,2006.

    [2] 唐六華,唐建明,向紅權(quán).嵌入式Linux下OLED顯示功能模塊實(shí)現(xiàn)[J] .信息安全與通信保密,2009(06): 55-57.

    [3] 韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.

    [4] 李善平,劉文蜂. Linux內(nèi)核2.4版源代碼分析大全[M].北京:機(jī)械工業(yè)出版社,2002.

    [5] 科爾特.LINUX設(shè)備驅(qū)動程序[M].北京:中國電力出版社,2005.

    [6] 朱小可.尚觀科技[M].北京:尚觀科技,2008.

    [7] 沈金河.Web協(xié)議與實(shí)現(xiàn)[M].北京:科學(xué)出版社,2003.

    [8] 陳新, 翁秋華.基于Linux+ARM9的Wi-Fi網(wǎng)絡(luò)圖形化設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2012,45(03):60-62,65.

    [9] 楊永,萬曉榆,樊自甫..基于 ARM9嵌入式網(wǎng)管系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2008,41(03):68-70.

    猜你喜歡
    網(wǎng)絡(luò)設(shè)備驅(qū)動程序網(wǎng)卡
    在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
    一種基于C# 的網(wǎng)絡(luò)設(shè)備自動化登錄工具的研制
    Server 2016網(wǎng)卡組合模式
    數(shù)據(jù)中心唯“快”不破
    挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
    基于列車監(jiān)測網(wǎng)絡(luò)設(shè)備的射頻功放模塊設(shè)計(jì)
    基于三層交換技術(shù)架構(gòu)數(shù)字化校園網(wǎng)絡(luò)設(shè)備的配置與管理
    驅(qū)動程序更新與推薦
    驅(qū)動程序更新與推薦
    驅(qū)動程序更新與推薦
    亚洲精品乱久久久久久| 国产伦理片在线播放av一区| 精品国产国语对白av| 国产黄频视频在线观看| 午夜影院在线不卡| 激情五月婷婷亚洲| 日韩伦理黄色片| 免费观看在线日韩| 尾随美女入室| 乱码一卡2卡4卡精品| 热re99久久精品国产66热6| 亚洲高清免费不卡视频| 多毛熟女@视频| 99热国产这里只有精品6| 精品国产露脸久久av麻豆| 日韩一区二区视频免费看| 91久久精品电影网| 午夜福利视频在线观看免费| 久久精品国产亚洲网站| 亚洲欧美清纯卡通| 99九九线精品视频在线观看视频| 亚洲av.av天堂| 日韩av不卡免费在线播放| 亚洲av二区三区四区| 午夜免费观看性视频| 亚洲av在线观看美女高潮| 国产精品99久久99久久久不卡 | 中文精品一卡2卡3卡4更新| 成人手机av| 国产欧美亚洲国产| 国产精品人妻久久久久久| 一个人免费看片子| 晚上一个人看的免费电影| 曰老女人黄片| 大片免费播放器 马上看| 色哟哟·www| 国产成人精品婷婷| 七月丁香在线播放| 久久免费观看电影| 99精国产麻豆久久婷婷| 国产成人精品一,二区| 婷婷成人精品国产| 午夜91福利影院| 免费观看性生交大片5| a级毛片免费高清观看在线播放| 一区二区av电影网| 欧美日韩成人在线一区二区| 国产av精品麻豆| 91精品一卡2卡3卡4卡| 国产乱人偷精品视频| 亚洲欧美一区二区三区国产| 毛片一级片免费看久久久久| 多毛熟女@视频| 69精品国产乱码久久久| 久久国产精品大桥未久av| 精品亚洲成国产av| 日本黄色片子视频| 一区二区三区乱码不卡18| 精品一区在线观看国产| 亚洲一级一片aⅴ在线观看| 久久久午夜欧美精品| 成人亚洲欧美一区二区av| 成人午夜精彩视频在线观看| 伊人久久国产一区二区| 最近2019中文字幕mv第一页| 亚洲色图综合在线观看| 国产高清国产精品国产三级| 国产精品成人在线| 成人亚洲欧美一区二区av| 亚洲国产精品999| 亚洲欧美色中文字幕在线| 国产精品一二三区在线看| 久久99热这里只频精品6学生| 成人手机av| 女性生殖器流出的白浆| 亚洲丝袜综合中文字幕| 天天影视国产精品| 人妻夜夜爽99麻豆av| 国产又色又爽无遮挡免| 国产伦理片在线播放av一区| 国产日韩欧美亚洲二区| 美女视频免费永久观看网站| 蜜桃国产av成人99| 国产一级毛片在线| 日韩免费高清中文字幕av| 多毛熟女@视频| 欧美日韩视频精品一区| 18+在线观看网站| 免费观看性生交大片5| 你懂的网址亚洲精品在线观看| 少妇精品久久久久久久| 乱人伦中国视频| 久久久国产欧美日韩av| 天堂俺去俺来也www色官网| a 毛片基地| 亚洲国产精品成人久久小说| 一边摸一边做爽爽视频免费| 日韩免费高清中文字幕av| 国产高清有码在线观看视频| 亚洲国产精品一区三区| 免费av中文字幕在线| 国产精品人妻久久久影院| 欧美日韩精品成人综合77777| 18在线观看网站| a级毛片在线看网站| 国产成人精品无人区| 一级毛片黄色毛片免费观看视频| 免费看光身美女| 另类亚洲欧美激情| 蜜桃在线观看..| 亚洲欧美成人精品一区二区| 日韩一区二区视频免费看| 男女无遮挡免费网站观看| 久久精品国产鲁丝片午夜精品| 亚洲精品成人av观看孕妇| 日韩成人av中文字幕在线观看| 3wmmmm亚洲av在线观看| 天天操日日干夜夜撸| 亚洲成人av在线免费| 日韩在线高清观看一区二区三区| 亚洲精华国产精华液的使用体验| 亚洲国产精品999| 成年女人在线观看亚洲视频| 一级爰片在线观看| 亚洲国产毛片av蜜桃av| 国产日韩欧美在线精品| 亚洲性久久影院| 久久久久久久久久成人| 亚洲精品一二三| 国产不卡av网站在线观看| 男人添女人高潮全过程视频| 美女中出高潮动态图| 久久婷婷青草| 久久久久久久亚洲中文字幕| 老女人水多毛片| 在线观看人妻少妇| 精品视频人人做人人爽| 在线亚洲精品国产二区图片欧美 | 一级毛片电影观看| 亚洲欧美精品自产自拍| 久久精品国产亚洲av涩爱| 午夜视频国产福利| 美女中出高潮动态图| 日日摸夜夜添夜夜添av毛片| 久久婷婷青草| 久久这里有精品视频免费| 99久久综合免费| 国产 一区精品| 成人毛片a级毛片在线播放| 国产精品久久久久久久电影| 亚洲成人av在线免费| 少妇高潮的动态图| 人妻制服诱惑在线中文字幕| 99精国产麻豆久久婷婷| 午夜福利网站1000一区二区三区| 日韩人妻高清精品专区| 午夜福利网站1000一区二区三区| 母亲3免费完整高清在线观看 | 欧美亚洲日本最大视频资源| 午夜福利视频精品| 久久影院123| 国产精品欧美亚洲77777| 日韩伦理黄色片| 午夜福利,免费看| 久久久久国产精品人妻一区二区| a级毛色黄片| 少妇熟女欧美另类| 免费黄色在线免费观看| 蜜桃国产av成人99| 成年女人在线观看亚洲视频| 欧美+日韩+精品| 中文字幕人妻丝袜制服| 如日韩欧美国产精品一区二区三区 | 黑人巨大精品欧美一区二区蜜桃 | 日韩一区二区三区影片| 最近的中文字幕免费完整| 人妻系列 视频| 青春草国产在线视频| 特大巨黑吊av在线直播| 成年av动漫网址| 中文字幕人妻熟人妻熟丝袜美| 亚洲第一av免费看| 久久久欧美国产精品| 国产毛片在线视频| 免费看光身美女| videosex国产| 99视频精品全部免费 在线| 天堂中文最新版在线下载| 伊人亚洲综合成人网| 日产精品乱码卡一卡2卡三| 亚洲熟女精品中文字幕| 日本wwww免费看| 成人国产av品久久久| 最后的刺客免费高清国语| 亚洲四区av| 九色亚洲精品在线播放| 国产精品国产三级国产专区5o| 晚上一个人看的免费电影| videos熟女内射| 日韩电影二区| 亚洲第一av免费看| 另类亚洲欧美激情| 黄色配什么色好看| 成人亚洲精品一区在线观看| 一级毛片黄色毛片免费观看视频| 午夜福利网站1000一区二区三区| 精品人妻偷拍中文字幕| 日本与韩国留学比较| 五月伊人婷婷丁香| 精品久久久久久电影网| 各种免费的搞黄视频| 亚洲欧洲精品一区二区精品久久久 | 国产亚洲av片在线观看秒播厂| 亚洲第一av免费看| 国产伦理片在线播放av一区| 九草在线视频观看| 永久网站在线| 国产精品国产三级专区第一集| 少妇人妻 视频| 国产精品免费大片| av天堂久久9| 久久97久久精品| 国产免费一区二区三区四区乱码| 下体分泌物呈黄色| 丝袜在线中文字幕| 老女人水多毛片| 蜜桃在线观看..| 成人亚洲精品一区在线观看| 欧美精品人与动牲交sv欧美| 国产极品粉嫩免费观看在线 | 久久韩国三级中文字幕| 国产片特级美女逼逼视频| 成年av动漫网址| 日韩视频在线欧美| 人妻一区二区av| 制服丝袜香蕉在线| 久久精品国产自在天天线| 亚洲av福利一区| 精品卡一卡二卡四卡免费| 久久久久网色| 99热这里只有精品一区| 日韩欧美一区视频在线观看| 欧美xxⅹ黑人| 亚洲欧美成人综合另类久久久| 亚洲国产精品一区三区| 中文字幕精品免费在线观看视频 | 欧美日韩av久久| 亚洲人成网站在线播| 久久久欧美国产精品| 99精国产麻豆久久婷婷| 国产一区二区在线观看日韩| 激情五月婷婷亚洲| 能在线免费看毛片的网站| 99热6这里只有精品| 新久久久久国产一级毛片| 人妻制服诱惑在线中文字幕| 22中文网久久字幕| 亚洲av男天堂| 一级二级三级毛片免费看| 热99国产精品久久久久久7| 天堂俺去俺来也www色官网| 国产成人精品一,二区| 亚洲欧美色中文字幕在线| 18+在线观看网站| av有码第一页| 在线观看人妻少妇| 日韩电影二区| 99久久精品一区二区三区| videosex国产| 色网站视频免费| 日本av免费视频播放| 亚洲av.av天堂| 国产亚洲欧美精品永久| 欧美国产精品一级二级三级| 亚洲av电影在线观看一区二区三区| a 毛片基地| 中文字幕亚洲精品专区| 国产在线一区二区三区精| tube8黄色片| 一区二区日韩欧美中文字幕 | 热99久久久久精品小说推荐| 日韩成人伦理影院| 亚洲人成77777在线视频| 日本免费在线观看一区| 亚洲精品乱码久久久久久按摩| 蜜臀久久99精品久久宅男| av免费观看日本| 免费观看a级毛片全部| 亚洲国产精品专区欧美| 国产日韩一区二区三区精品不卡 | 亚洲高清免费不卡视频| 久久精品夜色国产| 免费看av在线观看网站| 麻豆精品久久久久久蜜桃| 国产精品久久久久久久久免| 亚洲人成网站在线播| 亚洲精品久久成人aⅴ小说 | 精品国产一区二区三区久久久樱花| 成人毛片60女人毛片免费| 日韩三级伦理在线观看| 国产男人的电影天堂91| 18禁在线播放成人免费| 最近中文字幕高清免费大全6| 91久久精品国产一区二区成人| 亚洲婷婷狠狠爱综合网| 超碰97精品在线观看| 又黄又爽又刺激的免费视频.| 国产精品不卡视频一区二区| 看十八女毛片水多多多| 91午夜精品亚洲一区二区三区| 亚洲精品久久久久久婷婷小说| 日本wwww免费看| 日本猛色少妇xxxxx猛交久久| 亚洲av男天堂| 国产一区二区三区av在线| 视频在线观看一区二区三区| 日产精品乱码卡一卡2卡三| 婷婷色麻豆天堂久久| 最黄视频免费看| 我的女老师完整版在线观看| 亚洲精品国产色婷婷电影| 久久人人爽av亚洲精品天堂| 午夜91福利影院| 中文字幕精品免费在线观看视频 | 久久免费观看电影| 天天操日日干夜夜撸| 久久99精品国语久久久| 久久久久久久久久久久大奶| 午夜av观看不卡| 少妇丰满av| 欧美日韩精品成人综合77777| 欧美日韩视频精品一区| 美女主播在线视频| 一级片'在线观看视频| 中文字幕av电影在线播放| 日韩亚洲欧美综合| 亚洲欧美色中文字幕在线| 国产高清不卡午夜福利| 免费播放大片免费观看视频在线观看| 又粗又硬又长又爽又黄的视频| 天美传媒精品一区二区| 久久久久精品性色| 亚洲国产毛片av蜜桃av| 久热这里只有精品99| 国产欧美亚洲国产| 91午夜精品亚洲一区二区三区| 制服诱惑二区| 中国三级夫妇交换| 18禁在线播放成人免费| 免费日韩欧美在线观看| 男男h啪啪无遮挡| a 毛片基地| 国产精品蜜桃在线观看| av黄色大香蕉| 精品人妻在线不人妻| 十八禁网站网址无遮挡| 寂寞人妻少妇视频99o| 日本av免费视频播放| 爱豆传媒免费全集在线观看| 国产av国产精品国产| 老司机影院成人| 999精品在线视频| 国产色婷婷99| 亚洲精品久久成人aⅴ小说 | 日韩电影二区| 亚洲精品一二三| 午夜福利在线观看免费完整高清在| 最新中文字幕久久久久| 男女边吃奶边做爰视频| 人人澡人人妻人| 国产成人aa在线观看| 秋霞在线观看毛片| 日本91视频免费播放| 欧美97在线视频| 老司机影院毛片| av在线观看视频网站免费| av免费在线看不卡| 国产国拍精品亚洲av在线观看| 91久久精品国产一区二区三区| 国产精品国产三级国产av玫瑰| 97在线视频观看| 亚洲人与动物交配视频| 老女人水多毛片| 国产伦理片在线播放av一区| 九九在线视频观看精品| 免费观看a级毛片全部| 丰满迷人的少妇在线观看| 亚洲av不卡在线观看| 国产成人一区二区在线| 亚洲欧洲国产日韩| 国模一区二区三区四区视频| 91成人精品电影| 老司机影院毛片| 国产一区二区在线观看日韩| 高清av免费在线| 精品人妻熟女av久视频| 精品视频人人做人人爽| 国产成人精品久久久久久| 草草在线视频免费看| 美女cb高潮喷水在线观看| 91成人精品电影| 成人免费观看视频高清| 久久久国产一区二区| 久久久久国产精品人妻一区二区| 99久久精品一区二区三区| 男女边摸边吃奶| 国产精品秋霞免费鲁丝片| 欧美另类一区| 久久久久网色| 欧美97在线视频| 天堂中文最新版在线下载| 99热网站在线观看| 亚洲综合精品二区| 少妇被粗大的猛进出69影院 | 老熟女久久久| av.在线天堂| 久久久久精品久久久久真实原创| 人人澡人人妻人| 久久久久久久国产电影| 丁香六月天网| 亚洲精品美女久久av网站| 亚洲精品亚洲一区二区| 97超视频在线观看视频| 久久韩国三级中文字幕| 香蕉精品网在线| 午夜福利,免费看| 亚洲一区二区三区欧美精品| 精品少妇久久久久久888优播| 免费黄网站久久成人精品| 免费高清在线观看日韩| 日本午夜av视频| 国产精品一区二区在线不卡| 99久久精品国产国产毛片| 97在线人人人人妻| 久久久久久久久久久免费av| 欧美日韩在线观看h| 国产欧美另类精品又又久久亚洲欧美| 久久精品久久精品一区二区三区| 少妇人妻精品综合一区二区| 欧美精品高潮呻吟av久久| 亚洲av二区三区四区| 国产精品一国产av| 国产精品欧美亚洲77777| 婷婷色综合www| 久久精品国产鲁丝片午夜精品| 国产精品99久久久久久久久| 国产永久视频网站| 久久人人爽人人爽人人片va| 大片免费播放器 马上看| 三上悠亚av全集在线观看| 国产精品人妻久久久久久| 国产免费一级a男人的天堂| 日韩中文字幕视频在线看片| av卡一久久| 妹子高潮喷水视频| 久久精品熟女亚洲av麻豆精品| 免费高清在线观看日韩| 成人黄色视频免费在线看| 狂野欧美激情性xxxx在线观看| 黄色视频在线播放观看不卡| 中文字幕久久专区| 免费观看av网站的网址| 又大又黄又爽视频免费| 精品久久久精品久久久| 十八禁高潮呻吟视频| 国产免费现黄频在线看| 亚洲av成人精品一二三区| 99久国产av精品国产电影| 久久99热6这里只有精品| 久久久欧美国产精品| a级毛片在线看网站| 九色成人免费人妻av| 精品少妇内射三级| 久久精品国产亚洲av天美| 国产精品一区二区三区四区免费观看| 免费人妻精品一区二区三区视频| 成人影院久久| 97精品久久久久久久久久精品| 日本爱情动作片www.在线观看| 中文字幕久久专区| 亚洲久久久国产精品| 久久人人爽人人爽人人片va| 亚洲,一卡二卡三卡| 婷婷色av中文字幕| 在线播放无遮挡| 免费观看a级毛片全部| xxxhd国产人妻xxx| 内地一区二区视频在线| 国产成人精品久久久久久| 日本爱情动作片www.在线观看| 晚上一个人看的免费电影| 夫妻性生交免费视频一级片| 亚洲精品色激情综合| 久久久久精品性色| 久久久欧美国产精品| 亚洲精品日韩在线中文字幕| 国产视频首页在线观看| 另类精品久久| 欧美日韩综合久久久久久| 十分钟在线观看高清视频www| 欧美精品亚洲一区二区| 在线精品无人区一区二区三| av福利片在线| 一本久久精品| 少妇的逼水好多| 日本av免费视频播放| 黄色毛片三级朝国网站| av在线老鸭窝| 男的添女的下面高潮视频| 亚洲欧洲精品一区二区精品久久久 | 国产精品久久久久久久久免| 亚洲在久久综合| 一级片'在线观看视频| 国产精品久久久久久久久免| 日本与韩国留学比较| 夜夜骑夜夜射夜夜干| 亚洲丝袜综合中文字幕| 美女国产视频在线观看| 欧美日韩av久久| 国产精品 国内视频| 久久久久久久精品精品| 中文字幕人妻熟人妻熟丝袜美| av免费观看日本| 国产日韩欧美视频二区| 寂寞人妻少妇视频99o| 人妻人人澡人人爽人人| 老司机影院毛片| 一级毛片我不卡| 永久网站在线| 免费日韩欧美在线观看| 亚洲中文av在线| 午夜免费鲁丝| 91成人精品电影| 久久久午夜欧美精品| 在线观看三级黄色| 韩国av在线不卡| 久久久久国产网址| 18禁在线播放成人免费| 亚洲精品一区蜜桃| 久久免费观看电影| 久久99热这里只频精品6学生| tube8黄色片| freevideosex欧美| 国产成人免费无遮挡视频| 亚洲av成人精品一区久久| 日本与韩国留学比较| 国产 精品1| 国产成人精品福利久久| 成人国产av品久久久| 免费不卡的大黄色大毛片视频在线观看| 五月天丁香电影| 十八禁网站网址无遮挡| 日本猛色少妇xxxxx猛交久久| a级毛色黄片| 夫妻性生交免费视频一级片| 国产片内射在线| 日韩欧美一区视频在线观看| 又大又黄又爽视频免费| 国产精品久久久久久精品电影小说| 亚洲无线观看免费| av一本久久久久| 亚洲精品乱码久久久v下载方式| 日韩av不卡免费在线播放| 久久久久精品性色| 黄色一级大片看看| 久久ye,这里只有精品| 日韩欧美一区视频在线观看| 99热国产这里只有精品6| 亚洲欧美中文字幕日韩二区| 男女无遮挡免费网站观看| av在线观看视频网站免费| 精品久久久精品久久久| 久久av网站| 一级毛片 在线播放| 一边摸一边做爽爽视频免费| 看免费成人av毛片| 亚洲综合色网址| 中文字幕制服av| 人人妻人人澡人人爽人人夜夜| 男女国产视频网站| 乱码一卡2卡4卡精品| 久久99蜜桃精品久久| 国产亚洲精品久久久com| 国产精品99久久久久久久久| 国产精品人妻久久久影院| 成人二区视频| 国产免费一级a男人的天堂| 高清不卡的av网站| 一级毛片aaaaaa免费看小| 日本wwww免费看| 麻豆乱淫一区二区| 久久人妻熟女aⅴ| 久久久久久久精品精品| 国产淫语在线视频| www.色视频.com| 在线观看www视频免费| 纵有疾风起免费观看全集完整版| 王馨瑶露胸无遮挡在线观看| 国产精品不卡视频一区二区| 国产一区亚洲一区在线观看| 中文字幕亚洲精品专区| 久久久午夜欧美精品| 春色校园在线视频观看| 不卡视频在线观看欧美| 色哟哟·www| 极品少妇高潮喷水抽搐| 婷婷色麻豆天堂久久| 嫩草影院入口| 久久这里有精品视频免费| 亚洲国产精品专区欧美| 久久99热6这里只有精品| 肉色欧美久久久久久久蜜桃| 成人漫画全彩无遮挡| 国产av一区二区精品久久| 国产高清有码在线观看视频|