• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    U—Boot在mini2440平臺上的移植過程分析

    2012-04-29 08:45:24李宇飛嵇啟春劉浩洋
    計算機時代 2012年11期
    關(guān)鍵詞:嵌入式系統(tǒng)

    李宇飛 嵇啟春 劉浩洋

    (西安建筑科技大學(xué)信息與控制工程學(xué)院, 陜西 西安 710055)

    摘要: 引導(dǎo)加載程序是嵌入式系統(tǒng)開發(fā)的重要環(huán)節(jié),它使得操作系統(tǒng)和硬件平臺聯(lián)系起來,對嵌入式系統(tǒng)的后繼軟件開發(fā)十分重要。為此,介紹了當前嵌入式開發(fā)中功能強大、穩(wěn)定可靠的引導(dǎo)加載程序U-Boot的目錄結(jié)構(gòu)、啟動流程及其移植的思路和引導(dǎo)內(nèi)核的方法;給出了移植Uboot-2010-06到ARM微處理器S3C2440上所需操作環(huán)境的搭建,具體代碼的修改,具體參數(shù)的設(shè)置,以及所需的操作命令等要點。最后將編譯生成的U-Boot.bin文件下載到ARM微處理器S3C2440上,測試顯示,U-Boot可以達到設(shè)計的功能要求并能夠穩(wěn)定運行,而且通過對其進行正確的配置可以引導(dǎo)內(nèi)核。

    關(guān)鍵詞: 嵌入式系統(tǒng); Bootloader; U-Boot; S3C2440; Linux

    中圖分類號:TP319文獻標志碼:A 文章編號:1006-8228(2012)11-04-04

    Analysis of transplant process of U-boot to platform based on mini2440

    Li Yufei, Ji Qichun, Liu Haoyang

    (Xi'an University of Architecture and Technology, Xi'an, Shanxi 710055, China)

    Abstract: Bootloader (boot loader) plays an important part in combining the operating system with hardware platform, and also is crucial for embedded system of software development. Directory structure, workflow, a porting thought and a booting kernel method of a powerful, stable U-Boot program in the development of the current embedded systems are proposed. The problems in transplanting uboot-2010-06 to S3C2440 are discussed, including particularly the environment establishment, the specific changes to the file, the specific settings to parameter and the demand of operation command. Finally the compiled U-Boot.bin will be downloaded to ARM microprocessor. The result shows that U-boot can reach the project request, operate steadily and boot the kernel successfully through the proper configuration.

    Key words: embedded system; Bootloader; U-Boot; S3C2440; Linux

    0 引言

    在嵌入式軟件開發(fā)中,嵌入式Linux系統(tǒng)通常包括引導(dǎo)加載程序、Linux內(nèi)核、文件系統(tǒng)和用戶應(yīng)用程序四部分[1]。引導(dǎo)加載程序包括固化在固件(firm-ware)中的boot代碼(可選)和Bootloder。簡言之,Bootloader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序,它在系統(tǒng)上電時開始執(zhí)行,初始化硬件設(shè)備、準備好軟件環(huán)境,最后調(diào)用操作系統(tǒng)內(nèi)核[2]。由于Bootloader的實現(xiàn)非常依賴于具體的硬件,即使是基于同一種處理器構(gòu)建的不同開發(fā)板,具有相同的CPU,它的外設(shè)(比如FLASH)也可能不同,所以不可能有一個通用的Bootloader來支持所有的CPU,而可能的是,讓一個Bootloader代碼支持多種不同的構(gòu)架和操作系統(tǒng),并讓它有很好的可移植性。U-Boot就是支持多平臺多操作系統(tǒng)的一個杰出代表,移植U-Boot是為下一步引導(dǎo)內(nèi)核和文件系統(tǒng)做準備,但U-Boot移植完成后由于開發(fā)途徑的不同還需要做些設(shè)置才能引導(dǎo)內(nèi)核和文件系統(tǒng)。本文重點是針對最小硬件系統(tǒng)的Bootloader移植的研究。

    1 U-boot的概述及啟動過程

    1.1 U-Boot簡介

    U-Boot (universal boot loader)是德國DENX軟件工程中心開發(fā)的一款遵循GPL條款的開放源碼軟件產(chǎn)品,其對現(xiàn)在市場上主流的操作系統(tǒng),CPU都能提供良好的支持,除了支持Linux系統(tǒng)的引導(dǎo)外,還支持NetBSD、VxWorkd、LynxOS等嵌入式操作系統(tǒng),并且支持ARM、PowerPC、NIOS、XScale等處理器。U-Boot的程序框架清晰,功能強大,具有較高的穩(wěn)定性和可靠性,豐富的設(shè)備驅(qū)動源碼,移植方便。這些特點是它被選擇移植到mini2440開發(fā)板上的原因。

    1.2 U-Boot的源碼結(jié)構(gòu)

    本文主要是針對U-Boot-2010-06的分析與移植。其源碼可以在官方網(wǎng)站下載,解壓后可以得到它的全部代碼。

    U-Boot-2010-06根目錄下共有29個子目錄,根據(jù)其作用可以分為開發(fā)板類型相關(guān)、平臺相關(guān)、通用的函數(shù)、通用的設(shè)備驅(qū)動、文檔示例程序、工具等幾類。表1給出了U-Boot的主要目錄結(jié)構(gòu)[3]。

    1.3 U-Boot的啟動流程

    由于本次移植采用的硬件平臺是友善之臂的mini2440開發(fā)板,而U-boot-2010-06沒有提供基于S3C2440芯片的開發(fā)板支持,我們可以通過修改與其結(jié)構(gòu)相近的smdk2410的配置文件和相關(guān)源代碼,去實現(xiàn)U-Boot對s3c2440的支持[4]。Bootloader的啟動過程可以分為單階段和多階段。從固態(tài)存儲設(shè)備上啟動的Bootloader是兩個階段的啟動過程。第一階段用到的文件為cpu/xxx/start.S和board/xxx/lowlevel_init.S文件中,這兩個文件用匯編語言寫成;第二階段的代碼通常放在lib_xxx/board.c文件中,用C語言寫成,主要任務(wù)是初始化本階段用到的硬件、檢測系統(tǒng)內(nèi)存映射、將內(nèi)核鏡像和根文件系統(tǒng)鏡像從Flash上讀到RAM空間中并為內(nèi)核設(shè)置啟動參數(shù)最終啟動內(nèi)核。

    表1U-Boot主要目錄說明

    [[U-Boot目錄\&功能說明\&board\&一些已經(jīng)支持的開發(fā)板相關(guān)文件\&common\&與處理器體系結(jié)構(gòu)無關(guān)的通用代碼\&cpu\&與處理器相關(guān)的文件\&disk\&Disk驅(qū)動分區(qū)相關(guān)信息代碼\&doc\&U-Boot的說明文檔\&drivers\&通用設(shè)備驅(qū)動程序,如:網(wǎng)卡、FLASH、串口、USB總線等\&fs\&支持文件系統(tǒng)的文件,如:cramfs、fat、fdos、jffs2等\&include\&U-Boot頭文件,還有各硬件平臺的匯編文件,系統(tǒng)配置文件\&Lib_xxx\&處理器體系結(jié)構(gòu)相關(guān)文件,如:lib_arm包含的是ARM體系結(jié)構(gòu)\&net \&與網(wǎng)絡(luò)功能相關(guān)的文件,如:bootp 、nfs、tftp等\&post\&上電自檢文件目錄\&tools\&用于創(chuàng)建U-Boot、S-Record和Bin鏡像文件的工具\&]]

    [系統(tǒng)復(fù)位轉(zhuǎn)入U-BOOT

    的stage1入口點][設(shè)置異常向量][設(shè)置CPU的時鐘、速度、

    頻率及終端控制寄存][初始化內(nèi)存控制器][拷貝U-BOOT的stage2到代碼到RAM空間][設(shè)置堆棧、初始化數(shù)據(jù)段][本階段硬件設(shè)備初始化] [Stage1部分][跳轉(zhuǎn)到stage2的

    C入口點][初始化FLASH設(shè)備][初始化NAND、顯示、

    網(wǎng)絡(luò)等設(shè)備][初始化系統(tǒng)內(nèi)存][將kernel和根文件系統(tǒng)映射從FLASH讀到ARM中][設(shè)定內(nèi)核啟動參數(shù)和調(diào)用內(nèi)核][本階段硬件設(shè)備初始化] [Stage2部分]

    圖1U-Boot的啟動流程圖

    2 U-Boot的移植

    在移植U-Boot之前首先要建立開發(fā)環(huán)境,然后根據(jù)具體的應(yīng)用平臺的要求生成相應(yīng)的U-Boot.bin二進制文件,再將U-Boot.bin下載到目標板上,本文采用的是友善之臂的mini2440開發(fā)板,此開發(fā)板采用405MHZ的ARM920T內(nèi)核的處理器S3C2440,下面是具體的移植過程。

    2.1 移植環(huán)境

    2.1.1 所需要的軟件環(huán)境

    軟件環(huán)境為:Vm-ware6.0、Ubuntu/Redhat、TFTP Server、J-Link、Samba服務(wù)器、arm-linux-gcc-4.3.2.tgz、U-Boot-2010.

    06.tar.gz2等。

    2.1.2 Windows所需開發(fā)環(huán)境

    ⑴ 安裝TFTP Server,此軟件用于開發(fā)板和Windows的交互,通過它可以把編譯好的U-Boot的二進制文件和內(nèi)核二進制文件燒錄到開發(fā)板上。

    ⑵ 使用超級終端通過串口顯示U-Boot的運作信息。

    ⑶ 安裝J-Link,此軟件的作用是把生成U-Boot.bin燒寫到目標板上。

    ⑷ 安裝Vm-ware6.0用于安裝Linux操作系統(tǒng)。

    2.1.3 Linux所需開發(fā)環(huán)境

    ⑴ 建立Linux和Windows的交互平臺Samba服務(wù)。使得Linux和Windows之間可以通過一個共享目錄互相傳送文件。

    ⑵ 交叉編譯環(huán)境的搭建。將arm-linux-gcc-4.3.2.tgz通過Samba服務(wù)器傳送到Linux內(nèi),然后解壓,輸入命令:

    #tar -xvfarm-Linux-gcc-4.3.2.tgz -C /

    運行成功后會在usr/local/arm下生成目錄4.3.2。在根目錄下輸入命令:

    #gedit /etc/environment

    修改environment,在PATH中添加“/usr/local/arm/4.3.2/”,指定arm-linux-gcc編譯器的位置。添加完后保存退出,在根目錄鍵入命令:#su或者重新啟動Linux操作系統(tǒng),讓新增加的配置生效。

    ⑶ 解壓U-Boot-2010.06.tar.gz2。方法和解壓arm-linux-

    gcc-4.3.2.tgz類似。

    2.2 移植文件操作

    移植U-Boot除了依賴CPU的體系結(jié)構(gòu)外,還依賴于具體的嵌入式板級設(shè)備的配置,只需選擇與自己板子最為相近的作為基礎(chǔ)。與CPU相關(guān)的文件位于U-Boot根目錄下CPU/arm920t目錄及子目錄S3C24x0中。與Board相關(guān)的文件位于U-Boot根目錄下的board/sbc2410x目錄下。該版本U-Boot并不支持本文使用的ARM微處理器S3C2440,但是對于同一個系列的另一款微處理器S3C2410卻有很完善的支持。兩款芯片使用相同的ARM核,片內(nèi)集成的功能以及寄存器的使用都很接近,所以U-Boot的移植工作在S3C2410和對應(yīng)的開發(fā)板SMDK2410的基礎(chǔ)上展開;并且隨著U-Boot版本的不斷升級許多目錄的內(nèi)容做了很多改動,例如U-Boot-2010-06和以前的版本就有變化,它的/cpu/arm920t下的很多內(nèi)容移放到了drivers目錄下,因此/drivers目錄下也需要修改,對此就不作詳細介紹,在此我們重點介紹移植的思路[5]。

    ⑴ 進入u-boot的根目錄,并修改Makefile文件。

    修改Makefile的命令如下:

    $ cd u-boot-2010.06/

    $ gedit Makefile

    首先搜索CROSS_COMPILE,將CROSS_COMPILE=?改為交叉編譯工具鏈CROSS_COMPILE ?= arm-linux-,然后搜索smdk2410,并仿照它建立自己開發(fā)板的配置選項,在smdk2410_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm920t s3c2410NULL s3c24x0下添加mini2440_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm920tmini2440 jason s3c24x0然后保存。

    說明:

    arm:CPU的架構(gòu)(ARCH)。

    arm920t:CPU的類型。

    mini2440:對應(yīng)在board目錄下建立新的開發(fā)板項目的目錄。

    jason:新開發(fā)板項目目錄的上級目錄,如直接在board下建立新的開發(fā)板項目的目錄,則這里就為NULL。

    s3c24x0:CPU型號。

    注意:編譯選項格式的第二行在@前面要用Tab鍵開始,否則編譯會出錯。

    ⑵ 建立mini2440開發(fā)板的板子目錄文件。

    ① 復(fù)制smdk2410的板子目錄文件為mini2440,命令如下:

    $ mkdir -p board/jason

    $ cd board/jason/

    $ cp -rf ../samsung/smdk2410/ mini2440

    ② 重命名smdk2410.c為mini2440.c并修改對應(yīng)的Makefile文件:

    $ mv smdk2410.c mini2440.c

    COBJS :=mini2440.o flash.o

    SOBJS :=lowlevel_init.o

    ⑶ 在根目錄下定位到include/configs,建立mini2440開發(fā)板的配置頭文件。

    修改頭文件smdk2410.h。該文件的作用是對CPU內(nèi)部寄存器相對位置安排和命名寄存器的名稱。將smdk2410.h復(fù)制并粘貼到當前目錄下,將其重命名成mini2440.h,命令如下:

    $ cp include/configs/smdk2410.h include/configs/mini2440.h

    ⑷ 修改開發(fā)板的終端中命令行提示符。

    用gedit打開include/configs/mini2440.h頭文件,定位到117行,其中的“SMDK2410#”就是開發(fā)板在終端顯示的提示符,現(xiàn)在將其改為“[u-boot@MINI2440]#,如下所示:

    #define CONFIG_SYS_PROMPT “[u-boot@MINI2440]#”

    /*Monitor Command Prompt */

    ⑸ 注釋掉不需要的LED代碼。

    ① $ gedit arch/arm/cpu/arm920t/start.S

    下面這兩行是AT91RM9200DK開發(fā)板的LED初始化,注釋掉。

    // bl coloured_LED_init

    // bl red_LED_on

    ② $ gedit arch/arm/lib/board.c

    刪除不需要的指示進度LED功能。

    #if 0

    /************************************************************************/

    * Coloured LED functionality

    ……

    void blue_LED_off(void)__attribute__((weak,alias("__blue_LED_off")));

    #endif

    ⑹ 在include/configs/mini2440.h頭文件中添加宏定義如下:

    #define CONFIG_S3C2440 1 /* specifically a SAMSUNG

    S3C2440 SoC */

    #define CONFIG_MINI2440 1 /* FriendlyARM Mini2440 */

    ⑺ 修改lowlevel_init.S 文件。

    注:lowlevel_init.S文件是開發(fā)板相關(guān)的,這表示如果外接的設(shè)備不一樣,可以修改lowlevel_init.S文件中的相關(guān)宏。

    部分修改代碼如下:

    #if defined(CONFIG_S3C2440)

    #define Trp 0x2 /* 4clk */

    #define REFCNT 1012

    #else

    #define Trp 0x0 /* 2clk */

    #define REFCNT 1113

    ……

    ⑻ 增加對S3C2440一些寄存器的支持,添加中斷禁止部分和時鐘設(shè)置部分。

    ① 修改cpu/arm920t中的start.S文件,U-Boot的階段1代碼通常放在此文件中。

    中斷禁止部分添加代碼如下:

    # if defined(CONFIG_S3C2440) //添加s3c2440的中斷禁止部分

    ldr r1, =0x7fff //根據(jù)2440芯片手冊,INTSUBMSK寄存器有15位可用

    ldr r0, =INTSUBMSK

    str r1, [r0]

    # endif

    由于u-boot-2010-06并不支持S3C2440,所以要添加s3c2440的時鐘部分使其工作在405MHz:

    # if defined(CONFIG_S3C2440) //添加s3c2440的時鐘部分

    #define MPLLCON 0x4C000004 //系統(tǒng)主頻配置寄存器基地址

    #define UPLLCON 0x4C000008 //USB時鐘頻率配置寄存器基地址

    ldr r0, =CLKDIVN //設(shè)置分頻系數(shù)FCLK:HCLK:PCLK=1:4:8

    mov r1, #5

    str r1, [r0]

    ldr r0, =MPLLCON //設(shè)置系統(tǒng)主頻為405MHz

    ldr r1, =0x7F021 //這個值參考芯片手冊“PLL VALUE SELECTION

    TABLE”部分

    str r1, [r0]

    ldr r0,=UPLLCON //設(shè)置USB時鐘頻率為48MHz

    ldr r1,=0x38022 //這個值參考芯片手冊“PLL VALUE SELECTION

    TABLE”部分

    str r1,[r0]

    # else

    ……

    ② 修改與Board相關(guān)的文件mini2440.c,該文件主要完成對GPIO和PLL的配置。

    修改代碼如下:

    #define FCLK_SPEED 2 //設(shè)置默認等于2,即下面代碼部分有效

    #elif FCLK_SPEED==2/* Fout=405MHz */

    #define M_MDIV 0x7F //這三個值根據(jù)S3C2440芯片手冊“PLL

    VALUE SELECTION TABLE”部分進行設(shè)置

    #define M_PDIV 0x2

    #define M_SDIV 0x1

    #define USB_CLOCK 2//設(shè)置默認等于2,即下面代碼部分有效

    #elif USB_CLOCK==2/* Fout=48MHz */

    #define U_M_MDIV 0x38//這三個值根據(jù)S3C2440芯片手冊

    “PLL VALUE SELECTION TABLE”部分進行設(shè)置

    #define U_M_PDIV 0x2

    #define U_M_SDIV 0x2

    ③ 修改cup/arm920t/s3c24x0/speed.c文件,根據(jù)設(shè)置的分頻系數(shù)FCLK:HCLK:PCLK=1:4:8修改獲取時鐘頻率的函數(shù)。由于s3c2410和s3c2440的MPLL、UPLL計算公式不一樣,所以修改get_PLLCLK和函數(shù)加入以下代碼:

    #if defined(CONFIG_S3C2440)

    if(pllreg == MPLL)

    { //參考S3C2440芯片手冊上的公式:PLL=(2*m*Fin)/(p*2s)

    return((CONFIG_SYS_CLK_FREQ*m*2)/(p<

    }

    #endif

    ……

    #if defined(CONFIG_S3C2440)

    return(get_FCLK()/4);

    #endif

    ⑼ 借用S3C2410的代碼修改s3c24x0_cpu.h、s3c24x0.h、timer.c。

    ① 修改s3c24x0_cpu.h

    在這個文件中添加對S3C2440芯片的支持。例如:

    將defined (CONFIG_S3C2410)改成defined (CONFIG_S3C2410)||(defined CONFIG_S3C2440)。

    ② 修改頭文件s3c24x0.h

    該文件的作用是對CPU內(nèi)部寄存器相對位置安排和命名寄存器的名稱,具體修改可參照s3c2440數(shù)據(jù)手冊,例如:

    使用命令$ gedit arch/arm/include/asm/arch-s3c24x0/s3c24x0.h分別定位到81、91、95、106、144、400行,將#ifdef CONFIG_S3C2410改為#if defined(CONFIG_S3C2410)||defined(CONFIG_S3C2440)。

    然后在struct s3c24x0_clock_power結(jié)構(gòu)體中加入2440 的NAND FLASH 的數(shù)據(jù)結(jié)構(gòu)成員CAMDIVN定義,具體代碼為:

    #if defined (CONFIG_S3C2440)

    u32 CAMDIVN; //for mini2440

    #endif

    注:這個結(jié)構(gòu)是用來封裝時鐘寄存器的,要在其中增加一項CAMDIVN寄存器是2410所沒有的,而2440在配置時鐘的時候又必須用到,看名字我們就知道是用來配置CAMERA時鐘的,即用來配置攝像頭的時鐘的。

    ③ 修改timer.c

    在defined(CONFIG_SMDK2410) || \ 下添加defined(CONFIG_MINI2440) || \。

    3 U-boot的生成、測試

    3.1 目標文件的生成

    現(xiàn)在編譯u-boot,在根目錄下會生成一個u-boot.bin文件。我們利用mini2440原有的supervivi把u-boot.bin下載到RAM中運行測試(注意:我們使用supervivi進行下載時已經(jīng)對CPU、RAM進行了初始化,所以我們在u-boot中要屏蔽掉對CPU、RAM的初始化),用gedit打開cpu/arm920t/start.S,定位到如下代碼:

    //#ifndef CONFIG_SKIP_LOWLEVEL_INIT

    //bl cpu_init_crit

    //#endif

    3.2 測試編譯

    以root用戶登陸Linux操作系統(tǒng),在U-Boot主目錄下依次運行以下命令:

    $ make distclean

    $ make mini2440_config

    Configuring for mini2440 board...

    $ make

    編譯成功會生成一個二進制文件u-boot.bin,通過特制的Flash燒寫程序J-Link將二進制文件U-boot.bin燒入Flash的零地址。燒寫成功后,拔掉J-Link接口復(fù)位開發(fā)板。

    從超級終端輸出如下信息:

    u-Boot 2010.06 (Aug 16 2012 -14:13:18)

    DRAM: 64MB

    Flash:512KB

    In: serial

    Out:serial

    Err:serial

    Net:cs8900-0

    [u-boot@MINI2440]#

    在超級終端顯示的信息表明,CPU和串口已經(jīng)正常工作,能進入U-Boot界面。接下來我們用命令測試Flash、SDRAM、網(wǎng)絡(luò)等。測試結(jié)果表明,U-Boot移植成功并且可以在系統(tǒng)板上穩(wěn)定地運行。

    4 結(jié)束語

    U-Boot作為目前使用最廣泛的嵌入式Bootloader,一直都是嵌入式系統(tǒng)研究的重點。針對S3C2440的特點,我們詳細介紹了U-boot的移植過程。通過上述方法移植的U-Boot目前能穩(wěn)定地運行在開發(fā)板上,實現(xiàn)了串口與PC機的通信,查看和修改內(nèi)存,以及引導(dǎo)Linux內(nèi)核等的功能,為后續(xù)嵌入式系統(tǒng)軟件的開發(fā)提供了良好的環(huán)境。

    參考文獻:

    [1] 田會峰.基于S3C2440的Bootloader設(shè)計與實現(xiàn)[J].自動化技術(shù)與

    應(yīng)用,2010.29(7):29-32

    [2] 韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊[M].人民郵電出版社,2008.

    [3] Current Versions.DENX software engineering [EB/OL].http://

    www.denx.de/wiki/DULG/Manual.2010.12.

    [4] 李軍,張華春.U-Boot及Linux2.6在S3C2440A平臺上的移植方法

    [J].電子器件,2008.10:1667-1670

    [5] u-boot-2010.06在mini2440上的移植[EB/OL].http://blog.

    chinaunix.net/uid-26552187-id-3128489.html.2012.3.

    [6] 孫天澤.嵌入式設(shè)計及Linux驅(qū)動開發(fā)指南[M].電子工業(yè)出版社,

    2005.

    猜你喜歡
    嵌入式系統(tǒng)
    辦公自動化系統(tǒng)的設(shè)計
    嵌入式系統(tǒng)在醫(yī)療器械中的應(yīng)用分析
    基于物聯(lián)網(wǎng)項目驅(qū)動的嵌入式系統(tǒng)教學(xué)改革的研究與實踐
    嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實踐及啟示
    計算機教育(2016年7期)2016-11-10 08:31:34
    面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
    計算機教育(2016年7期)2016-11-10 08:12:11
    在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開發(fā)環(huán)境
    人妻 亚洲 视频| 国产精品人妻久久久影院| 亚洲综合色网址| 久久 成人 亚洲| 97人妻天天添夜夜摸| 免费黄网站久久成人精品| 午夜免费观看性视频| 肉色欧美久久久久久久蜜桃| 成人国语在线视频| 日本爱情动作片www.在线观看| av国产精品久久久久影院| 国产成人av激情在线播放| 亚洲情色 制服丝袜| 黄片播放在线免费| 中国三级夫妇交换| 黄片无遮挡物在线观看| 午夜福利,免费看| 自线自在国产av| 婷婷成人精品国产| 中国三级夫妇交换| 日韩成人伦理影院| 免费黄色在线免费观看| 久久人妻熟女aⅴ| 亚洲少妇的诱惑av| 又黄又粗又硬又大视频| videos熟女内射| 一本—道久久a久久精品蜜桃钙片| 久久人妻熟女aⅴ| 久久精品夜色国产| 嫩草影院入口| 欧美性感艳星| 黑人欧美特级aaaaaa片| 成年av动漫网址| 国产免费视频播放在线视频| 久久热在线av| 久久精品国产综合久久久 | 99视频精品全部免费 在线| 成人亚洲精品一区在线观看| 国产男女超爽视频在线观看| 女人久久www免费人成看片| 国产成人精品在线电影| 国产成人精品久久久久久| 亚洲精品乱码久久久久久按摩| 五月伊人婷婷丁香| 日本色播在线视频| 国产麻豆69| 男女边吃奶边做爰视频| xxxhd国产人妻xxx| 成年人午夜在线观看视频| 欧美3d第一页| 精品国产一区二区三区四区第35| 欧美激情 高清一区二区三区| 一级毛片黄色毛片免费观看视频| 男的添女的下面高潮视频| 久久精品久久久久久噜噜老黄| 我的女老师完整版在线观看| 欧美性感艳星| 大香蕉97超碰在线| 韩国av在线不卡| 久久国产精品男人的天堂亚洲 | 五月玫瑰六月丁香| 两个人看的免费小视频| 丰满少妇做爰视频| 女性被躁到高潮视频| 亚洲五月色婷婷综合| 女的被弄到高潮叫床怎么办| 亚洲国产精品国产精品| 精品一品国产午夜福利视频| 精品少妇黑人巨大在线播放| 最近中文字幕2019免费版| 亚洲av欧美aⅴ国产| 午夜av观看不卡| 日韩中文字幕视频在线看片| 久久人人爽av亚洲精品天堂| 咕卡用的链子| 97精品久久久久久久久久精品| 韩国精品一区二区三区 | 九色成人免费人妻av| xxxhd国产人妻xxx| 亚洲欧美清纯卡通| 男人爽女人下面视频在线观看| 婷婷成人精品国产| 一区二区日韩欧美中文字幕 | 午夜免费鲁丝| 国产欧美日韩一区二区三区在线| 九九在线视频观看精品| 久久人人爽人人爽人人片va| 国产乱来视频区| 午夜免费男女啪啪视频观看| av免费观看日本| 免费观看性生交大片5| 欧美丝袜亚洲另类| 亚洲国产精品999| 亚洲精品,欧美精品| 在线观看国产h片| 亚洲国产精品成人久久小说| 欧美丝袜亚洲另类| 97在线人人人人妻| 欧美变态另类bdsm刘玥| 国产成人精品福利久久| 久久国产精品大桥未久av| 香蕉丝袜av| 哪个播放器可以免费观看大片| 美女国产视频在线观看| 男女高潮啪啪啪动态图| 欧美日韩国产mv在线观看视频| 国产精品一区www在线观看| 999精品在线视频| 另类精品久久| 亚洲精品中文字幕在线视频| 国产xxxxx性猛交| 国产一区二区激情短视频 | 欧美最新免费一区二区三区| 高清av免费在线| 国产精品不卡视频一区二区| 国产一区二区在线观看日韩| 久久国内精品自在自线图片| av视频免费观看在线观看| 国产黄色免费在线视频| 丝袜美足系列| 巨乳人妻的诱惑在线观看| 美女大奶头黄色视频| 国产亚洲最大av| 激情视频va一区二区三区| 亚洲精品美女久久久久99蜜臀 | 国产日韩欧美亚洲二区| 亚洲精品乱码久久久久久按摩| 两个人看的免费小视频| 新久久久久国产一级毛片| 亚洲欧美一区二区三区黑人 | 人妻少妇偷人精品九色| 免费大片黄手机在线观看| 国产麻豆69| 大香蕉97超碰在线| 在线精品无人区一区二区三| 国产精品国产三级国产av玫瑰| 久久久久网色| 欧美日本中文国产一区发布| www.色视频.com| 国产亚洲精品久久久com| 国产亚洲精品第一综合不卡 | 免费看av在线观看网站| 免费高清在线观看日韩| 国产视频首页在线观看| 在线亚洲精品国产二区图片欧美| 午夜福利网站1000一区二区三区| 日本爱情动作片www.在线观看| 自线自在国产av| 精品熟女少妇av免费看| 在线观看美女被高潮喷水网站| 中文字幕免费在线视频6| 亚洲成人av在线免费| 99热网站在线观看| 亚洲欧美中文字幕日韩二区| 女性生殖器流出的白浆| 美女国产视频在线观看| 久久久精品区二区三区| 中文字幕人妻丝袜制服| 国产亚洲午夜精品一区二区久久| 在线亚洲精品国产二区图片欧美| 伊人亚洲综合成人网| 美女xxoo啪啪120秒动态图| 亚洲国产欧美日韩在线播放| 亚洲第一区二区三区不卡| 97在线视频观看| 免费看av在线观看网站| 男女下面插进去视频免费观看 | 久久女婷五月综合色啪小说| 制服人妻中文乱码| 久久久久久人人人人人| 成年人免费黄色播放视频| 亚洲伊人久久精品综合| 一级黄片播放器| 黄色一级大片看看| 国产精品人妻久久久影院| 一边摸一边做爽爽视频免费| 肉色欧美久久久久久久蜜桃| 久久青草综合色| 91成人精品电影| 亚洲精品视频女| 国产1区2区3区精品| 久久精品国产亚洲av天美| 亚洲欧美一区二区三区黑人 | 激情视频va一区二区三区| 亚洲av电影在线进入| 少妇的逼好多水| 亚洲精品456在线播放app| 熟女电影av网| 色视频在线一区二区三区| 伊人久久国产一区二区| 成人手机av| 天美传媒精品一区二区| 免费人成在线观看视频色| 国产一区二区三区av在线| 午夜老司机福利剧场| 久久这里有精品视频免费| 欧美日韩精品成人综合77777| 丰满少妇做爰视频| 高清在线视频一区二区三区| 国产成人精品在线电影| 一级毛片 在线播放| 51国产日韩欧美| 国产在线免费精品| www.熟女人妻精品国产 | 亚洲国产欧美在线一区| 蜜桃国产av成人99| 人成视频在线观看免费观看| 久久综合国产亚洲精品| 亚洲欧美色中文字幕在线| 成人手机av| 日韩免费高清中文字幕av| 国产不卡av网站在线观看| 人人妻人人澡人人看| 国产精品久久久久久精品电影小说| 捣出白浆h1v1| 一级a做视频免费观看| 国产精品蜜桃在线观看| 免费观看av网站的网址| 亚洲色图综合在线观看| 午夜免费男女啪啪视频观看| 亚洲国产欧美在线一区| 久久久久久久国产电影| 日韩人妻精品一区2区三区| 中文字幕av电影在线播放| 美女中出高潮动态图| 69精品国产乱码久久久| 亚洲精品第二区| 成人亚洲欧美一区二区av| 大片电影免费在线观看免费| 乱人伦中国视频| 91午夜精品亚洲一区二区三区| 91精品伊人久久大香线蕉| 成人午夜精彩视频在线观看| 久久99精品国语久久久| 在现免费观看毛片| 亚洲经典国产精华液单| 观看美女的网站| 一级爰片在线观看| 亚洲美女视频黄频| 麻豆精品久久久久久蜜桃| 香蕉丝袜av| 日本av手机在线免费观看| 欧美97在线视频| 精品国产乱码久久久久久小说| 人妻少妇偷人精品九色| av.在线天堂| 免费观看性生交大片5| 日韩电影二区| 亚洲欧美成人综合另类久久久| 一二三四在线观看免费中文在 | 看免费av毛片| 亚洲精品一二三| 色吧在线观看| 婷婷色av中文字幕| 精品人妻偷拍中文字幕| 国产精品久久久久成人av| 熟女av电影| av又黄又爽大尺度在线免费看| 亚洲精品456在线播放app| 国产精品久久久久成人av| 黄色视频在线播放观看不卡| 久久狼人影院| 国产成人精品无人区| www.熟女人妻精品国产 | 一区在线观看完整版| 亚洲av免费高清在线观看| 精品酒店卫生间| 亚洲精品国产色婷婷电影| 免费黄频网站在线观看国产| 男人操女人黄网站| 国产精品国产三级国产专区5o| 肉色欧美久久久久久久蜜桃| 99九九在线精品视频| 国产毛片在线视频| 狂野欧美激情性xxxx在线观看| 老女人水多毛片| 亚洲色图 男人天堂 中文字幕 | 人人妻人人澡人人爽人人夜夜| 激情五月婷婷亚洲| 青春草视频在线免费观看| 亚洲国产av影院在线观看| 天堂俺去俺来也www色官网| 亚洲欧美精品自产自拍| 精品少妇内射三级| 亚洲国产日韩一区二区| 天堂8中文在线网| 精品一品国产午夜福利视频| 亚洲av福利一区| 久久人人97超碰香蕉20202| 蜜臀久久99精品久久宅男| 热99国产精品久久久久久7| 久久精品国产亚洲av涩爱| 男女高潮啪啪啪动态图| 中文字幕制服av| av.在线天堂| 啦啦啦在线观看免费高清www| 在线观看免费高清a一片| 成年av动漫网址| 99精国产麻豆久久婷婷| 国产精品秋霞免费鲁丝片| 日日爽夜夜爽网站| 国产日韩欧美在线精品| 成人毛片a级毛片在线播放| 午夜激情久久久久久久| 国产免费一区二区三区四区乱码| 高清毛片免费看| 熟女电影av网| 精品久久国产蜜桃| 校园人妻丝袜中文字幕| 亚洲精品一区蜜桃| 免费观看av网站的网址| 精品久久国产蜜桃| 国产69精品久久久久777片| 成年人免费黄色播放视频| 亚洲av成人精品一二三区| 2021少妇久久久久久久久久久| 午夜视频国产福利| 亚洲色图 男人天堂 中文字幕 | 日日啪夜夜爽| 纵有疾风起免费观看全集完整版| 成人影院久久| 黑人巨大精品欧美一区二区蜜桃 | 国产精品久久久久成人av| 蜜桃在线观看..| 欧美bdsm另类| 成年人午夜在线观看视频| 亚洲性久久影院| 中国三级夫妇交换| 国产无遮挡羞羞视频在线观看| 中文字幕另类日韩欧美亚洲嫩草| 视频中文字幕在线观看| 久久久国产欧美日韩av| 亚洲精品,欧美精品| 我要看黄色一级片免费的| 精品国产一区二区三区四区第35| 美女主播在线视频| 国产片特级美女逼逼视频| 欧美激情极品国产一区二区三区 | 日本91视频免费播放| 一级,二级,三级黄色视频| 美女福利国产在线| 国产又爽黄色视频| 黄片无遮挡物在线观看| 国产成人免费无遮挡视频| 高清在线视频一区二区三区| 国产永久视频网站| 一区二区三区四区激情视频| 国产在线一区二区三区精| 亚洲经典国产精华液单| 一边亲一边摸免费视频| 国产精品久久久久久精品古装| 亚洲av电影在线进入| 国产亚洲欧美精品永久| 青春草国产在线视频| 国产成人精品在线电影| 国产国拍精品亚洲av在线观看| 麻豆精品久久久久久蜜桃| 精品国产一区二区三区久久久樱花| 成人漫画全彩无遮挡| 少妇的逼水好多| 免费av中文字幕在线| 亚洲丝袜综合中文字幕| 男女边吃奶边做爰视频| 亚洲精华国产精华液的使用体验| 制服人妻中文乱码| 99re6热这里在线精品视频| 在线观看国产h片| 97超碰精品成人国产| 男女边吃奶边做爰视频| 国产不卡av网站在线观看| 国产片内射在线| 国产午夜精品一二区理论片| 亚洲国产精品一区三区| 久久精品国产亚洲av涩爱| 人人澡人人妻人| 亚洲国产精品999| 两个人看的免费小视频| 高清视频免费观看一区二区| 久久久久久久精品精品| 91精品三级在线观看| 欧美日韩视频高清一区二区三区二| 欧美老熟妇乱子伦牲交| 观看美女的网站| 亚洲精品美女久久久久99蜜臀 | 国产男女超爽视频在线观看| 一本大道久久a久久精品| 国产精品久久久久久久电影| 亚洲av免费高清在线观看| 欧美xxⅹ黑人| 午夜激情av网站| 亚洲精品aⅴ在线观看| 女性被躁到高潮视频| 亚洲精品aⅴ在线观看| 9热在线视频观看99| 国产永久视频网站| 国产精品一二三区在线看| 久久99蜜桃精品久久| 激情视频va一区二区三区| 香蕉国产在线看| 久热久热在线精品观看| 国产精品秋霞免费鲁丝片| 亚洲av在线观看美女高潮| 菩萨蛮人人尽说江南好唐韦庄| av黄色大香蕉| 自拍欧美九色日韩亚洲蝌蚪91| 男女无遮挡免费网站观看| 国产激情久久老熟女| 日韩一区二区视频免费看| 一级毛片电影观看| 深夜精品福利| 一二三四中文在线观看免费高清| 午夜免费男女啪啪视频观看| 久久精品久久久久久噜噜老黄| 黄片无遮挡物在线观看| 十分钟在线观看高清视频www| 国内精品宾馆在线| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 亚洲av福利一区| 免费黄色在线免费观看| 熟女电影av网| 免费大片18禁| 国产色婷婷99| 亚洲伊人久久精品综合| 国产精品久久久久久久久免| 国产精品一区二区在线观看99| 黄色一级大片看看| 各种免费的搞黄视频| 国产欧美日韩一区二区三区在线| 男女啪啪激烈高潮av片| 亚洲精品视频女| 久久久久久久精品精品| 亚洲性久久影院| 精品第一国产精品| 欧美 日韩 精品 国产| 国产精品偷伦视频观看了| 99久国产av精品国产电影| 成人免费观看视频高清| 免费久久久久久久精品成人欧美视频 | 成年女人在线观看亚洲视频| av免费在线看不卡| 飞空精品影院首页| 日韩av不卡免费在线播放| 国产成人aa在线观看| 寂寞人妻少妇视频99o| 国语对白做爰xxxⅹ性视频网站| 99视频精品全部免费 在线| 久久午夜福利片| 日本黄色日本黄色录像| 成人影院久久| 精品久久久精品久久久| 看免费成人av毛片| av天堂久久9| 亚洲精品成人av观看孕妇| 乱人伦中国视频| av在线观看视频网站免费| 亚洲综合精品二区| 免费大片黄手机在线观看| 黑人欧美特级aaaaaa片| 秋霞伦理黄片| 国产综合精华液| 人妻 亚洲 视频| 极品人妻少妇av视频| 中文字幕制服av| 欧美精品人与动牲交sv欧美| 大香蕉97超碰在线| 欧美日韩一区二区视频在线观看视频在线| 校园人妻丝袜中文字幕| 人妻一区二区av| 国产精品一区二区在线不卡| 国产午夜精品一二区理论片| www.熟女人妻精品国产 | 91aial.com中文字幕在线观看| 国产亚洲一区二区精品| 亚洲精品自拍成人| 黄色视频在线播放观看不卡| 国产免费一级a男人的天堂| 一区二区三区四区激情视频| 亚洲中文av在线| 91精品国产国语对白视频| 久久久久久久久久久免费av| 国产成人a∨麻豆精品| 不卡视频在线观看欧美| 亚洲精品国产色婷婷电影| 精品亚洲成a人片在线观看| 五月伊人婷婷丁香| 国产日韩欧美视频二区| 男女边摸边吃奶| 少妇熟女欧美另类| 超色免费av| 99热全是精品| 视频在线观看一区二区三区| 97精品久久久久久久久久精品| 日韩av不卡免费在线播放| 国产精品熟女久久久久浪| av.在线天堂| 嫩草影院入口| 大陆偷拍与自拍| 中文字幕精品免费在线观看视频 | 亚洲 欧美一区二区三区| 亚洲,欧美,日韩| 亚洲精品国产色婷婷电影| 国产精品国产av在线观看| 男女边吃奶边做爰视频| 亚洲国产看品久久| 在线观看三级黄色| 日日啪夜夜爽| 久久久久精品久久久久真实原创| 国产精品久久久久久精品古装| 久久99精品国语久久久| 少妇 在线观看| 天堂中文最新版在线下载| 精品国产国语对白av| 国产一区二区激情短视频 | 肉色欧美久久久久久久蜜桃| 美女福利国产在线| 精品人妻熟女毛片av久久网站| 精品第一国产精品| 国产精品不卡视频一区二区| 午夜久久久在线观看| 男女午夜视频在线观看 | 亚洲成人一二三区av| 美女大奶头黄色视频| 春色校园在线视频观看| 久久女婷五月综合色啪小说| 精品久久蜜臀av无| 国产精品久久久久久久久免| 国产黄频视频在线观看| 嫩草影院入口| 日韩视频在线欧美| 十分钟在线观看高清视频www| 欧美成人精品欧美一级黄| 汤姆久久久久久久影院中文字幕| 亚洲国产精品成人久久小说| 成人毛片a级毛片在线播放| 美女国产高潮福利片在线看| 亚洲欧美精品自产自拍| 精品国产国语对白av| 成人毛片60女人毛片免费| 51国产日韩欧美| 香蕉国产在线看| 久久久久久久大尺度免费视频| 香蕉国产在线看| 丝瓜视频免费看黄片| 日韩不卡一区二区三区视频在线| 久久精品国产a三级三级三级| 日韩制服骚丝袜av| 午夜影院在线不卡| 国产视频首页在线观看| 欧美激情国产日韩精品一区| 中文字幕av电影在线播放| 人体艺术视频欧美日本| 亚洲欧美中文字幕日韩二区| 国产精品国产三级专区第一集| 999精品在线视频| 久久精品久久久久久噜噜老黄| 狠狠精品人妻久久久久久综合| 成人二区视频| 看免费成人av毛片| 91精品伊人久久大香线蕉| 国产男女超爽视频在线观看| 春色校园在线视频观看| 伊人亚洲综合成人网| 国产日韩欧美视频二区| 中文字幕人妻熟女乱码| 亚洲美女搞黄在线观看| 色婷婷av一区二区三区视频| 又黄又爽又刺激的免费视频.| 精品午夜福利在线看| 在线观看免费视频网站a站| 在线观看三级黄色| 80岁老熟妇乱子伦牲交| 成人影院久久| 日本黄色日本黄色录像| 啦啦啦视频在线资源免费观看| 女人久久www免费人成看片| 综合色丁香网| 精品酒店卫生间| 欧美日韩国产mv在线观看视频| 免费女性裸体啪啪无遮挡网站| av不卡在线播放| 亚洲精品视频女| 99热这里只有是精品在线观看| 亚洲熟女精品中文字幕| 国产在线一区二区三区精| 亚洲国产欧美在线一区| 两个人免费观看高清视频| 欧美精品av麻豆av| 国产成人一区二区在线| 日日爽夜夜爽网站| 亚洲经典国产精华液单| 日本欧美国产在线视频| 亚洲精品自拍成人| 丝袜在线中文字幕| 极品人妻少妇av视频| 国产精品久久久av美女十八| 一边亲一边摸免费视频| 国产又色又爽无遮挡免| 欧美日韩视频高清一区二区三区二| 欧美日本中文国产一区发布| 亚洲精品av麻豆狂野| 亚洲成色77777| 大香蕉97超碰在线| 男女边摸边吃奶| a级毛色黄片| 日韩不卡一区二区三区视频在线| 97在线人人人人妻| 精品午夜福利在线看| 成人午夜精彩视频在线观看| 国产激情久久老熟女| 日韩成人伦理影院| 免费观看性生交大片5| 亚洲av电影在线进入| 夜夜骑夜夜射夜夜干| 欧美精品一区二区大全| 9热在线视频观看99|