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


曙海教育集團(tuán)論壇VxWorks專(zhuān)區(qū)VxWorks BSP開(kāi)發(fā) → VxWorks在AT91RM9200上的BSP設(shè)計(jì)


  共有7493人關(guān)注過(guò)本帖樹(shù)形打印

主題:VxWorks在AT91RM9200上的BSP設(shè)計(jì)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
VxWorks在AT91RM9200上的BSP設(shè)計(jì)  發(fā)帖心情 Post By:2010-12-1 9:04:34

摘要 闡述VxWorks實(shí)時(shí)操作系統(tǒng)中板級(jí)支持包BSP的概念和作用;研究VxWorks映像的生成和分類(lèi),以及系統(tǒng)的啟動(dòng)流程;著重介紹VxWorks操作系統(tǒng)在ARM9芯片AT9LRM9200上的BSP設(shè)計(jì)。

  關(guān)鍵詞 VxWorks BSP 映像 ARM AT91RM9200

  VxWorks是美國(guó)Wind River公司開(kāi)發(fā)的嵌入式實(shí)時(shí)操作系統(tǒng),具有高性能、可裁減性好等特點(diǎn),能支持多種微處理器(如PowerPC、X85、ARM、SPARC);自問(wèn)世以來(lái),以其良好的町靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用于通信、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中。BSP(Board Support Package,板級(jí)支持包)的作用是針對(duì)特殊的硬件平臺(tái),為操作系統(tǒng)內(nèi)核提供操作接口,使操作系統(tǒng)能夠獨(dú)立于底層硬件。對(duì)上層應(yīng)用屏蔽具體硬件,VxWorks的高可移植性就是通過(guò)BSP實(shí)現(xiàn)的。AT91RM9200是Atmel公司生產(chǎn)的一款A(yù)RM9核芯片,本文重點(diǎn)介紹將VxWorks移植到該芯片過(guò)程中BSP的定制過(guò)程。

1 BSP概念

  BSP通常是指針對(duì)具體的硬件平臺(tái),用戶所編寫(xiě)的啟動(dòng)代碼和部分設(shè)備驅(qū)動(dòng)程序的集合。它所實(shí)現(xiàn)的功能包括初始化和驅(qū)動(dòng)部分設(shè)備。最基本的BSP僅需要支持處理器復(fù)位、初始化、驅(qū)動(dòng)串口和必要的時(shí)鐘處理。BSP是相對(duì)于操作系統(tǒng)而言的,不同的操作系統(tǒng)對(duì)應(yīng)不同形式的BSP,因此,在寫(xiě)B(tài)SP時(shí)一定要按照要求的操作系統(tǒng)對(duì)BSP的定義形式來(lái)寫(xiě)。在VxWorks系統(tǒng)中,BSP是介于底層硬件環(huán)境和VxWorks之間的一個(gè)軟件接口,它的主要功能是系統(tǒng)加電后初始化目標(biāo)機(jī)硬件和VxWorks,并提供部分硬件驅(qū)動(dòng)程序。BSP在VxWorks系統(tǒng)中的層次關(guān)系如圖1所示。

  BSP為各種板卡的硬件功能提供了統(tǒng)一的軟件接口,包括硬件初始化、中斷的捕捉和處理、硬件時(shí)鐘和定時(shí)器管理、內(nèi)存地址映射,以及內(nèi)存分配等。每個(gè)BSP還包括一個(gè)ROM啟動(dòng)或其他啟動(dòng)機(jī)制。

2 VxWorks的引導(dǎo)過(guò)程

  在編寫(xiě)B(tài)SP之前,首先要了解整個(gè)系統(tǒng)的啟動(dòng)過(guò)程。VxWorks的映像由代碼段、數(shù)據(jù)段和BSS段3部分組成。VxWotks內(nèi)核可以分為3種:可加載類(lèi)型映像、基于ROM的VxWorks映像和RoM駐留型映像。這3種類(lèi)型的映像組織是不一樣的,因此啟動(dòng)過(guò)程有所區(qū)別。

  可加載映像包括VxWorks和Boot ROM兩部分內(nèi)容,兩部分是獨(dú)立創(chuàng)建的。首先,由系統(tǒng)引導(dǎo)代碼把ROM引導(dǎo)程序搬到RAM_HIGH_ADRS。然后,ROM引導(dǎo)程序開(kāi)始運(yùn)行,將VxWorks映像加載到RAM_LOW_ADRS,之后跳轉(zhuǎn)到VxWorks映像裝入點(diǎn)。

  基于ROM的VxWorks映像在BSP初始化時(shí),會(huì)把lmage完全搬到RAM中執(zhí)行,包括代碼段和數(shù)據(jù)段。在拷貝執(zhí)行完畢后,系統(tǒng)控制權(quán)轉(zhuǎn)移給RAM中VxWorks映像的初始化代碼。

  ROM駐留型映像只是將ROM中VxWorks映像的數(shù)據(jù)段和BSS段拷貝到RAM中,完成后系統(tǒng)控制權(quán)轉(zhuǎn)移給ROM/Flash里VxWorks映像的初始化代碼,代碼段留在ROM中并在ROM中運(yùn)行。在ROM中運(yùn)行的VxWorks映像主要足為了節(jié)省RAM空間,帶來(lái)的不利則是運(yùn)行速度慢。

  圖2和圖3分別是下載型和ROM型VxWorks映像的初始化流程。

下面以ROM型VxWorks內(nèi)核啟動(dòng)流程為例,說(shuō)明各文件的作用:

  romlnit()保存啟動(dòng)類(lèi)型,屏蔽中斷;初始化內(nèi)存和寄存器,屏蔽Cache;初始化CPU,將堆棧指針定位于被拷貝Boot ROM映像在RAM的地址;跳到romStart()。

  roraStart()根據(jù)不同的映像類(lèi)型將VxWorks映像的不同部分解壓縮<如果需要)并加載到RAM中。

  usrInit() 對(duì)VxWorks映像的BSS段清零;調(diào)用intVecBaseSet()設(shè)置中斷矢量基地址表;調(diào)用excVecInit()初始化異常中斷矢量;調(diào)用sysHwInit()初始化系統(tǒng)硬件;調(diào)用usrKernelInit()初始化wind內(nèi)核;調(diào)用kernellnit()啟動(dòng)wind內(nèi)核,啟動(dòng)usrRoot()任務(wù)。

  usrRoot()設(shè)置操作系統(tǒng)時(shí)鐘,創(chuàng)建設(shè)備,安裝驅(qū)動(dòng),調(diào)用sysHwInit2()安裝系統(tǒng)時(shí)鐘和輔助時(shí)鐘中斷以及串口等設(shè)備的中斷,初始化I/O、文件系統(tǒng)、調(diào)用應(yīng)用程序。

3 VxWorks在AT91RM9200上的BSP設(shè)計(jì)

3.1 AT91RM9200簡(jiǎn)介

  AT91RM9200的片上資源包括:ARM920T處理器棱、16KB的內(nèi)部SRAM和128KB的內(nèi)部ROM存儲(chǔ)器;支持SDRAM、SRAM、Burst Flash和CompactFlash、SmartMedia以及NANDFlash的無(wú)縫連接;16KB的數(shù)據(jù)Cache,16KB的指令Cache,完全可編程的外部總線接口EBI,4個(gè)32位的PIO控制器可以達(dá)到122個(gè)可編程I/O引腳(每個(gè)都有輸入控制、可中斷及開(kāi)路的輸出能力);帶有8個(gè)優(yōu)先級(jí)、可單獨(dú)屏蔽中斷源的先進(jìn)中斷控制器、6組硬件定時(shí)器、4個(gè)通用同步/異步收發(fā)器USART。

3.2 BSP中幾個(gè)重要文件的修改

  由于AT91RM9200的內(nèi)核是ARM920T,所以BSP文件主要在VxWorks編澤環(huán)境Tornado的目錄target/config/all和target/config/integrator920t文件夾里。其中,a11文件夾里的文件對(duì)于絕大多數(shù)BSP都是共用的,一般來(lái)說(shuō)不需要修改,特別是“configAll.h”;integrator920t文件夾里的文件就是所要編寫(xiě)的BSP文件,這些文件往往與系統(tǒng)硬件密切相關(guān)。

3.2.1 修改Makeflie

  Makefile文件定義編譯和鏈接整個(gè)BSP的規(guī)則,如編譯工具的選擇、編譯選項(xiàng)和包含文件路徑等;控制生成VxWorks映像文件的類(lèi)型,同時(shí)含有存儲(chǔ)區(qū)大小的信息,對(duì)于存儲(chǔ)區(qū)大小信息的改動(dòng)必須與Config.h的對(duì)應(yīng)改動(dòng)同步。有些參數(shù)需在該文件中定義,如處理器類(lèi)型、編譯工具、目標(biāo)地址等。下面介紹一些須修改的參數(shù)和地址:

3.2.2 修改Config.h

  Config.h文件包含了所有頭文件和與CPU相關(guān)的特殊定義。VxWorks內(nèi)核組件的配置由Config.h文件定義。Config.h中的主要修改內(nèi)容有定義引導(dǎo)行和修改地址。

(1)定義引導(dǎo)行

  其中,mac(O,0)為AT91RM9200芯片中的EMAC設(shè)備;host為主機(jī)名;VxWorks為要下載的文件名;h為主機(jī)IP地址;e為目標(biāo)板IP地址;u為用戶名;pw為密碼;tn為目標(biāo)板名稱(chēng)。

(2)修改地址

  該文件中的地址定義,如ROM_TEXT_ADRS、ROM_SIZE、RAM_LOW_ADR、SRAM_HIGH_SIZE等要與Makefik文件中的相關(guān)定義一致。本設(shè)計(jì)中代碼段存儲(chǔ)在連接ARM芯片外部片選CSO上的Flash里面,基地址為Oxl0000000,因此.定義如下:

  VxWorks的缺省配置由configAll.h來(lái)確定。一般來(lái)說(shuō),缺省配置的設(shè)置與自行開(kāi)發(fā)的硬件系統(tǒng)的配置不同,用戶可通過(guò)Cotlfig.h來(lái)改變?nèi)笔∨渲谩S脩繇毑榭碿onfigAll.h,并在Config.h中將不需要的軟硬件配置和初始化去掉。例如,缺省配置中一般包含浮點(diǎn)處理器,而AT9LRM9200中沒(méi)有浮點(diǎn)寄存器,因此就要?jiǎng)h掉相關(guān)配置。

3.2.3 修改integrator920t.c

  該文件中設(shè)置所有非可選的、與AT91RM9200芯片相關(guān)的信息,如各硬件相關(guān)寄存器的地址定義,設(shè)備寄存器中對(duì)應(yīng)位的定義,各硬件中斷矢量和中斷優(yōu)先級(jí)的定義,DBUG和USART的控制,網(wǎng)口的定義,系統(tǒng)時(shí)鐘和輔助時(shí)鐘參數(shù)設(shè)置等。VxWorks所要使用的目標(biāo)板包含設(shè)備的驅(qū)動(dòng)程序頭文什應(yīng)當(dāng)包含在該文件的開(kāi)始。該文件中的各項(xiàng)宏定義均是基于AT91RM9200芯片的,并根據(jù)具體要求定義。例如,電源管理控制器中用到兩個(gè)鎖相環(huán)PLLA和PLLB,對(duì)它們的部分參數(shù)設(shè)定代碼如下:

3 2.4 修改rornlnit.s

  該文件包含引導(dǎo)ROM和基于ROM的VxWorks映像的入口初始化匯編代碼。入口點(diǎn)為romInit()函數(shù),是系統(tǒng)加電啟動(dòng)后首先執(zhí)行的代碼。主要功能是:保存啟動(dòng)類(lèi)型,使處理器復(fù)位;初始化Flash和SDRAM;設(shè)置MMU到已知狀態(tài);指令Cache使能;初始化MMU控制寄存器(指令32位、數(shù)據(jù)32位、寫(xiě)緩沖使能);開(kāi)漏寫(xiě)緩沖,并且使指令和數(shù)據(jù)Cache都兀效;通過(guò)設(shè)置CPSR的IRQ禁止位、FIR禁止位和先進(jìn)中斷控制器AIC中的中斷禁止寄存器來(lái)屏蔽中斷,跳轉(zhuǎn)到bootInit.c中的rom-Start(),同時(shí)傳遞啟動(dòng)類(lèi)型。其中,中斷屏蔽代碼如下:

  在調(diào)試這段代碼時(shí),由于串口和網(wǎng)口都沒(méi)有啟動(dòng),因此只能通過(guò)點(diǎn)燈程序來(lái)跟蹤程序的執(zhí)行情況,設(shè)置不同的LED亮來(lái)顯示程序執(zhí)行到哪一步。例如,如果要并行輸入/輸出口C的32位中的第15位亮,則可以編程為;

  在編寫(xiě)本文件時(shí),需要注意的地方是:不要在該文件里進(jìn)行過(guò)多的初始化操作,大部分硬件初始化操作在sysLib.c文件中的sysHwInit()函數(shù)中進(jìn)行。

3.2.5 修改sysLib c

  sysLib.c是BSP初始化的核心代碼。在這個(gè)文件中,必須復(fù)位所有的硬件,使其處于初始化狀態(tài),保證后面開(kāi)中斷后不會(huì)產(chǎn)生假中斷。這個(gè)文件包含了由目標(biāo)機(jī)體系結(jié)構(gòu)決定的、與系統(tǒng)有關(guān)的C程序。這些C程序提供板級(jí)接口。基于這些接口,VxWorks和應(yīng)用程序的構(gòu)造與系統(tǒng)無(wú)關(guān)。該文件的功能包括:定義了RRAM、SRAM、ROM、外部片選芯片的物理地址和虛擬地址;定義中斷優(yōu)先級(jí)寄存器中各個(gè)位對(duì)應(yīng)的優(yōu)先級(jí);調(diào)用sysHwInit()初始化串口和網(wǎng)口,安裝IRQ/SVC中斷堆棧分配程序;總線中斷功能等。本文件中有兩個(gè)重要的函數(shù):sysHwInit()和sysHwInit2()。sysHwInit()的代碼如下:

  sysHwInit2()用來(lái)連接系統(tǒng)中斷,安裝ISR,進(jìn)行其他配置。它在初始化系統(tǒng)時(shí)鐘時(shí),由sysClkConnect()調(diào)用,主要用來(lái)初始化中斷庫(kù)和中斷驅(qū)動(dòng),安裝系統(tǒng)時(shí)鐘和輔助時(shí)鐘的中斷以及串口等設(shè)備的中斷。

4 編譯生成映像

  系統(tǒng)定制完成后,有兩種編譯方式:一種是在Tornado下進(jìn)行編譯,生成映像文件;另一種是直接用Make工具編譯,但要寫(xiě)好腳本文件。裝載到目標(biāo)板中的VxWorks映像取決于使用的下載方式,其中主要包括以下幾種:

  ①VxWorks。這是基于RAM的映像,VxWorks需要通過(guò)目標(biāo)板上的引導(dǎo)程序從串口或網(wǎng)口把它下載到目標(biāo)板的RAM中運(yùn)行。在Tornado開(kāi)發(fā)環(huán)境下,這是一個(gè)默認(rèn)選項(xiàng),主要用在調(diào)試階段。使用宿主機(jī)上的WindSh工具和符號(hào)表。

  ②VxWorks.st。這也是基于RAM的映像,需要通過(guò)引導(dǎo)ROM把VxWorks映像下載到目標(biāo)機(jī)內(nèi)存中才能執(zhí)行。該對(duì)象文件內(nèi)置符號(hào)表。

  ③VxWorkS_rom。這是一個(gè)非壓縮、基于ROM的映像。在這個(gè)對(duì)象文件執(zhí)行前,先把自己拷貝到目標(biāo)機(jī)RAM中。這種類(lèi)型的映像通常在啟動(dòng)階段速度比較慢,因?yàn)榇a在ROM中執(zhí)行,但執(zhí)行階段比ROM駐留型的映像要快。

  ④VxWorks.st_rom。這是基于ROM壓縮的VxWorks映像。它在執(zhí)行前先把自己解壓并拷貝到目標(biāo)機(jī)RAM中執(zhí)行。

  ⑤VxWorks.res_rom。這是ROM駐留型的非壓縮VxWorks的映像。它在執(zhí)行前把數(shù)據(jù)段拷貝到目標(biāo)機(jī)RAM中。這種類(lèi)型的映像在啟動(dòng)階段比較快,但在目標(biāo)機(jī)上執(zhí)行的速度比基于ROM類(lèi)型的映像慢(因?yàn)镃PU訪問(wèn)ROM比訪問(wèn)RAM要慢)。通常在RAM空間比較小的目標(biāo)機(jī)上使用這種類(lèi)型的映像。

5 需要注意的問(wèn)題

  首先,應(yīng)該避免在romInit.s中進(jìn)行過(guò)多的初始化操作。該史件中只是進(jìn)行必要的最小硬件初始化,大部分硬件的初始化都是在sysHwInit()中完成的。另外,romTnit.s中的代碼不應(yīng)當(dāng)被其他模塊或函數(shù)調(diào)用。

  其次,應(yīng)該避免sysAlib.s中工作太少。BSP開(kāi)發(fā)人員通常錯(cuò)誤地認(rèn)為在romInit.s里初始化過(guò)的設(shè)備不需要在sysAlib.s中重新初始化。實(shí)際上,VxWorks映像并不認(rèn)為它是由引導(dǎo)映像程序引導(dǎo)的,因此,它必須重新設(shè)置和初始化所有它自己需要使用的設(shè)備。sysInit()是該文件中最主要的一個(gè)函數(shù),也是第一個(gè)函數(shù)。該例程中很多工作與romInit()是相同的,目的是保證內(nèi)核映像在運(yùn)行與冷啟動(dòng)時(shí),軟硬件環(huán)境高度一致。

  最后,對(duì)特定的BSF。驅(qū)動(dòng)程序的修改,只能在特定的BSP目錄下。此設(shè)計(jì)中目錄為target/config/integra-tor920t,不要直接在target/src/drv以及target/h/drv中修改。只有風(fēng)河公司的源程序才能存放在這些目錄下。

6 結(jié)論

  本文在介紹BSP的概念、作用和vxWorks映像分類(lèi)以及系統(tǒng)啟動(dòng)流程的基礎(chǔ)上,以Atmel公司生產(chǎn)的ARM9處理器AT91RM9200為例,重點(diǎn)介紹了VxWorks的BSP設(shè)計(jì)中需要修改的幾個(gè)重要文件,最后提出了需要注意的問(wèn)題。盡管目標(biāo)板硬件不同,BSP的實(shí)現(xiàn)也不盡相同,但基本思想是一樣的。本設(shè)計(jì)對(duì)各類(lèi)開(kāi)發(fā)板的系統(tǒng)移植和后續(xù)的應(yīng)用程序開(kāi)發(fā)有一定的參考價(jià)值


支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

VxWorks在AT91RM9200上的BSP設(shè)計(jì)








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
欧美成人一区二区在线| 色综合久久久久网| 日本一区二区精品视频| 欧美电影在线免费观看| 亚洲精品成人精品456| 国产91富婆露脸刺激对白| 午夜视频久久久| 国产午夜精品一区二区三区四区| 日本 国产 欧美色综合| 久久草.com| 日韩一二三四区| 男人的天堂亚洲一区| 精品卡一卡二| 久久久99精品久久| 顶级嫩模精品视频在线看| 一本久道久久综合| 国产精品久久午夜夜伦鲁鲁| 丰满亚洲少妇av| 欧美亚洲日本国产| 日日夜夜一区二区| 日韩av不卡在线播放| 国产欧美日韩亚州综合| www.av亚洲| 日韩欧美你懂的| 国产主播一区二区| 在线观看日产精品| 天使萌一区二区三区免费观看| 老牛影视免费一区二区| 中文字幕在线观看不卡视频| 99久久精品久久久久久ai换脸| 日韩午夜av电影| 国产一区二区主播在线| 欧美亚洲自拍偷拍| 麻豆精品新av中文字幕| 这里只有精品66| 爽好久久久欧美精品| 亚洲草草视频| 亚洲成人动漫一区| 一本一本久久a久久精品综合妖精| 亚洲精品国久久99热| 欧美极品日韩| 一区二区三区高清| 亚洲v国产v在线观看| 亚洲国产成人av| 亚洲午夜精品久久| 天堂va蜜桃一区二区三区漫画版| 亚洲一区二区三区精品在线观看| 亚洲一卡二卡三卡四卡无卡久久 | 国产精品一区在线观看乱码| 91黄色免费看| 久久精品国产亚洲一区二区三区| 在线精品视频免费观看| 久久69国产一区二区蜜臀| 欧美日韩一区二区不卡| 国产精品123区| 精品国产91九色蝌蚪| 91在线观看地址| 亚洲国产激情av| 蜜桃av噜噜一区二区三| 夜夜操天天操亚洲| 中文字幕日韩一区二区三区不卡| 人人狠狠综合久久亚洲| 欧美电影一区二区| www.欧美.com| 亚洲欧美怡红院| 日本免费高清一区二区| 日韩精品视频网| 欧美一区二区三区不卡| 51蜜桃传媒精品一区二区| 国产精品国产精品国产专区不片| 日本一区高清在线视频| 裸体健美xxxx欧美裸体表演| 欧美一区三区四区| 爱情岛论坛亚洲入口| 亚洲美女屁股眼交3| 91国产免费看| av一区二区三区四区| 国产精品网站一区| 亚洲精品中字| 国产一区二区在线视频| 欧美激情艳妇裸体舞| 免费看污久久久| 老司机精品视频导航| 精品成人免费观看| 日本在线成人一区二区| 国产米奇在线777精品观看| 久久久久青草大香线综合精品| 久久精品中文字幕一区二区三区| 日本特黄久久久高潮| 精品国产免费人成电影在线观看四季| 好看的日韩精品| 久久精品国产亚洲高清剧情介绍 | 蜜桃麻豆www久久国产精品| 美女精品一区二区| 国产日韩精品一区二区浪潮av| 亚洲国产一区在线| 成人高清在线视频| 亚洲成人自拍偷拍| www国产精品av| 这里只有精品66| 99国产高清| 蜜臀av性久久久久蜜臀av麻豆| 精品国产免费一区二区三区四区 | 亚洲狠狠丁香婷婷综合久久久| 欧美日韩亚洲综合一区二区三区| 动漫美女被爆操久久久| 麻豆中文一区二区| 国产精品毛片无遮挡高清| 欧美系列亚洲系列| 国产一区二区三区四区五区在线| 久久精品免费观看| 亚洲人吸女人奶水| 日韩欧美电影在线| 中文字幕一区综合| 国产高清在线一区二区| 国产一区在线观看视频| 洋洋成人永久网站入口| 久久久不卡网国产精品一区| 色婷婷综合久久久中文字幕| 国产精品一区二区在线观看| 国产乱色国产精品免费视频| 亚洲国产视频一区二区| 国产视频一区在线观看| 欧美日韩精品电影| 一区二区不卡在线视频 午夜欧美不卡' | 日韩一区二区三区三四区视频在线观看 | 无遮挡亚洲一区| 91最新地址在线播放| 日本女优在线视频一区二区| 亚洲视频每日更新| 2023国产精品| 欧美日韩成人在线一区| 偷拍视频一区二区| 国产不卡一区二区在线观看| 国产成人精品一区二区三区四区| 亚洲成人av一区| 中文字幕中文字幕一区二区| 欧美一区二区福利视频| 亚洲精品视频一二三| 国产日韩亚洲精品| 91污在线观看| 成人高清伦理免费影院在线观看| 日韩av一级片| 亚洲国产精品视频| 一区二区三区免费网站| 亚洲欧洲无码一区二区三区| 国产亚洲视频系列| 日韩三级在线免费观看| 欧美日韩精品一区二区三区蜜桃| 在线观看成人一级片| 日韩精品久久久| 国内成+人亚洲| 99se婷婷在线视频观看| 99久久国产综合精品女不卡| 国产成人免费高清| 国内精品国产三级国产a久久| 亚洲mv大片欧洲mv大片精品| 亚洲综合成人网| 亚洲精品国产成人久久av盗摄 | 精品综合免费视频观看| 免费的成人av| 蜜桃av噜噜一区| 免费不卡在线观看| 免费av网站大全久久| 琪琪久久久久日韩精品| 免费在线视频一区| 免费在线视频一区| 日韩av中文在线观看| 免费xxxx性欧美18vr| 久久99国产精品麻豆| 久久国产精品免费| 久久97超碰色| 国内精品久久久久影院一蜜桃| 国产精品资源网| 国产91精品免费| kk眼镜猥琐国模调教系列一区二区| 国产a久久麻豆| 2019国产精品视频| 国产乱码精品一区二区三区不卡| 国产精品久久久久免费| 国产区二精品视| 欧美亚洲国产免费| 一区二区三区电影| 欧美吻胸吃奶大尺度电影 | 亚洲午夜电影在线| 午夜精品久久一牛影视| 日韩电影一二三区| 蜜臀a∨国产成人精品| 国产高清精品久久久久| 成人午夜电影久久影院| 91麻豆免费观看| 国产在线精品二区| 亚洲人成网站在线观看播放| 在线观看不卡视频| 欧美一区日本一区韩国一区| 久久亚洲免费视频| 欧美日韩成人综合天天影院| 日韩欧美一区在线| 国产欧美一区二区精品久导航| 日韩毛片精品高清免费|