精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

幾種Linux嵌入式開發(fā)環(huán)境的簡(jiǎn)單介紹

開發(fā)
向您介紹幾種常見的Linux嵌入式開發(fā)環(huán)境,包括emDebian、buildroot和uClinux等,每種環(huán)境都有各自的優(yōu)缺點(diǎn),要結(jié)合具體的Linux嵌入式開發(fā)應(yīng)用的場(chǎng)景進(jìn)行選擇。

做Linux嵌入式系統(tǒng)的對(duì)常見的幾種嵌入式開發(fā)環(huán)境一定不會(huì)默生,由于主要接觸網(wǎng)絡(luò)相關(guān)產(chǎn)品的一些系統(tǒng)設(shè)計(jì),因此,將可能用到的嵌入式開發(fā)環(huán)境簡(jiǎn)要總結(jié)一下。主要涉及下面的幾個(gè)東東:

emDebian

emDebian基于將Debian用于嵌入式系統(tǒng)的目的而開發(fā)。Debian是一個(gè)發(fā)展很快的項(xiàng)目,在我第一次用Debian時(shí),就再也不愿意換用其它的發(fā)布版了,目前我用的Debian已經(jīng)安裝了有兩年的時(shí)間了,但現(xiàn)在系統(tǒng)仍然是“最新”版本,良好的在線軟件升級(jí)系統(tǒng)是Debian成功的原因之一。目前Debian已經(jīng)支持11個(gè)體系的系統(tǒng),包括X86、PPC、MIPS、ARM、SH等(據(jù)最近的一則消息,ARM有可能不再支持),并包含了大量的軟件。這些要?dú)w功于Debian的開發(fā)團(tuán)隊(duì),正因?yàn)橛性S多人使用和支持,因此,不是比較偏門的軟件,基本上不需要從源碼來(lái)安裝,這也是我喜歡用 Debian的原因之一。

這樣好的一個(gè)系統(tǒng),當(dāng)然有人愿意將其用到嵌入式系統(tǒng)中去。emDebian基于一個(gè)很簡(jiǎn)易的嵌入式系統(tǒng)開發(fā)的想法來(lái)構(gòu)造嵌入式系統(tǒng),即從一個(gè)成熟的系統(tǒng)中去除不需要的部份(如文檔和不需要的工具),精簡(jiǎn)出一個(gè)小的系統(tǒng),這與下面要介紹的幾個(gè)工具的想法剛好相反(下面幾個(gè)都是基于 from scratch 即從無(wú)到有,從頭構(gòu)建的方式)。emDebian提供一些工具來(lái)協(xié)助完成從現(xiàn)有的系統(tǒng)或安裝包(deb文件,類似Redhat的rpm)中提取需要的東東,并協(xié)助完成完整系統(tǒng)的構(gòu)建,當(dāng)然也支持交叉構(gòu)建了,比如你可以在X86 的PC上構(gòu)建一個(gè)基于ARM的嵌入式系統(tǒng),而整個(gè)過(guò)程不需要編譯任何一行源代碼。

順理成章的,emDebian的重要優(yōu)勢(shì)就展現(xiàn)出來(lái)了,現(xiàn)在你用的CPU超出11個(gè)Debian支持范圍了嗎?沒(méi)有,那么你可以簡(jiǎn)單的通過(guò) emDebian構(gòu)建目標(biāo)系統(tǒng);你所需要的主體軟件在Debian支持的官方和非官方近2萬(wàn)個(gè)軟件以外嗎?沒(méi)有,那么恭喜你,明天就可以給老板交工了。當(dāng)然,對(duì)于特定的軟件,可能還是需要從源碼來(lái)構(gòu)建,不過(guò)同樣的,我們可以將其生成Deb包,然后將配置加到emDebian工具集中,同其它所有軟件一樣的選取和配置。

emDebian的發(fā)展似乎不是想像的那么好,現(xiàn)在主頁(yè)上的新聞更新還是去2004年的。

buildroot

emDebian實(shí)際上并不一定適合于資源非常緊缺的超小型系統(tǒng),比如只有2M Flash的小型控制系統(tǒng)。另外發(fā)行版的軟件通常會(huì)以通用代碼來(lái)編譯,例如,為了盡可能在各種X86平臺(tái)上都能夠安裝,大多數(shù)發(fā)行版通常會(huì)以i686甚至 i386代碼集來(lái)編譯軟件,可以使文件的通用性很強(qiáng),但CPU的性能卻不能發(fā)恢到最好(這就是為什么有時(shí)會(huì)看到一些廠商或愛好者發(fā)布PIII、PIV、 athlon等優(yōu)化系統(tǒng)的原因),這對(duì)于嵌入式系統(tǒng)來(lái)說(shuō)也不會(huì)是一件好事情。另外,沒(méi)有源碼的控制權(quán),一些需要定制的東西也會(huì)變得難以實(shí)現(xiàn),因此,從源碼開始構(gòu)建仍然有必要。

嵌入式Linux開發(fā)中使用的CPU速度往往向?qū)Σ粫?huì)太高,因此,盡可能提高代碼的性能就非常必要。通常開發(fā)人員應(yīng)該對(duì)該CPU的具體型號(hào)有一定的了解,以便啟用編譯器中對(duì)該型號(hào)的優(yōu)化,以ARM為例,我們可以通過(guò) -march=armv5te 和 -mtune=arm9tdmi 來(lái)對(duì)代碼在ARM9上的運(yùn)行進(jìn)行優(yōu)化。有時(shí)這些優(yōu)化體現(xiàn)出來(lái)的性能改善是比較大的,我曾對(duì)比過(guò)一些復(fù)雜算法的代碼優(yōu)化前后的性能(執(zhí)行速度),都有一定的提升。另外在PIV上測(cè)試過(guò)以i686和pentium4對(duì)一個(gè)語(yǔ)音編碼算法進(jìn)行優(yōu)化,運(yùn)算速度居然提高了幾倍。

這種幅度的提升可能只是一個(gè)特例,這個(gè)算法有大量的復(fù)雜浮點(diǎn)運(yùn)算,使用i386或i686指令集和使用更先進(jìn)的PIV指令集編譯出來(lái)的機(jī)器代碼對(duì)于同一個(gè)運(yùn)算的解釋可能采用完全不同的指令來(lái)完成,因此性能提升較大就不足為奇了。同樣這種代碼,在ARM上通過(guò)ARM4和ARM5來(lái)優(yōu)化后在ARM9上運(yùn)行,卻沒(méi)有那么大的提升??磥?lái)對(duì)CPU的一定了解也應(yīng)該是嵌入式系統(tǒng)軟件設(shè)計(jì)者應(yīng)該具備的能力。

那么又如何控制可執(zhí)行文件的大小呢?除了卻除軟件中不需要的部份外,我們還應(yīng)該考慮軟件所引用的庫(kù)文件。GNU的Glibc是一個(gè)非常寵大而完整的庫(kù),至少對(duì)于嵌入式系統(tǒng)來(lái)說(shuō),其體積顯得過(guò)于大了一些。uClibc的提出較好的解決了這樣一個(gè)問(wèn)題。uClibc盡可能的兼容Glibc,大多數(shù)應(yīng)用程序可以在很小或完全不修改的情況下就可能使用uClibc替代glibc。通過(guò)uClibc來(lái)代替Glibc,可以在不改變應(yīng)用程序功能的前提下,大大減少發(fā)布文件的大小,無(wú)論應(yīng)用程序以靜態(tài)鏈接來(lái)編譯,還是以動(dòng)態(tài)鏈接形式編譯。

不過(guò)使用uClibc代替并不是簡(jiǎn)單的設(shè)置一兩個(gè)參數(shù)就行了,通常需要使用一個(gè)不同的工具集(gcc/binutils等)來(lái)編譯代源碼。手工的構(gòu)造這樣一個(gè)環(huán)境,對(duì)于大多數(shù)普通程序員來(lái)說(shuō),不一定是一件很簡(jiǎn)單的事情,因此,uClibc的開發(fā)者創(chuàng)造出一個(gè)叫做buildroot的工具集。 buildroot將自動(dòng)構(gòu)造編譯基于uClibc代碼的工具集和uClibc庫(kù),并提供一個(gè)可配置的框架和一些構(gòu)建一個(gè)基本系統(tǒng)的配置文件。用戶只需要通過(guò)配置菜單選擇了相應(yīng)的目標(biāo)軟件,buildroot就可以從構(gòu)建基本工具集開始,一直到最后構(gòu)建出目標(biāo)系統(tǒng)所需要的東西,如嵌入式系統(tǒng)常用的基于 ext2的initrd,jffs根文件系統(tǒng),壓縮的根目錄樹等,這些代碼都是基于uClibc而不是系統(tǒng)的Glibc的。Buildroot對(duì)主機(jī)系統(tǒng)的要求較小,通常只需要主機(jī)系統(tǒng)提供足以構(gòu)建工具鏈(toolchain)的工具,如gcc/binutils等,當(dāng)工具鏈編譯完成后,對(duì)目標(biāo)系統(tǒng)需要的源碼的編譯過(guò)程與主機(jī)系統(tǒng)的開發(fā)工具集基本上就沒(méi)有什么關(guān)系了。因此,不同的主機(jī)如果能夠通過(guò)第一步,編譯完成工具鏈,那么編譯出來(lái)的目標(biāo)系統(tǒng)的執(zhí)行代碼就可以幾乎不存在由于系統(tǒng)引起的差異。這樣,開發(fā)人員就可能在各自喜歡的Linux發(fā)行版上進(jìn)行開發(fā),而不必?fù)?dān)心出現(xiàn)什么兼容性問(wèn)題。#p#

uClinux

uClinux與emDebian至少有兩個(gè)重要的區(qū)別,第一是構(gòu)建方式,前面已經(jīng)提到過(guò)了,uClinux屬于 from scratch 一類的。另一個(gè)不同的地方,uClinux是支持不在emDebian支持的11種CPU的,當(dāng)然,這個(gè)說(shuō)法不是很恰當(dāng),正確的說(shuō)法是uClinux支持那些不具備MMU單元的CPU體系。uClinux的第一個(gè)目的是支持MC68328芯片,現(xiàn)在已經(jīng)能構(gòu)支持更多的CPU,如Intel i960,ARM等。不過(guò),uClinux的主體開發(fā)團(tuán)隊(duì)目前已經(jīng)不再支持ARM了,還好 Samsung 的 Hyok S. Choi 接過(guò)了接勵(lì)棒,Linux 2.6版本的補(bǔ)丁可以在 uClinux/ARM2.6 找到。

uClinux之前僅是核心的一些補(bǔ)丁,后來(lái)發(fā)展成為一個(gè)包括核心、庫(kù)、應(yīng)用程序、工具和編譯相關(guān)的配置文件的一個(gè)集成開發(fā)環(huán)境。與 buildroot不同的是,uClinux不編譯目標(biāo)系統(tǒng)的工具集,也就是說(shuō),相應(yīng)的編譯工具應(yīng)該提前安裝好。如,對(duì)于arm來(lái)說(shuō),需要先安裝ARM交叉編譯器。uClinux的編譯器也需要一些補(bǔ)丁,其中比較重要的兩個(gè)方面主要包括:

用于生成FLT文件的補(bǔ)丁:由于MMU的關(guān)系,uClinux不支持ELF可執(zhí)行文件,這個(gè)補(bǔ)丁主要包括bin2flt工具包和一個(gè)ld的wrapper腳本等,用于(透明于用戶)生成FLT文件;

用于支持XIP(Execute In Place)的補(bǔ)丁:這個(gè)補(bǔ)丁需要對(duì)gcc進(jìn)行一些小的修改;支持XIP主要是為了解決小內(nèi)存環(huán)境中運(yùn)行的問(wèn)題。

XIP不一定適用于每種應(yīng)用環(huán)境,對(duì)于內(nèi)在要求特別嚴(yán)格的系統(tǒng)來(lái)說(shuō)(空間第一位,如手機(jī)要求使用片內(nèi)RAM),可以通過(guò)將核心和應(yīng)用程序編譯為XIP支持,然后直接在Flash上運(yùn)行,內(nèi)存僅用于運(yùn)行時(shí)數(shù)據(jù);而對(duì)于性能要求為主的系統(tǒng)(如高速網(wǎng)絡(luò)處理器),則不能因?yàn)楣?jié)省一點(diǎn)空間而使用XIP將程序直接在Flash上運(yùn)行,這樣可能會(huì)降低指令的讀取速度而影響系統(tǒng)性能(但仍然可以使用XIP,使程序的多個(gè)實(shí)例在內(nèi)存中共享代碼空間,以后詳細(xì)說(shuō)); + FLT可執(zhí)行文件支持動(dòng)態(tài)鏈接庫(kù)(目前僅m68k支持,參見 uCdot: Shared libraries under uClinux mini-HOWTO)的補(bǔ)丁;

uClinux的編譯過(guò)程大致是,首先,通過(guò)可視配置界面(menuconfig/xconfig)選取Vendor和board(實(shí)際上是選擇了一些配置文件和產(chǎn)品相關(guān)的文件),然后根據(jù)選擇構(gòu)造一個(gè)適用于target的開發(fā)環(huán)境,如生成頭文件和需要的庫(kù)文件(uClibc、glibc或uC-libc 以及其它一些庫(kù)),然后編譯核心、庫(kù)、應(yīng)用程序,最后將所有的輸出安裝到romfs目錄中,根據(jù)需要生成目標(biāo)平臺(tái)需要的映像文件(如: romfs.img、linux.bin、rootfs.gz等)

由于一些過(guò)程細(xì)節(jié)被隱藏起來(lái),uClinux現(xiàn)在的編譯過(guò)程方便到只需要配置一下(make menuconfig),然后 make 就可以直接獲得最終輸出。不過(guò)這反倒成為一些初學(xué)者學(xué)習(xí)的一個(gè)麻煩,本文完成后,根據(jù)對(duì)本文的反饋,將進(jìn)一步對(duì)uClinux進(jìn)行詳細(xì)介紹。

總的來(lái)說(shuō),目前的uClinux是一套主要用于無(wú)MMU核(但不限于此)的嵌入式Linux集成環(huán)境,也是一個(gè)非常好的 Linux from scratch 的示例。拋開其MMU相關(guān)的補(bǔ)丁,uClinux也可以作為一套用于包含MMU系統(tǒng)的集成開發(fā)環(huán)境,Snapgear 就是一個(gè)很好的例子。實(shí)際上,我們可以從官方的uClinux源碼就可以直接編譯一個(gè)支運(yùn)行于X86的uClinux。

Scratchbox

Scratchbox 的故事要從buildroot講起(這不一定是scratchbox開發(fā)者的故事,只是依據(jù)我個(gè)人的認(rèn)識(shí))。buildroot可以從頭開始,先構(gòu)造編譯器和基本開發(fā)環(huán)境,然后根據(jù)用戶配配置構(gòu)造一個(gè)適用于目標(biāo)平臺(tái)的根文件系統(tǒng)。這個(gè)文件系統(tǒng)可以有許多用法,例如,做為initrd或通過(guò)NFS輸出給目標(biāo)系統(tǒng)使用。為了減少交叉編譯軟件帶來(lái)的麻煩,可以配置buidroot創(chuàng)建一套目標(biāo)系統(tǒng)的編譯環(huán)境(Gcc、binutils、lib等),這樣用戶可以通過(guò)這個(gè)基本文系統(tǒng)在目標(biāo)系統(tǒng)上直接本地編譯軟件。如果目標(biāo)系統(tǒng)性能足夠的話,buildroot的任務(wù)到此就基本結(jié)束了。對(duì)于嵌入式系統(tǒng)的開發(fā)者來(lái)說(shuō),在目標(biāo)系統(tǒng)上直接編譯代碼卻不一定都能夠?qū)崿F(xiàn),因?yàn)槎鄶?shù)情況下,我們的目標(biāo)平臺(tái)處理器性能并不會(huì)那么高,這樣,我們就不得不面對(duì)一個(gè)兩難的選擇:

繼續(xù)通過(guò)buildroot編譯其它的軟件,性能會(huì)高許多,但每個(gè)軟件都需要進(jìn)行交叉編譯相關(guān)的改造;

在目標(biāo)平臺(tái)上編譯軟件,對(duì)于只有幾十或幾百兆的低性能核來(lái)說(shuō),編譯一個(gè)核心可能會(huì)讓你等上半天的時(shí)間;

有沒(méi)有好的辦法解決性能和交叉編譯的問(wèn)題呢?先分析一下通過(guò)buildroot交叉編譯不能解決的問(wèn)題。Buildroot只在一定程度上對(duì)目標(biāo)平臺(tái)進(jìn)行了模擬,但仍有一些是無(wú)法實(shí)現(xiàn)的,例如,當(dāng)目標(biāo)平臺(tái)不同于主機(jī)平臺(tái)時(shí),不能生成并運(yùn)行目標(biāo)平臺(tái)的中間代碼。這樣,許多通過(guò)autotools (autoconf/automake)配置的軟件就可能會(huì)出現(xiàn)問(wèn)題。例如,configure 腳本有時(shí)會(huì)生成一些中間代碼,并試圖運(yùn)行以確認(rèn)開發(fā)環(huán)境中是否存在某個(gè)庫(kù)文件或頭文件,對(duì)于在X86上編譯基于uClibc X86目標(biāo)平臺(tái)代碼可能不會(huì)出現(xiàn)問(wèn)題,但如果目標(biāo)平臺(tái)是X86以外的平臺(tái),編譯就可能會(huì)中斷;又如,configure腳本確認(rèn)編譯器是否工作,會(huì)試圖編譯一個(gè)包含空的主程序的代碼并運(yùn)行,實(shí)際一個(gè)可運(yùn)行于目標(biāo)平臺(tái)的 a.out 確實(shí)生成了,也可以正常運(yùn)行于目標(biāo)平臺(tái),但是這個(gè)測(cè)試會(huì)因?yàn)?a.out 被運(yùn)行在主機(jī)系統(tǒng)上而錯(cuò)誤的中斷。這些問(wèn)題一些被 buildroot 通過(guò)補(bǔ)丁或復(fù)雜的 configure 參數(shù)解決了,某些中間執(zhí)行文件,則通過(guò)HOSTCC(主機(jī)上的CC)來(lái)生成并運(yùn)行以生成最終文件。目前buildroot包含的軟件或多或少都會(huì)有一些這樣的補(bǔ)丁,而且開發(fā)者一旦深入到對(duì)軟件的定制,就會(huì)不停的被這些問(wèn)題所困擾。

Scratchbox相比于buildroot有幾方面的改進(jìn):

運(yùn)行于 chroot 的環(huán)境,完全獨(dú)立于主機(jī),編譯過(guò)程將基本與主機(jī)系統(tǒng)無(wú)關(guān)(并且scratchbox修改了一些庫(kù),使得普通用戶可以chroot到編譯環(huán)境中,并且多個(gè)用戶可以同時(shí)使用一套Scratchbox開發(fā)套件和完全獨(dú)立的用戶資源);

透過(guò)qemu模擬運(yùn)行或sbrsh解決中間執(zhí)行文件或類似configure測(cè)試文件運(yùn)行的問(wèn)題;

對(duì)(chroot后)的系統(tǒng)進(jìn)行修定,達(dá)到足以欺騙大多數(shù)軟件的效果,這并不是指的讓軟件可以不進(jìn)行改造就可以 交叉 編譯,而是使軟件 誤認(rèn)為 這就是在目標(biāo)平臺(tái)上編譯;

不過(guò) Scratchbox 目前還只能編譯 ARM 和 x86 的代碼,不能支持 buildroot 所支持的 ppc、mips等。

本文不詳述每一種環(huán)境,因此各個(gè)軟件都只是點(diǎn)到為止(雖然可以講得更詳細(xì)一些,但這些內(nèi)容還是獨(dú)立出來(lái)比較好一些),不過(guò)這里還是引入一個(gè)很簡(jiǎn)單的示例,根據(jù) scratchbox 網(wǎng)站上的文檔,安裝完成后,進(jìn)行簡(jiǎn)單配置就可以使用了(Debian用戶的安裝可以更簡(jiǎn)單,因?yàn)樵撜咎峁〥eb包,直接apt-get就行了)。通過(guò) /scratchbox/login 登入開發(fā)環(huán)境,通過(guò)sb-menu配置一個(gè)基于 ARM 的環(huán)境(其中 Select CPU-transparency method 選qemu不要先sbrsh),然后寫一個(gè) helloword.c,編譯并運(yùn)行之。 通過(guò)ldd可以看到,在沒(méi)有任可改動(dòng)的情況下,順利的生成了ARM ELF,但在 scratchbox 里卻可以在X86的主機(jī)上正常的運(yùn)行!

 

【編輯推薦】

  1. uClinux嵌入式系統(tǒng)開發(fā)過(guò)程控制
  2. 基于TinyXml的嵌入式Linux
  3. KVM在嵌入式Linux上的移植
  4. 嵌入式Linux系統(tǒng)下的網(wǎng)頁(yè)瀏覽器WebKit
  5. 嵌入式Linux中的進(jìn)程同步無(wú)競(jìng)爭(zhēng)態(tài)讀寫
責(zé)任編輯:佚名 來(lái)源: 賽迪網(wǎng)
相關(guān)推薦

2009-12-24 17:27:52

嵌入式Linux

2009-12-17 10:33:05

嵌入式Linux

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2011-07-05 15:42:02

QT 嵌入式 Embedded

2009-12-23 13:05:22

Linux嵌入式

2021-10-28 19:23:27

界面嵌入式 UI

2011-06-09 10:28:54

QT 嵌入式

2011-01-06 15:11:09

嵌入式linux

2011-06-13 14:00:55

Qt Designer linux

2011-06-17 08:59:27

QT Embedded Arm

2023-02-09 08:35:39

Spring嵌入式容器

2009-12-23 11:42:14

Fedora 9嵌入式

2011-04-22 10:02:02

Ubuntu嵌入式開發(fā)環(huán)境

2010-01-13 09:51:21

微軟Linux嵌入式

2009-12-24 17:21:38

嵌入式Linux

2022-01-04 22:19:38

Linux開發(fā)嵌入式

2022-01-03 23:33:40

Linux組件系統(tǒng)

2009-07-17 16:06:59

ARM嵌入式開發(fā)

2009-12-09 10:12:28

嵌入式Linux

2009-12-16 15:41:40

嵌入式Linux入門
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

国产亚洲精品超碰| 亚洲黄色在线| 日韩一区二区三区电影| 大陆av在线播放| 男女视频在线观看免费| 久久99精品国产91久久来源| 欧美激情在线有限公司| 久久精品成人av| 最新亚洲国产| 欧美视频在线免费看| 天天做天天爱天天高潮| 视频一区二区三区在线看免费看| 日本免费新一区视频| 欧美极品少妇全裸体| 第一次破处视频| 亚洲一区二区电影| 欧美日韩中字一区| 自拍日韩亚洲一区在线| 日本电影在线观看网站| jiyouzz国产精品久久| 91色p视频在线| 日韩一级在线视频 | 日韩欧美精品一区二区三区经典| aaa国产视频| 日本麻豆一区二区三区视频| 97福利一区二区| avtt天堂在线| 欧美三级情趣内衣| 国产偷亚洲偷欧美偷精品| 国产资源中文字幕| av亚洲一区| 欧美视频在线看| 国产www免费| 黄色免费在线观看| 国产精品素人视频| 免费日韩电影在线观看| 丰满岳乱妇国产精品一区| 美女网站在线免费欧美精品| 欧美一区三区三区高中清蜜桃| 毛片a片免费观看| 91视频一区| 国产亚洲欧美视频| 黄色在线观看av| 高清日韩欧美| 日韩欧美123| 北条麻妃亚洲一区| 久久亚洲人体| 欧美日韩精品欧美日韩精品一| 99福利在线观看| av最新在线| 亚洲va欧美va天堂v国产综合| 佐佐木明希av| av免费在线观看网址| 中文字幕一区二区三区在线不卡 | 18禁一区二区三区| 国产精品一区二区三区四区在线观看| 欧美午夜宅男影院| 爱情岛论坛亚洲首页入口章节| 久久精品女人天堂av免费观看 | 国产又大又黄又粗又爽| 欧美黑人粗大| 在线一区二区三区| 黄色免费网址大全| 巨大黑人极品videos精品| 欧美性猛交xxxx黑人| 欧美 日韩 国产一区| 精品国产免费人成网站| 色婷婷综合在线| 男人插女人下面免费视频| 蜜桃视频成人m3u8| 欧美日韩高清一区二区不卡| 日本超碰在线观看| 国产精品亚洲一区二区在线观看 | 欧美体内she精高潮| 日韩欧美另类中文字幕| 精品成人a区在线观看| 800av在线播放| 伊人久久大香线蕉无限次| 亚洲美腿欧美激情另类| www色com| 欧美私人啪啪vps| 国产做受高潮69| 一二三区免费视频| 奇米四色…亚洲| 亚洲a一级视频| 丰满肉肉bbwwbbww| 久久久久久久综合日本| 亚洲一区二区三区在线观看视频| 国产午夜精品久久久久免费视| 亚洲永久精品国产| 日韩在线一级片| 欧洲精品久久久久毛片完整版| 欧美一区二区美女| 成人无码www在线看免费| 精品美女久久| 色综合色综合网色综合| 99精品在线播放| 国模无码大尺度一区二区三区| 高清不卡日本v二区在线| 毛片在线能看| 一区二区在线观看免费视频播放 | 九九免费精品视频| 亚洲欧美成人综合| 91情侣偷在线精品国产| 视频一区二区在线播放| 亚洲色图在线看| 日韩av片在线看| 日韩一二三区| 伊人久久久久久久久久| 国产亚洲精品成人| 久久精品免费看| 久久精品日韩| 超鹏97在线| 欧美在线免费观看亚洲| 丰满人妻一区二区三区免费视频棣| 国产亚洲第一伦理第一区| 免费不卡欧美自拍视频| 人人妻人人爽人人澡人人精品| 国产伦精品一区二区三区免费 | 亚洲欧美日韩高清在线| 57pao国产成人免费| 国产高清精品软件丝瓜软件| 国产清纯在线一区二区www| 97超碰在线人人| 日韩第二十一页| 亚洲男女性事视频| 久久网免费视频| 精品一区二区三区在线观看| 欧美在线3区| av中文字幕在线观看第一页| 91精品国产欧美日韩| 人人人妻人人澡人人爽欧美一区| 亚洲美女黄网| 91中文字幕在线观看| lutube成人福利在线观看| 欧美色播在线播放| 野战少妇38p| 欧美日韩亚洲国产精品| 成人免费网视频| 欧美性videos| 欧美三级视频在线观看| 国产免费一区二区三区网站免费| 亚洲毛片一区| 狠狠色噜噜狠狠狠狠色吗综合| 午夜影院免费在线| 欧美一区二区黄| 性生交大片免费全黄| 美女视频黄久久| 亚洲精品不卡| 久久天堂影院| 日韩中文理论片| 中文字幕日日夜夜| 欧美激情一二三区| 91插插插插插插插插| 波多野结衣的一区二区三区| 国产精品久久婷婷六月丁香| 成人av电影观看| 欧美伊人久久久久久久久影院| 一道本在线观看| 老司机精品视频网站| 欧美日本韩国在线| 欧美极品免费| 中文字幕国产日韩| 国产又爽又黄免费软件| 亚洲激情欧美激情| 韩国三级视频在线观看| 亚洲承认在线| 欧美一区1区三区3区公司| 电影久久久久久| 日韩中文在线不卡| 国产免费黄色片| 亚洲永久免费视频| 亚洲熟妇一区二区三区| 日本中文在线一区| 欧美日韩在线免费观看视频| 涩涩屋成人免费视频软件| 久久久久一本一区二区青青蜜月| 少妇性bbb搡bbb爽爽爽欧美| 在线观看中文字幕不卡| 大地资源高清在线视频观看| 国产成人精品一区二| 欧美精品久久久久久久久久久| 色狼人综合干| 国产精品久久久久久久午夜| 国产秀色在线www免费观看| 精品久久久三级丝袜| 日日噜噜噜噜人人爽亚洲精品| 国产精品午夜免费| www日本在线观看| 久久久久99| www.69av| 加勒比久久综合| 亚洲一区精品电影| 中文字幕资源网在线观看免费| 最近2019中文字幕大全第二页| 亚洲AV无码精品国产| 色婷婷综合久久久中文字幕| 五月天婷婷色综合| 久久亚洲精品小早川怜子| 一本一道久久a久久综合蜜桃| 91久久夜色精品国产九色| 亚洲欧美国产一区二区| 久久精品论坛| 91精品国产综合久久久久久蜜臀| 国产在线88av| www亚洲欧美| 韩国中文免费在线视频| 欧美成人a∨高清免费观看| 好吊色在线视频| 亚洲亚洲精品在线观看| 亚洲激情图片网| 97久久精品人人做人人爽50路| 日韩av卡一卡二| 美女久久一区| www插插插无码视频网站| 99久久国产综合精品成人影院| 精品日本一区二区| 欧美1区2区3| 国产精品久久久久久搜索| 手机在线理论片| 国产做受高潮69| a在线免费观看| 日韩资源在线观看| 黄色av网站在线看| 国产视频精品在线| 亚洲国产精彩视频| 欧美日韩国产欧美日美国产精品| 久久久久久久久影院| 一区二区三区在线免费视频| 5566中文字幕| 欧美国产日产图区| 永久免费成人代码| 91免费看片在线观看| www.四虎精品| 国产精品伊人色| 中文字幕在线视频精品| 日韩高清电影一区| 你懂的av在线| 日韩午夜在线电影| 韩日视频在线观看| 在线不卡欧美| 99在线观看视频免费| 中文字幕日韩一区二区不卡| 一区二区三区不卡在线| 日韩精品免费| 一级日韩一区在线观看| 成人在线电影在线观看视频| 日韩女优中文字幕| 日韩精品网站| 亚洲一区二区三区精品在线观看| 欧美r级电影| 亚洲视频欧美在线| 首页国产精品| 黄色一级片网址| 欧美不卡在线| 国产欧美日韩小视频| 亚洲精品黄色| 日韩av资源在线| 石原莉奈在线亚洲二区| 九色porny91| 久久国产精品露脸对白| 一区二区三区欧美精品| 国产一区二区三区免费在线观看| 日韩av加勒比| 大尺度一区二区| 亚洲av片不卡无码久久| 久久综合999| 国产欧美小视频| 亚洲精品欧美专区| 国产精品成人aaaa在线| 欧美午夜女人视频在线| 中文字幕理论片| 欧美一级一级性生活免费录像| 亚洲av无码乱码国产精品久久| 亚洲成av人乱码色午夜| 国产视频网址在线| yw.139尤物在线精品视频| 羞羞视频在线观看免费| 97免费在线视频| 欧美色片在线观看| 亚洲尤物视频网| 欧美亚洲tv| 亚洲看片网站| 欧美日一区二区在线观看 | 日韩av中字| 91精品视频免费| 日韩在线麻豆| 最新欧美日韩亚洲| 一区二区三区精品视频在线观看 | 久久久久久久性潮| 国产 高清 精品 在线 a| 亚洲区小说区图片区qvod按摩| 亚洲电影网站| 亚洲高清毛片| 手机版av在线| 成人毛片视频在线观看| 色欲狠狠躁天天躁无码中文字幕| 亚洲精品国产精华液| 国产熟妇一区二区三区四区| 日韩视频免费观看高清在线视频| 欧美91精品久久久久国产性生爱| 久久精品美女视频网站| 性欧美18~19sex高清播放| 91免费的视频在线播放| 亚洲国产国产| 99国产精品白浆在线观看免费| 视频一区国产视频| 性活交片大全免费看| 国产精品福利一区二区三区| 五月天婷婷久久| 日韩欧美成人午夜| 亚乱亚乱亚洲乱妇| 人人澡人人澡人人看欧美| 一区二区视频| 黄色网络在线观看| 日本中文字幕一区| 变态另类丨国产精品| 午夜激情一区二区| 国产成人精品av在线观| xxav国产精品美女主播| 网友自拍亚洲| 久久狠狠久久综合桃花| 亚洲无线视频| www激情五月| 亚洲国产精品激情在线观看| 日韩手机在线视频| 亚洲电影免费观看| 午夜激情在线| 亚洲一区二区日本| 97视频精品| 一本色道久久亚洲综合精品蜜桃| 久久影院午夜论| 日本少妇bbwbbw精品| 欧美成人高清电影在线| 国产原创精品视频| 成人午夜一级二级三级| 欧美激情偷拍自拍| 中文字幕天天干| 日本一区二区三区四区在线视频| 国产精品一区二区三区四| 亚洲精品久久久久中文字幕二区| 国模私拍视频在线播放| 成人激情直播| 国产精品videosex极品| 亚洲av午夜精品一区二区三区| 亚洲免费av高清| av观看在线免费| 欧美激情videos| 136福利精品导航| 91黄色在线看| 99精品视频在线观看免费| 国产成人在线视频观看| 亚洲精品视频免费| 在线观看精品| 亚洲精品一区二区三区蜜桃久| 麻豆freexxxx性91精品| a一级免费视频| 日韩一区二区在线看片| 电影k8一区二区三区久久| 99se婷婷在线视频观看| 99国产精品视频免费观看一公开| 色婷婷免费视频| 色婷婷久久久亚洲一区二区三区| 裸体xxxx视频在线| 国产精品久久一区| 久久久久久久久久久妇女| 在线成人精品视频| 亚洲一区二区欧美| 深夜福利免费在线观看| 国产精品欧美亚洲777777| 98精品视频| 亚洲av无码专区在线播放中文| 欧美日韩性视频在线| caoporn国产精品免费视频| 成人www视频在线观看| 狠狠噜噜久久| 亚洲精品乱码久久久久久久久久久久| 欧美日韩国产小视频在线观看| av网站在线看| 久精品国产欧美| 蜜桃91丨九色丨蝌蚪91桃色| 男人操女人的视频网站| 亚洲黄色在线观看| 日本成人福利| 97在线免费视频观看| www国产精品av| 97在线播放免费观看| 午夜精品福利视频| 91久久夜色精品国产按摩| 人妻无码中文久久久久专区| 欧美无乱码久久久免费午夜一区| 女同一区二区免费aⅴ| 欧美高清视频一区| 国产最新精品免费| 日本三级小视频| 久久久成人精品| 三级精品视频| 国产a√精品区二区三区四区| 91福利资源站| 国产丝袜在线播放|