首頁 > 文章中心 > 驅(qū)動程序

      驅(qū)動程序

      前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇驅(qū)動程序范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

      驅(qū)動程序范文第1篇

      關(guān)鍵詞:wince 驅(qū)動程序;開發(fā);設(shè)計

      1 引言

      WINCE和Windows 98或Windows 2000不同,它可以工作在12種不同的處理器體系結(jié)構(gòu)、180余種CPU上;同時,WINCE是一個實(shí)時操作系統(tǒng)(實(shí)時系統(tǒng)的意義就是輸入的指令不必進(jìn)入隊列就可以馬上處理,過去我們使用的DDS就是實(shí)時系統(tǒng)),可以滿足應(yīng)用程序所需要的實(shí)時性要求。

      Windows CE的模塊化設(shè)計使得它能夠在大量的平臺上定制使用,從客戶電子設(shè)備到專用的工業(yè)控制器。由于它是模塊化的,因而我們可以使用滿足平臺系統(tǒng)需求的最小軟件模塊和組件集合來設(shè)計嵌入式系統(tǒng)平臺,從而使內(nèi)存用量最小,但最大可能地提高操作系統(tǒng)的性能。因此外圍擴(kuò)展設(shè)備就必須要有硬件驅(qū)動才能正常工作。

      和其它的操作系統(tǒng)一樣,Windows CE也提供設(shè)備驅(qū)動軟件,這些軟件的目的是驅(qū)動內(nèi)部和外圍的硬件設(shè)備,或為它們提供接口。設(shè)備驅(qū)動程序?qū)⒉僮飨到y(tǒng)和設(shè)備鏈接起來,使得操作系統(tǒng)能夠識別設(shè)備或者為應(yīng)用程序提供設(shè)備服務(wù)。

      Windows CE支持廣泛的基于各種CE平臺的設(shè)備驅(qū)動程序。也提供一些用于驅(qū)動程序開發(fā)的模型(model) ,其中包括來自其它操作系統(tǒng)的驅(qū)動程序模型(model),因為這些豐富多變的驅(qū)動程序模型, Windows CE適應(yīng)大部分的內(nèi)部和外圍設(shè)備口Microsoft Windows CE設(shè)備驅(qū)動程序工具包配備了文檔資料,這些文檔資料使得你能夠為Windows CE創(chuàng)建設(shè)備驅(qū)動程序。目前,Windows CE提供了四種設(shè)備模型,其中兩種是專用于Windows CE的模型,另外兩種外部模型來自其它操作系統(tǒng)。

      2 驅(qū)動程序開發(fā)簡介

      2.1 開發(fā)工具

      Windows CE驅(qū)動可以使用Platform Builder或者Visual Studio開發(fā),但是開發(fā)人員一般都使用Platform Builder開發(fā)設(shè)備驅(qū)動程序,對于部分驅(qū)動也會使用Visual Studio開發(fā),應(yīng)用程序開發(fā)人員更多的使用Visual Studio開發(fā)驅(qū)驅(qū)動程序。作為BSP(Board Support Package)的一部分進(jìn)行整體編譯開發(fā)。

      2.2 驅(qū)動分類

      2.2.1 按加載方式和接口類型分類

      1) 本機(jī)驅(qū)動程序(Built-In Drivers)

      通常由GWES加載,驅(qū)動接口一般都是定制的(Custom Purpose)。

      2) 流驅(qū)動程序(Stream Drivers)

      通常由Device Manager加載,驅(qū)動接口是標(biāo)準(zhǔn)的流式接口。

      3) 混和型驅(qū)動程序

      同時有定制式和流驅(qū)動兩套驅(qū)動接口,但是和系統(tǒng)交互只使用流式驅(qū)動接口,比如PC卡槽驅(qū)動。

      2.2.2 按驅(qū)動層次分類

      1) 層次型驅(qū)動程序(Layered Driver)

      > MDD(Model Device Driver),與硬件無關(guān),面向上層應(yīng)用程序,一般由微軟建立統(tǒng)一框架;

      > PDD(Platform Dependent Driver),針對具體硬件平臺的操作代碼,一般由驅(qū)動開發(fā)商實(shí)現(xiàn)MDD和PDD之間通過標(biāo)準(zhǔn)的設(shè)備驅(qū)動服務(wù)供應(yīng)商接口DDSI連接。

      2) 獨(dú)立型驅(qū)動程序(Monolithic Driver)

      > 獨(dú)立驅(qū)動程序包含了MDD面向上層應(yīng)用和PDD面向硬件平臺兩方面的代碼;

      > 適用于操作不復(fù)雜的驅(qū)動;

      > 減少了MDD和PDD傳遞之間傳遞信息的開銷,實(shí)時性更強(qiáng);

      3 流驅(qū)動程序的實(shí)現(xiàn)

          流驅(qū)動程序必須實(shí)現(xiàn)一套標(biāo)準(zhǔn)接口,流驅(qū)動程序適用于IO操作,這也是嵌入式系統(tǒng)中最常見的設(shè)備驅(qū)動,操作接口和文件系統(tǒng)操作相似,通過CreateFile,ReadFile,WriteFile,IOControl函數(shù)等來操作應(yīng)用程序和流驅(qū)動交互,可以把設(shè)備當(dāng)作文件操作。

      3.1 文件前綴名確定

          根據(jù)文件前綴名在系統(tǒng)中必須唯一這一特點(diǎn),在定義文件前綴名必須是三個字母,若有多個同類設(shè)備,由后綴一個阿拉伯?dāng)?shù)字區(qū)分,例如COM1,LPT3等等。文件前綴名將會在驅(qū)動的標(biāo)準(zhǔn)接口函數(shù)中體現(xiàn),比如XXX_Init,XXX_Close等。

      3.2 通用函數(shù)

          根據(jù)設(shè)備的不同,所需函數(shù)不同,通用函數(shù)如下所示:

      1) XXX_Init:通知設(shè)備管理器為設(shè)備初始化分配資源;

      2) XXX_Deinit:通知設(shè)備管理器回收設(shè)備初始化時分配的資源;

      3) XXX_Open:打開設(shè)備。應(yīng)用程序調(diào)用CreateFile時,通過文件系統(tǒng)映射為XXX_Open;

      4) XXX_Close:關(guān)閉設(shè)備。應(yīng)用程序調(diào)用CloseFile時,通過文件系統(tǒng)映射為XXX_Close;

      5) XXX_PowerUp:設(shè)備上電時,操作系統(tǒng)調(diào)用該函數(shù)完成必要的上電操作;

      6) XXX_PowerDown:設(shè)備掉電時,操作系統(tǒng)調(diào)用該函數(shù)完成必要的關(guān)機(jī)操作

      7) XXX_Read:從打開的設(shè)備文件中讀取數(shù)據(jù),可以通過ReadFile映射;

      8) XXX_Write:向打開的設(shè)備文件寫數(shù)據(jù),可以通過WriteFile映射;

      9) XXX_Seek:文件定位,根據(jù)設(shè)備情況決定是否支持;

      10) XXX_IOControl:IO操作擴(kuò)展,可以根據(jù)設(shè)備情況來決定支持何種特殊的操作模式。

      3.3 DEF文件建立

          流驅(qū)動一般以DLL形式存在,DEF文件定義了DLL需要導(dǎo)出的接口集,因此DEF文件的名稱與設(shè)備驅(qū)動名稱相同。

      3.4 寫注冊表

          在wince中任何設(shè)備的識別都是通過注冊表來實(shí)現(xiàn)的,因此必須在注冊表中添加具體的設(shè)備驅(qū)動項,以便系統(tǒng)識別。具體方法如下:

      在注冊表中增加驅(qū)動程序入口點(diǎn),找到注冊表項,注冊項位于注冊表的Root Key下,一般為[HKEY_LOCAL_MACHINEDriversBuiltInSampleDrv],建立必要的子鍵和鍵值,“Prefix”和“DLL”是兩個重要,而且是必須的鍵,分別描述了設(shè)備前綴名和驅(qū)動程序的動態(tài)連接庫名,然后根據(jù)具體設(shè)備的需要建立驅(qū)動程序需要的其子他鍵。

      4 調(diào)試驅(qū)動程序

      驅(qū)動程序編寫完畢后,就應(yīng)該進(jìn)行硬件的調(diào)試。具體方法如下:

      4.1 調(diào)試區(qū)信息(Debug Zone)

      調(diào)試區(qū)一般和WinCE的控制臺調(diào)試工具Cesh.exe配合調(diào)試,在不打斷OS運(yùn)行情況下,進(jìn)行驅(qū)動的實(shí)時調(diào)試,利用宏開關(guān),可以選擇需要輸出的調(diào)試區(qū)信息,可以得到進(jìn)程,線程和調(diào)試狀態(tài)信息。并且可以利用IDE環(huán)境,動態(tài)選擇開關(guān)調(diào)試區(qū)信息,但是打印驅(qū)動程序輸出調(diào)試信。必須借助于至少一種外設(shè)顯示調(diào)試信息,比如串口或者網(wǎng)卡或者其他通過調(diào)用RETAILMSG或者DEBUGMSG完成,不影響OS的運(yùn)行,保證驅(qū)動程序運(yùn)行的真實(shí)性,動態(tài)輸出設(shè)備的狀態(tài)信息,調(diào)試相對簡單,也是最廣泛使用的一種調(diào)試方法。

      4.2 核心調(diào)試工具(Kernel Debugger)

      核心調(diào)試工具將會禁止所有硬件中斷,掛起操作系統(tǒng),因此可以單步調(diào)試OS或者核心代碼,可以訪問堆棧信息,但是必須在Platform的環(huán)境下,利用至少一種外設(shè)進(jìn)行通信。

      4.3 硬件輔助調(diào)試方法

      利用硬件調(diào)試工具可以觀察物理設(shè)備的真實(shí)狀態(tài),一般常用的方法可以利用JTAG工具實(shí)時查看CPU內(nèi)部寄存器,利用邏輯分析儀或者示波器實(shí)時查看物理外設(shè)的輸入輸出狀態(tài)。利用指示LED來顯示驅(qū)動程序?qū)崟r狀態(tài)信息。

      4.4 Visual Studio調(diào)試

      可以利用VS內(nèi)置的調(diào)試工具進(jìn)行單步跟蹤,狀態(tài)調(diào)試等。

      5 測試驅(qū)動程序

      驅(qū)動程序經(jīng)過調(diào)試以后就需要對驅(qū)動的功能進(jìn)行測試。其常用的方法如下:

      1) 寫一個應(yīng)用程序來測試驅(qū)動程序的正確性

      2) 模擬各種可能發(fā)生的硬件輸入狀態(tài)來測試驅(qū)動程序的正確性

      3) 利用Windows CE自帶的測試工具CETK來測試驅(qū)動程序的性能和完備性

      6 驅(qū)動程序的集合和

      6.1 驅(qū)動程序集成

      驅(qū)動程序經(jīng)過調(diào)試和測試確定其正確性后,就可以對驅(qū)動程序進(jìn)行集成了。具體過程如下:

      1) 在BSP的Driver目錄下建立新的驅(qū)動文件夾MyDrv

      2) 實(shí)現(xiàn)MyDrv驅(qū)動以及相關(guān)的DEF文件

      3) 如果需要用到硬件中斷資源,修改原BSP中的相關(guān)中斷處理函數(shù)OEMInterruptEnable,OEMInterruptDisable,OEMInterruptDone,OEMInterruptHandler

      4) 在Platform.reg中,增加驅(qū)動程序相關(guān)項

      5) 在Platform.bib中,增加驅(qū)動程序的相關(guān)注冊表項MyDrv.Dll$(_FLATRELEASEDIR)MyDrv.dll NK SH

      6.2 驅(qū)動程序

      驅(qū)動程序進(jìn)過集成以后就可以使用了,具體的過程如下所示:

      1) 利用CAB Wizard生成.cab驅(qū)動包

      2) 直接提供驅(qū)動程序文件夾以及相關(guān)注冊表項和修改說明

      7 總結(jié)

      本為詳細(xì)的介紹了,wince下驅(qū)動開發(fā)的流程,介紹了驅(qū)動程序開發(fā)到的詳細(xì)過程,并詳細(xì)說明了各個部分的實(shí)現(xiàn)和操作方法,使是初學(xué)者對wince下驅(qū)動程序的開發(fā)流程和一般的開發(fā)工具有了初步的了解。

      驅(qū)動程序范文第2篇

      DriverMax2.5小資料:

      軟件語言 英文

      軟件授權(quán) 免費(fèi)軟件

      軟件大小 1891KB

      運(yùn)行環(huán)境 Windows Vista/2003/XP/2000/ NT/ Me/98/

      下載地址 省略/soft/44921.htm

      DriverMax是專門備份/恢復(fù)Windows驅(qū)動程序的軟件,當(dāng)然它也可以備份/恢復(fù)Vista驅(qū)動程序。DriverMax能夠找到電腦中所有硬件(例如顯示卡、聲卡、主板等)的驅(qū)動程序,然后讓你選擇對哪些驅(qū)動程序進(jìn)行備份,當(dāng)然你也可以備份系統(tǒng)中所有驅(qū)動程序。

      DriverMax備份了驅(qū)動程序之后,備份文件保存方式有兩種,一種是將驅(qū)動備份到指定的目錄中,另一種是打包壓縮成一個ZIP文件。如果你想節(jié)省空間,建議將驅(qū)動備份成ZIP文件加以保存。以后如果你想恢復(fù)系統(tǒng)中的驅(qū)動程序,只要運(yùn)行DriverMax進(jìn)行恢復(fù)操作,即可恢復(fù)之前的驅(qū)動程序。

      下載和安裝

      DriverMax當(dāng)前最高版本是2.5,請到省略/soft/44921.htm下載。下載完畢,點(diǎn)擊壓縮包中的drivermax_44921.exe文件進(jìn)行安裝;安裝完成會自動啟動DriverMax2.省略)即可。

      注冊郵箱最好使用國外的,例如yahoo(mail.省略)等郵箱,國內(nèi)的網(wǎng)易163郵箱(mail.省略)也可以。注冊完畢稍等片刻,到剛才填寫的郵箱(例如)中就能收到一封郵件,內(nèi)容包含一個注冊碼,回到DriverMax軟件,點(diǎn)擊“Enter registration code”輸入該注冊碼,按“確定”后,該軟件就變成正式版了,這樣以后你就能永遠(yuǎn)免費(fèi)使用該軟件了!

      備份Vista驅(qū)動程序

      DriverMax備份/恢復(fù)驅(qū)動程序的操作非常簡單,因為整個過程都會有操作精靈引導(dǎo)你,只要你按照提示進(jìn)行操作即可!如果你想備份當(dāng)前系統(tǒng)的驅(qū)動程序,請進(jìn)入DriverMax主畫面,單擊“Export drivers”按鈕,隨之會啟動操作精靈,出現(xiàn)一段說明。請點(diǎn)擊“Next”,軟件就會檢查系統(tǒng)中所有的驅(qū)動程序,檢查完畢會彈出一個畫面,顯示一張驅(qū)動程序清單。如果你不知道應(yīng)該備份系統(tǒng)中哪些有用的驅(qū)動程序,建議選擇畫面右下方的“All drivers”(圖2),然后點(diǎn)擊“Select all”按鈕,這樣就能備份系統(tǒng)中所有的驅(qū)動程序,不至于漏下某個驅(qū)動程序沒有備份!

      如果你想對系統(tǒng)中驅(qū)動搜索結(jié)果進(jìn)行修改,即希望指定搜索當(dāng)前系統(tǒng)中的某些驅(qū)動程序,請單擊右下角的“Settings”按鈕進(jìn)行設(shè)定。在彈出的“Display settings”對話框中,設(shè)定過濾驅(qū)動程序的5項條件(圖3),例如你選擇“Only show driver versions currently in use”,以后就會搜索、顯示當(dāng)前系統(tǒng)正在使用的驅(qū)動程序,設(shè)定完畢后單擊“OK”返回到驅(qū)動程序清單畫面;接下來,你可以勾選要備份的驅(qū)動程序,例如顯示卡、聲卡、主板芯片等,重要的必不可少的驅(qū)動都應(yīng)該勾選;

      勾選完畢點(diǎn)擊“Next”,會彈出一個提示框,詢問你如何保存驅(qū)動備份文件,你可以選擇將驅(qū)動程序直接備份到某個目錄中,或者將驅(qū)動備份成一個ZIP文件,注意如果你決定將驅(qū)動備份到指定的文件夾中,該文件夾必須是一個空目錄,否則軟件就會拒絕備份操作。

      設(shè)定好保存方式和路徑后,單擊“Next”按鈕,軟件就會開始對系統(tǒng)中的驅(qū)動程序進(jìn)行備份了;稍等片刻,備份完成,點(diǎn)擊Close大功告成!

      快速恢復(fù)Vista驅(qū)動程序

      平時備份好系統(tǒng)中的驅(qū)動程序,對電腦用戶來講非常重要!因為以后系統(tǒng)一旦被病毒破壞崩潰了,就需要重新安裝,接下來就需要重裝驅(qū)動程序。

      如果你想快速恢復(fù)Windows或者Vista驅(qū)動程序,可以運(yùn)行DriverMax2.5,然后單擊“Install drivers”,隨后彈出恢復(fù)驅(qū)動操作精靈,按“Next”,選擇從目錄或者ZIP文件中恢復(fù)驅(qū)動程序(圖5),然后根據(jù)提示即可恢復(fù)系統(tǒng)中原來的驅(qū)動程序。

      驅(qū)動程序范文第3篇

      方法1:

      1·在聯(lián)網(wǎng)狀態(tài)下,訪問設(shè)備提供商官網(wǎng)主頁,找到驅(qū)動程序下載頁面,選擇合適的版本下載并保存到本地硬盤。

      2·右擊“我的電腦”,依次點(diǎn)擊“屬性”、“硬件”、“設(shè)備管理器”,在彈出窗口中找到需要升級驅(qū)動程序的硬件,卸載并重新安裝設(shè)備驅(qū)動程序。

      方法2:

      在聯(lián)網(wǎng)狀態(tài)下,右擊“我的電腦”,然后依次點(diǎn)擊“屬性”、“硬件”、“設(shè)備管理器”,在彈出窗口中找到需要升級驅(qū)動程序的硬件,右擊,在彈出菜單中選擇“更新驅(qū)動程序”。然后按照提示一步步操作。

      升級BIOS:

      驅(qū)動程序范文第4篇

      關(guān)鍵詞:PCI; vxworks;驅(qū)動程序;運(yùn)動控制卡

      中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)29-6966-03

      VxWorks是目前世界上用戶數(shù)量最大的實(shí)時嵌入式操作系統(tǒng), 它具有高度可剪裁的微內(nèi)核結(jié)構(gòu)、高效的多任務(wù)調(diào)度、靈活的任務(wù)間通信手段、快速靈活的I/O系統(tǒng)、確定的微妙級中斷延遲時間等優(yōu)點(diǎn)。

      本文介紹了基于PCI 接口規(guī)范的通用運(yùn)動控制卡在VxWorks下的驅(qū)動程序的設(shè)計。對其設(shè)計驅(qū)動程序需要對實(shí)時操作系統(tǒng)、實(shí)時軟件設(shè)計、硬件設(shè)備有深入的了解。因此, 該設(shè)計不僅本身具有很高的應(yīng)用價值, 也為實(shí)時驅(qū)動程序的設(shè)計提供了一個樣例。

      1 系統(tǒng)組成

      在基于微機(jī)的數(shù)據(jù)采集、處理與控制系統(tǒng)中,計算機(jī)接口卡常常是其中的關(guān)鍵硬件設(shè)備。目前在運(yùn)動控制領(lǐng)域,各類運(yùn)動控制卡得到廣泛運(yùn)用,其中以工控機(jī)通過ISA或PCI等系統(tǒng)總線連接運(yùn)動控制卡的主從式結(jié)構(gòu)最為流行,由工控機(jī)發(fā)出控制指令和參數(shù),控制卡根據(jù)接收到的指令及參數(shù)完成具體控制功能。由于PCI總線的高速和即插即用特性,使其取代ISA被廣泛應(yīng)用于高速數(shù)據(jù)采集與傳輸?shù)认到y(tǒng)中,有效地解決了實(shí)時采集、實(shí)時傳輸和實(shí)時存儲等問題。

      2 PCI 配置空間

      PCI系統(tǒng)具有三種地址空間:存儲器空間、I/O空間和配置空間。每個PCI設(shè)備都有64個配置雙字用于實(shí)現(xiàn)配置寄存器,64個配置雙字分為兩部分,⑴PCI協(xié)議定義了開頭16個雙字的格式和用途,稱為設(shè)備的配置頭區(qū)域;⑵其它48個雙字的用途是由設(shè)備指定的。目前PCI協(xié)議定義了兩種頭區(qū)域格式,第1類配置頭區(qū)域用于定義PCI-PCI橋,而第0類配置頭區(qū)域用于定義其它PCI設(shè)備。所有的PCI設(shè)備,包括PCI-PCI橋都必須實(shí)現(xiàn)下述配置寄存器:廠商標(biāo)志、設(shè)備標(biāo)志、命令、狀態(tài)、分類碼、版本標(biāo)志和頭區(qū)域類型寄存器。如表1所示為PCI配置寄存器。這些寄存器對編程訪問PCI設(shè)備至關(guān)重要,我們就是利用vendor ID 和device ID來枚舉出對應(yīng)的設(shè)備,再進(jìn)一步獲得設(shè)備的其他信息的。

      3 驅(qū)動程序的開發(fā)

      VxWorks 提供在指定目標(biāo)系統(tǒng)上運(yùn)行的板級支持包(BSP),本文選用的是針對pentium的板級支持包。VxWorks是支持PCI總線的,提供了一些庫函數(shù)專門用來訪問PCI設(shè)備。為了調(diào)用這些函數(shù)以方便開發(fā),需要包含如下頭文件"iosLib.h"、"pciConfigLib.h"、"pciIntLib.h"、"sysLib.h"和"pciLocalBus.h",還需要導(dǎo)入sysOutLong()和sysInByte()等函數(shù)。在config.h里面定義INCLUDE_PCI以添加VxWorks對PCI的支持,還可以定義PCI_CFG_TYPE為PCI_CFG_FORCE、PCI_CFG_AUTO 或 PCI_CFG_NONE,我們一般定義為PCI_CFG_NONE,Vxworks只需把配置好的信息讀出來就可以了。

      針對PCI 總線結(jié)構(gòu)的數(shù)據(jù)采集模塊,其驅(qū)動程序的主要開發(fā)步驟如下:確定設(shè)備的PCI 配置信息確定設(shè)備的內(nèi)部存儲器、寄存器基地址及中斷號設(shè)備初始化中斷服務(wù)程序設(shè)備各功能函數(shù)。以下按照程序執(zhí)行的順序分步驟給出源代碼,并加以詳細(xì)的說明。

      4 結(jié)束語

      利用上文所述的方法編寫的驅(qū)動程序,達(dá)到了本項目所要求的性能指標(biāo),系統(tǒng)經(jīng)過實(shí)際驗證是高速穩(wěn)定可靠的,而且由于PCI總線的即插即用特性,不需要用戶去手動跳線,極大得方便了使用。

      參考文獻(xiàn):

      [1] microsoft msdn[EB].2001.

      驅(qū)動程序范文第5篇

      2、選擇添加本地打印機(jī)后點(diǎn)擊下一步。

      3、選擇使用現(xiàn)有的端口后點(diǎn)擊下一步。

      4、選擇打印機(jī)廠商和驅(qū)動程序后點(diǎn)擊下一步。

      5、打印機(jī)名稱使用默認(rèn) ,點(diǎn)擊下一步。

      6、選擇不共享這臺打印機(jī)后進(jìn)行下一步。

      亚洲人成人77777网站不卡 | 亚洲成AⅤ人影院在线观看| 亚洲成AV人片在线播放无码| 亚洲免费一区二区| 亚洲国产香蕉人人爽成AV片久久 | 久久亚洲精品国产精品婷婷| 亚洲精品视频久久| 亚洲高清美女一区二区三区| 18亚洲男同志videos网站| 久久久久亚洲AV片无码下载蜜桃| 亚洲综合激情另类专区| 亚洲av片一区二区三区| 亚洲毛片网址在线观看中文字幕 | 久久亚洲国产成人亚| 亚洲日本在线观看| 久久亚洲AV无码精品色午夜| 亚洲第一页在线视频| 亚洲一级片在线播放| 亚洲人成在线精品| 国产亚洲精品影视在线| 亚洲人av高清无码| 精品国产日韩亚洲一区91| 亚洲äv永久无码精品天堂久久| 亚洲av乱码中文一区二区三区| 国产精品亚洲一区二区三区久久| gogo全球高清大胆亚洲| 亚洲一区二区精品视频| 亚洲中文久久精品无码ww16| 久久久影院亚洲精品| 亚洲福利视频网址| 亚洲国产综合精品中文第一| 亚洲s码欧洲m码吹潮| 亚洲精品tv久久久久久久久久| 亚洲熟妇中文字幕五十中出| 亚洲av不卡一区二区三区| 亚洲成人网在线播放| 亚洲中文字幕精品久久| 亚洲欧美在线x视频| 中文字幕第13亚洲另类| 久久亚洲伊人中字综合精品| 亚洲另类精品xxxx人妖|