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


曙海教育集團(tuán)論壇Win CE 專(zhuān)區(qū)Wince技術(shù)討論區(qū) → WinCE系統(tǒng)下BootLoader的開(kāi)發(fā)


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

主題:WinCE系統(tǒng)下BootLoader的開(kāi)發(fā)

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


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
WinCE系統(tǒng)下BootLoader的開(kāi)發(fā)  發(fā)帖心情 Post By:2010-11-16 8:47:38

摘要:介紹WinCE.NET系統(tǒng)的舊方法;說(shuō)明板級(jí)支持包(BSP)的基本構(gòu)成;從開(kāi)發(fā)實(shí)際出發(fā),詳細(xì)闡述如何開(kāi)發(fā)BSP中的重要部件--BootLoader。
    關(guān)鍵詞:WinCE.NET BSP BootLoader DOC

引言

Windows CE.NET是微軟公司向嵌入式領(lǐng)域推出的一款操作系統(tǒng)。它最大程度繼承了桌面版Windows操作系統(tǒng)的豐富功能,同時(shí)又副入了許多新特性,以適應(yīng)嵌入式領(lǐng)域的實(shí)際情況和要求。無(wú)論是商業(yè)應(yīng)用需求,還是人們的多媒體消費(fèi)需求,都能被采用CE操作系統(tǒng)的設(shè)備很輕松的滿(mǎn)足。最新的.NET版本較之3.0版本,在實(shí)時(shí)性和穩(wěn)定性上有大幅度提高,開(kāi)始廣泛地被平板電腦、數(shù)碼相機(jī)、彩屏手機(jī)、PDA等多種高性能產(chǎn)品所采用。

但是,CE并不是一個(gè)通用的安裝版操作系統(tǒng),在形形色色的嵌入式硬件設(shè)備世界里, 一款CE系統(tǒng)通常只會(huì)針對(duì)某一種硬件平臺(tái)生成。所以,作為原始設(shè)備生產(chǎn)商,必須根據(jù)自己的硬件平臺(tái)和應(yīng)用場(chǎng)合定制CE,最主要的工作就是編寫(xiě)適合于自己的板級(jí)支持包(BSP)。在BSP中,包含了一個(gè)重要的組成部分——BootLoader。創(chuàng)建一未功能完善的BootLoader,是開(kāi)發(fā)WinCE系統(tǒng)的第一步,也是極為關(guān)鍵的一步。本文將結(jié)合開(kāi)發(fā)實(shí)例,介紹如何開(kāi)發(fā)適合于自己硬件的BootLoader。

1 定制CE操作系統(tǒng)的基本知識(shí)

定制CE操作系統(tǒng)是采用微軟的工具軟件:Platform Builder(PB)。該工具能夠根據(jù)用戶(hù)的需求,選擇構(gòu)建具有不同內(nèi)核功能的CE系統(tǒng)。同時(shí),它也是一個(gè)集成的編譯環(huán)境,可以為所有CE支持的CPU目標(biāo)代碼編譯C/C++程序。前面所說(shuō)的BSP和BootLoader程序就是在該環(huán)境下編譯,并整合到CE系統(tǒng)中去的。一旦成功地編譯了一個(gè)CE系統(tǒng),就會(huì)得到一個(gè)名為nk.bin的映像文件。只要將該文件下載到目標(biāo)平臺(tái)(device端),就能夠運(yùn)行CE了。

2 BootLoader

BootLoader是一段單獨(dú)的程序代碼,它存放于目標(biāo)平臺(tái)的非易失存儲(chǔ)介質(zhì)中,如ROM或Flash。在開(kāi)發(fā)CE的過(guò)程中,它主要用于啟動(dòng)硬件和下載nk.bin到目標(biāo)板上,并有一定的監(jiān)控作用。

圖1描述了WinCE的BSP基本結(jié)構(gòu)以及BootLoader所處的位置。

一般來(lái)說(shuō),對(duì)于BootLoader的功能要求并不是嚴(yán)格定義的,不同的場(chǎng)合區(qū)別很大。比如,在PC的硬件平臺(tái)上,由于硬件啟動(dòng)根本就不是通過(guò)BootLoader(而是通過(guò)BIOS),所以BootLoader就不需要對(duì)CPU加電后的初始化做任何工作;而在筆者的開(kāi)發(fā)平臺(tái)(MIPS32)上,BootLoader是最先被執(zhí)行的程序,所以就必須包括加電初始化程序。通常,BootLoader必須包含下載CE映像文件的功能。另外,管理監(jiān)控硬件設(shè)備通常也是必須的,因?yàn)檫@可以極大地方便工程開(kāi)發(fā)。由于BootLoader涉及到基本的硬件操作,如CPU的結(jié)構(gòu)、指令等,同時(shí)又涉及到以太網(wǎng)下載協(xié)議(TFTP,當(dāng)然也可能通過(guò)串口)和策軟設(shè)定的映像文件格式。因此從零實(shí)現(xiàn)的話(huà),會(huì)需要相當(dāng)長(zhǎng)的過(guò)程。好在微軟為每種類(lèi)型的CPU都提供了某種標(biāo)準(zhǔn)開(kāi)發(fā)板的BootLoader例程,因此通常的做法是:從這些例程中尋找與硬件平臺(tái)最接近的作為標(biāo)本程序,然后再?gòu)淖约旱挠布脚_(tái)上入手做相應(yīng)的改動(dòng)。一些新的評(píng)估板可能會(huì)由第三方的廠(chǎng)商來(lái)提供Bootloader。如果硬件平臺(tái)是從這樣的基板設(shè)計(jì)而來(lái)的話(huà),那么最好去尋求這些廠(chǎng)商獲取Bootloader來(lái)移植,以減少工作量。

筆者使用的硬件平臺(tái)基于MIPS32架構(gòu),下載端口采用的是以太網(wǎng)口,同時(shí)還具備一個(gè)串口,主機(jī)相連,通過(guò)超級(jí)終端對(duì)該平臺(tái)加以控制。該平臺(tái)是參考AMD的一款標(biāo)準(zhǔn)估計(jì)板設(shè)計(jì)的,BootLoader以該板的BootLoader為參考進(jìn)行了移植。

3 編寫(xiě)B(tài)ootLoader源程序

前面已經(jīng)提到,由于硬件的不同,BootLoader的功能可能有多有少,此處筆者以自己開(kāi)發(fā)BootLoader的過(guò)程進(jìn)行敘述。圖2是筆者BootLoader的工程流程。

3.1 啟動(dòng)部分

首先要實(shí)現(xiàn)初臺(tái)化硬件的功能。在參考板的BootLoader目錄下,會(huì)發(fā)現(xiàn)一些.s文件,可能會(huì)是init.s或者是reset.s等,這樣的文件是CPU加電后最先執(zhí)行的代碼。由于此處是用匯編語(yǔ)言編寫(xiě)的,所以與CPU關(guān)系緊密。一般參考板的CPU與開(kāi)發(fā)平臺(tái)的CPU會(huì)是相同或者是同一個(gè)架構(gòu)的。筆者使用的是屬于同一種CPU的情況,所以對(duì)寄存器的定義和初始化流程都可以不加改動(dòng)。接著就是對(duì)于平臺(tái)配置的分析,包括平臺(tái)存儲(chǔ)空間的分配、外圍設(shè)備的工作設(shè)定等。一般這里的區(qū)別是非常大的。所以必須要對(duì)CPU寄存器的值作相應(yīng)設(shè)定。這部分工作可能需要CPU提供商方面的幫助。

應(yīng)該說(shuō),這部分工作是BootLoader的一大重點(diǎn),但由于和實(shí)際的硬件非常大,所以不可能做進(jìn)一步的詳細(xì)敘述。

3.2 主控部分

從這一部分開(kāi)始,均用C語(yǔ)言編寫(xiě)。

為了增加BootLoader對(duì)平臺(tái)的控制,一般BootLoader都會(huì)設(shè)計(jì)成支持命令輸入的方式,通過(guò)串口來(lái)接收用戶(hù)的命令。這種機(jī)制中,如果參考板有Loader支持的話(huà),那么可以自己添加有實(shí)用價(jià)值的命令,完成一些需要的功能。

從圖2中可以看出,一般在平臺(tái)調(diào)試完畢后,可以在不用人工干預(yù)的情況下自動(dòng)加載CE(這也是BootLoader必需的功能之一);而在調(diào)試階段,基本上是通過(guò)Loader所支持的命令來(lái)進(jìn)行操作的。提供足夠豐富的命令,能極大簡(jiǎn)化和全面測(cè)試開(kāi)發(fā)平臺(tái)。如表1所列,是筆者Loader所提供的命令。

表1

命   令 說(shuō)      明

Help 列出所有支持的命令并加以說(shuō)明
Eboot 從開(kāi)發(fā)臺(tái)下載CE映像并加載
Write 向某一內(nèi)存地址寫(xiě)入數(shù)據(jù)
Read 顯示某一內(nèi)存地址的數(shù)據(jù)
Jump 跳轉(zhuǎn)到某一地址執(zhí)行程序
Xmodem 從計(jì)算機(jī)的超級(jí)終端接收以Xmodem協(xié)議傳送的文件
Toy 測(cè)試平臺(tái)CPU的計(jì)數(shù)器是否運(yùn)轉(zhuǎn)
Flash 擦除或者更新Flash中的數(shù)據(jù)
Tlbread 顯示CPU的所有TLB表
Tlbwrit 設(shè)置CPU的TLB
Macaddr 設(shè)置CPU的MAC地址
Seti 設(shè)置平臺(tái)的IP地址

這些命令涉及到平臺(tái)調(diào)試的各個(gè)方面,像內(nèi)存檢測(cè)、Flash操作、文件下載等。借助于這些命令,不僅可以完成硬件平臺(tái)的部分測(cè)試,還完成了作為CE的BootLoader程序最為重要的一個(gè)功能——下載CE映像。

3.3 下載部分

在用Platform Builder編譯生成CE的映像文件后,接下來(lái)就需要將該文件下載到目標(biāo)板上。如果說(shuō)硬件調(diào)試功能可以由其它的程序代替而不放入BootLoader中,但是下載映像文件卻是BootLoader必需的功能。

CE映像文件通常叫做nk.bin,它是Windows CE二進(jìn)制數(shù)據(jù)格式文件,不僅包含了有效的程序代碼,還有按照一定規(guī)則加入的控制信息。當(dāng)然,也可以選擇生成.sre格式的代碼文件,但是相于對(duì)前一種格式,它的代碼要長(zhǎng)很多,所需要的下載時(shí)間也更長(zhǎng)。在這里,我們以下載.bin格式的文件來(lái)說(shuō)明下載的實(shí)現(xiàn)。

首先看一下圖3所示的BootLoader下載部分的流程圖。

通常,在Platform Builder自帶的代碼中,會(huì)包含完成TFTP連接的了基本的函數(shù)。

*初始化TFTP連接:用函數(shù)EbootInitTFtp()和EbootInitTFtpd()完成。

*登記解析.bin格式數(shù)據(jù)的回調(diào)函數(shù):用EbootTFtpdServerRegister()完成。

*發(fā)出連接請(qǐng)求:用EbootSendBootme()完成。

*接收主機(jī)端發(fā)出的數(shù)據(jù)包:用EbootTFtpReceiver()完成。

在這里,需要重點(diǎn)說(shuō)明的有兩點(diǎn)。

①對(duì)于接收數(shù)據(jù)包的函數(shù)EbootTFtpReceiver(),它只能處理已經(jīng)存入內(nèi)存的以太網(wǎng)包,也就是說(shuō),從以太網(wǎng)控制器接收數(shù)據(jù)的功能必須要用戶(hù)去完成。由于這一功能與硬件密切相關(guān),所以不能使用PB自帶的函數(shù)來(lái)完成。

②函數(shù)EbootTFtpdServerRegister()會(huì)登記一個(gè)回調(diào)函數(shù),一般用戶(hù)可以自己定義這個(gè)函數(shù),該函數(shù)用于完成,bin格式數(shù)據(jù)的解析和保存,有效數(shù)據(jù)至目的地RAM。PB有自帶的例程函數(shù)可作參考。一般來(lái)說(shuō),如果目的地就是RAM的話(huà),直接參考例程函數(shù)即可。但是如果目的地就是Flash,不要直接存入Flash(字為單位),應(yīng)先存入內(nèi)存中待下載完畢以后再導(dǎo)入Flash。當(dāng)然,這種方法必須要有足夠的內(nèi)存。如果沒(méi)有足夠的內(nèi)存,也可以緩存部分?jǐn)?shù)據(jù)后,分段寫(xiě)入Flash。

3.4 支持DOC

對(duì)于WinCE操作系統(tǒng)而言,豐富的多媒體功能是其一大特點(diǎn),使其成為當(dāng)前消費(fèi)類(lèi)電子產(chǎn)品操作系統(tǒng)中的一個(gè)不錯(cuò)選擇。但是隨之而來(lái)的問(wèn)題是,系統(tǒng)的容易已經(jīng)大大超過(guò)出了傳統(tǒng)嵌入式系統(tǒng)上百KB的數(shù)量級(jí)。一般來(lái)說(shuō),如果選擇了圖形界面和漢語(yǔ)支持,容量一般會(huì)超過(guò)16MB。DOC(Disk On Chip)則提供了一種相對(duì)廉價(jià)的大存儲(chǔ)容量的解決方案。

DOC本質(zhì)上是一種加以軟件控制的NAND格式的Flash,通過(guò)TFFS這一軟件層提供對(duì)WinCE的支持。

由于DOC不能像內(nèi)存一樣被直接訪(fǎng)問(wèn),所以其加載WinCE的過(guò)程有些特殊,必須要在BootLoader中加入專(zhuān)門(mén)的代碼,才能使用DOC來(lái)存放WinCE映像文件。

為了說(shuō)明怎樣在Loader文件中提供對(duì)DOC的支持,先看一下如何采用DOC系統(tǒng)啟動(dòng)CE,如圖4所示。從圖4可以看出,當(dāng)采用DOC作為存儲(chǔ)體的時(shí)候,實(shí)際上是在啟動(dòng)的時(shí)候把映像文件拷貝到內(nèi)存中執(zhí)行。為了實(shí)現(xiàn)這一啟動(dòng)過(guò)程,就必須涉及到DOC的讀寫(xiě)操作。首先要從M-SYSTEM的網(wǎng)站上獲取DOC的BOOT軟件開(kāi)發(fā)包。在這個(gè)開(kāi)發(fā)包里,提供了一系列DOC的操作函數(shù)。將此開(kāi)發(fā)包嵌入到CE的BootLoader中去,然后按照?qǐng)D4的步驟,調(diào)用相應(yīng)的讀寫(xiě)函數(shù)完成這一過(guò)程。對(duì)于開(kāi)發(fā)包中相關(guān)函數(shù)的說(shuō)明,筆者就不具體介紹了,可以參考開(kāi)發(fā)包的說(shuō)明文檔。

4 BootLoader的編譯、鏈接和下載

BootLoader程序可以通過(guò)PB的集成編譯環(huán)境編譯鏈接,控制文件為.bib文件,下面是一個(gè)簡(jiǎn)單的BootLoader的.bib文件。

MEMORY

CLI 9fc00000 00050000 RAMIMAGE

RAM 80080000 00070000 RAM

CONFIG

COMPRESSION=ON

SRE=ON

ROMSTART=9fc00000

ROMSIZE=00020000

ROMWIDTH=32

ROMOFFET=000000

MODULES

Nk.exe $(_FLATRELEASEDIR).exe CLI

MEMORY部分定義了生成的映像文件的目標(biāo)地址,以及程序運(yùn)行可以使用的內(nèi)存空間。

CONFIG部分:COMPRESSION是否對(duì)目標(biāo)代碼進(jìn)行壓縮;SRE是否生成格式為sre的目標(biāo)代碼;ROMSTART與ROMSIZE、ROMWIDTH、ROMOFFSET共同定義了開(kāi)發(fā)平臺(tái)上存放BootLoader物理介質(zhì)的起始地址、大小、寬度和偏移量。

    MODULES部分定義了BootLoader所包含的文件,一般就只有一個(gè)文件:cli.exe。

編譯過(guò)程中,首先用命令build-c編譯生成文件cli.exe,然后用romimage cli.bib命令產(chǎn)生最后的映像文件cli.sre。

對(duì)于BootLoader文件的下載;有很多種方法:可以通過(guò)仿真器下載;也可以通過(guò)其它調(diào)試程序下載;還可以直接燒寫(xiě)到Flash中。需要說(shuō)明的一點(diǎn)是,這些方法可能會(huì)要求不同的映像格式。在PB環(huán)境下,可以生成的有.sre格式、純二進(jìn)制格式(用于直接燒寫(xiě)Flash)以及和CE映像一樣的.bin格式。

結(jié)語(yǔ)

從CE的BootLoader開(kāi)發(fā)流程可以看出,BootLoader在完成下載CE映像和加載映像的主要功能外,還具有一些調(diào)試硬件的功能。當(dāng)然,這些功能不是必需的,隨不同的用戶(hù)可能有自己的定義。但是不管Loader的功能設(shè)計(jì)得多么簡(jiǎn)單或者是多么復(fù)雜,都是在開(kāi)發(fā)CE系統(tǒng)中不可跳過(guò)的一環(huán)。實(shí)際上,由于Loader有和CE系統(tǒng)交互數(shù)據(jù)的區(qū)域,所以還有對(duì)CE啟動(dòng)過(guò)程的控制作用,也是PB控制目標(biāo)板CE啟動(dòng)的一個(gè)窗口。可以說(shuō),一個(gè)功能齊全的Loader,不論是對(duì)調(diào)試硬件,還是控制和檢測(cè)CE系統(tǒng),甚至是成為產(chǎn)品之后的維護(hù)工作,都是大有幫助的。

編寫(xiě)B(tài)ootLoader是開(kāi)發(fā)WinCE系統(tǒng)第一步,也是關(guān)鍵的一步。只有得到一個(gè)穩(wěn)定工作的Loader程序,才能夠更進(jìn)一步開(kāi)發(fā)WinCE的BSP,直至最后整個(gè)系統(tǒng)的成功。

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

返回版面帖子列表

WinCE系統(tǒng)下BootLoader的開(kāi)發(fā)








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
日产精品高清视频免费| 免费的成人av| 日韩一级片在线播放| 欧美精品黑人性xxxx| 91精品国产综合久久精品图片 | 久久亚洲综合网| 久久精品国产综合精品| 久久综合一区| 亚洲综合欧美日韩| 中文字幕一区二区三区乱码| 91久久精品国产91性色tv| 日本精品免费观看高清观看| 欧美日韩一区成人| 日韩免费高清av| 国产欧美一区二区三区在线看蜜臀| 国产午夜精品久久| 亚洲欧美日韩久久| 亚洲777理论| 国产在线不卡视频| 91啦中文在线观看| 奇米影视首页 狠狠色丁香婷婷久久综合| 日本一区二区不卡高清更新| 一本久道久久综合中文字幕| 91麻豆精品国产91久久久久| 久久久精品综合| 亚洲男同性视频| 美洲天堂一区二卡三卡四卡视频| 国产精品中文欧美| 91精品免费| 亚洲黄色一区二区三区| 欧美美女激情18p| 国产人妖乱国产精品人妖| 亚洲综合在线电影| 国产福利电影一区二区三区| 国产亚洲福利社区| 欧美性淫爽ww久久久久无| 久久精品无码一区二区三区| 亚洲成精国产精品女| eeuss鲁片一区二区三区在线观看| 久久久一本精品99久久精品66 | 国产精品麻豆免费版| 色播五月综合| 欧美成人伊人久久综合网| 亚洲精选视频在线| 国产一区二区电影| 精品乱子伦一区二区三区 | 亚洲精品一二三四区| 国产最新精品精品你懂的| 中文字幕一区二区三区av| 日本一区二区三区四区在线观看| 亚洲高清视频一区二区| 2023国产精品视频| 日本美女一区二区三区视频| 成人欧美一区二区三区黑人免费| 色婷婷狠狠综合| 国产精品女上位| 高潮精品一区videoshd| 色域天天综合网| 中文字幕一区二区不卡| 懂色av一区二区在线播放| 视频在线99re| 欧美高清在线视频| 国产成人免费视频一区| 一区二区精品视频| 亚洲视频一二三| 91麻豆福利精品推荐| 欧美日韩国产天堂| 亚洲第一久久影院| 精品国产一区二区三| 精品久久久久久久久久久久包黑料 | 欧美亚洲国产一卡| 樱桃视频在线观看一区| 91视频com| 欧美一级一区二区| 久久精品免费看| 亚洲精品日韩在线观看| 亚洲另类一区二区| 国产精品一区二区三区四区五区| 日韩欧美一区二区免费| 精品一区二区综合| 色伊人久久综合中文字幕| 亚洲综合免费观看高清完整版 | 亚洲午夜在线视频| 久久久福利视频| 国产精品日韩成人| 91沈先生播放一区二区| 日韩精品在线看片z| 国产精品18久久久| 欧美日韩精品电影| 国产尤物一区二区| 欧美日韩精品欧美日韩精品一 | 精品视频导航| 国产精品国产三级国产aⅴ原创 | 一区二区三区成人| 免费h精品视频在线播放| 中文字幕在线视频一区| 999热视频| 国产日产欧美精品一区二区三区| 99久久亚洲一区二区三区青草| 日韩亚洲欧美在线| 风间由美一区二区三区在线观看 | 亚洲精品国产一区二区三区四区在线| 国产传媒一区| 中文字幕成人网| 国产伦精品一区二区三区照片91| 国产日本欧洲亚洲| 精品无码久久久久久久动漫| 亚洲三级电影网站| 日韩福利一区二区三区| 亚洲mv在线观看| 一级日韩一区在线观看| 青青草一区二区三区| 欧美视频在线观看一区二区| 韩国v欧美v日本v亚洲v| 欧美一区二区黄| 91成人理论电影| 日韩伦理av电影| 亚洲高清在线观看一区| 男女男精品视频网| 欧美妇女性影城| 91年精品国产| 亚洲摸摸操操av| 色www精品视频在线观看| 激情综合色播激情啊| 日韩欧美国产综合一区| 成人羞羞视频免费| 亚洲网友自拍偷拍| 欧美日韩国产综合视频在线观看| 成人性生交大片免费看中文网站| 国产偷国产偷亚洲高清人白洁| 国产女人水真多18毛片18精品 | 秋霞成人午夜伦在线观看| 欧美美女喷水视频| 成人在线资源网址| 亚洲一区二区三区四区不卡 | 亚洲色大成网站www久久九九| 亚洲欧美国产不卡| 国产精品一区二区黑丝| 中文字幕不卡的av| 亚洲图片欧洲图片日韩av| 国产精品一色哟哟哟| 亚洲国产精品二十页| 亚洲精品自在在线观看| 国产成人av福利| 亚洲精品国产一区二区三区四区在线| 在线精品视频免费播放| 91麻豆自制传媒国产之光| 亚洲成a人片综合在线| 欧美v日韩v国产v| 视频一区三区| fc2成人免费人成在线观看播放| 亚洲精品成人在线| 日韩欧美一区二区久久婷婷| 欧美高清视频一区二区三区在线观看 | 色婷婷亚洲婷婷| av一区二区在线看| 久久精品国产一区二区| 国产精品福利在线播放| 色噜噜狠狠成人网p站| 91视频www| 加勒比av一区二区| 亚洲靠逼com| 精品电影一区二区| 亚洲午夜精品久久| 电影午夜精品一区二区三区| 免费人成在线不卡| 中文字幕精品三区| 91一区二区三区| 青青国产91久久久久久| 中文字幕一区视频| 欧美一区三区四区| 亚洲精品乱码久久久久久蜜桃91| 1卡2卡3卡精品视频| 狠狠色丁香久久婷婷综合_中| 亚洲免费色视频| 久久久不卡网国产精品二区| 日本道免费精品一区二区三区| 国产精品美女黄网| 国产精品综合视频| 五月综合激情日本mⅴ| 国产精品色呦呦| 日韩写真欧美这视频| 91精品1区2区| 日韩国产精品一区二区| 91视频99| a级高清视频欧美日韩| 美女视频黄a大片欧美| 亚洲男同1069视频| 久久久久久电影| 欧美一区日韩一区| 欧美午夜寂寞影院| 色综合久久天天综合网| 欧美伦理一区二区| 国产一区二区三区高清| av网站一区二区三区| 国产一区二区主播在线| 裸体在线国模精品偷拍| 水野朝阳av一区二区三区| 伊人夜夜躁av伊人久久| 亚洲三级电影网站|