久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]
[瀏覽完整版]

標(biāo)題:基于Rhapsody和VxWorks的自動(dòng)取款機(jī)系統(tǒng)

1樓
wangxinxin 發(fā)表于:2010-12-1 11:21:02
摘要:介紹如何運(yùn)用UML設(shè)計(jì)簡(jiǎn)單的自動(dòng)取款機(jī)系統(tǒng)模型并在操作系統(tǒng)VxWorks上實(shí)現(xiàn)它:首先,介紹如何運(yùn)用基于UML的嵌入式實(shí)時(shí)應(yīng)用軟件開發(fā)環(huán)境Rhapsody設(shè)計(jì)和實(shí)現(xiàn)自動(dòng)取款機(jī)系統(tǒng)的模型,以使它能獨(dú)立于實(shí)際的硬件和使用的操作系統(tǒng);然后詳細(xì)介紹上述模型如何在實(shí)時(shí)多任務(wù)操作系統(tǒng)VxWorks上實(shí)現(xiàn)。

    關(guān)鍵詞:Rhapsody VxWorks 自動(dòng)取款機(jī)

引 言

  隨著嵌入式應(yīng)用的不斷增長(zhǎng),嵌入式系統(tǒng)需求的復(fù)雜性、不確定性不斷提高,系統(tǒng)規(guī)模也逐步擴(kuò)大;而產(chǎn)品的研發(fā)周期又在很快地縮短,給嵌入式應(yīng)用軟件的開發(fā)帶來(lái)了新的挑戰(zhàn)。同時(shí),嵌入式軟件的開發(fā)者必須面對(duì)由于芯片性能的增長(zhǎng)、嵌入式操作系統(tǒng)平臺(tái)等技術(shù)方面不斷變化所帶來(lái)的各種壓力。嵌入式軟件開發(fā)環(huán)境的發(fā)展,使一直“深埋”于系統(tǒng)的嵌入式應(yīng)用軟件變得開放而易于開發(fā),從而促進(jìn)了嵌入式技術(shù)的廣泛應(yīng)用。

1 基于UML的嵌入式軟件開發(fā)環(huán)境結(jié)構(gòu)

??圖1所示為一種支持基于UML(Unified Modeling Language,統(tǒng)一建模語(yǔ)言)的迭代式開發(fā)方法的開發(fā)環(huán)境的結(jié)構(gòu),虛框部分為基于UML的軟件開發(fā)環(huán)境。

??系統(tǒng)分析和設(shè)計(jì)用UML來(lái)描述,對(duì)系統(tǒng)建模;實(shí)現(xiàn)過(guò)程利用代碼自動(dòng)生成技術(shù)來(lái)實(shí)現(xiàn);測(cè)試過(guò)程將依賴于生成的代碼,通過(guò)在代碼中拆裝一些用于支持模型調(diào)試的調(diào)試信息來(lái)實(shí)現(xiàn);而代碼的編譯、鏈接則采用目標(biāo)系統(tǒng)的操作系統(tǒng)開發(fā)環(huán)境來(lái)完成,代碼的運(yùn)行與源程序級(jí)的調(diào)試仍然采用一般的嵌入式軟件調(diào)試環(huán)境。

??Rhapsody是一個(gè)基于UML的面向嵌入式實(shí)時(shí)應(yīng)用開發(fā)的集成、可視化環(huán)境。軟件開發(fā)者可以在這個(gè)環(huán)境里進(jìn)行分析、設(shè)計(jì)、實(shí)現(xiàn)及驗(yàn)證。Rhapsody支持基于模型的調(diào)試;提供專門為實(shí)時(shí)嵌入式應(yīng)用設(shè)計(jì)的可執(zhí)行的框架,可以產(chǎn)生基于VxWorks、POS、OSE等多種操作系統(tǒng)的C語(yǔ)言、C++語(yǔ)言、Java語(yǔ)言的源程序。本文所給出的自動(dòng)取款機(jī)系統(tǒng)的模型正是基于Rhapsody設(shè)計(jì)的。

2 自動(dòng)取款機(jī)系統(tǒng)模型的設(shè)計(jì)

    2.1 需求分析

??我們?cè)O(shè)計(jì)的自動(dòng)取款機(jī)系統(tǒng)要滿足如下要求:

??在自動(dòng)取款機(jī)系統(tǒng)中,當(dāng)顧客在自動(dòng)取款機(jī)操作面板上插入信用卡并輸入密碼和現(xiàn)金支取數(shù)額(每次最多只能取一千元)后,由自動(dòng)取款機(jī)讀取卡上的內(nèi)容,并把相應(yīng)信息傳送到銀行。銀行把自動(dòng)取款機(jī)送來(lái)的信息與銀行帳號(hào)上的信息進(jìn)行比較,如果兩者一致,則銀行傳送確認(rèn)信息到自動(dòng)取款機(jī),由自動(dòng)取款機(jī)輸出現(xiàn)金,然后顧客取出卡和現(xiàn)金;如果兩者不一致,則要求顧客再次輸入密碼和現(xiàn)金支取數(shù)額,然后重復(fù)上述操作;若密碼輸入三次不正確,自動(dòng)取款機(jī)就會(huì)吞掉信用卡,顧客就不能取出信用卡和現(xiàn)金。

??該自動(dòng)取款機(jī)系統(tǒng)包括1個(gè)鍵盤(10個(gè)數(shù)字鍵、ENTER鍵和CANCEL鍵)、1個(gè)LCD液晶顯示屏、1個(gè)插卡孔和1個(gè)現(xiàn)金出口;通過(guò)雙絞線與銀行中的電腦進(jìn)行串行通信。該自動(dòng)取款機(jī)系統(tǒng)不包括銀行中的電腦,只是通過(guò)軟件與銀行中的上位機(jī)進(jìn)行串行通信。

    2.2 可視化建模

??建模是面向?qū)ο蠓治龊驮O(shè)計(jì)的核心,也是分析和設(shè)計(jì)過(guò)程中最基本和最關(guān)鍵的活動(dòng)之一。UML不僅適用于以面向?qū)ο蠹夹g(shù)描述的任何類型的系統(tǒng),而且適用于系統(tǒng)開發(fā)的不同階段。根據(jù)開發(fā)過(guò)程中不同階段的具體要求,利用UML不同類型的圖來(lái)描述系統(tǒng)的各種靜態(tài)結(jié)構(gòu)模型和動(dòng)態(tài)行為模型。下面介紹如何利用基于UML的面向嵌入式實(shí)時(shí)應(yīng)用開發(fā)的集成可視化環(huán)境Rhapsody創(chuàng)建自動(dòng)取款機(jī)系統(tǒng)的模型。

圖3 取出現(xiàn)金的黑匣子場(chǎng)景

    第一步:根據(jù)要求建立用例圖。

??圖2所示為用例圖。圖中給出了自動(dòng)取款機(jī)系統(tǒng)的主要用途,并表明由誰(shuí)使用自動(dòng)取款機(jī)系統(tǒng)。有一個(gè)主要成員——顧客。一個(gè)用例圖應(yīng)該具有這樣的系統(tǒng)功能:對(duì)操作者而言,它返回可觀察的結(jié)果但并不顯示系統(tǒng)的內(nèi)在結(jié)構(gòu)。

??自動(dòng)取款機(jī)系統(tǒng)的主要用途是“取出現(xiàn)金”用例。顧客參與其中的兩個(gè)實(shí)例是“輸入密碼”和“取出現(xiàn)金”。這兩個(gè)實(shí)例都包含了另一個(gè)用例“讀取卡上內(nèi)容并驗(yàn)證”。對(duì)每一個(gè)用例而言,我們都可以增加文本描述。假如需要的話,這些用例能夠被細(xì)化成另一張更多用例的圖。這些用例并沒(méi)有顯示任何內(nèi)在的結(jié)構(gòu),僅是一個(gè)功能性的視圖。

    第二步:設(shè)計(jì)黑匣子場(chǎng)景。

??建立了一個(gè)用例圖后,下一步便是細(xì)化用例,即設(shè)計(jì)一些黑匣子場(chǎng)景。這些黑匣子場(chǎng)景的主要作用是表明模型和對(duì)象之間的相互關(guān)系。把整個(gè)系統(tǒng)看作一個(gè)整體,對(duì) “取出現(xiàn)金” 用例,我們細(xì)化為圖3所示的場(chǎng)景。(由于每次最多只能取一千元,所以最多只需要按鍵4次。)

??圖3所示的場(chǎng)景能被MSD(消息序列表)捕獲,用來(lái)描述在顧客和自動(dòng)取款機(jī)系統(tǒng)之間的通信行為。當(dāng)創(chuàng)建這樣的圖表時(shí),關(guān)于系統(tǒng)的更多細(xì)節(jié)被隱藏了;同時(shí),這些場(chǎng)景幫助我們更好地理解使用者如何使用報(bào)警系統(tǒng)以及需要做哪些事情。總而言之,每一用例都有很多的場(chǎng)景需要捕獲,每一個(gè)場(chǎng)景都是用例的一個(gè)有效的實(shí)例。

    第三步:設(shè)計(jì)子系統(tǒng)圖。

??下一步是如何把模型分割成子系統(tǒng)。在UML中,一個(gè)子系統(tǒng)作為一個(gè)封裝顯示,即主要是一個(gè)類的集合。圖4的子系統(tǒng)圖表明自動(dòng)取款機(jī)系統(tǒng)已經(jīng)被分解成兩個(gè)基本的部分:自動(dòng)柜員機(jī)封裝(AtmerPkg)和硬件封裝(HardharePkg)。同時(shí)也表明:自動(dòng)柜員機(jī)封裝是完全獨(dú)立于實(shí)際的硬件和硬件封裝的,并且實(shí)現(xiàn)了Ihardware接口能夠用于連接自動(dòng)柜員機(jī)封裝。接口類Ihardware描述了對(duì)自動(dòng)柜員機(jī)封裝的所有必需的操作,實(shí)現(xiàn)了應(yīng)用與硬件環(huán)境的隔離。

??一旦在自動(dòng)柜員機(jī)封裝和硬件封裝之間定義了接口類,每一個(gè)子系統(tǒng)就能同步和獨(dú)立地細(xì)化為更多的子系統(tǒng)。每一個(gè)子系統(tǒng)都知道它和其它子系統(tǒng)之間的接口。例如,我們可以開始分析自動(dòng)柜員機(jī)子系統(tǒng)圖,而不需要知道關(guān)于硬件的更多情況。

    第四步:設(shè)計(jì)對(duì)象模型圖。

??對(duì)自動(dòng)柜員機(jī)封裝而言,我們?cè)O(shè)想有一個(gè)AtmerController類,其中包含Keypad類、Card類、LCD類和Cash類,這些類表示如圖5所示。

??圖5表明:AtmerController類作為一個(gè)聚合類,包含了其它類的實(shí)例。我們也能看出,我們能選擇顯示“Keypad”類的不同的操作和屬性。在上面的例子中,假如一個(gè)實(shí)例被AtmerControlle類創(chuàng)建,那么它將創(chuàng)建Keypad類的一個(gè)實(shí)例theKeypad、LCD類的一個(gè)實(shí)例theLCD、Cash類的一個(gè)實(shí)例theCash以及Card類的一個(gè)實(shí)例theCard。假如AtmerController類的實(shí)例被刪除,這些包含的實(shí)例也同時(shí)被刪除。

??Ihardware類也有一些純虛函數(shù),所以為了測(cè)試AtmerController類,必須忽略這些操作。圖6表示:ATM包含了AtmerController類的一個(gè)實(shí)例和從Ihardware類繼承并忽略了其操作的Hw類的一個(gè)實(shí)例。

    第五步:生成白匣子場(chǎng)景。

??生成了一個(gè)新類AtmerController后,就可以開始為每一個(gè)黑匣子場(chǎng)景生成白匣子場(chǎng)景。消息序列表將用于獲取以上不同場(chǎng)景的類的實(shí)例之間的通信行為。例如,圖7消息序列描述了顧客輸入支取現(xiàn)金數(shù)額并取出現(xiàn)金的場(chǎng)景。

??消息通常對(duì)應(yīng)于對(duì)象模型中操作和操作的返回值。消息值對(duì)應(yīng)于類的屬性或是類操作的返回值。消息可以是同步的,也可以是異步的。從圖中可以看出,這些類都有動(dòng)態(tài)行為:它們正在處理定時(shí)事件;調(diào)用其它類的操作;接受事件。對(duì)UML來(lái)說(shuō),這些動(dòng)態(tài)行為都可以用一個(gè)狀態(tài)圖來(lái)表示。

    第六步:創(chuàng)建狀態(tài)圖。

??以顧客輸入密碼過(guò)程為例,創(chuàng)建狀態(tài)圖,如圖8所示。通常,當(dāng)一個(gè)問(wèn)題很復(fù)雜時(shí),它往往被分解成一些簡(jiǎn)單的問(wèn)題,這也正是對(duì)顧客輸入密碼過(guò)程要做的事情。圖8所示的狀態(tài)圖描述了顧客輸入密碼過(guò)程中的行為。

圖7 顧客輸入支取數(shù)據(jù)并取出現(xiàn)金的白匣子場(chǎng)景

    2.3 屬性、操作和事件

??屬性來(lái)源于需求文檔中定義的數(shù)據(jù),應(yīng)該簡(jiǎn)單,不考慮設(shè)計(jì)和實(shí)現(xiàn)的細(xì)節(jié)。每個(gè)類都可能有定義在其上的事件和操作。事件對(duì)應(yīng)于明確的瞬時(shí)發(fā)生的影響類的動(dòng)態(tài)行為。操作對(duì)應(yīng)于類的服務(wù)和功能。Rhapsody中有3種事件。

① 信號(hào)事件:對(duì)應(yīng)于實(shí)例間的異步通信。

② 時(shí)間事件:這種事件在進(jìn)入一個(gè)狀態(tài)并且經(jīng)過(guò)一個(gè)指定的時(shí)間后觸發(fā)。

③ 觸發(fā)操作:觸發(fā)操作是同步的操作,通過(guò)能夠迅速得到響應(yīng)的事件得到執(zhí)行。觸發(fā)操作沒(méi)有實(shí)現(xiàn)代碼,卻可以作為類的狀態(tài)圖轉(zhuǎn)移的觸發(fā)器。當(dāng)調(diào)用觸發(fā)操作時(shí),同時(shí)產(chǎn)生響應(yīng)的事件。

2.4 生成代碼

??一般嵌入式應(yīng)用中有60%~90%的代碼用于內(nèi)務(wù)處理(如狀態(tài)圖的實(shí)現(xiàn)、任務(wù)間的通信等),這些代碼在設(shè)計(jì)新的系統(tǒng)時(shí)一般都可以重用。這種重用一般是通過(guò)實(shí)時(shí)框架來(lái)實(shí)現(xiàn)的。Rhapsody就提供了這樣一個(gè)實(shí)時(shí)框架,它提供了一套嵌入式和實(shí)時(shí)應(yīng)用專門選擇和優(yōu)化的設(shè)計(jì)模板。嵌入式應(yīng)用程序一般都運(yùn)行在嵌入式操作系統(tǒng)的平臺(tái)上,而實(shí)時(shí)框架就是一個(gè)在操作系統(tǒng)之上應(yīng)用程序之下的中間件。應(yīng)用程序的編寫或自動(dòng)產(chǎn)生都基于有統(tǒng)一接口的實(shí)時(shí)框架,這樣就使應(yīng)用軟件的開發(fā)與具體的平臺(tái)無(wú)關(guān),解決了嵌入式應(yīng)用軟件的移植問(wèn)題。

??一旦畫出其余的圖表并創(chuàng)建好不同類的實(shí)例后,就能進(jìn)行代碼的生成和模型的測(cè)試工作。在Rhapsody中,需要進(jìn)行一些配置,以告訴Rhapsody從哪些類生成代碼及使用什么樣的環(huán)境。首先,使用Microsoft環(huán)境(Windows操作環(huán)境和Visual C++編譯器)。然后,代碼在Rhapsody中生成和編譯,以產(chǎn)生可執(zhí)行程序。

    2.5 使UML模型有效

??Rhapsody能使用自動(dòng)生成的代碼,所以,當(dāng)實(shí)際的代碼運(yùn)行時(shí),它能返回一些信息給調(diào)試工具,以便Rhapsody進(jìn)行模型的測(cè)試。通過(guò)模型級(jí)調(diào)試、驗(yàn)證,可以盡早發(fā)現(xiàn)系統(tǒng)的設(shè)計(jì)錯(cuò)誤或缺陷,從而較早地確定或降低項(xiàng)目的風(fēng)險(xiǎn)。

    2.6 測(cè)試模型

??一旦自動(dòng)柜員機(jī)封裝被手工產(chǎn)生的事件測(cè)試通過(guò)并觀察發(fā)生的情況后,就可以利用如微軟的Visual C++產(chǎn)生一個(gè)GUI。用于創(chuàng)建GUI的類從Ihardware類繼承而來(lái),選中set選項(xiàng),當(dāng)按鈕被按下時(shí),調(diào)用ON操作。GUI也能促使模型在模型級(jí)再次被調(diào)試。

3 在VxWorks上運(yùn)行

??模型是系統(tǒng)整體的抽象。軟件開發(fā)的最終形式必須生成程序代碼,模型畢竟是一些漂亮的藍(lán)圖。雖然它對(duì)軟件的設(shè)計(jì)有很大的作用,但用戶的最終目的是希望得到可執(zhí)行的程序。對(duì)于嵌入式實(shí)時(shí)系統(tǒng),代碼與系統(tǒng)要求(時(shí)間約束、資源的限制等)是緊密聯(lián)系的,用最終形式的源程序驗(yàn)證系統(tǒng)的模型更準(zhǔn)確。

??Rhapsody可利用軟件自動(dòng)生成技術(shù)的成果,根據(jù)模型可以自動(dòng)生成具有產(chǎn)品質(zhì)量的代碼。這種代碼既可以作為系統(tǒng)模型驗(yàn)證的代碼,也是系統(tǒng)最后提交的代碼。所以產(chǎn)生的代碼是基于某個(gè)具體平臺(tái)的代碼,通過(guò)編譯即可運(yùn)行在該平臺(tái)上。本文采用的是美國(guó) Wind River System 公司推出的一個(gè)實(shí)時(shí)操作系統(tǒng)VxWorks。它是一個(gè)運(yùn)行在目標(biāo)機(jī)上的高性能、可裁剪的嵌入式實(shí)時(shí)操作系統(tǒng)。

??一旦自動(dòng)取款機(jī)系統(tǒng)被設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試后,它就能在實(shí)時(shí)多任務(wù)操作系統(tǒng)VxWorks上實(shí)現(xiàn)。1個(gè)鍵盤、1個(gè)LCD液晶顯示屏、1個(gè)插卡孔、1根與銀行的上位機(jī)相連的雙絞線和1個(gè)輸出現(xiàn)金口經(jīng)由I/O板連接到1個(gè)目標(biāo)板上。

??從Ihardware類繼承而來(lái)并選中set選項(xiàng)而創(chuàng)建新類HwIrq。這些操作的實(shí)例可以被寫進(jìn)Rhapsody中。為了寫到I/O板中,使用VxWorks系統(tǒng)的操作sysOutByte。

??HwIrq類已經(jīng)被設(shè)置成一個(gè)活動(dòng)類,所以它能在自己的線程運(yùn)行,線程的參數(shù)被配置如下:線程名為tRhpHw,堆棧長(zhǎng)度為4096字節(jié),優(yōu)先級(jí)為180。

??HwIrq.cpp的部分程序見(jiàn)本刊網(wǎng)絡(luò)補(bǔ)充版(http://www.dpj.com.cn)。

4 結(jié) 論

??本文運(yùn)用基于UML的嵌入式實(shí)時(shí)應(yīng)用軟件開發(fā)環(huán)境Rhapsody來(lái)設(shè)計(jì)和實(shí)現(xiàn)自動(dòng)取款機(jī)系統(tǒng)的模型。與傳統(tǒng)的嵌入式軟件開發(fā)方法相比,具有明顯的優(yōu)勢(shì)。它大大縮短了產(chǎn)品的開發(fā)周期,解決了嵌入式應(yīng)用軟件的移植問(wèn)題,使軟件的開發(fā)工作主要集中在高層的建模和模型的測(cè)試及驗(yàn)證上,從而使軟件開發(fā)工作的焦點(diǎn)從編碼轉(zhuǎn)到了設(shè)計(jì)上。

共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01563 s, 2 queries.
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产美女99p| 成人av资源站| 樱桃视频在线观看一区| 亚洲欧美日韩综合aⅴ视频| 国产精品情趣视频| 最新成人av在线| 亚洲与欧洲av电影| 欧美aⅴ一区二区三区视频| 青青草原综合久久大伊人精品 | 中文字幕高清不卡| 亚洲人123区| 午夜精品久久久久| 国产在线播放一区| 99在线高清视频在线播放| 欧美精品尤物在线| 欧美在线免费观看亚洲| 精品美女在线观看| 亚洲人精品午夜| 日本午夜精品一区二区三区电影| 国产精品一区二区不卡| 99精彩视频在线观看免费| 日本欧美精品久久久| 欧美色图片你懂的| 国产视频一区不卡| 亚洲动漫第一页| 成人开心网精品视频| 欧美在线播放一区二区| 欧美理论片在线| 国产精品成人一区二区三区夜夜夜| 亚洲成a人片综合在线| 成人免费视频caoporn| 欧美一区少妇| 日韩一区二区三区免费观看 | 美腿丝袜亚洲色图| 91福利入口| 欧美在线免费观看亚洲| 欧美韩日一区二区三区四区| 日韩在线播放一区二区| 99精品视频在线播放观看| 亚洲精品视频一区二区三区| 精品日韩一区二区| 亚洲国产精品久久久男人的天堂| 成年人午夜久久久| 综合国产精品久久久| 久久久.com| 精一区二区三区| 欧美一区二区三区四区在线观看地址| 91精品久久久久久久91蜜桃| 一区二区三区在线不卡| av网站免费线看精品| 一区二区三区|亚洲午夜| 国产蜜臀av在线一区二区三区| 久久成人av少妇免费| 久久婷婷开心| 精品国产乱码久久久久久久久 | 天堂午夜影视日韩欧美一区二区| 91蜜桃网址入口| 69精品人人人人| 天天综合网 天天综合色| 狠狠色噜噜狠狠色综合久| 日韩欧美123| 久久成人免费日本黄色| 日韩精彩视频| 国产精品久久久久影院色老大| 成人一区二区三区在线观看| 欧美自拍偷拍一区| 亚洲一区二区三区四区五区中文 | 亚洲欧洲精品一区二区三区| 国产成人免费网站| 欧美色图在线观看| 日韩专区一卡二卡| 午夜视频久久久| 日韩理论片中文av| 国产在线一区二区三区四区| 久久久久久夜精品精品免费| 成人三级伦理片| 91精品婷婷国产综合久久性色| 裸体歌舞表演一区二区| 91成人在线免费观看| 亚洲一卡二卡三卡四卡五卡| 快播亚洲色图| 中文字幕一区二区在线播放| 国产精品日韩一区二区| 久久精品视频网| 不卡视频一区二区三区| 久久久夜色精品亚洲| 激情综合网av| 欧美喷潮久久久xxxxx| 日本三级亚洲精品| 91福利小视频| 久久99国内精品| 欧美日韩一区三区| 国内精品自线一区二区三区视频| 欧美亚洲一区二区在线观看| 麻豆国产精品777777在线| 在线国产亚洲欧美| 久久99久久久久久久久久久| 欧美日韩黄视频| 久久精品国产99国产| 欧美性猛交xxxxxx富婆| 国产一区亚洲一区| 欧美亚洲动漫制服丝袜| 国产一区二区日韩精品| 欧美一级久久久久久久大片| 91在线观看污| 国产精品国产三级国产aⅴ原创 | 久久亚洲捆绑美女| 成av人片一区二区| 久久精品日产第一区二区三区高清版| 91亚洲精品久久久蜜桃| 国产精品丝袜一区| 日韩电影在线播放| 久久精品国产77777蜜臀| 欧美一区二区视频在线观看 | 国产不卡视频在线播放| 精品国产成人系列| 91九色露脸| 一区二区三区日韩欧美精品| 在线免费观看成人网| 国产一区免费电影| 久久―日本道色综合久久| 精品国产乱码久久久久久88av| 亚洲综合色网站| 欧美日韩中文字幕精品| 91在线视频免费观看| 亚洲欧洲综合另类在线| 致1999电视剧免费观看策驰影院| 国产在线播放一区| 国产亚洲短视频| 亚洲春色在线视频| 国产精品一区二区不卡| 国产婷婷色一区二区三区在线| 免费久久99精品国产自| 美女免费视频一区二区| 久久午夜电影网| 翔田千里亚洲一二三区| 国产精品亚洲一区二区三区妖精 | 麻豆一区二区三区| 日韩欧美久久一区| 久久伊人资源站| 国内外成人在线| 国产精品久久久久久久久免费桃花| 色噜噜狠狠色综合欧洲selulu| eeuss鲁片一区二区三区在线观看| 亚洲卡通动漫在线| 欧美一区二区精品| 欧美日韩系列| 国产乱码精品1区2区3区| 中文字幕字幕中文在线中不卡视频| 欧美色成人综合| 国产一区二区视频在线免费观看 | 国产精品人人做人人爽人人添| 亚洲一二区在线| 91麻豆精品秘密| 日本aⅴ免费视频一区二区三区| 久久日韩粉嫩一区二区三区| 色婷婷av一区二区三区大白胸| 51成人做爰www免费看网站| 亚洲成av人片| 久久久久久一级片| 欧美三级电影在线观看| 久久国产精品 国产精品| 国产成人精品一区二区三区网站观看| 一区二区三区视频在线观看| 精品国产凹凸成av人网站| 亚洲在线视频一区二区| 成人av资源| 国产福利一区在线| 午夜在线成人av| 中文字幕亚洲综合久久菠萝蜜| 日韩一区二区免费在线观看| 一区二区三区|亚洲午夜| 国产亚洲精品自在久久| 成人伦理片在线| 美女久久久精品| 一色屋精品亚洲香蕉网站| 日韩一区二区在线免费观看| 色欧美乱欧美15图片| 免费一区二区三区| ts人妖另类在线| 成人污视频在线观看| 久久超碰97中文字幕| 香蕉乱码成人久久天堂爱免费| 国产精品久久三| 2021中文字幕一区亚洲| 欧美巨大另类极品videosbest | 久久99国产精品免费网站| 亚洲电影第三页| 亚洲精品国产a久久久久久| 中文字幕第一区第二区| 亚洲精品一线二线三线无人区| 欧美日本在线观看| 欧美最新大片在线看| 一区二区精品国产| 日本一区免费在线观看| 久久综合福利| 精品一区2区三区| 国产一区二区不卡视频在线观看| 97中文在线| av在线亚洲男人的天堂|