日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

图像识别DM8127开发攻略——UBOOT的移植说明

發布時間:2023/12/31 综合教程 51 生活家
生活随笔 收集整理的這篇文章主要介紹了 图像识别DM8127开发攻略——UBOOT的移植说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

系統運維

圖像識別DM8127開發攻略——UBOOT的移植說明

根據前幾篇文章的介紹,想必大家對DM8127軟件架構有了全局的認識,下面我們從開發的角度進行裁剪移植最基本的BOOT軟件包,嵌入式開發人員拿到一個新的板子,就是要如何讓板子能跑得起自己編譯和移植的程序,這才有價值,否則直接拿別人的BIN文件直接燒寫到板子上沒啥意思。

一、DM8127 UBOOT編譯說明
DM8127 的UBOOT的版本是u-boot-2010.06, UBOOT代碼 和 以前的DM6446-DM368-DM3730平臺稍微不同,以前的DM6446-DM368分離UBL和UBOOT兩個軟件包,DM3730 分離出XLOADR和UBOOT兩個軟件包,而現在的DM8127是一個UBOOT軟件包,里面包含了UBOOTMIN和UBOOT,通過宏來編譯得到不同的BIN文件,這里有3個大的宏來區分不同的編譯模式。編譯UBOOTMIN 和 UBOOT命令和腳本見《圖像識別DM8127開發攻略——RDK軟件架構淺析及編譯》提到的總Makefile和U-BOOT文件夾對應的u-boot\\Makefile文件第3320行開始看 ti8148_ipnc_config,同時也要結合看include/configs/ti8148_ipnc.h。

A、#define CONFIG_TI814X_MIN_CONFIG
編譯得到UBOOTMIN(u-boot.min.nand 或者 MLO);
對應RDK總的Makefile編譯腳本:
ubootmin:
$(MAKE) ubootclean
$(MAKE) ubootbuild MAKE_TARGET=$(PLATFORMCFG)$(SYSTEM_CFG)min$(BINARY_MODE)
$(MAKE) ubootbuild MAKE_TARGET=u-boot.ti
ifeq ($(BINARY_MODE),sd)
cp $(UBOOTDIR)/u-boot.min.$(BINARY_MODE) $(TFTP_HOME)/MLO
cp $(UBOOTDIR)/u-boot.min.$(BINARY_MODE) $(UBOOTDIR)/MLO
else
cp -f $(UBOOTDIR)/u-boot.min.$(BINARY_MODE) $(TFTP_HOME)/u-boot.min.$(BINARY_MODE)
cp -f $(UBOOTDIR)/u-boot.min.$(BINARY_MODE) $(UBOOTDIR)/u-boot.min.$(BINARY_MODE).bk
cp -f $(UBOOTDIR)/u-boot.min.$(BINARY_MODE) /tftpboot/dm8127_min.bin
endif
我們的build_1_uboot-min-nand.sh就是調用上面的腳本執行else這種模式,得到u-boot.min.nand(dm8127_min.bin),這個是針對nand FLASH的情況,是要燒寫到板子NAND FLASH上面的。
而我們的build_1_uboot-min-sd.sh也是調用上面的腳本執行ifeq ($(BINARY_MODE),sd),得到MLO,工廠生產,軟件調試,最需要這個文件,因為剛做出來的板子NAND 是沒有程序的,需要把這個MLO文件和后面編譯總的U-BOOT得到的u-boot.bin一起COPY到SD卡(TF卡)。

B、#define CONFIG_TI814X_OPTI_CONFIG
編譯得到u-boot.opti.nand這個也是類似UBOOTMIN的宏編譯,只不過編譯得到的BIN文件是通過串口下載到板子上啟動。
對應RDK總的Makefile編譯腳本:
ubootopti:
$(MAKE) ubootclean
$(MAKE) ubootbuild MAKE_TARGET=$(PLATFORM_CFG)_ipnc_opti_nand
$(MAKE) ubootbuild MAKE_TARGET=u-boot.ti
cp $(UBOOTDIR)/u-boot.opti.nand $(TFTP_HOME)/u-boot.opti.nand
我們的build_1_uboot-min-opt.sh就是調用到這個腳本執行,得到u-boot.opti.nand,這個是通過PC端的串口軟件下載到板子上面去,有些產品設計的時候,由于特殊原因沒有SD卡,那么可以使用這種模式去軟件調試新生產出來的板子。編譯這種模式要注意修改u-boot/Include/configs/ti8148_ipnc.h這個文件,把很多沒用的功能屏蔽掉,比如:
#undef CONFIG_CMD_BDI
#undef CONFIG_GZIP
#undef CONFIG_ZLIB
#undef CONFIG_CMD_LOADB
#undef CONFIG_CMD_LOADS
#undef CONFIG_CMD_NFS
#undef CONFIG_CMD_SETGETDCR
#undef CONFIG_CMD_XIMG
#undef CONFIG_CMD_MISC
#undef CONFIG_CMD_ITEST
#undef CONFIG_CMD_FPGA
#undef CONFIG_CMD_EDITENV
#undef CONFIG_BOOTM_NETBSD
#undef CONFIG_BOOTM_RTEMS
#undef CONFIG_CMD_MISC
#undef CONFIG_CMD_IMI
#undef CONFIG_CMD_ITEST
#undef CONFIG_CMD_SOURCE
#undef CONFIG_CMD_IMLS
#undef CONFIG_CMD_ECHO
使用#undef裁剪u-boot的功能,保留網絡功能和NAND功能,如果不裁剪,得到的u-boot.opti.nand過大,是不能在DM8127片內的RAM運行的,u-boot.opti.nand和上面提到的MLO都是在DM8127片內的RAM運行,因為外存DDR3都還沒初始化!
那么軟件調試新生產出來的板子時,給板子選定串口BOOT模式(NAND沒程序就是自動默認其他BOOT模式),上電,按下圖使用串口工具比如SecureCRT,選擇編譯得到的u-boot.opti.nand,如果串口穩定,一般下載100%正常,回車進入熟悉的u-boot命令行模式。

上圖有時使用X modem 傳輸文件不成功,可以再使用Ymodem模式,波特率使用115200。

C、如果CONFIG_TI814X_MIN_CONFIG和CONFIG_TI814X_OPTI_CONFIG都沒有選上,那么就是編譯正常的UBOOT,得到u-boot.bin(dm8127_uboot.bin)
對應RDK總的Makefile編譯腳本:
ubootbin:
$(MAKE) ubootclean
$(MAKE) ubootbuild MAKE_TARGET=$(PLATFORMCFG)$(SYSTEM_CFG)config$(BINARY_MODE)
$(MAKE) ubootbuild MAKE_TARGET=u-boot.ti
cp -f $(UBOOTDIR)/u-boot.bin $(TFTP_HOME)/u-boot.bin
cp -f $(UBOOTDIR)/u-boot.bin $(UBOOTDIR)/dm8127_uboot.bin.bk
cp -f $(UBOOTDIR)/u-boot.bin /tftpboot/dm8127_uboot.bin
我們的build_2_uboot-all.sh就是調用上面的腳本,第一次編譯正常的UBOOT必須使用ubootclean,還有我們的build_2_uboot-tmp.sh是上面的腳本把$(MAKE) ubootclean去掉,在第一次編譯build_2_uboot-all.sh后,后面修改源碼某個文件,我們不需要每次都調用ubootclean,再重新對所有的文件編譯,太浪費時間。
提示:上面3種大的宏編譯模式,一定要結合RDK總Makefile和U-BOOT文件夾對應的u-boot\\Makefile文件第3320行開始的內容來理解。

二、UBOOT的裁剪和移植

1、 修改u-boot\\Makefile
以前寫過的其他DAVINCI平臺開發攻略都說過,第一步就是刪除不相關的文件,這樣才好理解這個DM8127平臺有哪些相關的文件和文件夾,哪些是不相關的,一目了然。
SUBDIRS = tools \\
#examples/standalone \\ (屏蔽,不要)
#examples/api (屏蔽,不要)
…….
#LIBS += api/libapi.a (屏蔽)

2、回到u-boot目錄下,把nand_spl和onenand_ipl文件夾去掉。
3、Include/configs/只保留ti8148_ipnc.h,其他全部刪除。
4、arch只保留arm文件
而arm/cpu文件里面只保留arm_cortexa8
arm_cortexa8文件里只保留

arch/arm/ Include/asm裁剪截圖見下圖:

5、board文件夾只保留提ti文件夾,ti下面只保留ti8148_ipnc

經過上面幾個步驟的暴力刪除,DM8127平臺的UBOOT簡潔了很多,保存備份很方便。

6、u-boot/include/configs/ti8148_ipnc.h重點修改
對于新手玩一個DEMO板來說,要把板子跑起程序來,其實移植工作很大一部分在這個文件下去修改,其他外設驅動初始化,則還沒有那么著急。等你弄熟DEMO板,然后再去開發自己設計的板子,比如使用新的DDR3啊,NAND FLASH啊,網口芯片啊等等。
下面本人直接把本公司的開發板u-boot源碼對于的/include/configs/ti8148_ipnc.h放上來逐步分析。
#ifndef __CONFIG_TI8148_IPNC_H
#define __CONFIG_TI8148_IPNC_H

/
#define CONFIG_TI814X_NO_RUNTIME_PG_DETECT
/
/
Display CPU info /
#define CONFIG_DISPLAY_CPUINFO 1 (允許串口打印CPU信息)
/
In the 1st stage we have just 110K, so cut down wherever possible */
#ifdef CONFIG_TI814X_MIN_CONFIG (使用make ubootmin,就編譯這里面的定義)

/ enable d-cache only on 2nd stage /
#define CONFIG_SYS_DCACHE_OFF

#define CONFIG_CMD_MEMORY / for mtest /
#define CONFIG_CMD_MISC / Misc functions like sleep etc/(支持sleep 1這種腳本命令)
#undef CONFIG_GZIP (ubootmin不需要過多的其他功能,使用#undef處理)
#undef CONFIG_ZLIB
#undef CONFIG_SYS_HUSH_PARSER
#define CONFIG_CMD_LOADB / loadb /
#define CONFIG_CMD_LOADY / loady /
#define CONFIG_SETUP_PLL
#define CONFIG_TI814X_CONFIG_DDR(在ubootmin里面必須對DDR3進行初始化,否則無法運行uboot)
#define CONFIG_TI814X_EVM_DDR3
#define CONFIG_ENV_SIZE 0x400 (ubootmin也有自己的boot 參數,字節很少)
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 * 1024))
#define CONFIG_SYS_PROMPT "TI-MIN#" (ubootmin命令行,不過一般只用于開發調試)*
/
set to negative value for no autoboot /
#define CONFIG_BOOTDELAY 0 (ubootmin在開發調試可以為1,ubootmin穩定后產品化為0)
#if defined(CONFIG_SPI_BOOT) /
Autoload the 2nd stage from SPI /
#error 1 (ubootmin不需要SPI BOOT的話,這里面不編譯)
#define CONFIG_SPI 1
#if defined(CONFIG_TI81XX_PCIE_BOOT)
#define CONFIG_CMDLINE_TAG 1 /
enable passing of ATAGs /
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_INITRD_TAG 1 /
Required for ramdisk support /
#define CONFIG_CMD_SOURCE
#define CONFIG_EXTRA_ENV_SETTINGS \\
"verify=yes\\0" \\
"bootcmd=source 0x80400000\\0" \\
""
/
user can override default size configuration here.

it will only come in effect if TI81xx_NO_PIN_GPMC
is defined in include/asm/arch/pcie.h
*/
#define CONFIG_BAR1_32 (0x1000000ULL)
#define CONFIG_BAR2_32 (0x800000ULL)
#define CONFIG_BAR3_32 (0xfffULL)
#define CONFIG_BAR4_32 (0x1001ULL)
#define CONFIG_REG2_64 (0x1000000ULL)
#define CONFIG_REG4_64 (0x2000000ULL)

#else //(CONFIG_TI81XX_PCIE_BOOT) (ubootmin不需要PCIE BOOT的話,這里面不編譯)
#define CONFIG_EXTRA_ENV_SETTINGS \\
"verify=yes\\0" \\
"bootcmd=sf probe 0; sf read 0x81000000 0x20000 0x40000; go 0x81000000\\0" \\

#endif //(CONFIG_TI81XX_PCIE_BOOT)

#elif defined(CONFIG_NAND_BOOT) / Autoload the 2nd stage from NAND /
//#error 2 //built: build_1_uboot-min-nand.sh sleep 1 (ubootmin需要NAND BOOT,一定 要編譯)
#define CONFIG_NAND 1
#define CONFIG_EXTRA_ENV_SETTINGS \\
"verify=yes\\0" \\
"bootcmd=mw.b 0x81000000 0x00 0x20000;nand read 0x81000000 0x20000 0x40000;go 0x81000000\\0" \\
(ubootmin存放在0x0—0x20000空間,uboot存放在0x20000---0x180000,這里ubootmin把uboot給跑起來,讀取NAND FLASH的UBOOT放到DDR3地址0x81000000,然后go命令BOOT起來)
#elif defined(CONFIG_SD_BOOT) / Autoload the 2nd stage from SD /
//#error 3 //built: build_1_uboot-min-sd (ubootmin需要SD BOOT的話,調試模式和生產模式,要編譯)
#define CONFIG_MMC 1
#define CONFIG_EXTRA_ENV_SETTINGS \\
"verify=yes\\0" \\
"bootcmd=mmc rescan 0; fatload mmc 0 0x80800000 u-boot.bin; go 0x80800000\\0" \\
(ubootmin從SD卡讀讀u-boot.bin,然后跑起來)
#elif defined(CONFIG_UART_BOOT) / stop in the min prompt /
#define CONFIG_EXTRA_ENV_SETTINGS \\
"verify=yes\\0" \\
"bootcmd=\\0" \\

#elif defined(CONFIG_ETH_BOOT) / Auto load 2nd stage from server /
#define CONFIG_EXTRA_ENV_SETTINGS \\
"verify=yes\\0" \\
"bootcmd=setenv autoload no;dhcp; tftp 0x81000000 u-boot.bin; go 0x81000000\\0"

#endif //defined(CONFIG_SPI_BOOT)

#elif defined(CONFIG_TI814X_OPTI_CONFIG) / Optimized code / (對應本文前面的介紹OPTI串口下載模式,需要這種編譯宏,對應make ubootopti)
#include <config_cmd_default.h> (這個.h里面的一些宏定義也可以進去屏蔽掉)

#define CONFIG_ZERO_BOOTDELAY_CHECK
#define CONFIG_ENV_SIZE 0x2000
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (32 1024))
#define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_LONGHELP
#define CONFIG_SYS_PROMPT "TI8127_OPTI#"
#define CONFIG_CMDLINE_TAG 1 /
enable passing of ATAGs /
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_INITRD_TAG 1 /
Required for ramdisk support /
#define CONFIG_BOOTDELAY 3 /
set to negative value for no autoboot */
#define CONFIG_NAND 1
#define CONFIG_SETUP_PLL
#define CONFIG_TI814X_CONFIG_DDR
#define CONFIG_TI814X_EVM_DDR3
#define CONFIG_SYS_DCACHE_OFF
#define CONFIG_SYS_ICACHE_OFF

#define CONFIG_CMD_BDI / bdinfo /
#define CONFIG_CMD_BOOTD / bootd /
#define CONFIG_CMD_CONSOLE / coninfo /
#define CONFIG_CMD_ECHO / echo arguments /
#define CONFIG_CMD_EDITENV / editenv /
#define CONFIG_CMD_FPGA / FPGA configuration Support /
#define CONFIG_CMD_IMI / iminfo /
#define CONFIG_CMD_ITEST / Integer (and string) test /
#ifndef CONFIG_SYS_NO_FLASH
#define CONFIG_CMD_FLASH / flinfo, erase, protect /
#define CONFIG_CMD_IMLS / List all found images /
#endif
#define CONFIG_CMD_LOADB / loadb /
#define CONFIG_CMD_LOADS / loads /
#define CONFIG_CMD_MEMORY / md mm nm mw cp cmp crc base loop mtest /
#define CONFIG_CMD_MISC / Misc functions like sleep etc/
#define CONFIG_CMD_NET / bootp, tftpboot, rarpboot /
#define CONFIG_CMD_NFS / NFS support /
#define CONFIG_CMD_RUN / run command in env variable /
#define CONFIG_CMD_SAVEENV / saveenv /
#define CONFIG_CMD_SETGETDCR / DCR support on 4xx /
#define CONFIG_CMD_SOURCE / "source" command support /
#define CONFIG_CMD_XIMG / Load part of Multi Image /

#undef CONFIG_CMD_BDI
#undef CONFIG_GZIP
#undef CONFIG_ZLIB
#undef CONFIG_CMD_LOADB
#undef CONFIG_CMD_LOADS
#undef CONFIG_CMD_NFS
#undef CONFIG_CMD_SETGETDCR
#undef CONFIG_CMD_XIMG
#undef CONFIG_CMD_MISC
#undef CONFIG_CMD_ITEST
#undef CONFIG_CMD_FPGA
#undef CONFIG_CMD_EDITENV
#undef CONFIG_BOOTM_NETBSD
#undef CONFIG_BOOTM_RTEMS
#undef CONFIG_CMD_MISC
#undef CONFIG_CMD_IMI
#undef CONFIG_CMD_ITEST
#undef CONFIG_CMD_SOURCE
#undef CONFIG_CMD_IMLS
#undef CONFIG_CMD_ECHO
(其實上面有些代碼是多余的,因為后面的#undef 是把前面定義的宏給取消了,本人這里是不想破壞TI RDK的架構,讓大家明白這個過程。由于OPTI模式編譯的BIN也是在內部RAM運行,必須裁剪不需要的UBOOT功能,只保留TFTP網絡燒寫NAND FLASH的功能就OK了)
#define CONFIG_EXTRA_ENV_SETTINGS \\
"verify=no\\0" \\
"bootdelay=0\\0" \\
"bootfile=uImage\\0" \\
"loadaddr=0x81000000\\0" \\
"bootargs=console=ttyO0,115200n8 mem=256M notifyk.VPSsm3_sva=0xBF900000 vram=50M ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs rw rootwait=1 rw lpj=4997120 ip=${ipaddr}:${serverip}:${gateway}:${subnet}::eth0:off\\0 "\\
"eraseall=nand erase\\0" \\
"uboot_tftp=tftp 0x81000000 dm8127_uboot.bin; go 0x81000000 \\0" \\
#define CONFIG_BOOTCOMMAND \\
"nboot 80007FC0 0 0x280000;bootm 80007FC0"
(本人這里只使用網絡TFTP下載運行UBOOT,燒寫的任務交給這個新運行起來的dm8127_uboot.bin,而不是使用這個OPTI模式的UBOOT)

#else //CONFIG_TI814X_MIN_CONFIG (下面這些定義就是編譯正常UBOOT的宏了,很多工作在下面做)

#include <config_cmd_default.h>
#define CONFIG_SERIAL_TAG 1
#define CONFIG_REVISION_TAG 1
#define CONFIG_SKIP_LOWLEVEL_INIT / 1st stage would have done the basic init /
#define CONFIG_ENV_SIZE 0x20000 (用一個BLOCK保存UBOOT參數:bootargs)
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (32 1024))
#define CONFIG_ENV_OVERWRITE
#define CONFIG_SYS_LONGHELP
#define CONFIG_SYS_PROMPT "TI8127_IPNC#"
#define CONFIG_SYS_HUSH_PARSER /
Use HUSH parser to allow command parsing /
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
#define CONFIG_CMDLINE_TAG 1 /
enable passing of ATAGs /(支持從UBOOT傳參數給內核)
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_INITRD_TAG 1 /
Required for ramdisk support /
#define CONFIG_BOOTDELAY 1 /
set to negative value for no autoboot /
#define CONFIG_CMD_AUTOTEST /
for autotest /
/
By default, 2nd stage will have MMC, NAND, SPI and I2C support */
#define CONFIG_MMC 1
#define CONFIG_NAND 1
#define CONFIG_SPI 1
#define CONFIG_I2C 1
#define CONFIG_EXTRA_ENV_SETTINGS \\
"verify=yes\\0" \\
"bootfile=uImage\\0" \\
"ramdisk_file=ramdisk.gz\\0" \\
"loadaddr=0x81000000\\0" \\
"script_addr=0x80900000\\0" \\
"loadbootscript=fatload mmc 0 ${script_addr} boot.scr\\0" \\
"bootscript= echo Running bootscript from MMC/SD to set the ENV...; " \\
"source ${script_addr}\\0" \\
"ubifsargs=setenv bootargs console=ttyO0,115200n8 mem=80M notifyk.vpssm3_sva=0xBFD00000 vram=4M " \\
"cmemk.phys_start=0x85000000 cmemk.phys_end=0x89000000 cmemk.allowOverlap=1 earlyprintk " \\
"ip=${ipaddr} " \\
"rootfstype=ubifs root=ubi0:rootfs init=/init ubi.mtd=5,2048 " \\
"rootwait=1 rw lpj=4997120\\0" \\
"nfsargs=setenv bootargs console=ttyO0,115200n8 mem=80M notifyk.vpssm3_sva=0xBFD00000 vram=4M cmemk.phys_start=0x85000000 cmemk.phys_end=0x89000000 cmemk.allowOverlap=1 earlyprintk lpj=4997120 " \\
"ip=${ipaddr} " \\
"root=/dev/nfs rw nfsroot=${serverip}:/home/davinci/dm8127/v3.8.0/Source/ipnc_rdk/target/filesys,nolock\\0" \\
"squashfsargs=setenv bootargs console=ttyO0,115200n8 mem=80M notifyk.vpssm3_sva=0xBFD00000 vram=4M cmemk.phys_start=0x85000000 cmemk.phys_end=0x89000000 cmemk.allowOverlap=1 earlyprintk lpj=4997120 " \\
"ip=${ipaddr} " \\
"noinitrd rootfstype=squashfs root=/dev/mtdblock4\\0" \\
"eraseall=nand erase\\0" \\
"erase_env=nand erase 180000 40000\\0" \\
"tftp_boot=ipnc_ff_init 1;tftpboot 0x81000000 dm8127_kernel.bin;bootm\\0" \\
"nfsboot=ipnc_ff_init 1;run nfsargs;nand read ${loadaddr} 1C0000 400000;bootm ${loadaddr}\\0" \\
"userboot=ipnc_ff_init 1;nand read ${loadaddr} 1C0000 400000;bootm ${loadaddr}\\0" \\
"squashfsboot=run squashfsargs;ipnc_ff_init 1;nand read ${loadaddr} 1C0000 400000; bootm ${loadaddr}\\0" \\
"ubifsboot=ipnc_ff_init 1;run ubifsargs;nand read ${loadaddr} 1C0000 400000;bootm ${loadaddr}\\0" \\
"uboot_tftp=ipnc_ff_init 1;tftp 0x81000000 dm8127_uboot.bin; go 0x81000000\\0" \\
"updatemin=mw.b 0x81000000 0xFF 0x20000;tftp 0x81000000 dm8127_min.bin;nand erase 0x0 0x20000;nand write.i 0x81000000 0x0 20000\\0" \\
"updateuboot=mw.b 0x81000000 0xFF 0x40000;tftp 0x81000000 dm8127_uboot.bin;nand erase 20000 160000;nand write.i 0x81000000 20000 ${filesize}\\0" \\
"updatekernel=tftp 0x81000000 dm8127_kernel.bin;nand erase 1C0000 640000;nand write.i 0x81000000 1C0000 ${filesize}\\0" \\
"updatebasefs=tftp 0x81000000 dm8127_basefs.bin;nand erase 800000 2300000;nand write.i 0x81000000 800000 ${filesize}\\0" \\
"updateubifs=tftp 0x81000000 dm8127_ubifs.bin;nand erase 2B00000 6E00000;nand write.i 0x81000000 2B00000 ${filesize}\\0" \\
""
#define CONFIG_BOOTCOMMAND "run squashfsboot" /or run ubifsboot /
(這里定義上電UBOOT使用run ubifsboot或者 run nfsboot或者run userboot,可以在命令行使用:
Setenv bootcmd ‘run userboot’;saveenv去選擇默認上電啟動文件系統模式)
#define CONFIG_BOOTARGS \\
"console=ttyO0,115200n8 mem=80M notifyk.vpssm3_sva=0xBF900000 vram=4M ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs rw rootwait=1 lpj=4997120 ip=${ipaddr}\\0 "\\

#endif
(
上面的有UBOOT 參數適合DDR3 為512M字節系統,我們為了方便NFS調試,定義了nfsargs,如果主文件系統使用squashfs文件系統,我們就使用squashfsargs。如果主文件系統使用ubifs,我們就使用ubifsargs。如果自己設置新的參數,可以setenv bootargs XXXXXXXX,然后使用上面的run userboot。
本公司DM8127開發板NAND FLASH分區信息:
0x000000000000-0x000000020000 : "U-Boot-min"
0x000000020000-0x000000180000 : "U-Boot"
0x000000180000-0x0000001c0000 : "U-Boot Env"
0x0000001c0000-0x000000800000 : "Kernel"
0x000000800000-0x000002b00000 : "Squash"
0x000002b00000-0x000009900000 : "ubifs"
0x000009900000-0x00000e900000 : "userapp"
0x00000e900000-0x000020000000 : "user data"
根據這個信息,我們再看看前面的run updatemin ; run updateuboot; run updatekernel;run updateubifs;
這些命令腳本是本公司自己寫的,
run updatemin 通過TFTPSERVER 下載dm8127_min.bin并燒寫到NAND FLASH;
run updateuboot下載dm8127_uboot.bin燒寫到NAND;
run updatekernel下載dm8127_kernel.bin燒寫到NAND;
run updateubifs下載dm8127_ubifs.bin燒寫到NAND。
上面有些參數就是cmem共享內存的定義,參考APPRO的定義就可以了,我們DM8127使用全速模式,不是低功耗模式,也不是內存DDR3只有256M那種。
)

#define CONFIG_IPADDR 192.168.1.188 (我們這里定義開發環境的ipaddr)
#define CONFIG_SERVERIP 192.168.1.252 (我們這里定義開發環境的serverip,比如tftp,NFS的主機IP)
#define CONFIG_GATEWAYIP 192.168.1.1
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_ETHADDR 00:11:22:33:44:55
(我們這里定義板子的MAC地址,后面會在bootm.c添加代碼傳給kernel,見:
Arch/arm/lib/Bootm.c
在do_bootm_linux()加入:
#if 1 //added by jingbo
char buf1 = malloc(1024);
char
buf2 = malloc(32);

sprintf(buf2, eth=%s, getenv (ethaddr));
sprintf(buf1, %s %s, getenv (bootargs), buf2);
setup_commandline_tag (bd, buf1);

#endif
這段代碼就是如何把MAC地址通過bootargs傳給內核)

#ifndef CONFIG_TI814X_OPTI_CONFIG
#define CONFIG_AUTO_COMPLETE (UBOOT命令補全功能一定要打開,否則在uboot命令行無法使用tab鍵補全命令)
#define CONFIG_CMDLINE_EDITING(這個支持UBOOT命令行光標鍵查詢歷史命令,一般和CONFIG_AUTO_COMPLETE結合使用,一定要加上)
#endif

#define CONFIG_SYS_GBL_DATA_SIZE 128 / size in bytes reserved for
initial data
/

#define CONFIG_MISC_INIT_R 1
#ifndef CONFIG_TI814X_MIN_CONFIG
#define CONFIG_TI814X_ASCIIART 1 / The centaur /
#endif
#define CONFIG_SYS_AUTOLOAD "yes"
#ifndef CONFIG_TI814X_OPTI_CONFIG
#define CONFIG_CMD_CACHE
#define CONFIG_CMD_ECHO
#endif

/*

Miscellaneous configurable options
*/

/ max number of command args /
#define CONFIG_SYS_MAXARGS 32
/ Console I/O Buffer Size /
#define CONFIG_SYS_CBSIZE 512
/ Print Buffer Size /
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE \\

sizeof(CONFIG_SYS_PROMPT) + 16)
/ Boot Argument Buffer Size /
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
/ memtest works on 8 MB in DRAM after skipping 32MB from start addr of ram disk/
#define CONFIG_SYS_MEMTEST_START (PHYS_DRAM_1 + (64 1024 1024))
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \\
(8 1024 1024))
#if defined(CONFIG_CMD_AUTOTEST)
#define CONFIG_SYS_MEMTEST_SIZE 0x10000000 / autotest memory size/
#endif
#undef CONFIG_SYS_CLKS_IN_HZ / everything, incl board info, in Hz /
#define CONFIG_SYS_LOAD_ADDR 0x81000000 / Default load address /
#define CONFIG_SYS_HZ 1000 / 1ms clock /

/ Hardware related /

/**

Physical Memory Map(這里定義2組DDR3的片選地址,每組256M,總共512M字節)
/
#define CONFIG_NR_DRAM_BANKS 2 /
we have 2 banks of DRAM /
#define PHYS_DRAM_1 0x80000000 /
DRAM Bank #1 /
#define PHYS_DRAM_1_SIZE 0x10000000 /
256 MB /
#define PHYS_DRAM_2 0xB0000000 /
DRAM Bank #2 /
#define PHYS_DRAM_2_SIZE 0x10000000 /
256 MB */

/**

Platform/Board specific defs
*/
#define CONFIG_SYS_CLK_FREQ 20000000
#define CONFIG_SYS_TIMERBASE 0x4802E000

/*

NS16550 Configuration (定義串口的時鐘等等)
/
#define CONFIG_SERIAL_MULTI 1
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK (48000000)
#define CONFIG_SYS_NS16550_COM1 0x48020000 /
Base EVM has UART0 */
#define CONFIG_SYS_NS16550_COM2 0x48022000

#define CONFIG_BAUDRATE 115200
#define CONFIG_SYS_BAUDRATE_TABLE { 110, 300, 600, 1200, 2400, \\
4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 }

/*

select serial console configuration
*/
#define CONFIG_SERIAL1 1
#define CONFIG_CONS_INDEX 1
#define CONFIG_SYS_CONSOLE_INFO_QUIET

#if defined(CONFIG_NO_ETH)
#undef CONFIG_CMD_NET
#else
#define CONFIG_CMD_NET
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_PING
#endif

#if defined(CONFIG_CMD_NET)
#define CONFIG_DRIVER_TI_CPSW
#define CONFIG_MII
#define CONFIG_BOOTP_DEFAULT
#define CONFIG_BOOTP_dns
#define CONFIG_BOOTP_DNS2
#define CONFIG_BOOTP_SEND_HOSTNAME
#define CONFIG_BOOTP_GATEWAY
#define CONFIG_BOOTP_SUBNETMASK
#define CONFIG_NET_RETRY_COUNT 10
#define CONFIG_NET_MULTI
#define CONFIG_PHY_GIGE
/ increase network receive packet buffer count for reliable TFTP /
#define CONFIG_SYS_RX_ETH_BUFFER 16
#endif

#if defined(CONFIG_SYS_NO_FLASH)
#define CONFIG_ENV_IS_NOWHERE
#endif

/ NAND support /
#ifdef CONFIG_NAND
#define CONFIG_CMD_NAND
#define CONFIG_NAND_TI81XX
//#define GPMC_NAND_ECC_LP_x16_LAYOUT 1 //Jingbo: for 16BIT NAND
#define GPMC_NAND_ECC_LP_x8_LAYOUT 1 //Jingbo: for 8bit NAND
#define NAND_BASE (0x08000000) (NAND FLASH芯片的片選地址 )
#define CONFIG_SYS_NAND_ADDR NAND_BASE / physical address /
/ to access nand /
#define CONFIG_SYS_NAND_BASE NAND_BASE / physical address /
/ to access nand at /
/ CS0 /
#define CONFIG_SYS_MAX_NAND_DEVICE 1 / Max number of NAND /
#endif / devices /

/ ENV in NAND /
#if defined(CONFIG_NAND_ENV)
#undef CONFIG_ENV_IS_NOWHERE
#define CONFIG_ENV_IS_IN_NAND 1
#ifdef CONFIG_ENV_IS_IN_NAND
#define CONFIG_SYS_MAX_FLASH_SECT 520 / max number of sectors in a chip /
#define CONFIG_SYS_MAX_FLASH_BANKS 2 / max number of flash banks /
#define CONFIG_SYS_MONITOR_LEN (256 << 10) / Reserve 2 sectors /
#define CONFIG_SYS_FLASH_BASE boot_flash_base
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
#define MNAND_ENV_OFFSET 0x180000 / environment starts here /(這里我們定義uboot bootarg參數保存的起始地址)
#define CONFIG_SYS_ENV_SECT_SIZE boot_flash_sec
#define CONFIG_ENV_OFFSET boot_flash_off
#define CONFIG_ENV_ADDR MNAND_ENV_OFFSET
#endif

#ifndef ASSEMBLY
extern unsigned int boot_flash_base;
extern volatile unsigned int boot_flash_env_addr;
extern unsigned int boot_flash_off;
extern unsigned int boot_flash_sec;
extern unsigned int boot_flash_type;
#endif
#endif / NAND support /

#ifndef CONFIG_TI814X_OPTI_CONFIG
/ SPI support /
#ifdef CONFIG_SPI (如果使用SPI接口的FLASH,這個宏一定要編譯,我們公司板子沒用SPI FLASH)
#define CONFIG_OMAP3_SPI
#define CONFIG_MTD_DEVICE
#define CONFIG_SPI_FLASH
#define CONFIG_SPI_FLASH_WINBOND
#define CONFIG_CMD_SF
#define CONFIG_SF_DEFAULT_SPEED (75000000)
#define CONFIG_CODEC_AIC26 1
#endif

/ ENV in SPI /
#if defined(CONFIG_SPI_ENV)
#undef CONFIG_ENV_SIZE
#undef CONFIG_ENV_IS_NOWHERE
#define CONFIG_ENV_IS_IN_SPI_FLASH 1
#ifdef CONFIG_ENV_IS_IN_SPI_FLASH
#define CONFIG_ENV_SIZE 0x2000 /use a small env /
#define CONFIG_SYS_FLASH_BASE (0)
#define SPI_FLASH_ERASE_SIZE (4 1024) / sector size of SPI flash /
#define CONFIG_SYS_ENV_SECT_SIZE (2
SPI_FLASH_ERASE_SIZE) / env size /
#define CONFIG_ENV_SECT_SIZE (CONFIG_SYS_ENV_SECT_SIZE)
#define CONFIG_ENV_OFFSET (96 SPI_FLASH_ERASE_SIZE)
#define CONFIG_ENV_ADDR (CONFIG_ENV_OFFSET)
#define CONFIG_SYS_MAX_FLASH_SECT (1024) /
no of sectors in SPI flash /
#define CONFIG_SYS_MAX_FLASH_BANKS (1)
#endif
#endif /
SPI support */

/ ENV in MMC /
#if defined(CONFIG_MMC_ENV)
#undef CONFIG_ENV_IS_NOWHERE
#define CONFIG_ENV_IS_IN_MMC 1
#define CONFIG_SYS_MMC_ENV_DEV 0
#undef CONFIG_ENV_SIZE
#undef CONFIG_ENV_OFFSET
#define CONFIG_ENV_OFFSET (722931024)
#define CONFIG_ENV_SIZE (8
1024)
#endif / MMC support /

/ NOR support / (NOR FLASH芯片的支持,我們公司基本不用NOR FLASH了)
#if defined(CONFIG_NOR)
#undef CONFIG_CMD_NAND / Remove NAND support /
#undef CONFIG_NAND_TI81XX
#undef CONFIG_SKIP_LOWLEVEL_INIT
#define CONFIG_TI814X_CONFIG_DDR
#define CONFIG_SETUP_PLL
#define CONFIG_TI814X_EVM_DDR3
#undef CONFIG_ENV_IS_NOWHERE
#ifdef CONFIG_SYS_MALLOC_LEN
#undef CONFIG_SYS_MALLOC_LEN
#endif
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1
#define CONFIG_SYS_MALLOC_LEN (0x100000)
#define CONFIG_SYS_FLASH_CFI
#define CONFIG_FLASH_CFI_DRIVER
#define CONFIG_FLASH_CFI_MTD
#define CONFIG_SYS_MAX_FLASH_SECT 512
#define CONFIG_SYS_MAX_FLASH_BANKS 1
#define CONFIG_SYS_FLASH_BASE (0x08000000)
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
#define CONFIG_ENV_IS_IN_FLASH 1
#define NOR_SECT_SIZE (128 1024)
#define CONFIG_SYS_ENV_SECT_SIZE (NOR_SECT_SIZE)
#define CONFIG_ENV_SECT_SIZE (NOR_SECT_SIZE)
#define CONFIG_ENV_OFFSET (2
NOR_SECT_SIZE)
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)
#define CONFIG_MTD_DEVICE
#endif / NOR support /

/ No I2C support in 1st stage /
#ifdef CONFIG_I2C

#define CONFIG_CMD_I2C
#define CONFIG_CMD_DATE
#define CONFIG_I2C_MULTI_BUS (注意:DM8127支持I2C0,I2C1,I2C2幾個I2C總線)
#define CONFIG_SYS_RTC_BUS_NUM 0
#define CONFIG_TPS65911_I2C 1
#define CONFIG_RTC_TPS65911 1 (比如這里電源管理芯片 使用I2C0總線)
#define CONFIG_CODEC_AIC3104 1
#define CONFIG_SENSOR_MT9J003 1
#define CONFIG_HARD_I2C 1
#define CONFIG_SYS_I2C_SPEED 100000 (I2C總線使用100K速率)
#define CONFIG_SYS_I2C_SLAVE 1
#define CONFIG_SYS_I2C_BUS 0
#define CONFIG_SYS_I2C_BUS_SELECT 1
#define CONFIG_DRIVER_TI81XX_I2C 1

/ EEPROM definitions /
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 3
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 20

#endif

/ HSMMC support / (HSMMC這里我們沒有用到)
#ifdef CONFIG_MMC
#define CONFIG_CMD_MMC 1
#define CONFIG_GENERIC_MMC
#define CONFIG_OMAP_HSMMC
#define CONFIG_DOS_PARTITION 1
#define CONFIG_CMD_FAT 1
#endif
#endif / CONFIG_TI814X_OPTI_CONFIG /
/ U-boot Version /
#define CONFIG_VERSION_VARIABLE
#ifdef CONFIG_TI814X_MIN_CONFIG
#define CONFIG_IDENT_STRING " DM8127_IPNC_3.80.00 min"
#else
#define CONFIG_IDENT_STRING " DM8127_IPNC_3.80.00"
#endif
/ Unsupported features /
#undef CONFIG_USE_IRQ

#endif / ! __CONFIG_TI8148_IPNC_H /

好了,u-boot/include/configs/ti8148_ipnc.h這個最重要的平臺信息匯總文件修改告一段落。

7、u-boot/arch/arm/lib/board.c和u-boot/board/ti/ti8148_ipnc/evm.c的修改
無論是ubootmin還是uboot,所有的DDR3初始化,NAND初始化,PLL初始化,外設芯片初始化,GPIO管腳復用設置,都在這兩個文件去修改。當然修改之前,一定要先了解DM8127的管腳復用,如果嵌入式軟件工程師特別是驅動工程師不了解這個管腳復用,根本就玩不轉DM8127。我們先看源碼:
u-boot/board/ti/ti8148_ipnc/mux.h
還要就是要看DM8127 芯片DATASHEET第153頁開始的表格(PINCNTLx Registers MUXMODE Functions),同時結合DM8127用戶手冊sprugz8g.pdf去分析DM8127功能模塊的復用情況。
這里本人舉個例子:
/ 256-UART5_RXD 227-UART5_TXD /
/ldz_add (228)GP3_20:rs485_2_en/
/ -228 / BIT(0), BIT(5), BIT(5), BIT(7),
這里是復用寄存器表從225到228對應的地址偏移,上面我們要把GP3_20設置成GPIO模式,使能UART5,那么UART5對應PINCNTLx Registers MUXMODE Functions的管腳和對應的寄存器偏移地址是226和227,BIT(5)表示使用UART5,里面的(5)標示第5種模式就是使用UART5,GP3_20要配置成GPIO模式必須設置228寄存器偏移地址為BIT(7),里面的(7)表示GPIO模式。 (0)表示默認disable模式或者TI對應管腳默認模式。
上面提到的DM8127功能模塊初始化,我們需要看看board.c的sequence[]里面的初始化函數和evm.c的board_init()函數??梢詮倪@兩個文件去修改添加一些初始化,GPIO默認狀態初始化等等,看源代碼就清楚了,這里不累贅。
DM8127的UBOOT裁剪和簡單移植上面基本介紹結束,本人這里是介紹比較簡單,因為人家TI 第3方APPRO RDK軟件包做得很好了,比如在UBOOT測試一些外設硬件,可以看看common\\ cmd_autotest.c,非常有用,當然你要在UBOOT添加很多功能,可以自己在這個RDK的UBOOT軟件包的基礎上深入去設計。有關DM8127開發攻略基本寫得差不多了,本人總發現時間不夠用,公司除了開發完DM8127各種客戶定義功能,還得忙開發廉價平臺海思平臺Hi3516A/D,這個廉價平臺1080P方案也基本開發結束。公司現在全力開發支持深度學習算法得一個新的嵌入式平臺,國內某個獨角獸公司已經推出類似產品了,還有其他大公司也開發出產品了,我們也不能落后太多,到時候再公布,為一些有好算法的公司提供可靠嵌入式平臺。本人這里再次強調一下,DM8127適合傳統機器視覺算法運行,運行不了深度學習算法。在很多圖像分析方面,不一定要使用深度學習算法。還有, TI 的浮點DSP非常適合不同功能的C/C++算法移植,海思平臺的算法是固化到芯片,只能做某方面的圖像處理,而FPGA對很多只專長C/C++算法的而欠缺硬件知識來說,開發FPGA是一件很痛苦的事情,現在產品生命周期很短,抓緊時間搶占市場才是王道,否則到后期產品打價格戰,后來推出沒價格優勢的平臺會輸得很慘。

總結

以上是生活随笔為你收集整理的图像识别DM8127开发攻略——UBOOT的移植说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

午夜免费福利片 | 久久九九久久九九 | 中文字幕电影网 | 精品免费国产一区二区三区四区 | www.啪啪.com| 97精品欧美91久久久久久 | 免费在线中文字幕 | 欧美极品xxxx | www.成人sex| 91伊人影院 | 欧美久久久久久久久久 | 伊人成人精品 | 国产精品一区二区果冻传媒 | 日韩精品久久中文字幕 | 碰超人人 | 四虎国产永久在线精品 | 正在播放日韩 | 久久 国产一区 | 欧美一区二区在线免费看 | 亚洲成av人片在线观看无 | 久草线 | 99热最新在线| 国产男女免费完整视频 | 成人av一区二区在线观看 | 免费久久久 | 人人爽久久久噜噜噜电影 | 亚洲天堂网站 | 天天操天天射天天添 | 久久国产精品偷 | 日日夜夜网站 | 97免费中文视频在线观看 | 99久久国产免费免费 | a级片网站 | 三级视频日韩 | 午夜视频在线观看一区二区三区 | 久久久久国产精品www | 成人一级电影在线观看 | 观看免费av| 久久精品99久久久久久2456 | 国产精品a久久 | 91片黄在线观看动漫 | 夜夜操狠狠干 | 黄色在线观看免费 | 91网在线看| 久久久精品一区二区三区 | 久在线观看 | 色www永久免费 | 国产男男gay做爰 | 国产精品涩涩屋www在线观看 | 欧美韩国日本在线 | 天天爱天天操 | 一区二区三区视频网站 | 99久久激情视频 | 九九精品视频在线观看 | 韩国一区视频 | 97国产| 日本少妇久久久 | 色a资源在线 | 91精品中文字幕 | 蜜臀av性久久久久av蜜臀三区 | 在线 高清 中文字幕 | 懂色av懂色av粉嫩av分享吧 | 亚洲视频999 | 97中文字幕 | 91精品国产自产在线观看永久 | 美女视频黄在线 | 91九色porn在线资源 | 国产香蕉久久 | 国产午夜精品一区二区三区四区 | 美女免费视频观看网站 | 人人草在线观看 | 天天五月天色 | 在线观看免费视频你懂的 | 中国成人一区 | 欧日韩在线 | 日本久久综合网 | 成人久久免费视频 | 欧美va天堂va视频va在线 | 欧美日韩亚洲在线 | 亚洲精品18日本一区app | 在线国产能看的 | 婷婷色中文网 | 在线免费中文字幕 | 国产成人精品一区二区 | 五月婷婷视频在线 | av成人在线看 | 久久婷亚洲五月一区天天躁 | 久久精品国产一区二区电影 | 一区二区激情 | 九九久久久 | 亚洲精品91天天久久人人 | 91精品国产99久久久久久红楼 | 成人一级片在线观看 | 精品在线看 | 狠狠躁18三区二区一区ai明星 | 国产女人18毛片水真多18精品 | 激情婷婷在线观看 | 97视频免费在线看 | 免费a一级 | 偷拍区另类综合在线 | 免费在线中文字幕 | 欧美精品久久天天躁 | 久久a国产 | 91丨精品丨蝌蚪丨白丝jk | 日韩欧美国产成人 | 欧美日韩在线精品一区二区 | 69视频国产 | 午夜精品一区二区三区四区 | 美女国产网站 | 91看片淫黄大片在线播放 | 在线网址你懂得 | 精品一区二区三区久久 | 一本—道久久a久久精品蜜桃 | 狠狠色网| 免费亚洲黄色 | 91精品国产欧美一区二区 | 日韩三级成人 | 18pao国产成视频永久免费 | 99久久精品久久久久久清纯 | 国产尤物在线 | 不卡视频国产 | 狠狠色伊人亚洲综合网站色 | 天天色天天射综合网 | 在线一区二区三区 | 色婷婷播放 | 香蕉免费 | 亚洲视频免费在线观看 | 最新午夜 | 五月婷婷综合色拍 | 日韩在线三区 | 亚洲欧美日韩国产一区二区 | 久草在线免费看视频 | 欧美性生活一级片 | 国色天香在线观看 | 日韩电影中文 | 2019av在线视频 | 久久99精品久久久久久三级 | 天天色综合久久 | 最新国产精品久久精品 | 午夜精品视频免费在线观看 | 精品国产一区二区三区四区在线观看 | 亚洲综合小说 | 99精品视频免费全部在线 | 久久不卡免费视频 | 国产999精品久久久 免费a网站 | 日韩小视频 | 一区二区激情视频 | www在线观看国产 | 欧美精品一区二区性色 | 成人av在线资源 | 国产福利在线免费 | 五月天久久综合网 | 在线亚洲小视频 | 特级黄录像视频 | 国产精品免费观看视频 | 久久久久久久久久久影院 | 六月丁香综合 | av电影在线免费观看 | 亚洲人成网站精品片在线观看 | 国产精品麻豆欧美日韩ww | 91大神免费在线观看 | 精品999国产 | 国内视频一区二区 | 日韩性色 | 日本精品久久久久 | 天天干夜夜操视频 | 不卡av电影在线 | 欧美视频www | 久久久久亚洲最大xxxx | 中文字幕一区二区三区在线视频 | 日韩a级黄色片 | 天天操操操操操操 | 91精品在线免费观看视频 | 有码中文字幕在线观看 | 欧美精品亚洲精品日韩精品 | 久久久久免费电影 | 天天操狠狠操网站 | 美女在线观看av | 亚洲综合激情五月 | 激情久久五月天 | 国产一区私人高清影院 | 国产精品综合久久久久久 | 久久成人麻豆午夜电影 | 亚洲传媒在线 | 美女视频国产 | 日本中文字幕一二区观 | 91成人在线网站 | 国产高清在线一区 | 久草在线久草在线2 | 91成人破解版 | 成人av免费在线播放 | 国产999免费视频 | 韩国一区二区三区在线观看 | 丁香婷婷激情国产高清秒播 | 玖草在线观看 | 欧美性护士 | www.com操| 亚洲一区二区三区毛片 | 欧美韩国日本在线 | 成人中文字幕av | 国产精品国产三级在线专区 | 日韩中文字幕视频在线观看 | 成人污视频在线观看 | 五月综合久久 | 天天干中文字幕 | 国产在线精品福利 | 国产又粗又长又硬免费视频 | 色在线网站 | 久草在线观看资源 | 欧美日韩一区二区三区视频 | 蜜臀av免费一区二区三区 | 人人插人人看 | 国产精品久久久亚洲 | 久久99精品国产麻豆婷婷 | 亚洲小视频在线观看 | 久久综合在线 | 在线看片成人 | 精品视频免费观看 | 日韩偷拍精品 | 亚洲午夜精品福利 | 99精品乱码国产在线观看 | 999久久国精品免费观看网站 | 色播99| 福利视频一二区 | 欧美性大胆 | 黄色官网在线观看 | 在线观看深夜福利 | 亚洲午夜av电影 | av在线网站大全 | 首页av在线 | 最近日本韩国中文字幕 | 十八岁免进欧美 | 欧美日韩一级视频 | 蜜桃视频在线视频 | 色一级片 | 精品视频亚洲 | 久久视频国产 | 亚洲国产精品推荐 | 国产成人99av超碰超爽 | 成人永久在线 | 美女在线观看av | 日韩在线观看视频中文字幕 | 国产成人一区二区三区在线观看 | 色资源在线观看 | 亚洲第五色综合网 | 国产男女无遮挡猛进猛出在线观看 | www.伊人色.com | 亚洲免费在线看 | 黄色成品视频 | 久久久久电影 | 97碰碰精品嫩模在线播放 | 亚洲激情久久 | 亚洲精品日韩在线观看 | 久久久91精品国产一区二区三区 | 三级av中文字幕 | 在线观看视频黄 | 天天操天天干天天玩 | 久久国产亚洲视频 | av理论电影| 97人人模人人爽人人喊中文字 | 国产不卡在线观看视频 | 亚洲视频大全 | 极品嫩模被强到高潮呻吟91 | 成人性生爱a∨ | 99久久婷婷国产一区二区三区 | 久久久国产精品视频 | 欧美日韩免费一区 | 久久成人精品电影 | 天天舔天天搞 | 久久久久国产精品www | 久久综合狠狠综合久久综合88 | 狠狠狠狠狠狠狠狠 | 久久精品毛片基地 | 精品久久久久久久久久岛国gif | 黄色在线看网站 | 国产一区电影在线观看 | 亚洲视频1区2区 | 久久精品一区二区 | 久久久电影网站 | 中文字幕在线观看视频一区二区三区 | 免费高清国产 | 亚洲成人一二三 | 99久久久久久久久 | 国产a国产 | 人人爽人人爽人人爽学生一级 | 欧美色插 | 婷婷在线视频 | 96久久精品 | 在线国产中文字幕 | 成年人app网址 | 激情在线网址 | 九九激情视频 | 日韩精品一区二区免费 | 国产高清 不卡 | 日韩av片免费在线观看 | 国产丝袜 | 免费看成人av | 中文字幕在线专区 | 免费看的黄网站 | 91精品网站| 久久综合色婷婷 | 成 人 免费 黄 色 视频 | 久久精品视频在线 | 久久高清国产视频 | 国产小视频在线播放 | 国产在线观看a | 在线看国产一区 | 探花视频在线观看免费版 | 色无五月| 国内久久 | 中文字幕中文字幕在线中文字幕三区 | 日本中文字幕一二区观 | 欧美伦理一区 | 91九色蝌蚪视频 | 中文字幕一区在线 | 视频在线99re | 开心激情综合网 | 91桃色国产在线播放 | 激情一区二区三区欧美 | 午夜精品成人一区二区三区 | 黄色精品在线看 | 久久精品综合网 | 成人蜜桃视频 | 国产主播大尺度精品福利免费 | 91亚洲网| 99热9 | 91在线最新 | 欧洲视频一区 | 日韩精品在线看 | av在线免费观看黄 | 高清av免费观看 | 丝袜美腿一区 | 91色影院 | 激情久久久久久久久久久久久久久久 | www.综合网.com| 国产高清久久 | 亚洲视频 一区 | 中文字幕一区二区三区在线视频 | 男女全黄一级一级高潮免费看 | 国产日韩欧美在线观看视频 | 91黄色在线视频 | 国产成人精品电影久久久 | 91一区啪爱嗯打偷拍欧美 | 欧美日韩一区二区三区不卡 | 91久久一区二区 | 欧美91精品国产自产 | 国产一级二级在线 | 欧美精品网站 | 女人18毛片90分钟 | 久久综合欧美 | 国产a国产a国产a | 亚洲综合色视频在线观看 | 五月婷婷,六月丁香 | 深夜精品福利 | 久久刺激视频 | 日本一区二区免费在线观看 | 久久爱992xxoo | 9ⅰ精品久久久久久久久中文字幕 | 99精品免费久久久久久日本 | 一本一本久久a久久精品综合 | 欧美精品久久久久久久亚洲调教 | 久久99爱视频 | 高清不卡一区二区三区 | 国产日韩在线播放 | 最近中文字幕高清字幕在线视频 | 免费看色视频 | www.五月天婷婷.com | 香蕉影视在线观看 | 亚洲综合在线视频 | 91成人精品一区在线播放69 | 亚洲视频网站在线观看 | 麻豆影视在线免费观看 | 在线观看网站av | 亚洲国产字幕 | 久久综合免费视频影院 | 亚洲涩涩网 | a级国产片| 婷婷六月天综合 | 成人久久毛片 | 伊人婷婷在线 | 国产精品九色 | 亚洲资源片| 久久精品综合 | 国产流白浆高潮在线观看 | 日韩成人免费电影 | 99热精品国产一区二区在线观看 | 久久精品三级 | 成人免费视频免费观看 | 99久久精品国产一区二区成人 | 超碰在线公开免费 | 人人澡人人澡人人 | 久久成视频 | 最近久乱中文字幕 | 又爽又黄又刺激的视频 | 日韩精品在线免费播放 | 中文字幕在线人 | 在线99视频 | 国产乱视频 | 91最新视频 | 一区 二区电影免费在线观看 | 97碰碰碰| 91麻豆精品久久久久久 | 亚洲精品国精品久久99热一 | 国产中文字幕一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 日韩三区在线观看 | 欧美性色网站 | 91看片淫黄大片一级在线观看 | 久久久免费看片 | 人人爽人人av | 成年人视频在线观看免费 | 久久精品国产免费看久久精品 | 精品国产伦一区二区三区观看说明 | 日日干影院 | 深爱激情五月婷婷 | 欧美一级视频免费 | 日韩电影在线观看一区二区 | 91色国产在线 | 中文字幕五区 | 国产一级一级国产 | 曰韩在线| 久久综合色8888 | 久久久久一区二区三区四区 | 免费av在线播放 | 久久久国产一区二区三区 | 色综合久久88| 高清av不卡| 最近中文字幕 | 亚洲免费观看视频 | 99久久精品久久久久久清纯 | 精品免费国产一区二区三区四区 | 麻豆久久久久久久 | 国产高清视频在线观看 | 久久久久成 | 91成人精品一区在线播放69 | 中文字幕国产一区二区 | 91精品一区二区在线观看 | 日日夜夜免费精品视频 | 日韩激情中文字幕 | 日韩av网站在线播放 | 女人18精品一区二区三区 | 成人久久电影 | 久久免费看毛片 | av黄色亚洲 | 日韩成片 | 综合激情久久 | 又黄又爽又色无遮挡免费 | 在线观看理论 | 狠狠色综合网站久久久久久久 | 天天色成人网 | 丁香六月久久综合狠狠色 | 色综合久久中文字幕综合网 | 国产精品久久久久久久久蜜臀 | 亚洲精品在线免费播放 | 奇米影视在线99精品 | 亚洲精品视频观看 | 午夜精品福利在线 | 日韩美在线观看 | 在线观看免费一区 | 欧美黄色特级片 | 久久久久久久网 | 亚洲精品中文字幕在线 | 在线色资源 | 欧美男同视频网站 | 日韩在线视频网址 | 一区二区三区视频网站 | 在线观看深夜福利 | 美女很黄免费网站 | 日本韩国精品在线 | 久草在线资源观看 | 免费久久精品视频 | 国内毛片毛片 | 青青草久草在线 | 欧美日韩在线电影 | 国内外成人在线 | 在线亚洲精品 | 亚洲一区二区视频在线 | 久久久久久久久久久久久国产精品 | 久久免费99 | 一区二区三区免费 | 91刺激视频| 亚洲在线不卡 | 天天爽天天爽夜夜爽 | 在线免费看黄网站 | 日韩免费观看视频 | 国产精品久久久一区二区三区网站 | 久草国产在线观看 | 在线观看www91 | 久久日韩精品 | 日本天天操 | 免费在线 | 天天做天天爱天天综合网 | 日韩免费在线视频观看 | 亚洲亚洲精品在线观看 | 天天操操| www麻豆视频 | 特级a老妇做爰全过程 | 在线观看视频99 | 国产精品高清av | 精品国产伦一区二区三区观看说明 | 最新真实国产在线视频 | 国产一区二区三精品久久久无广告 | 一区二区三区免费在线观看视频 | 黄色a在线 | 蜜臀一区二区三区精品免费视频 | 黄色三级免费片 | 狠狠狠狠狠色综合 | 狠狠干网址 | 九色porny真实丨国产18 | 少妇做爰k8经典 | 国产精品免费久久久久影院仙踪林 | ww亚洲ww亚在线观看 | 国产免费久久精品 | 97超级碰碰 | 在线 高清 中文字幕 | av福利在线免费观看 | 五月开心婷婷网 | 日韩精品免费在线播放 | 日韩欧美久久 | 麻豆视频一区二区 | 黄色三级免费网址 | 中文字幕超清在线免费 | 日韩免费视频网站 | 欧美日韩免费一区二区三区 | 欧美va电影 | 精品美女久久久久 | 成人综合婷婷国产精品久久免费 | 国内精品久久久久久久久久 | 日本久久久久久 | 日本在线视频一区二区三区 | 福利一区二区 | 国产亚洲精品久 | 精品国产一区二 | 96精品视频 | 91香蕉视频 mp4 | 久久精品一二三区白丝高潮 | 99性视频 | 色小说在线 | 国产黄a三级三级三级三级三级 | 国产蜜臀av | 免费下载高清毛片 | 91精品黄色| 午夜国产福利在线观看 | 国产在线更新 | 欧美性生活小视频 | 国产探花在线看 | 国产精品女视频 | 日本中文字幕在线 | 成人免费xxxxxx视频 | 色999在线 | 在线一二区| 在线免费中文字幕 | 久久1区 | 国产a级片免费观看 | 亚洲天堂自拍视频 | 国产黑丝一区二区三区 | 99re亚洲国产精品 | 中文在线字幕免费观看 | 国产女教师精品久久av | 免费人人干 | 综合成人在线 | 国产丝袜美腿在线 | 97色在线视频 | 欧美色图88 | 国产精品久久久久久久久久新婚 | 国产美女精品久久久 | .国产精品成人自产拍在线观看6 | 免费国产在线精品 | 永久免费观看视频 | 国产精品淫 | 精品国偷自产国产一区 | 国产精品美女久久久久久久久 | 午夜久久福利影院 | av福利第一导航 | 天天干天天干天天干天天干天天干天天干 | www久久| 91丨九色丨高潮 | 日韩av看片 | 久久成人精品 | av在线色 | 激情综合五月 | 亚洲精品合集 | 丝袜美腿一区 | 三级视频片 | 不卡av电影在线观看 | 日韩免费福利 | 热re99久久精品国产66热 | 狠狠干夜夜操天天爽 | 久久国内精品 | 成人一级片免费看 | 人人讲 | 在线日韩视频 | 日本精品久久久久中文字幕 | 久久精品一二三区白丝高潮 | 狠狠操狠狠干天天操 | 国产一区影院 | 色久天| 国产在线观看中文字幕 | 精品国产欧美一区二区三区不卡 | 久久精品亚洲一区二区三区观看模式 | 中文字幕第一页在线视频 | 91视频观看免费 | 成人在线免费av | 久久久资源| 天天综合网久久综合网 | 99热这里只有精品久久 | 99在线热播| 久久久国产电影 | 狠狠色丁香九九婷婷综合五月 | 在线看成人| 国产精品入口麻豆 | 精品影院一区二区久久久 | 狠狠色丁香婷婷综合久小说久 | 久久艹影院 | 欧美成人tv| 最新国产在线视频 | 99精品视频免费全部在线 | 韩国视频一区二区三区 | 成人小视频在线观看免费 | 国产在线视频一区二区 | www.色就是色 | 日日爽天天操 | 日韩精品一区二区免费 | 91精品啪 | av高清一区二区三区 | 亚洲国产电影在线观看 | 在线观看av中文字幕 | 免费成人在线电影 | 精品国产电影一区 | 日韩成人精品一区二区三区 | 香蕉视频网站在线观看 | 日韩在线观看网址 | 粉嫩一区二区三区粉嫩91 | 激情视频在线高清看 | 日韩视频区 | 久久精品高清 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | www.777奇米 | 狠狠色噜噜狠狠 | 亚洲电影一级黄 | 91久久国产露脸精品国产闺蜜 | 免费网站在线观看人 | 操处女逼| 中文字幕日韩伦理 | 久久久久久草 | 激情视频一区 | 日日操夜夜操狠狠操 | 中文字幕在线专区 | 亚洲专区中文字幕 | 久久国产网站 | 久久精品中文字幕免费mv | 久久黄色小说 | 日韩中文字幕亚洲一区二区va在线 | 丁香综合五月 | 美国av片在线观看 | 欧美成人h版电影 | 免费福利在线观看 | 国产精品美女久久久久久久网站 | 成人黄大片| 91福利影院在线观看 | 日韩三级在线观看 | 日韩欧美在线观看一区二区 | 中文字幕在线一二 | 91视频在线免费下载 | 91精品国产福利在线观看 | 欧美日韩免费一区二区 | 国产高清成人av | 亚洲资源网| 久久精品美女视频 | 人人干天天干 | www激情com | 久久国产片 | 国产精品国产三级国产aⅴ无密码 | 在线观看av麻豆 | 久久艹国产视频 | 激情网在线视频 | 一区二区三区免费 | 欧美成人在线免费 | 国产99久久久国产精品免费看 | 国产综合婷婷 | 久久综合九色 | 国产精品亚洲人在线观看 | 亚洲精品ww | 怡春院av | 一级一片免费视频 | 人人插人人插 | 中文字幕91在线 | 天天看天天干天天操 | 国产高清中文字幕 | 欧美亚洲成人xxx | 中文字幕在线观看第一页 | 中国一级特黄毛片大片久久 | 国产一线二线三线性视频 | 九九热精品视频在线观看 | 在线观看亚洲免费视频 | 国产亚洲精品久久久久久久久久 | 亚洲视频精选 | 国产精品三级视频 | 亚洲五月激情 | 欧美午夜一区二区福利视频 | 毛片美女网站 | 97色在线观看 | 狠狠干天天 | 99久久99久久精品国产片 | 精品久久久影院 | 99精品国产在热久久下载 | 日本中文在线观看 | 国产香蕉视频 | 日本精品久久久一区二区三区 | 久久免费电影网 | 国产精品久久久久久婷婷天堂 | 久久久久观看 | 五月天婷婷在线观看视频 | 夜夜高潮夜夜爽国产伦精品 | 日韩69视频 | 婷婷深爱激情 | 91热视频在线观看 | 国产人成在线视频 | 国产美女免费看 | 中文字幕精品一区久久久久 | 免费在线看v | 三级黄色a | 国产精品久久网站 | 探花视频免费观看 | 欧美精品你懂的 | 国产资源免费在线观看 | 97小视频| 99精品偷拍视频一区二区三区 | 亚洲h视频在线 | 国产精品99久久久久久人免费 | 91成人精品| 国产色婷婷精品综合在线手机播放 | 成人影片免费 | 日韩黄色在线观看 | 亚洲免费精品一区二区 | 亚洲国产一区二区精品专区 | 国产精品理论视频 | 日韩精品一区二区三区视频播放 | av在线a| 国产精品va在线观看入 | 国产高清成人 | 人人狠狠综合久久亚洲 | 久久婷婷久久 | 久久久久久久国产精品视频 | 国产一区二区在线免费播放 | 成人亚洲精品国产www | 97电影院在线观看 | 久久亚洲影院 | 69精品在线 | av亚洲产国偷v产偷v自拍小说 | 欧美性受极品xxxx喷水 | 香蕉视频啪啪 | 韩国精品视频在线观看 | 97在线观看免费视频 | 国产一区精品在线观看 | av在线播放一区二区三区 | 99re8这里有精品热视频免费 | 国产精品美女久久久久久网站 | 怡春院av | 午夜国产一区二区三区四区 | 中文字幕国产 | 日韩精品一区二区三区电影 | 免费在线观看国产黄 | 久久成人久久 | 国产精品爽爽久久久久久蜜臀 | 91资源在线观看 | 国产高清视频在线播放 | 婷婷在线视频 | 国产精品 日本 | 国产精品久久久久久久久久久久久久 | 久久久久久久久久久久av | 狠狠干狠狠插 | av在线专区| 久久免费激情视频 | 日韩在线视| 国产午夜精品一区二区三区在线观看 | 亚洲欧美日韩精品久久久 | 在线观看www视频 | 中文字幕一区二区三区在线观看 | 欧美日韩免费在线观看视频 | 精品影院一区二区久久久 | 91高清不卡 | 国产精品自拍在线 | 日韩av在线一区二区 | 97超碰在线免费 | 色五月色开心色婷婷色丁香 | 国产成人精品久 | 日韩一区视频在线 | av不卡在线看 | 亚洲成熟女人毛片在线 | 在线播放视频一区 | 国产精品美女网站 | 午夜精品久久久久久久99无限制 | 蜜臀久久99精品久久久无需会员 | 在线观看免费 | 91九色免费视频 | 久久r精品 | 麻豆精品视频在线 | 99精品视频在线播放观看 | 国产九九热 | 我要看黄色一级片 | 国产网站在线免费观看 | 干 操 插| 久久亚洲国产精品 | 伊人六月 | 碰天天操天天 | av 在线观看 | 亚洲综合在| 99久久国产免费免费 | 在线观看亚洲精品视频 | www日韩精品 | 色综合夜色一区 | 亚洲精品视频在线观看免费视频 | 亚洲日本va午夜在线影院 | 久久久国内精品 | 午夜在线观看 | 欧美 日韩 国产 中文字幕 | 伊人电影天堂 | 97视频总站 | 97在线观看视频国产 | 日韩在线电影 | 久久久久亚洲精品 | 日韩午夜大片 | 国产免费久久久久 | 91久久人澡人人添人人爽欧美 | 99激情网 | 久久人人爽视频 | 免费一级片在线观看 | 欧美一区在线观看视频 | 色九色| 国产一二区视频 | 国产精品久久99综合免费观看尤物 | 91视频免费看 | 久久精品国产免费 | 99视频精品全国免费 | 国产91区 | 亚州av免费 | 日韩在线视频一区 | 99热这里只有精品国产首页 | 国产一区在线免费观看视频 | 亚洲永久免费av | 欧美日韩一区二区视频在线观看 | 中文av在线免费观看 | 中文字幕在线影视资源 | 在线视频中文字幕一区 | 中文字幕av免费在线观看 | www.夜夜骑.com | 搡bbbb搡bbb视频 | 手机av在线网站 | 日本公妇在线观看 | 久久久久福利视频 | 337p日本欧洲亚洲大胆裸体艺术 | 午夜精品福利在线 | www.香蕉视频 | 97色婷婷成人综合在线观看 | 人人干在线观看 | 日韩专区在线观看 | 国产精品成久久久久三级 | 奇米777777 | 国产精品区免费视频 | 国产精品igao视频网入口 | 中文字幕在线播放第一页 | 最近中文字幕在线 | 日本韩国中文字幕 | 精品国产伦一区二区三区 | 日日干美女 | 97香蕉久久超级碰碰高清版 | www免费视频com | 91麻豆精品国产91久久久无限制版 | 亚洲国产精品成人av | 最新中文字幕在线播放 | 久草久草在线观看 | 国产99爱 | 午夜精品一区二区三区视频免费看 | av中文在线 | 国产96视频| 午夜免费福利片 | 在线观看午夜 | www天天干 | 久久久久久久久久久免费av | 免费看国产精品 | 中文字幕在线国产 | 久久久久久久久黄色 | 国产69久久 | jizz18欧美18 | 午夜精品久久久久久久久久 | 最新国产精品亚洲 | 精品国产一区二区三区久久久久久 | 一级一级一片免费 | 中文字幕高清免费日韩视频在线 | 91av蜜桃| 91传媒91久久久 | 丁香五婷 | 在线视频一二三 | 亚洲欧洲精品久久 | 日韩一区正在播放 | 亚洲精品乱码久久久久久写真 | 韩日精品中文字幕 | 国产视频2 | 色婷婷综合久色 | 日本九九视频 | 日韩欧美国产视频 | 日日操天天爽 | 日韩激情在线 | 日韩中文字幕视频在线 | 一本一本久久aa综合精品 | www.久草.com | 500部大龄熟乱视频使用方法 | 亚洲va欧美va人人爽春色影视 | 伊人资源站 | 特级a老妇做爰全过程 | 亚洲日本欧美在线 | 色av男人的天堂免费在线 | 日本午夜免费福利视频 | 91av电影在线 | 久久亚洲精品国产亚洲老地址 | 激情文学综合丁香 | 96超碰在线 | 伊人一级 | 欧美va电影 | 91九色丨porny丨丰满6 | 国产精品 中文在线 | 久久黄色片子 | 亚洲国产小视频在线观看 | 又黄又刺激 | 免费在线一区二区三区 | 免费中文字幕视频 | 99爱这里只有精品 | 日韩精品中文字幕av | 国产一区二区三区高清播放 | 992tv又爽又黄的免费视频 | 午夜精品久久久久久久99热影院 | 超碰在线97国产 | a天堂最新版中文在线地址 久久99久久精品国产 | 最新极品jizzhd欧美 | 免费在线国产精品 | 人人爽人人爽人人爽 | 久久伦理 | 国产在线视频一区二区 | 一区电影 | 一区二区三区国产欧美 | 在线91网 | 午夜视频在线观看一区二区 | 免费看的国产视频网站 | 91九色国产 | 亚洲1级片 | 黄色国产大片 | 国产99色| 成人免费网站在线观看 | 丁香婷婷社区 | 天天色婷婷 | 狠狠色狠狠色终合网 | 91成人欧美 | 51精品国自产在线 | 欧美日韩xxxxx| 超碰在线97免费 | 国产精品va在线播放 | 精品视频区 | 国产成人精品一区二区三区福利 | 久在线观看 | 一级c片 | 99久久这里有精品 | 99精品国产成人一区二区 | 91桃色在线观看视频 | 色五丁香 | 四虎影视4hu4虎成人 | 黄在线免费看 | 国语精品视频 | 亚洲1区 在线 | 毛片二区 | 18岁免费看片 | 激情影院在线观看 | 麻豆视频免费看 | 国产在线观看二区 | 日韩视频一区二区在线观看 | 婷婷丁香社区 | 国内精品在线看 | 蜜臀av免费一区二区三区 | 国产无遮挡猛进猛出免费软件 | 日韩丝袜在线观看 | 欧美电影在线观看 | 香蕉影视 | 日韩成片| av在线成人| 亚洲精品视 | 欧美在线aa| 日韩精品视频免费 | 九九影视理伦片 | 欧美精品你懂的 | 成年人看片网站 | 一区二区三区日韩在线 | 日韩一区二区三区高清在线观看 | 国产不卡一二三区 | 国产成人99av超碰超爽 | 亚洲精品中文字幕视频 | 久艹视频免费观看 | 免费a网址 | 狠狠干天天操 |