亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式實(shí)裝軟件虛擬運(yùn)行環(huán)境研究

        2014-12-23 01:28:30王源源賀紅衛(wèi)宋光照
        關(guān)鍵詞:嵌入式環(huán)境

        王源源,賀紅衛(wèi),劉 冰,宋光照

        (1.中國航天科工集團(tuán)第二研究院706所,北京100854;2.中國兵器工業(yè)計(jì)算機(jī)應(yīng)用技術(shù)研究所,北京100089)

        0 引 言

        大型軟件系統(tǒng)的研發(fā)是一項(xiàng)復(fù)雜的系統(tǒng)工程,現(xiàn)有大量大型系統(tǒng)軟件基于嵌入式實(shí)時操作系統(tǒng)開發(fā),許多工作的開展依賴于特定硬件,給開發(fā)和調(diào)試帶來諸多不便。因此在通用平臺上構(gòu)建嵌入式軟件虛擬運(yùn)行環(huán)境的重要性不言而喻,在通用平臺上開發(fā)調(diào)試嵌入式實(shí)裝軟件能充分地利用通用計(jì)算機(jī)的高配置、優(yōu)秀的人機(jī)界面及開發(fā)編程資源,有效的使嵌入式實(shí)裝軟件的開發(fā)和調(diào)試過程脫離特定的硬件?,F(xiàn)有的開發(fā)工具如VxSim 必須與Tornado環(huán)境配合使用且不開源,擴(kuò)展性和安全性無法保障。該論文設(shè)計(jì)實(shí)現(xiàn)了一種虛擬運(yùn)行環(huán)境,該環(huán)境使嵌入式實(shí)裝軟件能脫離對特定硬件的依賴運(yùn)行在通用計(jì)算機(jī)上,因此開發(fā)人員可在通用計(jì)算機(jī)上開發(fā)嵌入式實(shí)裝軟件、搭建各子系統(tǒng)軟件的聯(lián)合調(diào)試環(huán)境,能夠提高開發(fā)效率,縮短裝備系統(tǒng)的軟件研發(fā)周期。另外,該虛擬運(yùn)行環(huán)境支持在單臺計(jì)算機(jī)上配置運(yùn)行多個實(shí)裝軟件,減少了聯(lián)合調(diào)試需要的計(jì)算機(jī)結(jié)點(diǎn)數(shù)。

        1 Win32平臺+RTX簡介

        Windows是一個通用的操作系統(tǒng)平臺,它以優(yōu)秀的體系結(jié)構(gòu),廣泛的硬件支持,豐富的應(yīng)用程序接口以及人性化的圖形界面占據(jù)著通用操作系統(tǒng)的大部分市場。但是在需要硬實(shí)時特性的領(lǐng)域,如醫(yī)療、通信、航空航天等,Windows不能滿足要求。RTX 是美國的Ardence(已被IntervalZero收購)公司為了使Windows操作系統(tǒng)能滿足硬實(shí)時系統(tǒng)嚴(yán)格的響應(yīng)時間要求而在Windows上做的擴(kuò)展,其原理是在Windows平臺上提供一個實(shí)時子系統(tǒng)[1]。

        通過實(shí)際的測評,Windows+RTX 能滿足硬實(shí)時性,其實(shí)時性接近于VxWorks操作系統(tǒng)。原因如下[2]:

        (1)RTX 為Windows添加了一個實(shí)時子系統(tǒng)RTSS,如圖1 所示。RTSS 類似于Windows 的其它子系統(tǒng) (如Win32,DOS),RTSS有獨(dú)立的運(yùn)行環(huán)境和API,有自己的線程調(diào)度器,采用搶占式調(diào)度策略。并且,當(dāng)一個RTSS線程運(yùn)行時,所有Windows管理的中斷會被屏蔽掉,包括延遲過程調(diào)用。

        (2)RTX 含有一個定制的實(shí)時擴(kuò)展硬件抽象層(HAL)。這個擴(kuò)展通過控制處理器級的中斷來避免Windows屏蔽RTSS管理的中斷。該實(shí)時擴(kuò)展還支持著RTSS環(huán)境的定時器以及高精度時鐘。

        圖1 RTX 整體結(jié)構(gòu)

        2 虛擬運(yùn)行環(huán)境構(gòu)建方案

        根據(jù)以上分析及大量裝備系統(tǒng)嵌入式實(shí)裝軟件基于VxWorks操作系統(tǒng)研發(fā)這個事實(shí),本文針對VxWorks 5.5嵌入式實(shí)時操作系統(tǒng),在安裝有RTX 擴(kuò)展的Windows XP環(huán)境下構(gòu)建嵌入式實(shí)裝軟件的虛擬運(yùn)行環(huán)境。

        2.1 總體框架

        VxWorks操作系統(tǒng)功能強(qiáng)大,其軟件平臺具備組件式結(jié)構(gòu)[3],包括核心內(nèi)核功能和依賴內(nèi)核的外圍功能,這些組件的功能以各種功能庫的集合提供給應(yīng)用程序,其庫由400多個相對獨(dú)立、短小的目標(biāo)模塊組成[4,5],我們只關(guān)注在實(shí)裝軟件中用到的基本組件,包括內(nèi)核、I/O 系統(tǒng)、文件系統(tǒng)和網(wǎng)絡(luò)通信。內(nèi)核提供的功能按照功能庫可分為任務(wù)管理模塊、信號量模塊、消息隊(duì)列模塊、時鐘管理模塊等。虛擬運(yùn)行環(huán)境的構(gòu)建即實(shí)現(xiàn)上述各功能模塊的庫函數(shù)接口。虛擬運(yùn)行環(huán)境的結(jié)構(gòu)如圖2所示。

        圖2 虛擬運(yùn)行環(huán)境總體框

        2.2 內(nèi)核組件的虛擬

        由前面的分析可知,在RTSS環(huán)境中RTX 提供的函數(shù)為實(shí)時函數(shù),因此內(nèi)核的虛擬我們只需關(guān)注如何利用RTX提供的實(shí)時函數(shù)設(shè)計(jì)實(shí)現(xiàn)VxWorks 5.5內(nèi)核提供的庫函數(shù)接口。下面以圖2中內(nèi)核組件中的任務(wù)管理、信號量好消息隊(duì)列為例分析內(nèi)核的虛擬實(shí)現(xiàn)。

        2.2.1 任務(wù)管理

        任務(wù)的定義請參見文獻(xiàn) [6]。VxWorks 5.5 內(nèi)核的任務(wù)管理通過taskSpawn等函數(shù)提供了任務(wù)創(chuàng)建、刪除和控制任務(wù)等功能。

        RTX 提供了大量線程管理的實(shí)時函數(shù)接口,與Vx-Works 5.5任務(wù)管理函數(shù)的部分接口對比見表1。

        表1 兩平臺任務(wù)/線程接口函數(shù)對比

        從表1中可以看出,RTX 提供了許多與VxWorks 5.5的任務(wù)管理函數(shù)類似的線程管理函數(shù),但這些函數(shù)間又存在區(qū)別,下面是對這些區(qū)別及其解決方法的分析。

        首先是參數(shù)的區(qū)別,包括參數(shù)的類型、個數(shù)和返回值。其次是部分RTX 線程函數(shù)接口提供的功能并不完全與Vx-Works 5.5相應(yīng)的函數(shù)相同,如taskspawn函數(shù)的功能包括創(chuàng)建任務(wù)、設(shè)置任務(wù)優(yōu)先級,任務(wù)在創(chuàng)建后立即開始執(zhí)行,而RtCreateThread提供的功能是創(chuàng)建線程,沒有提供設(shè)置任務(wù)優(yōu)先級的功能。另外,兩者任務(wù)支持的優(yōu)先級數(shù)存在差異,VxWorks共256 個優(yōu)先級,編號從0 到255,數(shù)值越小優(yōu)先級越高,而RTX 支持的優(yōu)先級數(shù)值為0 到127,數(shù)值越大優(yōu)先級越高。前兩個問題可利用RTX 提供的豐富的庫函數(shù)編碼實(shí)現(xiàn),最后一個問題利用轉(zhuǎn)換算法將Vx-Works的優(yōu)先級數(shù)轉(zhuǎn)換為RTSS下的優(yōu)先級數(shù)即可。

        2.2.2 信號量

        VxWorks信號量用于解決任務(wù)間的互斥和同步,是一種快速的任務(wù)間通信機(jī)制。VxWorks主要提供了二進(jìn)制信號量、互斥信號量以及計(jì)數(shù)信號量共3種信號量。提供的信號量管理函數(shù)請參考文獻(xiàn) [7,8]。

        信號量的虛擬比較簡單,使用RTX 下的RtCreateMutex模擬創(chuàng)建互斥信號量,使用RtCreateSemaphore函數(shù)模擬創(chuàng)建二值信號量和計(jì)數(shù)信號量,其中二值信號量的模擬需限定級數(shù)量最大值為1。將創(chuàng)建信號量函數(shù)返回的句柄存入哈希數(shù)組semMap數(shù)組中,semTake和semGive函數(shù)的實(shí)現(xiàn)根據(jù)其傳入?yún)?shù)semID,在semMap中找到相應(yīng)的句柄, 調(diào) 用 RtWaitForSingleObject 和 ReleaseSemaphore函數(shù)。

        2.2.3 消息隊(duì)列

        Windows系統(tǒng)和RTX 提供文件映射、共享內(nèi)存、管道等進(jìn)程間通信方式,但不提供VxWorks的消息隊(duì)列機(jī)制進(jìn)行進(jìn)程間通信,因此需要建立模型設(shè)計(jì)和實(shí)現(xiàn)消息隊(duì)列功能。VxWorks消息隊(duì)列管理共提供5個函數(shù)接口:

        ①msgQCreate:創(chuàng)建一個消息隊(duì)列

        ②msgQDelete:刪除消息隊(duì)列

        ③msgQSend:往消息隊(duì)列中發(fā)送消息

        ④msgQReceive:從消息隊(duì)列中接收消息

        ⑤msgQNumMsgs:獲取消息隊(duì)列中的消息數(shù)

        (1)消息隊(duì)列的整體結(jié)構(gòu)設(shè)計(jì)

        使用帶表頭節(jié)點(diǎn)的雙向循環(huán)鏈表來實(shí)現(xiàn)消息隊(duì)列,示意圖如圖3所示。

        圖3 消息隊(duì)列結(jié)構(gòu)

        queue_t結(jié)構(gòu)屬于每個消息隊(duì)列的公有部分,包括如下數(shù)據(jù):

        Qin:寫入位置指針,指向隊(duì)尾;Qout:讀取位置指針,指向隊(duì)列頭;length:隊(duì)列中已有的消息數(shù);

        maxMsgNum:隊(duì)列允許消息個數(shù)的最大值;msgLock:互斥鎖;ReceiveSem:接收信號量;SendSem:發(fā)送信號量。

        鏈表節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)如下:

        (2)接口實(shí)現(xiàn)簡述

        msgQCreate函數(shù)創(chuàng)建一個新的消息隊(duì)列。主要完成3個任務(wù):為雙向循環(huán)鏈表分配空間;初始化互斥鎖;初始化發(fā)送和接收信號量。msgQSend函數(shù)發(fā)送消息到消息隊(duì)列,即往鏈表中添加消息,根據(jù)其超時參數(shù)和優(yōu)先級參數(shù)來決定添加時的超時時間和添加的位置。msgQReceive函數(shù)從消息隊(duì)列中接收消息,即從鏈表中刪除相應(yīng)的節(jié)點(diǎn),注意其超時參數(shù)。msgQDelete函數(shù)刪除鏈表中所有節(jié)點(diǎn),刪除互斥鎖以及各信號量。

        2.3 網(wǎng)絡(luò)通信模塊

        2.3.1 設(shè)計(jì)思想及所用技術(shù)

        網(wǎng)絡(luò)通信模塊是虛擬運(yùn)行環(huán)境最重要的組成部分之一。它為在一臺計(jì)算機(jī)上運(yùn)行多個實(shí)裝軟件提供核心支持。該模塊實(shí)現(xiàn)了一套通信函數(shù)接口接管實(shí)裝軟件的套接字函數(shù)以控制實(shí)裝軟件的通信。將在本機(jī)運(yùn)行的實(shí)裝軟件的網(wǎng)絡(luò)地址等信息存儲在配置文件中,實(shí)裝軟件通信時通過配置文件中的信息來判斷該數(shù)據(jù)是否需要發(fā)送給其它機(jī)器,如果僅是發(fā)送給本機(jī)器其它實(shí)裝軟件的數(shù)據(jù),則只需簡單的將數(shù)據(jù)轉(zhuǎn)發(fā)到對應(yīng)實(shí)裝軟件的接收共享內(nèi)存中,否則才通過網(wǎng)口往外發(fā)送。

        該模塊采用了配置文件驅(qū)動技術(shù)。實(shí)裝軟件的名稱、IP地址、子網(wǎng)掩碼、超時時間等信息均存儲在配置文件中。根據(jù)該配置文件來驅(qū)動數(shù)據(jù)的流向,將配置文件在中間件初始化時一次性讀入存入各數(shù)據(jù)結(jié)構(gòu)中,提高了數(shù)據(jù)分發(fā)時的運(yùn)行效率。

        采用了共享內(nèi)存技術(shù),對配置表中的每個實(shí)裝軟件生成一個發(fā)送和接收共享內(nèi)存、并為這兩個共享內(nèi)存建立守護(hù)線程,借鑒了經(jīng)典內(nèi)存管理算法buddy算法[9,10]高效管理共享內(nèi)存。采用消息隊(duì)列和大結(jié)構(gòu)技術(shù)實(shí)現(xiàn)進(jìn)程間的通信和數(shù)據(jù)共享,緩解通信壓力,提高通信可靠性。

        2.3.2 網(wǎng)絡(luò)通信模塊結(jié)構(gòu)

        網(wǎng)絡(luò)通信模塊的數(shù)據(jù)流如圖4所示。系統(tǒng)的所有通信數(shù)據(jù)都進(jìn)入網(wǎng)絡(luò)通信模塊。由網(wǎng)絡(luò)通信模塊負(fù)責(zé)分發(fā)或丟棄。

        2.3.3 網(wǎng)絡(luò)通信模塊設(shè)計(jì)與實(shí)現(xiàn)

        圖5展示了實(shí)裝軟件通信模塊的設(shè)計(jì)圖。實(shí)裝軟件的套接字函數(shù)被網(wǎng)絡(luò)通信模塊實(shí)現(xiàn)的通信函數(shù)接口替代。該設(shè)計(jì)定義了socket結(jié)構(gòu)體及其可以動態(tài)增長的sockArray數(shù)組,socket結(jié)構(gòu)體的成員包括與其綁定的IP 地址、子網(wǎng)、存儲隊(duì)列等。當(dāng)實(shí)裝軟件調(diào)用socket函數(shù)創(chuàng)建套接字時,從sockArray數(shù)組中選擇一個socket對象并將其激活,將其地址加入到actQueHeeader鏈表中。

        圖4 網(wǎng)絡(luò)通信模塊數(shù)據(jù)流

        圖5 實(shí)裝軟件通信模塊設(shè)計(jì)

        圖5中粗箭頭線表示的是數(shù)據(jù)流向。實(shí)裝軟件調(diào)用send或sendto函數(shù)將數(shù)據(jù)發(fā)送到共享內(nèi)存,然后由守護(hù)線程發(fā)送到外機(jī)器或者本機(jī)器其它實(shí)裝軟件的接收共享內(nèi)存。調(diào)用recv或者recvfrom 函數(shù)從套接字的subQue中讀取需要的數(shù)據(jù)。下面簡要分析下該設(shè)計(jì)中最重要的InVokeRecvMsg函數(shù)和SendThread、DisposeThread兩個守護(hù)線程。

        中間件初始化時已經(jīng)將所有實(shí)裝軟件的重要信息從配置文件中讀入內(nèi)存,InVokeRecvMsg函數(shù)根據(jù)這些信息中的IP 地址和子網(wǎng)掩碼判斷應(yīng)該將數(shù)據(jù)發(fā)送給哪些實(shí)裝軟件。這其中必須考慮數(shù)據(jù)的通信類型是單播、組播還是廣播。單播只需要將數(shù)據(jù)返給對應(yīng)實(shí)裝軟件即可,若是組播,則需要根據(jù)組播地址將數(shù)據(jù)發(fā)給所有加入該組的實(shí)裝軟件,若是廣播,則根據(jù)子網(wǎng)掩碼將數(shù)據(jù)發(fā)給所有有該網(wǎng)段IP地址的實(shí)裝軟件。該函數(shù)設(shè)置了標(biāo)志以判斷是否需要將數(shù)據(jù)發(fā)給其它機(jī)器。

        發(fā)送共享內(nèi)存的守護(hù)線程SendThread在共享內(nèi)存中有消息時調(diào)用InVokeRecvMsg函數(shù)判斷該消息的具體流向。DisposeThread線程是接收共享內(nèi)存的守護(hù)線程,該線程從共享內(nèi)存中取出數(shù)據(jù)包,解析包頭找出目的地址和端口,遍歷激活的socket鏈表,找到與目的地址符合的socket,然后將該消息拷貝到符合條件的套接字的subQue中。

        2.3.4 配置表說明

        單臺計(jì)算機(jī)上通信相關(guān)的重要信息都存儲在配置表中,配置表如圖6 所示,該表以XML 形式組織。Mainworker為根節(jié)點(diǎn),timeout屬性為共享內(nèi)存讀取的超時值,machineFlag為機(jī)器編號,Mainworker節(jié)點(diǎn)包含一個或多個Agentworker節(jié)點(diǎn)。一個實(shí)裝軟件對應(yīng)一個AgentWorker節(jié)點(diǎn),其hostname屬性為實(shí)裝軟件的名字,timeout為消息隊(duì)列的存取超時時間,它包含一個或多個網(wǎng)絡(luò)地址信息。一個網(wǎng)絡(luò)地址對應(yīng)一個HostAddress節(jié)點(diǎn),其屬性address為IP地址,netmark為子網(wǎng)掩碼。

        圖6 配置表

        3 應(yīng)用驗(yàn)證

        該虛擬運(yùn)行環(huán)境已經(jīng)成功地應(yīng)用在系統(tǒng)軟件的開發(fā)和調(diào)試中。使用該虛擬運(yùn)行環(huán)境,部門間只協(xié)調(diào)軟件,在計(jì)算機(jī)硬件條件足夠高時僅使用了少量幾臺計(jì)算機(jī)便搭建起了聯(lián)合調(diào)試環(huán)境。實(shí)際應(yīng)用結(jié)果表明,實(shí)裝軟件在該虛擬運(yùn)行環(huán)境上運(yùn)行穩(wěn)定,且滿足實(shí)裝軟件要求的硬實(shí)時性,為該裝備系統(tǒng)軟件的開發(fā)節(jié)約了成本,提高了開發(fā)效率。

        4 結(jié)束語

        本文提出了一種構(gòu)建嵌入式實(shí)裝軟件虛擬運(yùn)行環(huán)境的方法,以基于VxWorks5.5實(shí)時操作系統(tǒng)為例,分析了虛擬運(yùn)行環(huán)境的實(shí)現(xiàn)思想和具體實(shí)現(xiàn)。并通過實(shí)現(xiàn)網(wǎng)絡(luò)通信模塊接管實(shí)裝軟件通信的方式實(shí)現(xiàn)了在單臺計(jì)算機(jī)上運(yùn)行多個實(shí)裝軟件。最后以該虛擬運(yùn)行環(huán)境在某大型系統(tǒng)開發(fā)過程中的實(shí)際應(yīng)用表明了該方法的可行性。下一步的研究工作是完善該虛擬運(yùn)行環(huán)境并擴(kuò)展其應(yīng)用范圍。

        [1]HUANG Jian,SONG Xiao,XUE Shunhu,et al.Design method of real-time simulation system based on RTX platform[J].Computer Applications and Software,2009,26 (4):167-169 (in Chinese). [黃 鍵,宋 曉,薛 順 虎,等.RTX 平臺下實(shí)時仿真系統(tǒng)的設(shè)計(jì)方法 [J].計(jì)算機(jī)應(yīng)用與軟件,2009,26 (4):167-169.]

        [2]LIU Xiaochuan,F(xiàn)AN Ziming.Real-time analysis and tests for Windows 2000 (XP)+RTX [J].Ship Electronic Engineering,2007,27 (6):135-138 (in Chinese). [劉曉川,樊子明.Windows 2000 (XP)+RTX 的實(shí)時性分析與測試 [J].艦船電子工程,2007,27 (6):135-138.]

        [3]WANG Jinhui.Theory and realization of VxWorks OS [J].Radio Engineering of China,2007,37 (1):62-64. (in Chinese).[王金輝.VxWorks嵌入式實(shí)時操作系統(tǒng)的原理和實(shí)現(xiàn) [J].無線電工程,2007,37 (1):62-64.]

        [4]YU Kang,NING Hong,DENG Shenglan,et al.Module automatically loading mechanism based on VxWorks [J].Computer Engineering,2010,36 (18):264-266 (in Chinese).

        [于康,寧洪,鄧勝蘭,等.基于VxWorks的模塊自動加載機(jī)制 [J].計(jì)算機(jī)工程,2010,36 (18):264-266.]

        [5]ZHOU Junjie,HE Panfeng.Design of VxWorks real-time muti-task software frame [J].Foreign Electronic Measurement Technology,2012,31 (4):80-82 (in Chinese). [周俊杰,何攀峰.基于VxWorks的實(shí)時多任務(wù)軟件框架設(shè)計(jì) [J].國外電子測量技術(shù),2012,31 (4):80-82.]

        [6]ZHANG Minyan.Research on platform based on RTOS [D].Nanjing:Nanjing University of Technology,2007 (in Chinese).[張敏燕.基于嵌入式實(shí)時操作系統(tǒng)VxWorks平臺的分析與研究 [D].南京:南京理工大學(xué),2007.]

        [7]WANG Peng,ZHANG Yougen,LI Yonggang,et al.Research on the improved modules unloading method of VxWorks[J].Journal of the Academy of Equipment Command &Technology,2010,21 (5):83-87 (in Chinese). [王鵬,張友根,李永剛,等.一種改進(jìn)的VxWorks模塊卸載方法研究[J].裝備指揮技術(shù)學(xué)院學(xué)報,2010,21 (5):83-87.]

        [8]HAO Xiaohui.Research and development of VxWorks based AT91RM200 [D].Xi'an:Xidian University,2007 (in Chinese).[郝曉輝.基于AT91RM9200的VxWorks實(shí)時系統(tǒng)的研究和開發(fā) [D].西安:西安電子科技大學(xué),2007.]

        [9]GUO Qingbo,GUO Bing,SHEN Yan.Strategy of higher reliability memory management in μC/OS-Ⅱwith buddy algorithm [J].Microcontrollers &Embedded Systems,2011,11(7):30-33 (in Chinese). [國慶波,郭兵,沈艷.Buddy算法的μC/OS-Ⅱ高可靠內(nèi)存管理方案 [J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11 (7):30-33.]

        [10]Masmano M,Ripoll I,Real J,et al.Implementation of a constant time dynamic storage allocator[J].Software:Practice and Experience,2008,38 (10):1000-1025.

        猜你喜歡
        嵌入式環(huán)境
        長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        孕期遠(yuǎn)離容易致畸的環(huán)境
        不能改變環(huán)境,那就改變心境
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        環(huán)境
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        孕期遠(yuǎn)離容易致畸的環(huán)境
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        国产成人精品三级在线影院| 97色偷偷色噜噜狠狠爱网站| 欧美a级情欲片在线观看免费| av中文字幕综合在线| 国产成人福利av一区二区三区| 国产白浆一区二区在线| 伊人色综合久久天天五月婷| 天堂在线www中文| 国产亚洲AV片a区二区| 久久久熟女一区二区三区| 亚洲av综合av一区| 久久精品国产9久久综合| 国产精品女同久久久久久| 不卡一区二区三区国产| 亚洲av调教捆绑一区二区三区 | 五月av综合av国产av| 亚洲av无码之日韩精品| 国产又色又爽无遮挡免费动态图 | 国产精品亚洲国产| 日本女同视频一区二区三区| 台湾佬中文网站| 国产精品对白交换视频| 日韩极品视频在线观看免费| 亚洲一区二区三区地址| 中文字幕久久久人妻无码| 91免费在线| 91精品啪在线观看国产色| 中文字幕无码中文字幕有码| 蜜臀av午夜一区二区三区| 伊人久久网国产伊人| 国产美女高潮流白浆免费观看| 加勒比东京热中文字幕| 日本爽快片18禁免费看| 最新日韩av在线不卡| 91久久香蕉国产熟女线看| 亚洲av美国av产亚洲av图片| 国产av天堂成人网| 全程国语对白资源在线观看| 蜜臀av在线观看| 日日摸夜夜添狠狠添欧美| 亚洲区一区二区中文字幕|