《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > OMAP-L138_FlashAndBootUtils使用及編譯指導

OMAP-L138_FlashAndBootUtils使用及編譯指導

2013-07-01
作者:吳紅軍
來源:TI通用數字信號處理系統技術支持

摘要

本文介紹OMAP-L138_FlashAndBootUtils工具包基本框架和串口燒寫工具sfh_OMAP-L138.exe工作原理,使用方法,以及針對客戶的硬件如何修改代碼,搭建編譯環境并重新編譯,并總結了使用該工具的常見問題。

關鍵字:OMAPL138, 串口燒寫, UBL

簡介

OMAP-L138支持多種啟動模式,包括SPI,NAND,NOR等。TI為用戶提供了兩套flash燒寫工具:

(1) 使用TI 在PSP 包或OMAP-L138_FlashAndBootUtils 包中提供的flash writer 的CCS工程,通過仿真器連接硬件板,按照提示步驟燒寫flash。

(2) 使用OMAP-L138_FlashAndBootUtils工具包中的串口燒寫工具(如sfh_OMAP-L138.exe),通過串口連接,進行命令行燒寫。

本文接下來將針對第二種方式進行詳細介紹。

用戶可以從開源網站上下載最新的OMAP-L138_FlashAndBootUtils版本[1]。最新的版本為OMAPL138_FlashAndBootUtils_2_40,本文以此版本展開討論。

OMAP-L138_FlashAndBootUtils_2_40工具包支持TI公司的多種芯片平臺的flash燒寫,包括OMAPL138,AM1808,C6748等。工具包內的代碼是對應LogicPD的OMAL138/AM1808 EVM板的。如果用于用戶自己的硬件板,可能需要修改工具包中相應代碼并重新編譯。

該工具包中包括多種flash工具及代碼。主要目錄如表1所示。

1 OMAP-L138_FlashAndBootUtils_2_40工具包目錄結構

1. 串口燒寫工具sfh_OMAP-L138.exe的工作原理

sfh_OMAP-L138是OMAP-L138_FlashAndBootUtils包中用于實現串口燒寫flash的應用程序。與UartHost.exe[3]工具不同,UartHost.exe是UART啟動工具,不能燒寫flash。

運行sfh_OMAP-L138.exe時,通過UART啟動方式下載并運行OMAPL138/GNU/sft目錄下的AIS格式bin文件,完成芯片的初始化操作。然后通過UART與sfh進行命令交換,實現flash的擦除和燒寫工作。

從OMAP-L138/GNU/sft/build目錄中的makefile文件可知,編譯sft目錄內各bin文件時需要sft.c,device.c,uart.c以及針對不同flash對應的flash初始化文件。

例如sft_OMAPL138_SPI_MEM.bin是由sft.c,device.c,uart.c等文件與spi.c,spi_mem.c,device_spi.c一起編譯,并通過OMAP-L138/GNU/AISUtils目錄下的HexAIS_OMAP-L138.exe,根據sft目錄下的配置文件sft_hexais.ini內的配置信息,將.out文件轉換成AIS格式的.bin文件。

 

2. 命令格式介紹

在命令行下輸入sfh_OMAP-L138.exe –help輸出命令格式說明如下:

sfh_OMAP-L138 <Command> [-targetType <Target>] [-flashType <FlashType>] [<Options>] [<InputFiles]各參數說明如下表所示,targetType默認為OMAP-L138,FlashType默認為SPI_MEM。使用默認選項時相應參數可以不輸入。

3. sfh_OMAPL138.exe常用命令的使用

sfh_OMAPL138.exe常用命令如表2所示。

2 sfh_OMAPL138.exe常用命令表

以SPI flash啟動為例,準備如下文件:

.        ? sfh_OMAPL138.exe,來源于OMAP-L138_FlashAndBootUtils_2_40工具包。

.       ? ubl-spi_ais.bin,來源于OMAP-L138_FlashAndBootUtils_2_40工具包。

.        ? u-boot.bin,來源于SDK PSP目錄下的UBoot。

.        ? u-boot-ais.bin,由UBoot編譯出的elf格式文件u-boot,通過AIS轉換工具生成。

首先將OMAL138/AM1808 EVM板設置為UART2啟動模式,S7開關設置如圖1所示。用直連串口線連接PC與EVM板,打開EVM板電源。在命令行模式下進入目錄:OMAP-L138_FlashAndBootUtils_2_40\OMAPL138\GNU。

1 S7開關設置

3.1全局擦除flash命令

sfh_OMAPL138.exe –targetType OMAP-L138 –flashType SPI_MEM –erase

2 sfh_OMAPL138.exe –erase命令運行界面

運行結果如圖2所示,如果是先上電,后執行該命令,則需要按下板子上的reset鍵輸出“BOOTME”給上位機的sfh。

3.2燒寫單個AIS格式的應用程序

sfh_OMAP-L138.exe –targetType OMAP-L138 –flashType SPI_MEM -flash_noubl u-boot-ais.bin

OMAP-L138的RBL支持AIS格式,可以在啟動過程中通過AIS格式文件中的配置信息初始化芯片,如PLL,DDR等。這樣就可以直接將程序加載到片外內存,而不受片上內存大小限制,省略二級Boot。

編譯UBoot時,在UBoot根目錄下會生成一個elf格式的u-boot文件,如圖3所示,在AISgen.exe工具里添加PLL,DDR等配置參數,將此文件轉換成AIS格式的bin文件,可以直接燒寫并啟動。

3 AISgen 配置界面

該命令將AIS格式的UBoot文件寫到flash的起始地址。命令執行顯示結果如圖4所示:重新上電,從圖5啟動信息可見沒有UBL的運行信息,是直接從UBoot運行的。

4 sfh_OMAPL138.exe –flash_noubl命令運行界面

 

重新上電,從圖5啟動信息可見沒有UBL的運行信息,是直接從UBoot運行的。

5 UBoot直接運行界面

 

3.3燒寫UBLUBoot

sfh_OMAP-L138.exe –targetType OMAP-L138 –flashType SPI_MEM -flash ubl-spi-ais.bin u-boot.bin命令執行結果顯示如圖5所示。該命令將ubl-spi-ais.bin寫到flash的起始地址,u-boot.bin寫到flash的0x10000的偏移地址。

6 sfh_OMAPL138.exe –flash命令運行界面

UBL和UBoot燒寫完后,關閉EVM板電源,按圖6所示,將EVM板的S7開關設為SPI flash啟動。

7 S7開關設置為SPI Flash啟動

打開串口終端如Hyper terminal,打開EVM板電源,串口終端輸出信息如圖7所示,表示UBL和UBoot成功燒寫,并成功從SPI flash啟動

8 終端調試信息輸出

使用sfh_OMAP-L138.exe燒寫UBL和UBoot時,建議使用工具包自帶的UBL。因為UBoot的燒寫地址,要與UBL的讀取地址一致,這樣UBL運行時,才能正確的讀取UBoot。工具包自帶的UBL與燒寫工具保證了這一點。其它版本的UBL需要用戶自行確認。

4. 根據硬件改動修改serial flash utility

開發者自己的硬件板與TI的EVM比較,會影響工具使用的不同部分可能存在于:

(1)DDR型號

(2)FLASH型號

(3)時鐘頻率

(4)UART配置

4.1 DDR參數修改

EVM板用的是mDDR,大多數用戶用的是DDR2,需要修改OMAP-L138/Common/src/device.c文件中函數Uint32 DEVICE_ExternalMemInit( )的5個DDR參數值。這個函數同樣被UBL調用,如果不用UBL,則要在AISgen界面里配置正確的DDR參數。

可使用TI提供的DDR寄存器配置工具[5]。根據DDR手冊進行DDR參數的計算,

4.2  SPI flash

如果更改了SPI flash的硬件連接,可在OMAP-L138\Common\include\device_spi.h文件中修改配置。

#define DEVICE_SPIBOOT_PERIPHNUM (1)//選擇SPI1

#define DEVICE_SPI_UBL_HDR_OFFSET (0*1024)//ubl在SPI flash中的偏移地址

#define DEVICE_SPI_APP_HDR_OFFSET (64*1024)//application image在SPI flash中的偏移地址如果更換了與EVM板不同的SPI flash,必要時需要修改如下兩個文件:

OMAP-L138\Common\drivers\include\Spi_mem.h

OMAP-L138\Common\drivers\src\Spi_mem.c

4.3  NAND flash

NAND flash的數據位寬配置在OMAP-L138\Common\include\device_async_mem.h文件中定義:

#define DEVICE_ASYNC_MEM_NANDBOOT_BUSWIDTH (DEVICE_BUSWIDTH_8BIT)

如果NAND flash更換的與EVM上的不同,必要時需要修改如下兩個文件

OMAP-L138\Common\drivers\include\Device_nand.h

OMAP-L138\Common\drivers\src\Device_nand.c

 

4.4  NOR flash

NOR flash是標準設備,除了時序參數之外,一般不需要修改,NOR flash相關代碼文件如下:

OMAP-L138_FlashAndBootUtils_2_40\Common\drivers\src\nor.c

OMAP-L138_FlashAndBootUtils_2_40\Common\drivers\include\nor.h

OMAP-L138\Common\src\device_async_mem.c

OMAP-L138\Common\include\device_async_mem.h

OMAP-L138_FlashAndBootUtils_2_40\Common\drivers\src\ async_mem.c

 

4.5  時鐘及PLL

如果外部輸入時鐘頻率不是24MHz,則需要OMAP-L138\Common\src\device.c文件中函數DEVICE_PLL0Init()和DEVICE_PLL1Init()的參數值。

函數原型Uint32 DEVICE_PLL0Init(Uint8 clk_src, Uint8 pllm, Uint8 prediv, Uint8 postdiv, Uint8 div1 ,Uint8 div3, Uint8 div7)中pllm是PLL的倍頻系數,主頻計算公式為:

函數DEVICE_PLL1Init()參數含義與PLL0的類同,為DDR提供時鐘。

4.6  UART配置

如果系統主頻發生變化,相應的模塊時鐘也改變,調試串口的分頻值需要做相應調整,否則串口輸出會因為波特率不正確而出現亂碼。根據不同的主頻修改OMAP-L138\Common\src\device_uart.c中DEVICE_UART_config的UART時鐘分頻系數divider的值,得到合適的UART波特率。

如果不是用UART2做為調試串口,修改OMAP-L138\Common\include\ device_uart.h文件中的DEVICE_UART_PERIPHNUM定義。

5.   OMAP-L138_FlashAndBootUtils編譯環境搭建

在根據硬件改動,修改了代碼后,需要對工具包重新編譯,生成UBL和sfh_OMAP-L138.exe。如果在Linux下使用此工具,需要在Linux下進行編譯(具體編譯過程參考參考文獻4)。下面介紹如何在Windows環境下搭建OMAP-L138_FlashAndBootUtils的編譯環境。

編譯環境需要的幾個工具如下[6]:

(1)cygwin

(2).NET framework

(3)ARM Compiler tools(CodeSourcery G++ Lite)

(4)C6x Compiler Tools

(5)CCSV5

 

5.1  Cygwin安裝

從http:/ / www. cygwin. com/下載并運行在線安裝工具setup.exe,注意安裝路徑中不能帶有空格。具體步驟如下:

1)  選擇從互聯網安裝;也可以選擇先下載,再從本地安裝。

9 cygwin安裝界面1

 

2)  選擇安裝路徑。

10 cygwin安裝界面2

 

3)  可選擇直接連接或使用代理。

11 cygwin安裝界面3

4)  選擇從哪個網址或者服務器上進行下載。

12 cygwin安裝界面4

5)  選擇安裝包

13 cygwin安裝界面4

一般選擇以下三項,其他默認即可。

• Devel-->make: The GNU version of the 'make' utility

• Devel-->subversion: A version control subsystem

• Editor-->vim (or similar)

安裝后要先運行一次cygwin 后,才會在cygwin/home/下出現Administrator 目錄,進入該目錄,修改.bashrc。

同時,需要驗證變量TMP和TEMP是否包含/tmp。使用如下命令:

echo $TMP

echo $TEMP

如果找不到"unset TMP" and "unset TEMP",可在cygwin\home\[user]\.bashrc 文件中添加如下命令創建:

export TMP=/tmp

export TEMP=/tmp

設置完后,重新打開cygwin即可。至此,cygwin安裝完成。

 

5.2  NET framework

從下面網址下載安裝最新的.NET Framework(4.0或者更高的版本)

http:/ / www. microsoft. com/downloads/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992&amp;displaylang=en

安裝默認路徑為C盤。然后將C#編譯器路徑添加到windows系統環境變量中。進入目錄

C:\WINDOWS\Microsoft.NET\Framework查看軟件的版本號并復制,如

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319。然后右鍵我的電腦->屬性->高級->環境變量,如圖13所示,選擇系統變量中的path 點擊編輯,在原有變量值后粘帖添加剛剛復制的內容,路徑之間以’;’分隔。至此,Net Framework安裝結束。

14 windows環境變量設置

5.3  C6x Compiler Tools

在CCSV5安裝目錄下ccsv5\tools\compiler\c6000_7.3.4即為C6x編譯器目錄,在CCSV3.3下的路徑為CCStudio_v3.3\C6000\cgtools\bin。如果沒有安裝CCS,從下面網址下載TI的C6x 編譯工具并安裝,如不確認版本則下載最新版本。

https:/ / www-a. ti. com/ downloads/ sds_support/ TICodegenerationTools/download. htm

將C6x編譯器路徑添加到windows環境變量。

 

5.4  ARM Compiler tools(CodeSourcery G++ Lite)

從下面網址下載安裝GCC交叉編譯器。注意交叉編譯工具的安裝目錄名不能含有空格,否則編譯時會報錯。

https://sourcery.mentor.com/sgpp/lite/arm/portal/release858

修改OMAP-L138_FlashAndBootUtils_2_40\Common\build.mak文件中的ARM_TOOLS_PATH變量為交叉編譯器的安裝路徑。例如ARM_TOOLS_PATH?=C:\\CodeSourcery\\arm-2009q1-203\\

 

5.5  CCSV5

如果需要用CCS編譯工程,則安裝CCS。

6. 編譯OMAP-L138_FlashAndBootUtils

6.1查看環境變量

打開cygwin,輸入export,查看環境變量是否設置成功。顯示如下,黑色加粗的目錄為之前添加的環境變量。

如未添加成功,可以使用如下命令添加:

export PATH=<arm-compiler-root>/bin:<MS-.NET-Root>:<C6000-Compiler-Root>/bin:$PATH

6.2 編譯工具包

cd OMAP-L138

如果只是編譯命令行工具(如sfh_OMAP-L138),而不需要重新編譯CCS 工程,則進入GNU目錄進行編譯;如果只需要重新編譯CCS工程,則進入CCS目錄進行編譯;如果兩者都需要,則在OMAP-L138這個目錄進行編譯。編譯命令如下:

make clean

make

7. 使用serial flash utility常見問題及解決方法

7.1收不到“BOOTME”

在帶電情況下,復位芯片,如果還是收不到正確的“BOOTME”,檢查BOOTMODE設置,串口終端波特率等參數設置,串口線連接方式。

7.2 停在Waiting for SFT on the OMAP-L138…

如圖14 所示,這種情況的原因通常有兩種:一是由于DDR 參數配置不正確從而導致程序運行異常,不能返回正確的指令給主機;二是硬件原因,可能是焊接,或硬件連接上的錯誤造成的??梢酝ㄟ^仿真器連接目標板用BSL庫提供的測試程序驗證一下DDR,和相應的flash。如果沒有仿真器,可以通過間接的方法,比如用AISgen 工具包里提供的UART 啟動工具UartHost.exe 來加載運行測試程序,檢測DDR,flash 等,將測試結果通過串口回傳顯示,或者設置GPIO的狀態來反映。

15 sfh_OMAP-L138.exe命令運行異常

7.3 燒寫中途停止

如圖15所示,燒寫在中途停止,這種情況通常是因為DDR工作不穩定,原因可能是DDR布線問題導致信號完整性差,可以嘗試降低DDR時鐘,并用示波器測量信號質量。

DDR不穩定也可能表現在能成功燒寫,但運行不正常,通常表現為串口打印停在解壓或啟動內核階段。

16 sfh_OMAP-L138.exe命令運行異常信息

7.4 啟動后串口沒打印

燒寫成功,啟動后串口沒打印,檢查U-boot里的調試串口配置,默認為UART2。

參考文獻:

(1) http://sourceforge.net/projects/dvflashutils/files/OMAP-L138/v2.40/

(2) AISgen工具下載地址:http://www-s.ti.com/sc/techlit/sprab41.zip

(3) http://www.ti.com/lit/an/spraba5b/spraba5b.pdf

(4) http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138

(5) http://processors.wiki.ti.com/images/d/db/MDDR_DDR2_Memory_Controller_Register_Calc_Rev4.zip

(6) http://processors.wiki.ti.com/index.php/Rebuilding_the_Flash_and_Boot_Utils_Package

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品久久久久久久久搜平片| 经典三级久久| 一区二区三区日韩在线观看| 国产精品不卡在线| 国产欧美一区二区视频| 国产精品亚洲欧美| 国产女人水真多18毛片18精品视频| 中文在线资源观看网站视频免费不卡| 91久久精品视频| 亚洲精品一二区| 一区二区三区中文在线观看| 激情一区二区| 国产精品theporn88| 国产日韩欧美日韩| 亚洲亚洲精品在线观看| 亚洲全黄一级网站| 欧美日韩中文字幕日韩欧美| 亚洲国产日日夜夜| 美日韩丰满少妇在线观看| 欧美激情在线观看| 欧美顶级大胆免费视频| 久久综合影视| 国产日韩欧美视频在线| 国产目拍亚洲精品99久久精品| 久久精精品视频| 久久精品免费电影| 欧美a级在线| 免费久久99精品国产自| 在线观看国产精品网站| 欧美激情按摩| 久久综合网络一区二区| 国内精品久久国产| 在线亚洲一区二区| 国产区亚洲区欧美区| 亚洲综合精品| 亚洲激情影院| avtt综合网| 在线日韩av| 一本色道久久综合狠狠躁篇的优点| 99综合电影在线视频| 国产欧美一区二区三区在线看蜜臀| 亚洲美女福利视频网站| 欧美无砖砖区免费| 最近中文字幕日韩精品| 欧美久久久久久久久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 一本大道久久a久久精二百| 国产一区二区三区免费不卡| 日韩视频一区二区三区在线播放免费观看| 一区在线电影| 在线看日韩欧美| 欧美经典一区二区| 欧美日韩精品一区二区三区四区| 亚洲国产欧美精品| 亚洲图片在区色| 久久精品欧美| 久久午夜激情| 国产精品久久久久久久久免费桃花| 亚洲黄色高清| 欧美激情精品久久久| 欧美日韩中文字幕在线| 欧美啪啪一区| 在线视频亚洲欧美| 欧美日韩aaaaa| 国产伦理精品不卡| 久久免费的精品国产v∧| 国产精品成人一区二区| 欧美中文字幕在线视频| 一区二区三区四区五区在线| 永久免费毛片在线播放不卡| 亚洲综合欧美| 久久蜜臀精品av| 在线观看国产精品淫| 国产精品久久久久久久久久直播| 99国产精品一区| 亚洲一区三区电影在线观看| 亚洲免费视频成人| 亚洲精品在线视频| 国产亚洲二区| 欧美午夜精品久久久久久孕妇| 久久久精品国产99久久精品芒果| 久久久午夜电影| 国产精品五区| 欧美国产日产韩国视频| 欧美不卡在线视频| 亚洲一区在线观看免费观看电影高清| 欧美日韩在线视频首页| 在线精品在线| 午夜精品久久久久久久99热浪潮| 欧美专区第一页| 国产日韩专区| 99视频热这里只有精品免费| 亚洲高清视频的网址| 久久综合精品国产一区二区三区| 精品91视频| 在线免费观看视频一区| 欧美日韩第一区| 国产精品视频一二三| 国产精品99免视看9| 国产一级精品aaaaa看| 亚洲黄页视频免费观看| 欧美吻胸吃奶大尺度电影| 欧美日韩免费一区| 米奇777在线欧美播放| 国产乱码精品| 国产亚洲女人久久久久毛片| 亚洲综合电影一区二区三区| 免费在线日韩av| 久久久7777| 西西人体一区二区| 亚洲久久一区| 欧美亚洲综合在线| 国产一区二区三区精品欧美日韩一区二区三区| 一区二区三区日韩在线观看| 在线一区欧美| 91久久夜色精品国产九色| 亚洲三级免费电影| 亚洲欧美日本国产专区一区| 午夜精品区一区二区三| 欧美日韩在线精品| 亚洲人人精品| 欧美成年视频| 这里只有视频精品| 91久久综合亚洲鲁鲁五月天| 欧美不卡福利| 欧美伊人久久大香线蕉综合69| 欧美色图一区二区三区| 欧美激情在线有限公司| 黄色工厂这里只有精品| 一区二区高清在线| 国产精品国产三级国产aⅴ无密码| 亚洲色图自拍| 欧美成人中文| 午夜精品一区二区三区电影天堂| 久久久久国产一区二区| 国产精品久久久久久久久动漫| 9色porny自拍视频一区二区| 精品成人乱色一区二区| 久久成人精品无人区| 麻豆精品一区二区综合av| 国产精品亚洲网站| 欧美不卡视频一区| 亚洲国产人成综合网站| 久久婷婷麻豆| 国产午夜精品福利| 在线看无码的免费网站| 国产麻豆日韩| 欧美精品在线视频| 亚洲第一主播视频| 免费在线观看日韩欧美| 卡一卡二国产精品| 亚洲国产一区二区精品专区| 国产精品黄页免费高清在线观看| 国产精品日韩一区| 久久9热精品视频| 久久亚洲私人国产精品va媚药| 欧美日韩视频专区在线播放| 欧美高清在线精品一区| 欧美日韩久久| 欧美福利一区二区三区| 在线看日韩av| 欧美日韩国产bt| 亚洲欧美日韩一区| 99riav久久精品riav| 欧美亚洲综合久久| 精品粉嫩aⅴ一区二区三区四区| 欧美国产日韩一区二区| 国产精品亚洲综合色区韩国| 久久久精品免费视频| 国产亚洲欧美一区| 亚洲电影在线观看| 久久精品99国产精品酒店日本| 久久久久成人网| 国产一区二区三区电影在线观看| 极品尤物av久久免费看| 在线成人欧美| 欧美一区二区久久久| 欧美成人免费在线观看| 午夜精品久久久久99热蜜桃导演| 久久精品国产精品亚洲| 亚洲乱码国产乱码精品精98午夜| 欧美日韩日日夜夜| 午夜在线成人av| 国产视频一区二区在线观看| 日韩亚洲精品电影| 亚洲自拍偷拍视频| 两个人的视频www国产精品| 久久精品国产v日韩v亚洲| 免费观看亚洲视频大全| 欧美少妇一区| 亚洲日本激情| 黄色欧美日韩| 亚洲国产另类精品专区| 一本色道久久88综合日韩精品| 伊人成年综合电影网| 欧美日韩精品在线观看| 韩国一区电影| 午夜在线电影亚洲一区| 久久五月婷婷丁香社区| 欧美伦理一区二区| 亚洲激情国产精品| 欧美一级在线播放| 艳女tv在线观看国产一区| 亚洲精选大片| 久久久在线视频| 在线日韩精品视频| 老色鬼久久亚洲一区二区| 亚洲综合电影| 一区二区三区免费在线观看| 精品二区久久| 亚洲一区二区日本| 久久精品国产69国产精品亚洲| 欧美三级中文字幕在线观看| 午夜精品偷拍| 欧美91福利在线观看| 99精品久久| 欧美日韩综合视频| 欧美v国产在线一区二区三区| 亚洲高清在线视频| 国产视频在线一区二区| 国产精品家教| 这里只有精品电影| 国产精品网站在线观看| 老妇喷水一区二区三区| 国模精品一区二区三区| 欧美日韩色一区| 欧美久久成人| 国产日韩欧美综合| 欧美亚洲一区二区三区| 国产亚洲激情视频在线| 欧美乱大交xxxxx| 亚洲福利视频专区| 久久综合伊人77777| 91久久香蕉国产日韩欧美9色| 亚洲性视频网站| 好吊妞**欧美| 欧美激情a∨在线视频播放| 亚洲免费av观看| 亚洲毛片视频| 香蕉久久夜色精品| 欧美区日韩区| 国产精品高潮粉嫩av| 一区二区精品国产| 久久精品国产一区二区三区| 国产日韩精品视频一区| 国产精品久久网站| 激情小说另类小说亚洲欧美| 性欧美1819sex性高清| 亚洲精品自在在线观看| 亚洲欧美日韩国产中文在线| 久久精品五月| 亚洲精品国产精品国自产观看| 一区二区欧美在线| 亚洲一区二区三| 国产精品一区二区在线观看| 欧美日韩中文字幕日韩欧美| 亚洲麻豆一区| 伊人久久亚洲影院| 欧美性事免费在线观看| 一区二区三区四区五区精品| 欧美风情在线| 夜夜夜精品看看| 亚洲欧美日韩精品久久亚洲区| 伊人男人综合视频网| 久久久亚洲国产天美传媒修理工| 一区二区毛片| 久久久一二三| 在线精品亚洲| 国产精品视频精品视频| 国产精品女人久久久久久| 欧美日韩黄色大片| 99精品欧美一区二区三区综合在线| 99国产精品国产精品毛片| 欧美成人高清视频| 欧美猛交免费看| 欧美激情国产日韩精品一区18| 亚洲欧美欧美一区二区三区| 亚洲欧洲日本在线| 欧美肥婆在线| 欧美在线视频观看免费网站| 欧美成人免费小视频| 亚洲精品一区在线观看香蕉| 亚洲视频一区在线观看| 久久久久久久综合色一本| 久久久久国产精品一区| 亚洲视频在线观看视频| 日韩午夜剧场| 99re6这里只有精品视频在线观看| 麻豆精品网站| 欧美电影在线观看完整版| 亚洲欧美成aⅴ人在线观看| 国产日韩在线一区二区三区| 亚洲欧美日韩国产一区二区| 欧美sm重口味系列视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产自产女人91一区在线观看| 中文成人激情娱乐网| 欧美国产一区二区| 国产精品视频免费观看www| 国产精品九色蝌蚪自拍| 亚洲国产精品视频一区| 亚洲欧美精品在线| 亚洲天堂成人在线视频| 亚洲国产一区二区精品专区| 国产模特精品视频久久久久| 国产日韩av一区二区| 欧美大片在线看免费观看| 欧美电影在线观看完整版| 久久综合导航| 欧美 日韩 国产精品免费观看| 黄色成人av在线| 欧美一区在线视频| 欧美aⅴ99久久黑人专区| 欧美高清视频在线观看| 一本久道久久综合婷婷鲸鱼| 国产精品成人一区二区三区吃奶| 久久国产精品99精品国产| 免费亚洲电影在线观看| 欧美大片免费| 国产精品久久国产精麻豆99网站| 亚洲国产成人av好男人在线观看| 亚洲国产三级在线| 亚洲伦理中文字幕| 欧美日韩在线三区| 欧美日韩国产一区二区三区| 亚洲女优在线| 国产欧美日本在线| 亚洲国产精品99久久久久久久久|