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

    基于嵌入式S3C2440系統(tǒng)Bootloader設計與實現(xiàn)

    2016-11-17 08:55:58范蟠果邢保毫米曉亮余書寶
    計算機測量與控制 2016年9期
    關(guān)鍵詞:內(nèi)核內(nèi)存代碼

    范蟠果,邢保毫,米曉亮,余書寶, 王 婷

    (西北工業(yè)大學 自動化學院,西安 710129)

    ?

    基于嵌入式S3C2440系統(tǒng)Bootloader設計與實現(xiàn)

    范蟠果,邢保毫,米曉亮,余書寶, 王 婷

    (西北工業(yè)大學 自動化學院,西安 710129)

    Bootloader是嵌入式系統(tǒng)的一個重要環(huán)節(jié),對不同的硬件平臺,其Bootloader都不盡相同,因此設計Bootloader是嵌入式系統(tǒng)開發(fā)的難點;文中分析S3C2440嵌入式系統(tǒng)的硬件組成和u-boot源碼對linux內(nèi)核的啟動流程,得出u-boot啟動內(nèi)核兩個階段必備階段:第一個階段是用匯編初始與具體硬件平臺相關(guān)的操作等,第二階段是用C語言編寫復雜功能以及啟動內(nèi)核;以加載linux-2.6.22.6內(nèi)核為例,根據(jù)u-boot啟動內(nèi)核兩個階段所做的工作,設計出適用于S3C2440嵌入式系統(tǒng)的精簡Bootloader;通過實驗表明,該設計的Bootloader成功啟動linux內(nèi)核,具有良好的穩(wěn)定性,可靠性和簡潔性。

    系統(tǒng)設計;分析u-boot;實現(xiàn)Bootloader;啟動內(nèi)核

    0 引言

    Bootloader是嵌入式系統(tǒng)內(nèi)核運行前的一段程序,這段程序初始化硬件設備,并且建立一個內(nèi)存空間映射圖,從而建立適當?shù)南到y(tǒng)軟硬件環(huán)境,為最終啟動內(nèi)核和加載文件系統(tǒng)做準備[1]。由于Bootloader依賴于硬件,它與處理器架構(gòu),具體設計的硬件平臺資源相關(guān),因此設計一個適合某平臺的Bootloader是開發(fā)嵌入式系統(tǒng)重要工作。

    在設計引導程序時,一般會移植u-boot開源代碼,但是這樣代碼量大,占用較大存儲空間;本文通過分析u-boot啟動流程,根據(jù)硬件平臺資源,設計一個精簡,穩(wěn)定的Bootloader。

    1 u-boot 分析

    1.1 u-boot啟動流程分析

    分析支持S3C2410的u-boot源代碼,具體啟動流程分析如圖1所示。

    圖1 u-boot啟動流程

    根據(jù)分析得出啟動過程一般分為兩個階段。

    stage1:主要通過匯編來實現(xiàn)和硬件相關(guān)代碼:硬件設備初始化,加載u-boot第二段代碼到RAM空間,設置好棧,跳轉(zhuǎn)到第二段代碼入口[2]。

    stage2:主要用C語言來實現(xiàn)一些復雜的功能:初始化本階段使用的硬件設備,檢測系統(tǒng)內(nèi)存映射,將內(nèi)核從flash讀取到RAM中,為內(nèi)核設置啟動參數(shù),調(diào)用內(nèi)核[2]。

    1.2 u-boot編譯以及大小分析

    u-boot在編譯之前,需要編寫好Makefile和連接文件u-boot.lds,然后通過make命令編譯生成u-boot.bin;Makefile規(guī)定u-boot所有函數(shù)的依賴關(guān)系;連接文件u-boot.lds指定u-boot編譯的連接地址,第一個被編譯的文件,存放的代碼段,數(shù)據(jù)段以及BSS段的位置。

    如下面一個連接文件u-boot.lds:

    SECTIONS

    {

    . = 33f00000;//指定的連接地址

    .text ://代碼段

    {

    _start = .;//代碼段開始位置

    arch/arm/cpu/arm920t/start.o (.text)//執(zhí)行編譯的第一個文件start.S

    ... }

    .data ://數(shù)據(jù)段

    .....

    __bss_start = .;//BSS段開始位置,此處為u-boot.bin大小結(jié)束位置

    ......}

    BSS段是由靜態(tài)和未初始化的全局變量組成,不會被編譯到u-boot.bin中。

    由連接文件可知u-boot的大小為__bss_start 地址減去_start的地址 ,可以查看u-boot的反匯編得到具體的大小,執(zhí)行arm-linux-objdump -D u-boot > u-boot.dis命令來生成如下u-boot.dis反匯編文件,:{

    Disassembly of section .text:

    33f00000 <_start>:注釋:代碼開始位置,和連接文件中的連接地址一致

    33f00000: ea000013 b 33f00054

    ......

    33f00044 <_bss_start_ofs>:

    33f00044: 00069c4c .word 0x00069c4c

    .......} 注釋:在啟動文件start.S中定義一個表示u-boot.bin大小的全局變:

    .globl _bss_start_ofs

    _bss_start_ofs:

    .word __bss_start - _start

    編譯的u-boot.bin大小為(0x00069c4c)423 KB,占有很大存儲空間。由于u-boot是一個支持多平臺的源代碼,所以它的結(jié)構(gòu)復雜,若要讓這個u-boot成功應用到S3C2440系統(tǒng)上,需要對u-boot源代碼進行裁剪,并且添加支持平臺外設的代碼,工作量比較大,而且不便于調(diào)試。所以很有必要設計適用S3C2440系統(tǒng)的Bootloader,具體設計如下。

    2 系統(tǒng)設計

    2.1 硬件設計

    圖2 是一個基于ARM嵌入式系統(tǒng)硬件框圖,S3C2440芯片是基于ARM920T的架構(gòu)處理器,片內(nèi)有4 k的SRAM,nandflash控制器,SDRAM控制器等資源。板級設備包含:全功能的串口,JTAG,Nandflash (256 M), SDRAM(64 M)等。

    圖2 硬件平臺框圖

    2.2 系統(tǒng)軟件內(nèi)存設計

    1)根據(jù)S3C2440手冊可知SDRAM映射在BANK7,所以起始地址為0x30000000;結(jié)束地址為0x34000000。在調(diào)用C語言之前要設置棧指針,ARM棧是往下增長的,設計棧指針為0x34000000。為給內(nèi)核以及文件系統(tǒng)留有足夠的內(nèi)存,設置啟動代碼連接地址為0x33f80000。內(nèi)核編譯后大小不超過2 M,設計內(nèi)核連接地址為0x30008000。內(nèi)核把啟動參數(shù)放在0x30000100位置處,具體內(nèi)存分布如圖3。

    2)Nandflash是存儲程序和數(shù)據(jù),掉電后能保存數(shù)據(jù)和程序,所以啟動代碼和內(nèi)核都存放nandflash中,為了保證兩者代碼不覆蓋,設計Bootloader存儲的起始地址為0x0,內(nèi)核存儲的起始地址為0x60000。

    根據(jù)設計的存儲空間和內(nèi)存分配,兩者的映射關(guān)系如圖3所示。

    圖3 映射空間圖

    3)代碼重定位。

    根據(jù)兩者映射關(guān)系,需要對代碼進行重新定位,詳細分析如下:

    由于cpu對nandflash讀取是以塊(2 048 KB)為單位的,所以不能在nandflash上運行程序。當系統(tǒng)上電或者重啟時,硬件自動把存儲器中前4 KB代碼拷貝到cpu內(nèi)部SRAM(映射地址為0);對于連接地址為0x33f80000的代碼若要成功運行在地址為0的內(nèi)存中,在設計代碼時必須使用位置無關(guān)指令。通過運行在SRAM程序把nandflash中啟動代碼和內(nèi)核拷貝到SDRAM,然后通過一條跳轉(zhuǎn)指令,使PC指向SDRAM。

    3 Bootlaoder軟件實現(xiàn)

    根據(jù)分析得到u-boot啟動流程,以及分配好的內(nèi)存,下面針對S3C2440特定的嵌入式系統(tǒng),實現(xiàn)一個完整的Bootloader。

    3.1 第一階段

    Stage1主要是完成,建立向量表,初始化硬件,設置堆棧,把Bootloader拷貝到內(nèi)存中,具體流程如圖4所示。

    圖4 Bootloader一階段流程

    (1)設置ARM異常向量表。

    根據(jù)ARM920T的架構(gòu)可知,異常向量入口地址從0x00000000開始到0x0000001c結(jié)束,分別設置對應入口地址,當一個異?;蛑袛喟l(fā)生時,處理器會把pc指向?qū)袛嘞蛄康娜肟诘刂贰?/p>

    2)設置相關(guān)硬件。

    設置時鐘,使CPU主頻為400 MHz;屏蔽中斷;初始化串口以便于調(diào)試。

    3)初始化SDRAM。

    SDRAM用來運行啟動代碼和內(nèi)核,必須對其進行設置,SDRAM控制器的寄存器,包含處理器對SDRAM讀寫訪問的時序,數(shù)據(jù)寬度;系統(tǒng)使用兩片16位數(shù)據(jù)接口的K4S561632N,其數(shù)據(jù)寬度為32位。

    4)設置堆棧指針。

    Bootloader在啟動階段是運行在管理模式下,只需設置管理模式下的堆棧指針(向下增長),代碼為: ldr sp, =0x34000000;設置成功后就可以調(diào)用C語言代碼。

    5)nandflash的初始化。

    由于需要把存儲在nandflash的啟動代碼和內(nèi)核讀入SDRAM,所以要設置nandflash控制器的寄存器,設置cpu對存儲器讀寫時序,以及數(shù)據(jù)寬度。

    6)把啟動代碼拷貝到SDRAM執(zhí)行。

    SDRAM配置成功后,就可以從nandflash拷貝Bootloader啟動代碼到內(nèi)存中運行;具體代碼如下:

    mov r0, 0 /*從nandflash 的0x0地址開始拷貝*/

    ldr r1, =_start /*這個值是由連接腳本確定為0x33f80000*/

    ldr r2, =__bss_start /*Bootlaoder代碼結(jié)束位置*/

    sub r2, r2, r1 /*獲得拷貝的大小*/

    bl copy_code_to_sdram / *從nandflash拷貝到SDRAM*/

    ldr pc, =main /*重新給pc賦值,跳轉(zhuǎn)到SDRAM中,開始執(zhí)行第二階段代碼*/

    3.2 第二階段

    Stage2的主要工作設置內(nèi)核啟動參數(shù),拷貝內(nèi)核到內(nèi)存中,然后啟動內(nèi)核,具體流程如如圖5所示。

    圖5 Bootloader二階段流程

    1)設置內(nèi)核啟動參數(shù)。

    Bootloader和內(nèi)核之間參數(shù)傳遞是單向的,Bootloader將參數(shù)放在某個約定地址[3](0x30000100),再啟動內(nèi)核,啟動后會從0x30000100地址處取參數(shù)。

    內(nèi)核啟動前會檢查傳入的參數(shù),比如內(nèi)存的大小,命令等參數(shù)。因為 Linux2.6.22.6內(nèi)核檢查參數(shù)以標記ATAG_CODE開始,以標記ATAG_NONE結(jié)束。詳細結(jié)構(gòu)體可以參考linux內(nèi)核源碼include/asm/setup.h頭文件。

    以設置參數(shù)開始ATAG_CODE標記為例:

    void setup_start_tag(void)

    {

    params = (struct tag *)0x30000100; /*約定的存放參數(shù)的起始地址*/

    params->hdr.tag = ATAG_CODE; /*參數(shù)標記*/

    .......

    params = tag_next (params); /*指向下一個參數(shù)*/

    }

    其他參數(shù)設置 如內(nèi)存標記ATAG_MEM:告訴內(nèi)核開發(fā)平臺外設SDRAM內(nèi)存起始地址和大??;命令行標記ATAG_CMDLINE:用來控制內(nèi)核一些行為,結(jié)束標記ATAG_NONE用來標記參數(shù)結(jié)束[3]。

    最后配置的參數(shù)結(jié)束標記:

    void setup_end_tag(void)

    { params->hdr.tag = ATAG_NONE;

    }

    設置參數(shù)具體代碼:

    puts("Set boot param "); /*打印提示信息*/

    setup_start_tag(); /*設置起始參數(shù)*/

    setup_memory_tags(); /*設置內(nèi)存參數(shù)*/

    setup_commandline_tag("noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0"); /*設置命令參數(shù)*/

    setup_end_tag(); /*參數(shù)設置結(jié)束*/

    2)把內(nèi)核從flash中拷貝到內(nèi)存的0x30008000地址處。

    編譯內(nèi)核是通過執(zhí)行:make uImage生成內(nèi)核影像uImage;用JTAG把內(nèi)核影像uImage 下載到nandflash的0x60000處,但是uImage開始的64字節(jié)表示內(nèi)核頭幀數(shù)據(jù),真正的內(nèi)核是從0x60000+64地址開始。具體拷貝代碼如下:

    nand_read(0x60000+64, (unsigned char *)0x30008000, 0x200000);

    第一個參數(shù): 0x60000+64代表的是內(nèi)核起始地址

    第二個參數(shù):0x30008000代表是在SDRAM中內(nèi)核的運行起始地址

    第三個參數(shù):0x200000 代表從nandflash拷貝2M(內(nèi)核大小一般小于2M)大小程序到SDRAM中。

    3)啟動內(nèi)核。

    根據(jù)分析u-boot源程序可知;啟動內(nèi)核的過程就是把內(nèi)核在SDRAM的連接地址賦值給一個能啟動內(nèi)核的函數(shù)指針;然后通過調(diào)用此函數(shù)指針把機器類型ID(S3C2440的ID為362)和啟動參數(shù)在SDRAM中的起始基地址(0x30000100)傳遞給內(nèi)核[4]。

    調(diào)用內(nèi)核具體代碼:

    void (*theKernel)(int zero, int arch, unsigned int params);/*聲明啟動內(nèi)核的函數(shù)指針*/

    theKernel = (void (*)(int, int, unsigned int))0x30008000;/*把內(nèi)核在SDRAM中起始地址賦值給函數(shù)指針*/

    puts("Boot kernel ");/*打印提示信息*/

    theKernel(0, 362, 0x30000100); /*啟動內(nèi)核*/

    puts("error ");/*如果內(nèi)核啟動成功,就不會執(zhí)行這一句,否則會打印出error:表示沒有成功啟動內(nèi)核*/

    4 實驗結(jié)果與分析

    為了測試設計的Bootloader是否具備穩(wěn)定和可靠特點,需要在嵌入式S3C2440平臺多次測試是否能啟動內(nèi)核,并分析Bootloader是否具備精簡性。

    4.1 Bootloader精簡性分析

    在編寫B(tài)ootloader的start.S文件中定義一個全局變量來計算Bootloader大小,具體代碼如下:

    .globl _boot_size

    _boot_size:

    .word __bss_start - _start反匯編結(jié)果顯示如下:

    33f80000 <_boot_size>:

    33f80000: 00000730 andeq r0, r0, r0, lsr r7

    則代碼大小為_boot_size地址處值:0x0000730=1.79 KB,所以遠遠小于u-boot.bin的432 KB, 節(jié)省大量的存儲空間,說明設計的Bootloader具有精簡性。

    4.2 Bootloader穩(wěn)定和可靠性分析

    把編譯后的Bootloader下載到nandflash中,經(jīng)過多次按下復位鍵后都能成功啟動linux內(nèi)核。圖6顯示啟動結(jié)果:

    圖6 啟動結(jié)果

    5 結(jié)束語

    通過實驗可知,編寫的Bootloader比u-boot源碼簡潔,代碼量小,并且成功加載linux內(nèi)核,通過借鑒u-boot源代碼的流程,以S3C2440為平臺,設計出了精簡,穩(wěn)定的Bootloader。該設計方法具有一定通用性,對于其他不同平臺,具有很強借鑒性。

    [1]劉 坤,韓朝智. 淺析基于ARM嵌入式開發(fā)的BootLoader設計及其實現(xiàn)[J]. 電子技術(shù)與軟件工程,2016(2):203-204.

    [2] 范展源,六 韜.深度實踐嵌入式Linux系統(tǒng)移植[M]北京:機械工業(yè)出版社,2015.

    [3] 韋東山.嵌入式linux應用開發(fā)[M],北京:人民郵電出版社,2008.

    [4] 戚長城,等.總線式ECU兩級Bootloader的設計與實現(xiàn)[J]. 計算機工程,2015(7):95-99.

    Development and Implement of Bootloader Based on S3C2440 and Embedded Linux System

    Fan Panguo, Xing Baohao , Mi Xiaoliang, Yu Shubao,Wang Ting

    (College of Automation,Northwestern Polytechnical University,Xi’an 710129,China)

    Bootloader is the important part of embedded system. For the different hardware platforms, Bootloader is different. So bootloader is the difficult for the developmemt of embedded system. This paper mainly analyzes the design of embedded S3C2440 system and the process of u-boot startup kernel, drawing two essential phases of u-boot startup kernel, the first phase is to use assembler language to write some functions of the specific hardware platforms ,The second phase is to use C language to write codes about some complicated functions and loading the kernel.For example,Loading the linux-2.6.22.6,according to the two stages work of u-boot startup kernel. Designing of streamlined Bootloader is suitable for the S3C2440 embedded system.Experiment shows that the design of Bootloader successfully starts the linux kernel ,and has a good stability,reliability and simplicity.

    design system; analyze u-boot; realize Bootloader;load kernel

    2016-03-30;

    2016-04-18。

    范蟠果(1960-),男,陜西西安人,碩士生導師,副教授,主要從事計算機測控方向的研究。

    1671-4598(2016)09-0012-03

    10.16526/j.cnki.11-4762/tp.2016.09.004

    TP273

    A

    猜你喜歡
    內(nèi)核內(nèi)存代碼
    萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
    強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
    “春夏秋冬”的內(nèi)存
    當代陜西(2019年13期)2019-08-20 03:54:22
    基于嵌入式Linux內(nèi)核的自恢復設計
    Linux內(nèi)核mmap保護機制研究
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    基于內(nèi)存的地理信息訪問技術(shù)
    插逼视频在线观看| 中文字幕亚洲精品专区| 99久久精品一区二区三区| 国产免费又黄又爽又色| 国产精品一区二区三区四区免费观看| 夫妻性生交免费视频一级片| 久久久久精品久久久久真实原创| 丝袜美腿在线中文| 亚洲美女搞黄在线观看| 成年版毛片免费区| 免费播放大片免费观看视频在线观看| av卡一久久| 一级av片app| 国产成人午夜福利电影在线观看| 纵有疾风起免费观看全集完整版| 国产一区二区亚洲精品在线观看| 国产黄色视频一区二区在线观看| 日韩一区二区视频免费看| 亚洲欧美一区二区三区黑人 | 亚洲电影在线观看av| 少妇人妻 视频| 日日摸夜夜添夜夜爱| 免费看av在线观看网站| 大香蕉久久网| 免费av毛片视频| 天天躁日日操中文字幕| 国产爽快片一区二区三区| 免费看光身美女| 中文欧美无线码| 我要看日韩黄色一级片| 如何舔出高潮| 国产男女超爽视频在线观看| 亚洲一级一片aⅴ在线观看| 王馨瑶露胸无遮挡在线观看| 免费黄频网站在线观看国产| 我的老师免费观看完整版| 丰满人妻一区二区三区视频av| 精品久久久久久久末码| 国产一区有黄有色的免费视频| 老司机影院毛片| 国产伦精品一区二区三区视频9| 91在线精品国自产拍蜜月| 欧美丝袜亚洲另类| 国产一区二区三区综合在线观看 | av在线天堂中文字幕| 少妇人妻精品综合一区二区| 99re6热这里在线精品视频| 国产精品无大码| 超碰av人人做人人爽久久| 欧美3d第一页| 波野结衣二区三区在线| 黑人高潮一二区| 好男人视频免费观看在线| 国产精品一二三区在线看| 中文字幕久久专区| 国产在线男女| 日本三级黄在线观看| 国产 一区 欧美 日韩| 别揉我奶头 嗯啊视频| 成年av动漫网址| av在线app专区| 国产淫语在线视频| 精品久久久噜噜| 又黄又爽又刺激的免费视频.| 涩涩av久久男人的天堂| av在线亚洲专区| 伦理电影大哥的女人| 在线精品无人区一区二区三 | 欧美日韩视频精品一区| 成人黄色视频免费在线看| 午夜日本视频在线| 久久久久久九九精品二区国产| 免费高清在线观看视频在线观看| 日韩av在线免费看完整版不卡| 日韩欧美精品v在线| 视频区图区小说| 精品国产乱码久久久久久小说| 久久久成人免费电影| 国产成人免费观看mmmm| 麻豆国产97在线/欧美| 亚洲av免费在线观看| 久久ye,这里只有精品| 国产免费视频播放在线视频| 男人和女人高潮做爰伦理| 最近最新中文字幕大全电影3| 在线天堂最新版资源| 国产一区亚洲一区在线观看| 久久人人爽人人片av| 日日摸夜夜添夜夜添av毛片| 精品久久久久久久久亚洲| 69av精品久久久久久| 国产久久久一区二区三区| 三级经典国产精品| 美女国产视频在线观看| 亚洲国产色片| 欧美+日韩+精品| 国产一区二区三区av在线| 久久99热这里只频精品6学生| 亚洲成人一二三区av| 国产精品99久久久久久久久| 久久久久久伊人网av| 男男h啪啪无遮挡| 高清毛片免费看| 久久久久久久久久久免费av| 中文精品一卡2卡3卡4更新| 亚洲欧美一区二区三区国产| 高清视频免费观看一区二区| 国产成人免费观看mmmm| 涩涩av久久男人的天堂| 午夜日本视频在线| av在线播放精品| 伊人久久国产一区二区| 亚洲精品日韩在线中文字幕| 国产av国产精品国产| 国产在线一区二区三区精| 九九在线视频观看精品| 爱豆传媒免费全集在线观看| 久久久久性生活片| 最近中文字幕2019免费版| 五月玫瑰六月丁香| 蜜桃亚洲精品一区二区三区| 国内精品美女久久久久久| 国产男女内射视频| 久久久久久久国产电影| 91久久精品电影网| 少妇猛男粗大的猛烈进出视频 | 日日撸夜夜添| 国产精品嫩草影院av在线观看| a级毛色黄片| 看非洲黑人一级黄片| 久久精品综合一区二区三区| 一区二区三区乱码不卡18| 美女视频免费永久观看网站| 一级av片app| 18禁动态无遮挡网站| 国产爽快片一区二区三区| 亚洲精品国产av蜜桃| 午夜精品国产一区二区电影 | 午夜视频国产福利| 另类亚洲欧美激情| 十八禁网站网址无遮挡 | 超碰97精品在线观看| 精品99又大又爽又粗少妇毛片| 又黄又爽又刺激的免费视频.| 日本熟妇午夜| 一级毛片黄色毛片免费观看视频| 天天躁夜夜躁狠狠久久av| 国产精品秋霞免费鲁丝片| 在线观看国产h片| 国产精品熟女久久久久浪| 小蜜桃在线观看免费完整版高清| 日本wwww免费看| 卡戴珊不雅视频在线播放| 亚洲精品一区蜜桃| 亚洲精品自拍成人| 嫩草影院入口| 成年女人在线观看亚洲视频 | 国产乱人偷精品视频| 精品熟女少妇av免费看| 欧美性猛交╳xxx乱大交人| 99热这里只有精品一区| 22中文网久久字幕| 好男人视频免费观看在线| 男女无遮挡免费网站观看| 国产黄色免费在线视频| 丝袜美腿在线中文| 国产精品国产av在线观看| 久久国产乱子免费精品| 99久国产av精品国产电影| 人人妻人人看人人澡| 国产一区二区在线观看日韩| 国产成人aa在线观看| 国产成人freesex在线| 国产精品一及| 免费看av在线观看网站| 寂寞人妻少妇视频99o| 久久久精品欧美日韩精品| 国产91av在线免费观看| 久久精品人妻少妇| 最后的刺客免费高清国语| av专区在线播放| 日韩欧美精品v在线| 18禁裸乳无遮挡免费网站照片| 亚洲三级黄色毛片| 成人国产麻豆网| 久久久久网色| 亚洲在久久综合| 成人国产av品久久久| 日日啪夜夜撸| 国产在视频线精品| 国产精品99久久久久久久久| 精品久久久久久久久av| 成人鲁丝片一二三区免费| 最近中文字幕2019免费版| 色吧在线观看| 能在线免费看毛片的网站| 亚洲精品成人av观看孕妇| 高清日韩中文字幕在线| 在线观看免费高清a一片| 国产精品久久久久久精品古装| 国产探花极品一区二区| 国产亚洲5aaaaa淫片| av又黄又爽大尺度在线免费看| 国产精品嫩草影院av在线观看| 亚洲av成人精品一区久久| 赤兔流量卡办理| 成人毛片60女人毛片免费| 精品久久久久久电影网| 久久影院123| 好男人在线观看高清免费视频| 天堂网av新在线| 永久网站在线| 黄片wwwwww| 国产成人精品一,二区| 欧美xxⅹ黑人| 日韩三级伦理在线观看| 禁无遮挡网站| av专区在线播放| 久久99蜜桃精品久久| a级毛片免费高清观看在线播放| 美女cb高潮喷水在线观看| 成人二区视频| 赤兔流量卡办理| 寂寞人妻少妇视频99o| 亚洲国产精品专区欧美| 日本av手机在线免费观看| 国产精品国产三级国产专区5o| 赤兔流量卡办理| 欧美zozozo另类| 超碰97精品在线观看| videos熟女内射| av在线蜜桃| 日本av手机在线免费观看| 男男h啪啪无遮挡| 亚洲精品456在线播放app| 另类亚洲欧美激情| 精品人妻视频免费看| 久久韩国三级中文字幕| 内地一区二区视频在线| 精品国产一区二区三区久久久樱花 | 亚洲不卡免费看| 欧美日韩综合久久久久久| 欧美日韩精品成人综合77777| 噜噜噜噜噜久久久久久91| 日韩av免费高清视频| 国精品久久久久久国模美| 深爱激情五月婷婷| 国产人妻一区二区三区在| 男女无遮挡免费网站观看| 1000部很黄的大片| 国产精品一及| 国产免费视频播放在线视频| 亚洲av不卡在线观看| 免费av观看视频| 欧美日韩在线观看h| 99九九线精品视频在线观看视频| 又爽又黄无遮挡网站| 亚洲欧美日韩东京热| 亚洲国产欧美在线一区| 在线亚洲精品国产二区图片欧美 | 中文乱码字字幕精品一区二区三区| www.av在线官网国产| 精品一区在线观看国产| 国产欧美日韩精品一区二区| 欧美bdsm另类| 国产69精品久久久久777片| 日本-黄色视频高清免费观看| 我要看日韩黄色一级片| 日韩电影二区| www.色视频.com| 美女视频免费永久观看网站| 国产高潮美女av| 国产成人a∨麻豆精品| 国产毛片在线视频| 九色成人免费人妻av| 日日啪夜夜爽| 又大又黄又爽视频免费| 麻豆精品久久久久久蜜桃| 国产成人精品久久久久久| 亚洲国产精品成人综合色| 别揉我奶头 嗯啊视频| 寂寞人妻少妇视频99o| 男女下面进入的视频免费午夜| 国产老妇女一区| 菩萨蛮人人尽说江南好唐韦庄| 丰满少妇做爰视频| 国产免费又黄又爽又色| 国产爱豆传媒在线观看| a级毛片免费高清观看在线播放| 男人狂女人下面高潮的视频| 国产黄片美女视频| 日韩大片免费观看网站| 五月天丁香电影| a级一级毛片免费在线观看| 亚洲精品,欧美精品| 嫩草影院新地址| 又黄又爽又刺激的免费视频.| 三级国产精品欧美在线观看| 欧美另类一区| 国产精品久久久久久久久免| 日韩,欧美,国产一区二区三区| 亚洲伊人久久精品综合| 精品人妻熟女av久视频| 免费看光身美女| 日韩欧美精品v在线| 一级二级三级毛片免费看| 亚洲av不卡在线观看| 精品国产露脸久久av麻豆| 久久精品综合一区二区三区| 女人被狂操c到高潮| 高清视频免费观看一区二区| 国产 一区精品| 午夜激情久久久久久久| 免费看日本二区| 精品国产一区二区三区久久久樱花 | 日韩 亚洲 欧美在线| 中文资源天堂在线| 中国三级夫妇交换| 午夜激情福利司机影院| 亚洲av二区三区四区| 国产亚洲午夜精品一区二区久久 | 午夜福利在线在线| 久久久久久久午夜电影| 在线亚洲精品国产二区图片欧美 | 国产伦精品一区二区三区视频9| 亚洲最大成人手机在线| 欧美日本视频| 午夜日本视频在线| 成人漫画全彩无遮挡| 久久久久久久大尺度免费视频| 人妻制服诱惑在线中文字幕| 国产精品久久久久久精品电影| 亚洲四区av| 美女被艹到高潮喷水动态| 亚洲精品aⅴ在线观看| 嫩草影院精品99| 亚洲精品中文字幕在线视频 | av一本久久久久| 亚洲成人一二三区av| 特级一级黄色大片| 精品久久久久久电影网| 水蜜桃什么品种好| 欧美高清成人免费视频www| 汤姆久久久久久久影院中文字幕| 18禁在线播放成人免费| 国产精品一二三区在线看| 看十八女毛片水多多多| av又黄又爽大尺度在线免费看| 亚洲人与动物交配视频| 色综合色国产| 舔av片在线| 小蜜桃在线观看免费完整版高清| 亚洲精品国产色婷婷电影| 日韩一区二区视频免费看| 大片电影免费在线观看免费| 秋霞伦理黄片| 嫩草影院精品99| 久久久欧美国产精品| 国国产精品蜜臀av免费| 久久久精品免费免费高清| 2018国产大陆天天弄谢| 午夜视频国产福利| 嫩草影院精品99| 国产午夜精品一二区理论片| 听说在线观看完整版免费高清| 久久久欧美国产精品| av一本久久久久| 80岁老熟妇乱子伦牲交| 久久久久久久久久成人| 91在线精品国自产拍蜜月| 久久精品国产亚洲av涩爱| 观看美女的网站| 精品少妇黑人巨大在线播放| 国产黄片视频在线免费观看| 亚洲在久久综合| 嫩草影院新地址| 内射极品少妇av片p| 黄色怎么调成土黄色| 人妻一区二区av| 一级毛片久久久久久久久女| 日韩,欧美,国产一区二区三区| 啦啦啦中文免费视频观看日本| 日韩国内少妇激情av| 日本爱情动作片www.在线观看| 国产探花极品一区二区| 卡戴珊不雅视频在线播放| 久久久久久久久久久免费av| 日韩免费高清中文字幕av| 在线天堂最新版资源| 美女cb高潮喷水在线观看| 亚洲电影在线观看av| 国产精品熟女久久久久浪| av在线蜜桃| 人妻少妇偷人精品九色| 免费看a级黄色片| 国产69精品久久久久777片| 亚洲自拍偷在线| 久久人人爽人人片av| 国产亚洲5aaaaa淫片| 久久精品久久久久久久性| av播播在线观看一区| 日本黄色片子视频| 深夜a级毛片| 中文字幕亚洲精品专区| 国产成人91sexporn| 老女人水多毛片| 中文精品一卡2卡3卡4更新| 国产淫语在线视频| 激情 狠狠 欧美| 欧美激情国产日韩精品一区| 在线观看免费高清a一片| 亚洲成人av在线免费| 日韩免费高清中文字幕av| 欧美xxⅹ黑人| 亚洲精品成人av观看孕妇| 2021天堂中文幕一二区在线观| 亚洲成人一二三区av| 五月伊人婷婷丁香| 别揉我奶头 嗯啊视频| 七月丁香在线播放| 国产淫语在线视频| 欧美性猛交╳xxx乱大交人| 久久精品国产亚洲av涩爱| 免费观看无遮挡的男女| 精品国产露脸久久av麻豆| av卡一久久| 免费看光身美女| 亚洲av男天堂| 久久久久久久久大av| 午夜爱爱视频在线播放| 一个人看视频在线观看www免费| 亚洲精品,欧美精品| 99久久精品国产国产毛片| 日韩,欧美,国产一区二区三区| 久久久久久久午夜电影| 女人被狂操c到高潮| 国产高清不卡午夜福利| 国国产精品蜜臀av免费| 亚洲精品乱码久久久v下载方式| 午夜日本视频在线| 热99国产精品久久久久久7| 亚洲av二区三区四区| 欧美一区二区亚洲| 日韩一区二区视频免费看| 中国三级夫妇交换| 九九爱精品视频在线观看| 亚洲精品日韩av片在线观看| 久久精品夜色国产| 寂寞人妻少妇视频99o| 欧美xxxx黑人xx丫x性爽| 国产毛片在线视频| 久久精品综合一区二区三区| 国产大屁股一区二区在线视频| 久久精品国产自在天天线| 亚洲人与动物交配视频| 永久网站在线| 王馨瑶露胸无遮挡在线观看| 十八禁网站网址无遮挡 | 午夜视频国产福利| 日本爱情动作片www.在线观看| 国产精品蜜桃在线观看| 久久精品国产自在天天线| 亚洲精品一区蜜桃| 啦啦啦在线观看免费高清www| 亚洲av中文字字幕乱码综合| 一级毛片久久久久久久久女| 国产精品一区二区在线观看99| 国内精品宾馆在线| 亚洲精品日韩在线中文字幕| 欧美日韩亚洲高清精品| 我的女老师完整版在线观看| 精品视频人人做人人爽| 一级二级三级毛片免费看| 色综合色国产| 在现免费观看毛片| 国产极品天堂在线| 成人亚洲精品av一区二区| 97超视频在线观看视频| 亚洲精品一二三| 日本av手机在线免费观看| 国产精品一区二区在线观看99| 久久久色成人| 国产午夜精品久久久久久一区二区三区| 日本三级黄在线观看| 国产成年人精品一区二区| 日韩一区二区视频免费看| 99九九线精品视频在线观看视频| 久久久久久久久久久免费av| 久久久久网色| 久久99蜜桃精品久久| 免费黄网站久久成人精品| 各种免费的搞黄视频| 亚洲欧美成人精品一区二区| 69av精品久久久久久| 亚洲电影在线观看av| 最近的中文字幕免费完整| av国产免费在线观看| 亚洲av成人精品一区久久| 综合色av麻豆| 看免费成人av毛片| 日韩免费高清中文字幕av| 国产乱人视频| 国产欧美日韩一区二区三区在线 | 尾随美女入室| 美女内射精品一级片tv| 国内少妇人妻偷人精品xxx网站| 免费看av在线观看网站| 一级毛片 在线播放| 人妻 亚洲 视频| 一区二区三区四区激情视频| 成人毛片60女人毛片免费| 热re99久久精品国产66热6| 99久久精品热视频| 少妇的逼水好多| 欧美zozozo另类| 国内精品美女久久久久久| 韩国高清视频一区二区三区| 免费av毛片视频| kizo精华| 久久午夜福利片| 22中文网久久字幕| 99热这里只有精品一区| 少妇的逼好多水| 亚洲性久久影院| 亚洲国产最新在线播放| freevideosex欧美| 国产日韩欧美亚洲二区| 激情 狠狠 欧美| 99精国产麻豆久久婷婷| 在线免费观看不下载黄p国产| 99热国产这里只有精品6| 成年女人在线观看亚洲视频 | av.在线天堂| 性色av一级| 免费不卡的大黄色大毛片视频在线观看| 欧美高清成人免费视频www| 一区二区三区免费毛片| 国产黄色免费在线视频| 极品少妇高潮喷水抽搐| 国产高清国产精品国产三级 | 各种免费的搞黄视频| 日韩成人伦理影院| 亚洲精品国产av成人精品| 国产精品成人在线| 中文字幕人妻熟人妻熟丝袜美| 色哟哟·www| 久久鲁丝午夜福利片| 好男人在线观看高清免费视频| 婷婷色综合大香蕉| 欧美潮喷喷水| 午夜福利视频精品| 91午夜精品亚洲一区二区三区| 亚洲精品乱码久久久v下载方式| 国国产精品蜜臀av免费| 欧美最新免费一区二区三区| 免费在线观看成人毛片| 日日撸夜夜添| 亚洲,欧美,日韩| 男人和女人高潮做爰伦理| 97人妻精品一区二区三区麻豆| 国产色婷婷99| 在线观看免费高清a一片| 日韩一本色道免费dvd| av线在线观看网站| 嫩草影院精品99| 免费观看av网站的网址| 国产69精品久久久久777片| 欧美bdsm另类| 国产探花在线观看一区二区| 69人妻影院| 22中文网久久字幕| 直男gayav资源| 久久影院123| 欧美xxⅹ黑人| 亚洲国产成人一精品久久久| 欧美另类一区| 欧美区成人在线视频| 一级av片app| 日韩av免费高清视频| 成人免费观看视频高清| 国产中年淑女户外野战色| 国产精品一及| 天天一区二区日本电影三级| 人妻少妇偷人精品九色| www.色视频.com| 国产精品99久久久久久久久| 中文乱码字字幕精品一区二区三区| 日韩精品有码人妻一区| 国产精品国产av在线观看| 性色avwww在线观看| 亚洲天堂av无毛| 男人添女人高潮全过程视频| 亚洲高清免费不卡视频| freevideosex欧美| 日本一本二区三区精品| 亚洲aⅴ乱码一区二区在线播放| 亚洲激情五月婷婷啪啪| 日本一本二区三区精品| 欧美激情在线99| 久久久午夜欧美精品| 老师上课跳d突然被开到最大视频| 久久久久久久精品精品| 亚洲精品aⅴ在线观看| 伊人久久国产一区二区| 视频中文字幕在线观看| 中文天堂在线官网| 尤物成人国产欧美一区二区三区| 偷拍熟女少妇极品色| 午夜福利网站1000一区二区三区| 99热这里只有精品一区| 99九九线精品视频在线观看视频| 在线看a的网站| 亚洲美女搞黄在线观看| 一级二级三级毛片免费看| 日韩欧美 国产精品|