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

嵌入式項(xiàng)目中使用Linux的技巧

系統(tǒng) Linux
微控制器制造商的開發(fā)板,以及他們與開發(fā)板一起提供的軟件項(xiàng)目例程,在工程師著手一個(gè)新設(shè)計(jì)時(shí)可以提供很大幫助。但在設(shè)計(jì)項(xiàng)目完成其早期階段后,進(jìn)一步設(shè)計(jì)時(shí),制造商提供的軟件也可能會(huì)導(dǎo)致一些問題。

微控制器制造商的開發(fā)板,以及他們與開發(fā)板一起提供的軟件項(xiàng)目例程,在工程師著手一個(gè)新設(shè)計(jì)時(shí)可以提供很大幫助。但在設(shè)計(jì)項(xiàng)目完成其早期階段后,進(jìn)一步設(shè)計(jì)時(shí),制造商提供的軟件也可能會(huì)導(dǎo)致一些問題。

使用實(shí)時(shí)操作系統(tǒng)作為應(yīng)用程序代碼平臺(tái)的設(shè)計(jì)還面臨著許多挑戰(zhàn),比如如何將功能分配給不同的并行任務(wù)、如何設(shè)計(jì)高可靠的進(jìn)程間通信、以及如何在硬件上測(cè)試整個(gè)軟件包等問題。

越來越多的OEM廠商發(fā)現(xiàn),避免上述兩個(gè)問題的最好方式,是使用基于開源、經(jīng)過驗(yàn)證、可擴(kuò)展、可運(yùn)行在不同硬件平臺(tái)的操作系統(tǒng)Linux開始新的設(shè)計(jì)。就已經(jīng)被移植到各種計(jì)算機(jī)硬件平臺(tái)的操作系統(tǒng)的數(shù)量來說,Linux首屈一指。Linux的衍生版本已運(yùn)行在非常廣泛的嵌入式系統(tǒng)中,包括:網(wǎng)絡(luò)路由器、移動(dòng)電話、建筑自動(dòng)化控制、電視機(jī)和視頻游戲控制臺(tái)。

[[227750]]

雖然Linux被成功使用,但并不意味著它很容易使用。Linux包含的代碼超過一百萬行,其運(yùn)作帶有鮮明的Linux方法論味道,初學(xué)者可能難以迅速掌握。

因此,本文的主旨是為使用Linux的嵌入式操作系統(tǒng)版本——μClinux,開始一個(gè)新的設(shè)計(jì)項(xiàng)目,該指南共分為五個(gè)步驟。為了說明該指南,本文介紹了在意法半導(dǎo)體的STM32F429微控制器(ARM Cortex-M4內(nèi)核,最高180MHz)上的一個(gè)μClinux項(xiàng)目實(shí)現(xiàn),使用了Emcraft的STM32F429 Discovery Linux板支持包(BSP)。

步驟1:Linux工具和項(xiàng)目布局

每個(gè)嵌入式軟件設(shè)計(jì)都從選擇合適的工具開始。

工具鏈?zhǔn)且唤M連接(或鏈接)在一起的軟件開發(fā)工具,它包含諸如GNU編譯器集合(GCC)、binutils(一組包括連接器、匯編器和其它用于目標(biāo)文件和檔案工具的開發(fā)工具)和glibc(提供系統(tǒng)調(diào)用和基本函數(shù)的C函數(shù)庫)等組件;在某些情況下,還可能包括編譯器和調(diào)試器等其它工具。

用于嵌入式開發(fā)的工具鏈?zhǔn)且粋€(gè)交叉工具鏈,更常見的叫法是交叉編譯器。

GNU Binutils是嵌入式Linux工具鏈的第一個(gè)組件。GNU Binutils包含兩款重要工具:

  • “as”,匯編器,將匯編代碼(GCC所生成)轉(zhuǎn)換成二進(jìn)制代碼
  • “ld”,連接器,將離散目標(biāo)代碼段連接到庫或形成可執(zhí)行文件

編譯器是工具鏈的第二個(gè)重要組成部分。在嵌入式Linux,它被稱為GCC,支持許多種微控制器和處理器架構(gòu)。

接下來是C函數(shù)庫。它實(shí)現(xiàn)Linux的傳統(tǒng)POSIX應(yīng)用編程接口(API),該API可被用來開發(fā)用戶空間應(yīng)用。它通過系統(tǒng)調(diào)用與內(nèi)核對(duì)接,并提供高階服務(wù)。

工程師有幾種C函數(shù)庫選擇:

  • glibc是開源GNU項(xiàng)目提供的可用C函數(shù)庫。該庫是全功能、可移植的,它符合Linux標(biāo)準(zhǔn)。
  • 嵌入式GLIBC(EGLIBC)是一款針對(duì)嵌入式系統(tǒng)優(yōu)化的衍生版。其代碼是精簡(jiǎn)的,支持交叉編譯和交叉測(cè)試,其源代碼和二進(jìn)制代碼與GLIBC的兼容。
  • uClibc是另一款C函數(shù)庫,可在閃存空間有限、和/或內(nèi)存占用必須最小的情況下使用。

調(diào)試器通常也是工具鏈的一部分,因?yàn)樵谀繕?biāo)機(jī)上調(diào)試應(yīng)用程序運(yùn)行時(shí),需要一個(gè)交叉調(diào)試器。在嵌入式Linux領(lǐng)域,GDB是常用調(diào)試器。

上述工具是如此地不可或缺,但當(dāng)它們各自為戰(zhàn)時(shí),會(huì)花太長(zhǎng)時(shí)間來編譯Linux源代碼并將其整合成最終映像(image)。幸運(yùn)的是,Buildroot(自動(dòng)生成交叉編譯工具的工具)會(huì)自動(dòng)完成構(gòu)建一個(gè)完整嵌入式系統(tǒng)的過程,并通過產(chǎn)生下述任一或所有任務(wù),簡(jiǎn)化了交叉編譯:

  • 交叉編譯工具鏈
  • 根文件系統(tǒng)
  • 內(nèi)核映像
  • 引導(dǎo)映像

對(duì)嵌入式系統(tǒng)設(shè)計(jì)師來說,還可以方便地使用一種工具(utility)聚合工具,如BusyBox,這種工具將通常最需要的工具整合在一起。根據(jù)BusyBox的信息頁面介紹,“它將許多常用UNIX工具的微型版本整合成一個(gè)小的可執(zhí)行文件。它提供了對(duì)大多數(shù)你通常會(huì)在GNU fileutils和shellutils等工具中看到的工具的替代。BusyBox里的工具通常比其全功能GNU對(duì)應(yīng)版本的選擇少;但所包含選項(xiàng)所提供的預(yù)期功能和行為則與對(duì)應(yīng)的GNU所提供的幾無差別。對(duì)任何小或嵌入式系統(tǒng)來說,BusyBox提供的環(huán)境都是相當(dāng)完整的。”

最后一個(gè)重要工具是一款BSP,是為搭載了項(xiàng)目目標(biāo)MCU或處理器的主板專門做的。

BSP包括預(yù)先配置的工具,以及將操作系統(tǒng)加載到主板的引導(dǎo)加載程序。它還為內(nèi)核和器件驅(qū)動(dòng)器提供源代碼(見圖1)。

圖1:用于STM32F429 Discovery板的Emcraft BSP的主要部件。

步驟2:引導(dǎo)序列、時(shí)鐘系統(tǒng)、存儲(chǔ)器和串行接口

典型的嵌入式Linux啟動(dòng)順序執(zhí)行如下:

1)引導(dǎo)加載程序固件(示例項(xiàng)目里的U-Boot)運(yùn)行于目標(biāo)MCU內(nèi)置閃存(無需外部存儲(chǔ)器),并在上電/復(fù)位后,執(zhí)行所有必需的初始化工作,包括設(shè)置串口和用于外部存儲(chǔ)器(RAM)訪問的存儲(chǔ)器控制器。

2)U-Boot可將Linux映像從外部Flash轉(zhuǎn)移到外部RAM,并將控制交接到RAM中的內(nèi)核入口點(diǎn)。可壓縮Linux映像以節(jié)省閃存空間,代價(jià)是在啟動(dòng)時(shí)要付出解壓縮時(shí)間。

3)Linux進(jìn)行引導(dǎo)并安裝基于RAM的文件系統(tǒng)(initramfs)作為根文件系統(tǒng)。在項(xiàng)目構(gòu)建時(shí),Initramfs被填充以所需的文件和目錄,然后被簡(jiǎn)單地鏈接到內(nèi)核。

4)在Linux內(nèi)核下,執(zhí)行/sbin/init。/sbin/init程序按照/etc/inittab中配置文件的描述對(duì)系統(tǒng)進(jìn)行初始化。

5)一旦初始化進(jìn)程完成運(yùn)行級(jí)執(zhí)行和/sbin/init里的命令,它會(huì)啟動(dòng)一個(gè)登錄進(jìn)程。

6)殼初始化文件/etc/profile的執(zhí)行,標(biāo)志著啟動(dòng)過程的完成。

通過使能就地執(zhí)行(Execute In Place——XIP)可以顯著縮短啟動(dòng)時(shí)間、提升整體性能,XIP是從閃存執(zhí)行代碼的方法。通常,Linux代碼是從閃存加載到外部存儲(chǔ)器,然后從外部存儲(chǔ)器執(zhí)行。通過從閃存執(zhí)行,因不再需復(fù)制這步,從而只需較少的存儲(chǔ)器,且只讀存儲(chǔ)器不再占程序空間。

本文的示例項(xiàng)目基于STM32F429 MCU。事實(shí)上,用戶可能會(huì)發(fā)現(xiàn),開始時(shí),STM32F4系列MCU的外設(shè)初始化不容易掌握。幸運(yùn)的是,意法半導(dǎo)體開發(fā)了一些工具來幫助解決這一問題。STM32CubeMX初始化代碼生成器(部件編號(hào)UM1718)屬于最新的。該工具包括外設(shè)初始化的每一個(gè)細(xì)節(jié),在配置外設(shè)時(shí),會(huì)顯示警告和錯(cuò)誤、并警告硬件沖突。

對(duì)小型嵌入式Linux項(xiàng)目來說,STM32F429 MCU內(nèi)部閃存足夠用。重要的是要記住:嵌入式Linux項(xiàng)目中使用多個(gè)二進(jìn)制映像(引導(dǎo)加載程序、Linux內(nèi)核和根文件系統(tǒng)):這些都需要閃存扇區(qū)邊界對(duì)齊。這就避免了在裝載一個(gè)圖像時(shí),另一圖像被部分刪除或損壞的風(fēng)險(xiǎn)。

步驟3:在主機(jī)上安裝Linux

要構(gòu)建一個(gè)嵌入式Linux項(xiàng)目,一臺(tái)Linux主機(jī)是必需的。對(duì)于Windows PC,最好是安裝Oracle VirtualBox,以創(chuàng)建“一臺(tái)”512Mbyte RAM和16Gbyte硬盤的新虛擬機(jī)。

有許多Linux版本可用;據(jù)筆者的經(jīng)驗(yàn),Debian就是與VirtualBox環(huán)境相匹配的一款。這款Linux主機(jī)必須能夠訪問互聯(lián)網(wǎng),以便下載針對(duì)這款A(yù)RM Cortex-M目標(biāo)MCU的GNU交叉編譯工具。設(shè)計(jì)師將創(chuàng)建一個(gè)類似于圖1所示的樹形結(jié)構(gòu),并將交叉構(gòu)建工具提存到/tools文件夾。

在這點(diǎn)上,有必要建立一個(gè)ACTIVATE.sh腳本。只需使用下列代碼就可實(shí)現(xiàn)。(<......>是提取到的GNU工具文件夾路徑):

  1. export INSTALL_ROOT=<.......>  
  2. export PATH=$INSTALL_ROOT/bin:$PATH  
  3. export CROSS_COMPILE=arm-uclinuxeabiexport 
  4. CROSS_COMPILE_APPS=arm-uclinuxeabiexport 
  5. MCU=STMDISCO 
  6. export ARCH=arm 

在干凈的Linux系統(tǒng)中安裝GNU工具,但其使用并非自給自足,實(shí)際上還需要其它系統(tǒng)的配合。其運(yùn)行實(shí)際上依賴于若干其它系統(tǒng)組件(如主機(jī)C/C++編譯器、標(biāo)準(zhǔn)C函數(shù)庫頭文件,以及一些系統(tǒng)工具)。獲得這些必要組件的一種方法是安裝用于C的Eclipse集成開發(fā)環(huán)境(IDE)。除解決這個(gè)迫在眉睫的問題外,Eclipse IDE還可在開發(fā)過程中的許多其它方面提供幫助,當(dāng)然,詳述Eclipse IDE的特性不是本文目的。

現(xiàn)在,是時(shí)候啟用Linux終端工具了:點(diǎn)擊“應(yīng)用程序(Applications)”,然后“附件(Accessories)”和“終端(Terminal)”(見圖2)。

圖2:Linux包含的“終端(Terminal)”工具和“文件(Files)”、一種類似Windows資源管理器的圖形化工具。

終端是用于配置Linux主機(jī)和構(gòu)建嵌入式Linux應(yīng)用程序的主要工具。鍵入以下命令來安裝Eclipse和其它所需工具:

  1. su [輸入根用戶密碼] 
  2. apt-get install eclipse-cdt 
  3. apt-get install genromfs 
  4. apt-get install libncurses5-dev 
  5. apt-get install git 
  6. apt-get install mc 

準(zhǔn)備該Linux項(xiàng)目的最后一步是下載STM32F429 Discovery Buildroot,并解壓到/uclinux文件夾。

步驟4:用Buildroot構(gòu)建μClinux

現(xiàn)在有必要關(guān)閉先前使用根用戶配置文件的終端,并啟動(dòng)一個(gè)新終端。在命令行中輸入“mc”,并使用導(dǎo)航器導(dǎo)航到“Documents”,然后輸入“uClinux”命令。按Ctrl+O并激活Linux ARM Cortex-M開發(fā)部分,并運(yùn)行“.ACTIVATE.sh”命令。再次按下Ctrl+O并進(jìn)入“stm32f429-linux-builder-master”文件夾。

用戶現(xiàn)在有兩個(gè)選擇。如果使用VirtualBox中的示例項(xiàng)目,請(qǐng)遵循“make clean”和“make all”命令序列。如果準(zhǔn)備一個(gè)全新環(huán)境,使用“make”命令。約30分鐘后,新的μClinux映像將可用,如下所示:

  1. out\uboot\u-boot.bin 
  2. out\kernel\arch\arm\boot\ xipuImage.bin 
  3. out\romfs.bin 

將這些新映像寫入閃存。如果使用Windows和ST-LINK工具,下面的代碼將工作:

  1. ST-LINK_CLI.exe -ME 
  2. ST-LINK_CLI.exe -P “u-boot.bin” 0x08000000 
  3. ST-LINK_CLI.exe -P “xipuImage.bin” 0x08020000 
  4. ST-LINK_CLI.exe -P “romfs.bin” 0x08120000 

將串行調(diào)試器(serial console)連接到目標(biāo)電路板(外部RX=>PC10、外部TX=>PC11、115200bits/s、8個(gè)數(shù)據(jù)位、無奇偶校驗(yàn)、1個(gè)停止位模式),然后按下復(fù)位按鈕,該μClinux項(xiàng)目將啟動(dòng)運(yùn)行。開機(jī)輸出將顯示在串行調(diào)試器上,顯示屏將出現(xiàn)Linux的企鵝標(biāo)識(shí)。

步驟5:創(chuàng)建“你好,世界”應(yīng)用

現(xiàn)在,按照代碼示例和下面的說明,將一個(gè)用戶應(yīng)用添加到μClinux項(xiàng)目中。

創(chuàng)建:“stm32f429-linux-builder-master/user/src/hello.c”文件:

  1. #include  
  2. int main() {  
  3. printf(“Hello, world\n”);  
  4. return 0;  
  5.  
  6. 必要時(shí)使用Tab鍵,創(chuàng)建:“stm32f429-linux-builder-master/user/Makefile”文件:  
  7. CC = $(CROSS_COMPILE)gcc  
  8. LDFLAGS ?=$(CFLAGS)  
  9. target_out ?= out  
  10. all: checkdirs  
  11. [Tab] $(CC) $(LDFLAGS) src/hello/hello.c -o $(target_out)/bin/  
  12. hello $(LDLIBS)  
  13. [Tab] -rm -rf $(target_out)/bin/*.gdb  
  14. checkdirs: 
  15. [Tab] mkdir -p $(target_out)/bin 
  16. clean: 
  17. [Tab] -rm -rf $(target_out) 

通過activate.sh腳本,在不激活交叉編譯環(huán)境下,在主機(jī)測(cè)試“Hello, world”這個(gè)應(yīng)用。

在/user文件夾下,輸入:

  1. make all  
  2. ./out/bin/hello 

為將hello.c嵌入到Linux Buildroot里的腳本,修改mk/rootf.mak文件,必要時(shí),使用Tab鍵。(粗體字表示新行開始處):

  1. . . .  
  2. user_hello:  
  3. [Tab] make -C $(user_dir) CROSS_COMPILE=$(CROSS_  
  4. COMPILE) CFLAGS=$(ROOTFS_CFLAGS) target_  
  5. out=$(target_out_user)  
  6. $(rootfs_target): $(rootfs_dir) $(target_out_busybox)/.config  
  7. user_hello  
  8. [Tab] cp -af $(rootfs_dir)/* $(target_out_romfs)  
  9. [Tab] cp -f $(target_out_kernel)/fs/ext2/ext2.ko $(target_out_romfs)/lib/modules  
  10. [Tab] cp -f $(target_out_kernel)/fs/mbcache.ko $(target_out_romfs)/lib/modules  
  11. [Tab] cp -f $(target_out_user)/bin/* $(target_out_romfs)/usr/bin  
  12. … 

需對(duì)mk/defs.mak文件做最后修改。加入以下幾行:

  1. . . . 
  2. user_dir := $(root_dir)/user 
  3. target_out_user := $(target_out)/user 
  4. user_dir := $(root_dir)/user 
  5. target_out_user := $(target_out)/user 

一旦在目標(biāo)MCU上建成、下載并運(yùn)行映像,就可在/usr/bin目錄中找到該應(yīng)用程序以及其它已有的應(yīng)用程序。在連接到Discovery板的終端上鍵入“hello[回車]”,可對(duì)該應(yīng)用進(jìn)行測(cè)試。

責(zé)任編輯:武曉燕 來源: EDN電子技術(shù)設(shè)計(jì)
相關(guān)推薦

2022-09-30 09:04:29

開源開發(fā)

2020-06-15 07:00:00

Linux嵌入式系統(tǒng)

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2021-12-24 17:01:29

Linux工具系統(tǒng)

2022-03-11 15:44:11

嵌入式開發(fā)技巧技術(shù)

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-12-09 10:12:28

嵌入式Linux

2013-09-23 13:59:32

開源Linux系統(tǒng)

2009-12-16 15:41:40

嵌入式Linux入門

2009-12-17 10:33:05

嵌入式Linux

2009-06-24 17:34:58

使用JSF的經(jīng)驗(yàn)

2009-12-24 17:27:52

嵌入式Linux

2020-07-03 07:00:00

Linux組件

2011-08-05 09:11:56

2023-01-27 23:46:36

嵌入式軟件技巧

2022-02-19 22:47:46

編程語言開發(fā)C++

2014-09-02 09:45:57

Linux

2009-08-21 15:33:56

應(yīng)用技巧嵌入式LinuxLinux操作系統(tǒng)
點(diǎn)贊
收藏

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

韩日在线视频| 国产av 一区二区三区| 欧美aaa免费| 91原创在线视频| 国产精品电影观看| 波多野结衣爱爱视频| 日韩三级毛片| 欧美精品色一区二区三区| 奇米777四色影视在线看| 亚洲 另类 春色 国产| 日韩精品一区第一页| 久久在线免费视频| 国产+高潮+白浆+无码| 日本另类视频| 精品久久久免费| 亚洲一区不卡在线| 日韩在线一区二区三区四区| 美国av一区二区| 8x拔播拔播x8国产精品| 一区二区国产精品精华液| 欧洲在线一区| 日韩欧美国产综合| 成年人黄色片视频| missav|免费高清av在线看| 中文字幕高清不卡| 久99久在线| 性欧美18一19性猛交| 日韩av不卡在线观看| 97国产在线视频| 欧美成人综合色| 久久成人综合| 亚洲人成伊人成综合网久久久| 国产在线a视频| 免费成人高清在线视频| 色综合亚洲欧洲| 亚洲国产精品成人天堂| 成人av福利| 国产精品初高中害羞小美女文| 女人一区二区三区| 人人妻人人玩人人澡人人爽| 国产一区福利在线| 国产精品视频一区二区三区四 | 国产suv精品一区二区三区88区| 青娱乐国产在线| 五月激情久久久| 伊人久久久久久久久久| 性欧美13一14内谢| 图片婷婷一区| 精品亚洲国产成av人片传媒| 白嫩情侣偷拍呻吟刺激| 亚洲亚洲一区二区三区| 欧美哺乳videos| 一本之道在线视频| 国产精品成人**免费视频| 69精品人人人人| 亚洲欧美日韩三级| 欧美aaa级| 在线不卡欧美精品一区二区三区| 国产九九热视频| 久久久久久久性潮| 911精品国产一区二区在线| 色91精品久久久久久久久| 激情久久一区二区| 欧美一区二区三区在| 韩国三级在线看| 哺乳一区二区三区中文视频| 亚洲激情视频在线| jizz欧美性20| 欧美午夜精品一区二区三区电影| 中文字幕亚洲天堂| 天天操夜夜操av| 最新国产精品| 91精品国产91| 欧美黄色一级大片| 激情深爱一区二区| 国产经品一区二区| 欧美777四色影视在线| 国产婷婷一区二区| 男女激烈动态图| 国产精品—色呦呦| 欧美日韩亚洲精品内裤| 欧美自拍小视频| 国产精品亚洲一区二区在线观看| 精品国产91久久久久久久妲己| 午夜久久久久久久| 成人黄色小视频| 欧美老女人性视频| 国产原创视频在线| 精品在线播放午夜| 精品视频一区二区| 国产98在线| 亚洲免费在线看| 欧美在线观看成人| 日韩国产一二三区| 亚洲国产精品99| 日本不卡一区视频| 亚洲黄色精品| 国产精品日韩精品| 少妇av一区二区| 国产精品你懂的在线欣赏| www.好吊操| 九七电影院97理论片久久tvb| 欧美精品一区二区不卡| 国产精品1区2区3区4区| 亚洲激情视频| 91免费在线视频网站| 三级毛片在线免费看| 中文字幕日本乱码精品影院| 国产91美女视频| 久久伦理中文字幕| 一本一道久久a久久精品逆3p| 精品99久久久久成人网站免费| 日韩中文字幕91| 国产精品国模大尺度私拍| av在线第一页| 天天爽夜夜爽夜夜爽精品视频| 五月激情婷婷在线| 国产麻豆一区二区三区精品视频| 久久久亚洲福利精品午夜| 这里只有精品9| 精品在线91| 黄色亚洲精品| 国产精品麻豆va在线播放| 亚洲精品一区二区三区新线路| 欧美激情一区二区三区四区| 18岁网站在线观看| 欧美久久一区二区三区| 中文字幕在线精品| 国产69精品久久久久久久久久| 国产成人综合在线播放| 一区二区三区av| 成人激情综合| 日韩高清av在线| 日本熟妇成熟毛茸茸| 国产在线一区二区| 亚洲制服欧美久久| www.久久.com| 亚洲欧美中文字幕| 最新中文字幕一区| 91在线视频播放| 三上悠亚久久精品| 成人免费在线电影网| 久久综合国产精品台湾中文娱乐网| 久久永久免费视频| 久久九九99视频| 成年人视频在线免费| 亚洲深夜福利在线观看| 欧美又大粗又爽又黄大片视频| 人妻少妇精品无码专区| 亚洲h精品动漫在线观看| 国产性猛交96| 在线观看一区视频| 国产日本一区二区三区| 男女免费观看在线爽爽爽视频| 欧美一级理论片| 国产这里有精品| 成人午夜av在线| 国产 日韩 亚洲 欧美| av成人资源网| 欧美一级大片在线观看| 欧美白人做受xxxx视频| 在线精品视频一区二区三四| 极品人妻videosss人妻| 免费观看日韩av| 国产精品国产三级国产aⅴ无密码| 久久精品中文字幕一区二区三区| 成人观看网址| 精品亚洲夜色av98在线观看| 国产嫩bbwbbw高潮| 国产亚洲短视频| 高潮一区二区三区| 欧美激情一区| 国产精品欧美久久| 僵尸再翻生在线观看| 亚洲欧美日韩久久久久久| 丰满人妻一区二区三区四区| 国产精品成人免费| 成人啪啪18免费游戏链接| 9国产精品视频| 日韩亚洲一区在线播放| 伊人久久大香线蕉综合影院首页| 久久久精品免费视频| 亚洲第一色网站| 色综合久久综合网97色综合| 国产精品1区2区3区4区| 成人一区在线看| 18禁男女爽爽爽午夜网站免费| 成人一级毛片| 99精品99久久久久久宅男| 亚洲天堂电影| www.欧美三级电影.com| 视频二区在线观看| 欧美日韩你懂得| 动漫精品一区一码二码三码四码 | 久久久亚洲av波多野结衣| 日本视频一区二区三区| 丁香色欲久久久久久综合网| 九九亚洲视频| 成人自拍爱视频| 午夜欧美巨大性欧美巨大| 九色精品免费永久在线| 国内av一区二区三区| 日韩亚洲欧美在线| 国产乡下妇女三片| 亚洲高清免费视频| 亚洲女同二女同志奶水| 99久久精品免费| 亚洲制服中文字幕| 日韩精品乱码免费| 日韩中字在线观看| 亚洲电影影音先锋| 日韩三级电影网站| 乱亲女h秽乱长久久久| 91日本视频在线| 国产一区二区主播在线| 97国产一区二区精品久久呦| 好了av在线| 国产亚洲在线播放| 你懂的好爽在线观看| 亚洲精品一区二区三区福利| 91成人在线免费| 91豆麻精品91久久久久久| 国产无码精品久久久| 亚洲天堂a在线| 变态另类ts人妖一区二区| 久久影院午夜精品| 95精品视频在线| 午夜啪啪小视频| 美女诱惑一区| 奇米精品一区二区三区| 欧美精品导航| 婷婷视频在线播放| 日本不卡电影| 亚洲春色在线视频| 欧洲杯足球赛直播| 欧美一卡2卡3卡4卡无卡免费观看水多多| 51亚洲精品| 国产91精品入口17c| 久久精品免视看国产成人| 国产综合久久久久| 日韩专区视频| 成人久久久久久久| 欧美少妇激情| 国产日韩av在线播放| 国产美女久久| 成人av电影天堂| 99久久999| 亚洲一区免费网站| 中文久久电影小说| 高清一区二区三区视频| 国产成人精品亚洲线观看| 99re6在线| 国产欧美一区二区三区米奇| 国产一级二级三级精品| 丝袜连裤袜欧美激情日韩| 免费观看成人高| 欧美一级精品片在线看| 一区二区日本伦理| 欧美 日韩 国产 一区| 黄色特一级视频| 伊人久久大香线蕉av超碰演员| 分分操这里只有精品| 夜夜爽av福利精品导航| www.亚洲天堂网| 蜜臀精品一区二区三区在线观看| 中文字幕第100页| 国产一区二区三区免费观看| 欧美日产一区二区三区在线观看| 色撸撸在线视频| 26uuu精品一区二区| 色欲狠狠躁天天躁无码中文字幕 | 国产福利在线导航| 亚洲色图都市小说| 久久综合久久鬼| 黑丝美女久久久| 在线观看毛片av| 日韩欧美不卡在线观看视频| 欧性猛交ⅹxxx乱大交| 亚洲精品中文字幕av| 在线激情小视频| 欧美精品国产精品日韩精品| 天堂网在线最新版www中文网| 国产精品高潮呻吟久久av黑人| 性欧美video另类hd尤物| 国产精品久久久久av福利动漫| 欧美人与牛zoz0性行为| 妞干网这里只有精品| 国产欧美成人| 青青草原国产在线视频| aa级大片欧美| 国产三级精品三级观看| 亚洲va国产天堂va久久en| 中文字幕av免费观看| 欧美变态口味重另类| 国产精品视频一区二区久久| 久久99视频免费| 国产精品毛片久久久久久久久久99999999| 91亚洲一区精品| 奇米色欧美一区二区三区| 欧美这里只有精品| 热久久免费视频| 中文字幕乱视频| 一色桃子久久精品亚洲| 视频一区二区三区四区五区| 欧美一区中文字幕| 国产私人尤物无码不卡| 国内偷自视频区视频综合| 日本午夜精品久久久久| 免费中文日韩| 亚洲无线视频| 中文字幕第22页| 久久久久成人黄色影片| 久久久精品视频在线| 欧美乱熟臀69xxxxxx| 欧美成人免费| 国内免费精品永久在线视频| 国产 日韩 欧美| 午夜精品视频在线观看一区二区| 亚洲日本激情| 337p日本欧洲亚洲大胆张筱雨| 国产精品传媒视频| 国产免费a视频| 日韩电影免费观看中文字幕| 欧美日韩在线视频免费观看| 国产日本欧美一区二区三区在线| 亚洲伊人春色| 日韩精品视频一区二区在线观看| 国产999精品久久| 青草影院在线观看| 自拍偷拍欧美| 国产成人精品综合| 成人在线超碰| 日本a在线天堂| 蜜桃视频第一区免费观看| 中国女人特级毛片| 日韩欧美在线视频观看| 婷婷丁香花五月天| 久久久综合免费视频| 一区二区三区国产好| 亚洲中文字幕无码一区二区三区| 国产揄拍国内精品对白| 视频国产一区二区| 欧美片网站yy| 久操免费在线| 亚洲淫片在线视频| 欧美高清日韩| 亚洲911精品成人18网站| 亚洲免费av在线| 精品国自产拍在线观看| 久久6免费高清热精品| 久久在线观看| av日韩在线看| 成人午夜伦理影院| 日产电影一区二区三区| 亚洲精品久久久久中文字幕二区| а√天堂8资源中文在线| 精品人伦一区二区三区| 久久久久国产精品一区三寸| 真实乱视频国产免费观看| 欧美主播一区二区三区美女| 超碰免费在线| 成人有码在线播放| 女人色偷偷aa久久天堂| 无码任你躁久久久久久老妇| 狠狠躁天天躁日日躁欧美| 国产一级在线观看| 国产日韩欧美自拍| 欧美日本不卡| 久久国产精品无码一级毛片| 欧美性生交大片免费| yw在线观看| 91欧美精品成人综合在线观看| 亚洲视频福利| 亚洲一区二区观看| 欧美日韩亚洲国产综合| 最新国产在线拍揄自揄视频| 精品免费二区三区三区高中清不卡| 久久综合婷婷| 欧美特级一级片| 日韩成人激情在线| 久久99国产精品二区高清软件| 成年丰满熟妇午夜免费视频| 91免费精品国自产拍在线不卡| 中文字幕第2页| 欧美大片免费看| 精品在线手机视频| 午夜影院免费版| 一本一本大道香蕉久在线精品| 乱人伦中文视频在线| 激情久久av| 久久99精品久久久久婷婷| 国产精品第九页| 最近2019免费中文字幕视频三 | 色欲AV无码精品一区二区久久| 56国语精品自产拍在线观看| 麻豆视频在线看| 在线一区高清| 久久综合99re88久久爱| 国产深喉视频一区二区| 国产999精品久久久影片官网|