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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图像识别DM8127开发攻略 ——RDK软件架构浅析及编译

發(fā)布時間:2024/3/26 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图像识别DM8127开发攻略 ——RDK软件架构浅析及编译 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上上一篇文章《圖像識別DM8127開發(fā)攻略——開發(fā)環(huán)境搭建》介紹了DM8127的開發(fā)環(huán)境搭建,那么本篇開始描述整個IPNC RDK的架構(gòu),如果這個IPNC RDK都不熟悉,后面的移植工作基本無法進行下去,也無法深入學習和掌握DM8127的開發(fā)流程。要熟悉APPRO DM8127 軟件架構(gòu),先看IPNC_RDK_InstallGuide.pdf,然后再去看看RDK包里Collaterals文件目錄下的兩個重要文件:IPNC_RDK_McFW_UserGuide.pdf和IPNC_RDK_Application_DesignGuide.pdf,我們下面的介紹會提到這些文件里面的內(nèi)容。
IPNC_RDK里面的軟件包Source文件夾內(nèi)容,這里還是以截圖的方式去了解DM8127的軟件架構(gòu)更合適。

上圖是RDK軟件包最核心的東西,ipnc_rdk和ti_tools。

其中ipnc_rdk主要有4個文件夾,以及最重要的總Makefile和總的Rules.make,那些build_xx_xx.sh腳本是本人自己加的。
而ti_tools目錄下有很多TI 的工具包,見下圖:

一、ti_tools介紹

我們先介紹ti_tools,這里面是TI 提供的很多編譯工具包和LIB文件,
1、 其中:ipnc_psp_arago存放了我們需要移植的u-boot(u-boot-2010.06)和kernel(linux-2.6.37)源碼。u-boot的編譯和移植,kernel的編譯和移植后面的文章再介紹。這個文件夾下面還有個docs的文件夾,里面有很多和驅(qū)動移植有關(guān)文檔。

2、iss_03_80_00_00:也是需要移植的軟件包,所有調(diào)試CMOS SENSOR驅(qū)動(比如添加一款新的SONY IMX、OV、ON等CMOS SENSOR)都需要在這個軟件包里面去調(diào)試,包括LVDS接口采集RAW DATA,并行口驅(qū)動采集RAW DATA,BT656接口采集YUV422 DATA,BT1120接口采集YC DATA啊等等,還有CMOS 2A(自動白平衡,自動曝光)算法,降噪處理,都在這個iss_03_80_00_00目錄下去移植調(diào)試,重點去看iss_03_80_00_00/packages/ti/psp/目錄下的源碼,這個和以前的DM6446啊,DM3730啊在內(nèi)核添加的V4L2這些驅(qū)動做法完全不一樣了。DM8127跟DM8147-8148-8168的差別就在這個iss模塊,DM8127帶有ISP功能,可以接RAW DATA格式的CMOS。?
3、Linux_devkit是DM8127平臺的ARM交叉編譯工具,APPRO集成在這個ti_tools里面來了。
4、其他ti_tools軟件包都是現(xiàn)成的LIB 或者DSP編譯工具,兩個ARM CORTEX-M3核的編譯工具也在這里,這些工具不需要我們?nèi)ヒ浦查_發(fā),大家可以進到對應(yīng)的文件夾里面去了解。

二、ipnc_rdk介紹

1、ipnc_rdk/ipnc_app目錄下:

上圖里面的都是最上層的linux app應(yīng)用程序,其中ty_app是本人自己添加的,里面有自己寫的gpio應(yīng)用程序,rs232測試程序,rs485測試程序,等等,其他的APP介紹可以看看IPNC_RDK_Application_DesignGuide.pdf,里面有詳細的描述。DM8127 RDK運行DEMO程序的時候,一般是先從sys_server源碼開始運行的,我們不妨從NFS 文件系統(tǒng)即ipnc_rdk/target/filesys/etc/init.d/finish_ubifs.sh的腳本了解:
cd /opt/ipnc
./init.sh
./system_server
sleep 7
./autorun_ipnc.sh
執(zhí)行system_server就是執(zhí)行sys_server編譯的應(yīng)用程序。
其他的web服務(wù)器程序,network程序(包括大家非常熟悉的boa和live555)這種常用的應(yīng)用程序就不要介紹了,一看就明白這些功能,運行system_server的時候也可以同時運行這些應(yīng)用程序,就在autorun_ipnc.sh里面執(zhí)行。

2、 target目錄
這個目錄下的filesys就是我們開發(fā)的時候使用的NFS文件系統(tǒng),在上上一篇《圖像識別DM8127——開發(fā)環(huán)境搭建》有介紹。
3、 tftp
這個文件我們沒有用到,也可以當作一個臨時保存BIN文件的文件夾。而我們的TFTP SERVER放在linux ubuntu主機/tftpboot目錄下。
4、 最重點的ipnc_mcfw

Mcfw: Multi Channel Framework多通道幀同步工作機制,我們要配合IPNC_RDK_McFW_UserGuide.pdf一起分析這個mcfw,主要是掌握視頻數(shù)據(jù)流是如何在VPSS CORTEX-M3, VIDEO CORTEX-M3, CORTEX-A8 還有C674X DSP四個核之間是如何同步工作的;?
A、ipnc_mcfw/bin?

ipnc_mcfw/bin/ti814x里面有編譯mcfw模塊出來的對應(yīng)的一些可執(zhí)行文件,LIB,驅(qū)動文件KO,另外scripts有對應(yīng)的運行腳本,大家可以進去看看就明白了。這編譯得到的可執(zhí)行文件,LIB,驅(qū)動文件KO, scripts里面的運行腳本,還有init.sh腳本都會COPY到NFS文件系統(tǒng)target/filesys/opt/ipnc目錄下,后面編譯描述會提到。

B、ipnc_mcfw/build
這個文件夾存放了編譯mcfw大部分的臨時文件,.obj文件,還有一些LIB文件,驅(qū)動臨時文件。4個核編譯的臨時文件都放在這個目錄下,這樣管理本人比較喜歡,不像UBOOT和KERNEL這些編譯的臨時文件都放在同樣的文件下面,不好備份。

C、ipnc_mcfw/demos/
重點看mcfw_api_demos/ multich_usecase和stream文件夾下面的源碼,這些都是IPNC DEMO的應(yīng)用程序。
D、ipnc_mcfw/makerules/

四個核的編譯規(guī)則級編譯腳本,非常重要,本人花了一些時間去研究這4個核是如何編譯的,還有在DSP端移植C++算法的時候,是如何支持.cpp源文件編譯,都需要在這些腳本下面修改,怕修改錯就先bk備份一下再修改,這些編譯規(guī)則腳本有些參數(shù)看不懂,可以看看同一個目錄下的docs文件夾的makerules_spec.doc。

E、ipnc_mcfw/mcfw

整個DM8127 RDK 最有用的核心部分就是這個mcfw了。4個核配合工作的源碼,其中M3 VPSS、M3 VIDEO和C674X DSP都是使用BIOS編譯,所以他們的代碼都放在src_bios6,而CORTEX-A8 放在src_linux里面。比如自己添加DSP算法可以放到links_c6xdsp/alg目錄下,要在M3 VPSS做一些CMOS SENSOR前端采集的程序可以在links_m3vpss處理,要在H264壓縮和解碼之前做一些代碼移植可以進到M3 VIDEO,即 links_m3video目錄下去工作,比如我們在M3 VPSS核添加自己公司(ty)的任務(wù):links_m3vpss/tyLink/tyLink_tsk.c和tyLink_priv.h,然后修改上一級目錄的SRC_FILES.MK讓tyLink_tsk.c被編譯到。而links_common里面的源碼是可以被DSP核,M3 VPSS核,M3 VIDEO核共用,這個需要注意。網(wǎng)上已經(jīng)有一篇其他網(wǎng)友的文章如何在這個mcfw目錄下去添加DSP 端運行算法的例子(http://blog.csdn.net/guo8113/article/details/20149191),那篇文章主要在DM8148/DM8168平臺上實現(xiàn)的,其實和DM8127完全一樣,可以直接借鑒。還有一種直接使用TI?現(xiàn)成的links_common/null/nullLink_tsk.c基礎(chǔ)上去添加DSP接口,讓nullLink_tsk.c被DSP 單獨編譯,而不是作為M3 的程序去編譯,然后去src_linux/mcfw_api/usecases/xxxx.c去System_linkCreate()這個任務(wù)就可以了。
我們可以使用下面這個圖更深入了解:

上圖就是一個很經(jīng)典的視頻數(shù)據(jù)流的在4個核之間的通信,
A)、首先 從CMOS SENSOR采集到1080P的RAW DATA圖像數(shù)據(jù),在M3 VPSS這個核建立CAMERA LINK,去處理圖像數(shù)據(jù),先把RGB格式轉(zhuǎn)換成YUV格式;
B)、然后ISS使用兩個Resizer,即Resizer A和Resizer B,對YUV格式再進一步處理,Resizer-A把1080P的數(shù)據(jù)轉(zhuǎn)換成YUV420SP(Y分量獨立保存,UV交叉獨立保存),統(tǒng)一保存到dup[0]這個緩存隊列(其實就是一大塊獨立的內(nèi)存空間);Resizer-B也在對初始的YUV格式進行Resizer縮小成720480這個標清圖像,也是YUV420SP(Y分量獨立保存,UV交叉獨立保存),并且統(tǒng)一保存到dup[1]另外一個獨立的緩存隊列,和上面的dup[0]是分開的。也就是說,dup[0]的1080P 數(shù)據(jù)拿去M3 VIDEO 核去H264編碼,dup[1]的720480數(shù)據(jù)拿去給DSP核 做視頻分析。
C)、通過一種link機制,M3 VPSS 核輸出數(shù)據(jù)給M3 VIDEO核,M3 VIDEO核拿到dup[0]的數(shù)據(jù)(其實就是一個指針隊列,共享內(nèi)存方式),再進行H264編碼,與此同時也通過link機制,把dup[0]數(shù)據(jù)直接輸出給HDMI接口。另外一條數(shù)據(jù)dup[1]通過link機制,把指針傳給DSP TSK,比如我們使用nullLink_tsk.c這種接口去調(diào)用我們的算法,或者通過link機制把標清720*480輸出到CVBS接口進行display,當然CVBS的格式是YUV422,這點需要注意。
D)、Dup[0]的數(shù)據(jù)經(jīng)過H264 Enc編碼后,以BIT流的方式,通過link機制,傳給CORTEX-A8,那么A8運行的應(yīng)用程序,比如live555就可以拿到這個bit流進行WEB播放。
有關(guān)上面提到的link機制,需要去看TI MCFW的用戶手冊,配合程序來分析??傊斫馔晟蠄D的講解,應(yīng)該對DM8127 MCFW的架構(gòu)有初步的了解,而不是滿頭霧水。本人能力一般,剛拿到APPRO 板子的時候,也不知如何去學習,即使看了很多遍那一大堆文檔,還是沒有掌握上圖的精髓,然后就是去搞大客戶的產(chǎn)品設(shè)計,這一塊就暫停了。后來有時間,配合程序分析,經(jīng)過高人蜻蜓點水講解,才對這個MCFW的數(shù)據(jù)流有了很好的認識,特別是高薪招了一個做過DM385的項目經(jīng)理,他對這個mcfw和相關(guān)link機制比較熟悉,幫本人解決了很多問題,我們相互配合,很快就把以前DM3730的視頻分析算法移植過來了,而且跑得還比較穩(wěn)定,算法運行效率當然比DM3730 定點DSP高多了,DM8127 浮點DSP就是好,很多浮點運算根本不要考慮優(yōu)化,整個浮點DSP就專門跑視頻分析算法,把分析出來的目標坐標和其他參數(shù)傳出來給其他核就OK了,根本不用去做多余的任務(wù)。

三、總的Rules.make和Makefile介紹
ipnc_rdk/Rules.make和ipnc_rdk/Makefile是整個RDK軟件包的最重要的編譯腳本,必須要吃透。

1、我們先介紹Rules.make:
SYSTEM_PLATFORM := IPNC (APPRO IPNC_RDK是針對高清網(wǎng)絡(luò)攝像機產(chǎn)品來設(shè)計的,而不是 DM8148那種TI 自己開發(fā)板的EVM開發(fā)包)

APP_BUILD_CFG := release (表示編譯RDK的時候是編譯的程序是產(chǎn)品release模式,可以去掉很多調(diào)試信息,如果使用debug則表示在編程編譯調(diào)試運行的時候需要)

BINARY_MODE := nand (表示編譯的uboot min是NAND FLASH模式,編譯出來的uboot min和uboot是要燒寫到NAND里面去的。如果是:=sd表示編譯的uboot min是MLO文件,放到SD卡里面,用在工廠生產(chǎn)和NAND 無程序時候調(diào)試用)

IPNC_DEVICE := DM8127 (選擇DM8127平臺,這個RDK當然也支持DM385和DM388不帶DSP的平臺)

IPNC_CONFIG := FULL_FEATURE (我們使用DSP 而且是必須CORETEX-A8 跑1G頻率,DSP 跑750MHz的模式)

MEMORY_CONFIG := 512MB (我們桐燁科技DM8127核心板使用512MB 字節(jié)的DDR3內(nèi)存,256MB根本不夠,因為我們帶DSP)

MTD_UTILS_MODE := 32bit (這個針對ipnc_rdk / target/ mtd-utils的編譯問題,如何你的linux開發(fā)主機是64bit的,則這里選擇64bit,我們這里的虛擬機還是使用32bit,所以這里選擇32bit,不要搞錯)

IMGS_ID := IMGS_MICRON_AR0330 (這里打個比方,你如果使用便宜的AR0330 200萬CMOS SENSOR,這里就定義這個宏定義,RDK里面的源碼一些頭文件需要加入這個宏定義,iss模塊里面到時候會去編譯iss_03_80_00_00/packages/ti/psp/devices/ ar0330相關(guān)驅(qū)動)

WDR_ON := YES (如果你的CMOS SENSOR支持寬動態(tài),使能這個)

LOW_POWER_OPP100_MODE := NO (這個選擇NO表示電源管理模式使用全速 ,非低功耗,和上面的FULL_FEATURE類似,如果選擇YES,DM8127 CORTEX-A8 跑600M, DSP 跑500MHz)

AES_MODULE_MODE := OFF (表示編譯的RDK包里面的各種程序模塊是否需要采用AES加密方式發(fā)布)

BUILD_WARNINGS_AS_ERROR := NO(這里本公司選擇NO,是因為編譯RDK的時候,如果選擇YES,有些定義的變量沒有用到,編譯器會把這種warning認為是錯誤,停止往下編譯,很煩人)

CAPTURE_DISPLAY_MODE_ON := YES
RAMES_TO_A8 := NO
(這里就是用戶要使用什么模式去用這個IPNC RDK的程序,這里的選擇對應(yīng)src_linux/mcfw_api/usecases/multich_capturedisplay.c這個例子,支持這個IPNC設(shè)備實現(xiàn)采集CMOS SENSOR 1080P和1080P HDMI顯示輸出的例子)

其他全局編譯宏定義可以直接使用RDK默認的,另外需要注意的是那些路徑宏定義,很重要比如:
BASE_INSTALL_DIR := $(shell pwd)/..
#Defining the install base directory for IPNC RDK
IPNC_INSTALL_DIR := $(BASE_INSTALL_DIR)/ipnc_rdk
TOOLS_INSTALL_DIR := $(BASE_INSTALL_DIR)/ti_tools
#The directory that points to the Linux Support Package
lsp_PATH := $(TOOLS_INSTALL_DIR)/ipnc_psp_arago
KERNELDIR := $(lsp_PATH)/kernel
UBOOTDIR := $(lsp_PATH)/u-boot

#The directory that points to where filesystem is mounted
FILESYS_INSTALL_DIR := $(IPNC_INSTALL_DIR)/target
TARGET_FS := $(FILESYS_INSTALL_DIR)/filesys //NFS 文件系統(tǒng)路徑
TARGET_APP := $(FILESYS_INSTALL_DIR)/ipnc
TARGET_FS_DIR := $(TARGET_FS)
MTD_UTILS := $(FILESYS_INSTALL_DIR)/mtd-utils/$(MTD_UTILS_MODE)

#The directory that points IPNC RDK source code
MCFW_ROOT_PATH := $(IPNC_INSTALL_DIR)/ipnc_mcfw
IPNC_DIR := $(IPNC_INSTALL_DIR)/ipnc_app
#The directory to root file system
ROOT_FILE_SYS:= $(TARGET_FS)
#target filesystem.
EXEC_DIR:=$(TARGET_FS)/opt/ipnc //NFS 文件系統(tǒng)對應(yīng)可執(zhí)行文件保存路徑

Rules.make后面的那些定義看看就明白了,比較好理解,定義一些全局變量的路徑,和宏定義。

2、介紹總的Makefile
總的Makefile一開頭就先include 上面介紹的總的Rules.make和ipnc_mcfw/makerules/下的腳本。
然后下面有很多編譯模塊(目標),4個核的程序編譯都在這個總Makefile, 去定義編譯。每個模塊編譯都是:
Xxxx:
Xxxx_clean:
Xxxx_all:
模式
如果對一些腳本定義不是很了解,可以在Makefile里面插入:
比如:echo "Hardware Platform : $(IPNC_DEVICE) $(SYSTEM_PLATFORM)"
這種方式去打印編譯信息,注意echo前需要tab鍵。
總的Makefile 編譯需要結(jié)合IPNC_RDK_InstallGuide.pdf 這個文件來看。
其實一個總的:make sysall,就可以編譯完所要開發(fā)的各個模塊,但是開發(fā)的時候不可能都去make sysall,這樣太浪費時間了,根本不用去開發(fā)軟件了。我們只好把make sysall涉及到的模塊全部分開來編譯,這樣需要開發(fā)到哪個模塊再去編譯。make sysall 后面會把編譯得到的應(yīng)用程序啊,BIN文件啊,LIB等等COPY到NFS 文件系統(tǒng)對應(yīng)的文件夾,見:
fsupdate:
cp -R $(TARGET_MCFW_DIR)/?$(EXEC_DIR)/.
chmod 755 $(EXEC_DIR)/.sh
這里需要提到一個APPRO自己做的一個腳本,在編譯ipnc_app(即make app)的時候,會去執(zhí)行inpc_app/ root_filesys/Makefile,我們第一可以讓他執(zhí)行這個Makefile,見下圖,它會COPY對應(yīng)的文件到我們NFS文件系統(tǒng)對應(yīng)的文件夾。但是當我們調(diào)試NFS一些腳本的時候,做了修改,比如target/ filesys/etc/ init.d/ finish_ubifs.sh ,target/ filesys/opt/ipnc/init.sh等腳本修改,如果再執(zhí)行make sysall,如果不備份,又把我們修改好的NFS 文件系統(tǒng)的腳本內(nèi)容覆蓋,很討厭,這點要注意。我們是做了一次這個inpc_app/ root_filesys/Makefile,以后,直接把這個inpc_app/ root_filesys/Makefile里面的內(nèi)容屏蔽,后面就不需要多次重復(fù)覆蓋了,下圖就是inpc_app/ root_filesys/Makefile,執(zhí)行完一次就可以屏蔽里邊的install操作。

四、SDK編譯過程


上圖是本人根據(jù)總的Makefile,自己單獨做的編譯腳本,把各個模塊分離出來,這樣便于各個模塊開發(fā)編譯,編譯build加上1-2-3-4-5-6-7等數(shù)字,讓大家一目了然,知道整個RDK軟件要如何編譯開發(fā)。在上一篇《圖像識別DM8127開發(fā)攻略 ——板子啟動過程》已經(jīng)描述過DM8127的硬件啟動流程,這里編譯的流程也和那篇文章對應(yīng)。所有的這些build的腳本,都必須在上圖對應(yīng)路徑下編譯,也就是:
/home/davinci/dm8127/v3.8.0/Source/ipnc_rdk/
包括自己手動使用make xxxxx,都是在這個路徑下去執(zhí)行編譯。

build_1_uboot-min-nand.sh 腳本內(nèi)容:make ubootmin
就是編譯ubootmin,顧名思義,專門用來燒寫到NAND FLASH上的BIN文件。
對應(yīng)總的Makefile內(nèi)容是:
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-sd.sh 腳本內(nèi)容:make uboot_ty_sd
同時編譯ubootmin和uboot,只不過是編譯得到MLO和u-boot.bin文件,COPY 到SD卡里,使用SD卡BOOT板子。
對應(yīng)總的Makefile內(nèi)容是(自己添加修改的):
uboot_ty_sd:
$(MAKE) ubootclean
$(MAKE) ubootbuild MAKE_TARGET=$(PLATFORMCFG)$(SYSTEM_CFG)_min_sd
$(MAKE) ubootbuild MAKE_TARGET=u-boot.ti
cp -f $(UBOOTDIR)/u-boot.min.sd $(IPNC_INSTALL_DIR)/tftp/$(IPNC_DEVICE)/sd/MLO
cp -f $(UBOOTDIR)/u-boot.min.sd $(UBOOTDIR)/MLO
$(MAKE) ubootclean
$(MAKE) ubootbuild MAKE_TARGET=$(PLATFORMCFG)$(SYSTEM_CFG)_config_nand
$(MAKE) ubootbuild MAKE_TARGET=u-boot.ti
cp -f $(UBOOTDIR)/u-boot.bin $(IPNC_INSTALL_DIR)/tftp/$(IPNC_DEVICE)/sd/

build_2_uboot-all.sh 腳本內(nèi)容:make ubootbin
編譯uboot,得到dm8127_uboot.bin用于燒寫到NAND FLASH。
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-tmp.sh 腳本內(nèi)容:make uboot_ty
也是編譯uboot,得到dm8127_uboot.bin用于燒寫到NAND FLASH。只不過用在移植開發(fā)UBOOT的時候,只修改某個.c或.h文件,這時編譯的時候,就沒必要再使用ubootclean把所有的OBJ清空再全部編譯一次,太耗時間。
對應(yīng)總的Makefile內(nèi)容是:
uboot_ty:
$(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_3_kernel-menuconfig.sh 腳本內(nèi)容:make lspmenu


對應(yīng)總的Makefile內(nèi)容是:
lspbuild:
make -C$(KERNELDIR) ARCH=arm CROSS_COMPILE=$(BUILD_TOOL_PREFIX) $(MAKE_TARGET)
lspmenu:
make lspbuild MAKE_TARGET=menuconfig
這個熟悉的配置內(nèi)核選項的界面就不多說了。選擇某些功能和模塊后,save 配置文件,會在kernel這個文件夾下面得到.config文件,本人喜歡備份:
cp -f $(KERNELDIR)/.config $(KERNELDIR)/dm8127_2017xxxxaaa.config
然后再把這個備份文件覆蓋$(KERNELDIR)/arch/arm/configs/ti8148_ipnc_ubifs_defconfig這個文件:
cp -f $(KERNELDIR)/dm8127_2017xxxx.config $(KERNELDIR)/arch/arm/configs/ti8148_ipnc_ubifs_defconfig
后面的內(nèi)核編譯都是使用這個ti8148_ipnc_ubifs_defconfig配置文件。

build_3_kernel-all.sh 腳本內(nèi)容:make lsp_ty
對應(yīng)總的Makefile內(nèi)容是:
cmem:
make -C$(linuxutils_PATH)/packages/ti/sdo/linuxutils/cmem/src/interface \
LINUXKERNEL_INSTALL_DIR=$(KERNELDIR) MVTOOL_PREFIX=$(BUILD_TOOL_PREFIX)
make -C$(linuxutils_PATH)/packages/ti/sdo/linuxutils/cmem/src/module \
LINUXKERNEL_INSTALL_DIR=$(KERNELDIR) MVTOOL_PREFIX=$(BUILD_TOOL_PREFIX)

cmemclean:
make -C$(linuxutils_PATH)/packages/ti/sdo/linuxutils/cmem/src/module clean
make -C$(linuxutils_PATH)/packages/ti/sdo/linuxutils/cmem/src/interface clean

lspcfg:
make lspbuild MAKE_TARGET=$(PLATFORMCFG)$(SYSTEMCFG)$(FS_CFG)_defconfig
lsp:
cp $(linuxutils_PATH)/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.o $(KERNELDIR)/drivers/char/
make lspcfg
make lspbuild MAKE_TARGET=uImage
make lspbuild MAKE_TARGET=modules
cp $(KERNELDIR)/arch/arm/boot/uImage $(TFTP_HOME)/uImage
cp $(KERNELDIR)/arch/arm/boot/uImage $(KERNELDIR)/dm8127_kernel.bin.bk(本人自己添加)
cp -f $(KERNELDIR)/arch/arm/boot/uImage /tftpboot/dm8127_kernel.bin(本人自己添加)
-mkdir -p $(TARGET_MCFW_DIR)/kermod
cp $(KERNELDIR)/drivers/video/ti81xx/vpss/vpss.ko $(TARGET_MCFW_DIR)/kermod/.
cp $(KERNELDIR)/drivers/video/ti81xx/ti81xxfb/ti81xxfb.ko $(TARGET_MCFW_DIR)/kermod/.
cp $(KERNELDIR)/drivers/video/ti81xx/ti81xxhdmi/ti81xxhdmi.ko $(TARGET_MCFW_DIR)/kermod/.
cp $(KERNELDIR)/drivers/usb/gadget/g_file_storage.ko $(EXEC_DIR)
cp $(KERNELDIR)/block/sbull/sbull.ko $(EXEC_DIR)

lspclean:?
make lspbuild MAKE_TARGET=distclean

lsp_ty:
#make binariesclean
make cmemclean
make lspclean
make lspcfg?
make -C $(KERNELDIR) ARCH=arm CROSS_COMPILE=$(BUILD_TOOL_PREFIX) prepare
make -C $(KERNELDIR) ARCH=arm CROSS_COMPILE=$(BUILD_TOOL_PREFIX) modules_prepare
make cmem
make lsp

從上面的腳本可以看出,編譯內(nèi)核之前,必須編譯cmem模塊(ARM+DSP最重要的共享內(nèi)存機制),這個和DM6446-DM3730一樣,只不過那些是獨立編譯的,內(nèi)核編譯也是獨立的,現(xiàn)在DM8127把這個cmem整合在一起編譯。還有內(nèi)核那些選項為(M)的驅(qū)動模塊,也整合在一個腳本編譯,然后把對應(yīng)的.ko文件COPY到對應(yīng)的路徑。還有注意一下,編譯kernel之前,必須先編譯好UBOOT,因為使用UBOOT里面一個image工具,如果uboot被clean完臨時文件,到這里編譯內(nèi)核最后步驟會通不過的。

build_3_kernel-tmp.sh 腳本內(nèi)容:make lsp
對應(yīng)總的Makefile內(nèi)容是:見上面描述。也就是編譯某個源文件,沒編譯又把整個內(nèi)核clean再重新編譯,太浪費自己的生命時間。

build_4_syslink.sh 腳本內(nèi)容:make syslinkall
對應(yīng)總的Makefile內(nèi)容是:
syslinkbuild:
cp $(MCFW_ROOT_PATH)/makerules/syslink_products.mak $(syslink_PATH)/products.mak
make -C$(syslink_PATH) $(TARGET)

syslink:
make syslinkbuild DEVICE=$(syslink_DEVICE) TARGET=syslink
-mkdir -p $(TARGET_MCFW_DIR)/kermod
cp $(syslink_OUT_DIR)/syslink.ko $(TARGET_MCFW_DIR)/kermod/.

syslinkclean:
make syslinkbuild DEVICE=$(syslink_DEVICE) TARGET=clean

syslinkall: syslinkclean syslink
DM8127 4個核之間需要link機制協(xié)調(diào)工作,這個模塊就是底層的源碼,只不過TI 屏蔽這些底層的東西,我們只需要編譯好就可以了,不需要去修改這樣復(fù)雜模塊的源碼。

build_5_ipncapp-all.sh 腳本內(nèi)容:make all
對應(yīng)總的Makefile內(nèi)容是:

ipncapp: app hdvpss iss mcfw fsupdate?
clean: appclean hdvpssclean issclean mcfwclean?
all: clean ipncapp

applibs:
ifneq ($(MAKE_TARGET), depend)
$(MAKE) -C$(IPNC_DIR) ARCH=arm CROSS_COMPILE=$(BUILD_TOOL_PREFIX) $(MAKE_TARGET)
endif

appclean:
$(MAKE) applibs MAKE_TARGET=clean
appdepend:
$(MAKE) applibs MAKE_TARGET=depend?
appinstall:
$(MAKE) applibs MAKE_TARGET=install
app: appdepend applibs appinstall

hdvpss:
$(MAKE) -C $(hdvpss_PATH)/packages/ti/psp/vps $(TARGET) CORE=m3vpss
$(MAKE) -C $(hdvpss_PATH)/packages/ti/psp/i2c $(TARGET) CORE=m3vpss
$(MAKE) -C $(hdvpss_PATH)/packages/ti/psp/devices $(TARGET) CORE=m3vpss
$(MAKE) -C $(hdvpss_PATH)/packages/ti/psp/platforms $(TARGET) CORE=m3vpss
$(MAKE) -C $(hdvpss_PATH)/packages/ti/psp/proxyServer $(TARGET) CORE=m3vpss
hdvpssclean:
$(MAKE) hdvpss TARGET=clean
hdvpssall: hdvpssclean hdvpss

iss:
$(MAKE) -C $(iss_PATH)/packages/ti/psp/iss $(TARGET) CORE=m3vpss
issclean:
$(MAKE) iss TARGET=clean
issall: issclean iss

mcfw_linux:
make -fMAKEFILE.MK -C $(MCFW_ROOT_PATH)/mcfw/src_linux
make -fMAKEFILE.MK -C $(MCFW_ROOT_PATH)/demos
mcfw_linux_clean:
make -fMAKEFILE.MK -C $(MCFW_ROOT_PATH)/mcfw/src_linux clean
make -fMAKEFILE.MK -C $(MCFW_ROOT_PATH)/demos clean
mcfw_linux_all: mcfw_linux_clean mcfw_linux

mcfw_bios6:?
$(MAKE) -fMAKEFILE.MK -C $(MCFW_ROOT_PATH)/mcfw/src_bios6 $(TARGET)
mcfw_bios6_clean:
$(MAKE) -fMAKEFILE.MK -C $(MCFW_ROOT_PATH)/mcfw/src_bios6 clean
mcfw_bios6_all: mcfw_bios6_clean mcfw_bios6

mcfw: mcfw_linux mcfw_bios6?
mcfwclean: mcfw_linux_clean mcfw_bios6_clean?
mcfwall: mcfwclean mcfw

fsupdate:
cp -R $(TARGET_MCFW_DIR)/?$(EXEC_DIR)/.
chmod 755 $(EXEC_DIR)/.sh
ifeq ($(APP_BUILD_CFG),release)
$(STRIP470) $(TARGET_FS)/opt/ipnc/firmware/ipnc_rdk_fw_m3video.xem3
$(STRIP470) $(TARGET_FS)/opt/ipnc/firmware/ipnc_rdk_fw_m3vpss.xem3
ifeq ($(PLATFORM),ti814x-evm)
$(STRIP6x) $(TARGET_FS)/opt/ipnc/firmware/ipnc_rdk_fw_c6xdsp.xe674
endif
chmod 755 $(TARGET_FS)/opt/ipnc/firmware/.
endif

編譯RDK 的MCFW模塊涉及到APPRO 設(shè)計的app,hdvpss、iss、mcfw_linux、mcfw_bios6和最后把編譯得到的可執(zhí)行文件APP、BIN、LIB等COPY到文件系統(tǒng)路徑。注意上面的mcfw_bios6除了編譯我們熟悉的DSP算法外,還編譯M3 VPSS和M3 VIDEO。Iss模塊就是編譯CMOS 接口驅(qū)動了。算法工程師只修改算法的時候,可以直接單獨使用mcfw_bios6_clean和mcfw_bios6,其他模塊可以到后面整合再編譯。

build_5_ipncapp-tmp.sh 腳本內(nèi)容:make ipncapp
對應(yīng)總的Makefile內(nèi)容是:
見上面build_5_ipncapp-all.sh同樣內(nèi)容。也是修改某個模塊某個源文件,只需要編譯對應(yīng)的模塊,沒必要全部clean再編譯,這個好的電腦全部編譯一次都需要耗時40分鐘以上。

build_6_ty_app.sh 腳本內(nèi)容:make ty_app_all
對應(yīng)總的Makefile內(nèi)容是:

ty_app_clean:
$(MAKE) -C $(IPNC_DIR)/ty_app/ ARCH=arm CROSS_COMPILE=$(BUILD_TOOL_PREFIX) clean
ty_app_build:
$(MAKE) -C $(IPNC_DIR)/ty_app/ ARCH=arm CROSS_COMPILE=$(BUILD_TOOL_PREFIX)
ty_app_install:
$(MAKE) -C $(IPNC_DIR)/ty_app/ ARCH=arm CROSS_COMPILE=$(BUILD_TOOL_PREFIX) install

ty_app_all: ty_app_clean ty_app_build ty_app_install
編譯ipnc_rdk/ipnc_app里面的各個應(yīng)用程序。

build_7_ubifs.sh 腳本內(nèi)容: make ubifs_ty
對應(yīng)總的Makefile內(nèi)容是:
ubifs_ty:
rm -f $(TFTP_HOME)/dm8127_ubifs.bin
mkdir -p $(IPNC_INSTALL_DIR)/tmp
$(MTD_UTILS)/mkfs.ubifs -r $(FILESYS_INSTALL_DIR)/ filesys -F -o ./tmp/ubifs.img -m 2048 -e 126976 -c 2047
$(MTD_UTILS)/ubinize -o $(TFTP_HOME)/dm8127_ubifs.bin -m 2048 -p 128KiB -s 2048 -O 2048 $(IPNC_INSTALL_DIR)/ubinize.cfg
rm -rf $(IPNC_INSTALL_DIR)/tmp
cp -f $(TFTP_HOME)/dm8127_ubifs.bin /tftpboot/dm8127_ubifs.bin
把調(diào)試好的NFS 文件系統(tǒng),使用腳本制作ubifs bin文件燒寫到板子NAND FLASH上。當然除了ubifs文件系統(tǒng)外,本公司也支持squashfs文件系統(tǒng)的移植,即build_7_squashfs.sh。

參加10月29日到11月1日深圳會展中心第16屆安博會回來后,這些天都在忙公司網(wǎng)站改版,公司舊的網(wǎng)站已經(jīng)停止運行,新的網(wǎng)站重新上線,原來的域名(網(wǎng)址不變)。安博會幾乎每個展臺的視頻相關(guān)產(chǎn)品都要加上“智能”兩個字,不帶“智能”兩個字都不好展出,可見現(xiàn)在市場競爭如此激烈。但實際上視頻分析得出的效果和精確度良莠不齊。很多展臺號稱在嵌入式平臺使用深度學習算法,估計有些也是忽悠人,畢竟能跑復(fù)雜深度學習算法的嵌入式平臺不多,無外呼就是英偉達(NVIDIA)的 Jetson TX1 和 Jetson TX2(單個核心板2800元左右,這兩年不適合嵌入式大規(guī)模生產(chǎn)),還有就是ARM+FPGA,兩個成本都比較貴。至于TI 的DSP,有些公司也拿TDAx或者DM505M來做深度學習,但是這種深度學習復(fù)雜度還不是很高。想想2015年深圳安防展有好幾個展臺都使用我們桐燁生產(chǎn)的DM3730板子,到現(xiàn)在2017年深度學習概念瘋狂展現(xiàn),傳統(tǒng)的視頻分析產(chǎn)品不多了,我們感覺壓力很大。TI TDAx和DM505M都帶有多個C66X 浮點DSP+多個EYE(Embedded Vision Engine),這個EYE類似以色列自動駕駛汽車技術(shù)公司Mobileye EyeQ ,已經(jīng)被Intel收購。TI 除了用這些平臺做自動駕駛外,也可以用來做深度學習的。個別公司還用AM5728(CORTEX-A15+雙C66X DSP)做簡單的深度學習算法,但從算法的角度講,AM5728 絕對不如TDAx和DM505M。TI 是打算在下一代的TDAx平臺硬件升級支持深度學習算法(2018年?)。我們公司的DM8127平臺只能用在傳統(tǒng)的機器視覺算法,深度學習算法的平臺公司現(xiàn)在比較糾結(jié),因為還沒發(fā)覺有性價比很好的嵌入式平臺,太貴的太復(fù)雜的我們也做不來。買了一套NVIDIA Jetson TX2玩了一下就不玩了,核心板全部得跟NVIDIA進口,太貴。嵌入式前端沒有好的平臺運行復(fù)雜深度學習算法不要緊,其實可以通過傳統(tǒng)機器視覺來分析出運動的人,然后抓拍通過有線和無線網(wǎng)絡(luò)傳回服務(wù)器后臺去做深度學習也是一種非常可行的辦法,后臺大數(shù)據(jù)服務(wù)器這些超級CPU+GPU足以處理復(fù)雜的深度學習算法,在一些場合還是可以用這種思路去配合做。










本文轉(zhuǎn)自 zjb_integrated 51CTO博客,原文鏈接:http://blog.51cto.com/zjbintsystem/2043380,如需轉(zhuǎn)載請自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的图像识别DM8127开发攻略 ——RDK软件架构浅析及编译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

久久午夜鲁丝片 | 丁香花在线观看视频在线 | 六月天色婷婷 | 免费看国产a | 亚洲精品99久久久久久 | 在线视频一二三 | 精品免费99久久 | 黄色视屏在线免费观看 | 又黄又爽又刺激视频 | 久久久久国产视频 | 国产69精品久久app免费版 | 99免费精品 | 欧美久久久久 | 日韩四虎 | 国产最新91 | 91一区啪爱嗯打偷拍欧美 | 国产福利av在线 | 夜添久久精品亚洲国产精品 | 久久久久久久国产精品 | 久草精品在线播放 | 亚洲视频,欧洲视频 | 欧美日本一二三 | 91av在线播放 | 在线免费观看av网站 | zzijzzij亚洲成熟少妇 | 久草在线在线精品观看 | 美女网站视频色 | 97视频在线观看视频免费视频 | 香蕉视频免费在线播放 | 国产黄免费 | 999成人精品 | 日韩精品久久久久久中文字幕8 | 欧美日韩裸体免费视频 | 综合网天天射 | 久久婷婷国产色一区二区三区 | 国产一区在线视频观看 | 四虎影院在线观看av | 97免费在线观看 | 久久www免费人成看片高清 | 国产精品久久久久久久久久白浆 | 婷婷久久一区二区三区 | 国产亚洲成av片在线观看 | 成人黄色小说视频 | 国产五月色婷婷六月丁香视频 | 欧美a在线免费观看 | 国产无套精品久久久久久 | 精品一区久久 | 国产日韩精品在线 | 亚洲成人免费在线观看 | www.国产在线 | 国产精品毛片久久 | 亚洲欧美综合 | 国产系列在线观看 | 在线a视频 | 久久成年人视频 | 99久久精品日本一区二区免费 | 欧美日韩超碰 | www.av小说 | 亚洲精品欧洲精品 | 国产大陆亚洲精品国产 | 天天干夜夜干 | 狠狠久久伊人 | 国产成人综 | 美女视频黄免费的 | 日韩电影一区二区在线观看 | 日本黄色免费在线 | 欧美日韩国产区 | 日韩在线中文字幕视频 | 国产精品美女久久久 | 亚洲国产精品500在线观看 | 国产无区一区二区三麻豆 | 久久久久久久久久久久99 | 91精品在线播放 | 久久国产福利 | 在线观看一区 | 狠狠狠色狠狠色综合 | 亚洲精品中文字幕在线观看 | 久久不卡日韩美女 | 日韩精品在线观看视频 | 久久国产剧场电影 | 国产五月 | 91.dizhi永久地址最新 | 黄色小说在线免费观看 | 韩国精品福利一区二区三区 | 国产精品四虎 | 日韩在线免费小视频 | 人人看人人做人人澡 | 欧美精品在线观看一区 | 亚洲欧美激情插 | 天天综合入口 | 成人av网站在线播放 | 在线免费观看国产 | 少妇bbb | 色在线中文字幕 | 国产成人专区 | 五月天久久久 | 欧美日韩精品二区第二页 | 色在线高清 | 夜夜爽88888免费视频4848 | 免费日韩视 | 男女拍拍免费视频 | 91九色视频在线播放 | 久久电影色 | 日本不卡一区二区三区在线观看 | 国产视频在线免费 | 精油按摩av | 日韩一区二区三区高清免费看看 | 亚洲免费成人 | 韩日视频在线 | 午夜久久久久久久久久影院 | 特级黄色视频毛片 | 国产在线高清视频 | 日本久久中文 | 一区二区三区四区五区在线视频 | 久久久久久久久久久免费av | av综合在线观看 | 射射射av | 日韩免费av在线 | 91av在线免费| 91大神在线观看视频 | 97超碰免费在线观看 | 成人免费在线观看电影 | 中文字幕一区二区三区乱码在线 | 久久久久成人精品免费播放动漫 | 99中文字幕在线观看 | 深夜福利视频一区二区 | 99精品国自产在线 | 亚洲天堂自拍视频 | 日韩欧美精品在线 | 亚洲一区欧美激情 | 五月天中文字幕 | 久久精品aaa | 国产一区二区电影在线观看 | 成人免费在线视频 | 日本成人中文字幕在线观看 | 久久成人精品电影 | 日韩成人精品一区二区三区 | 久久激情久久 | 日韩精品一区二区三区在线播放 | 极品久久久久 | 中文字幕五区 | 久久伦理电影 | 日韩中文字幕网站 | 探花视频免费在线观看 | 狠狠狠色丁香综合久久天下网 | 亚洲一区二区精品视频 | 日韩免费福利 | 国产精品男女啪啪 | 超级碰碰碰免费视频 | 免费一级片观看 | 视频国产在线观看18 | 丁香免费视频 | 一区二区中文字幕在线观看 | 天天射天天爽 | 人人澡人摸人人添学生av | 久草在线视频中文 | 国产精品18久久久久久久 | 97干com| 久久这里 | 天天看天天干天天操 | www.五月婷婷 | 91视频观看免费 | 在线观看黄色的网站 | 国产中文在线播放 | 手机av在线网站 | 国产乱对白刺激视频不卡 | 欧美一区二区三区在线 | 就要干b| 在线看不卡av | 亚洲开心色 | 美女黄久久 | 精品91视频| 久草剧场 | 欧美片一区二区三区 | 五月婷婷操 | 尤物97国产精品久久精品国产 | 97精品国自产拍在线观看 | 亚洲成人精品影院 | 成人资源站 | 成人视屏免费看 | 狠狠狠色| av网址aaa | 在线观看国产区 | 69精品在线 | av日韩国产| 国产涩涩网站 | 久草综合在线观看 | 日韩精品中文字幕有码 | 射射色| 日本公妇在线观看高清 | 玖操| 国产免费观看av | 在线免费观看国产黄色 | 日本久久精 | 在线观看视频91 | www日| 国产黄色在线看 | 91欧美国产 | sesese图片 | 亚洲国产精品影院 | 日韩av影片在线观看 | 欧洲精品码一区二区三区免费看 | 视频福利在线 | 日韩在线观看精品 | 久久久69 | 久久精品福利 | 久久精品欧美一 | 国产黄免费在线观看 | 美国av大片 | 亚洲最大av网 | 激情综合国产 | 亚洲性少妇性猛交wwww乱大交 | 人人干人人草 | 97操操| 日韩在线不卡视频 | 在线视频欧美日韩 | 91丨九色丨丝袜 | 99热999 | 四虎成人网| 菠萝菠萝蜜在线播放 | 国产在线观看黄 | 天天插狠狠插 | 国产精品一区二区无线 | 国产黄色免费电影 | av高清不卡 | 999抗病毒口服液 | 美女精品久久久 | 久久成人黄色 | 视频国产一区二区三区 | 超碰人人av| 国产精品日韩久久久久 | 99re久久资源最新地址 | 九九热只有这里有精品 | 夜夜操夜夜干 | 国产精品精品久久久 | 91视频91色| 成人动漫视频在线 | 精品久久久久久亚洲综合网 | 国产精品一区二区在线观看免费 | 中文字幕 欧美性 | 午夜精品久久久久久久99婷婷 | 亚洲久草在线 | 婷婷综合伊人 | 色综合久| 亚洲色图色 | 成人午夜免费剧场 | 一级欧美一级日韩 | 一区三区视频在线观看 | 色综合久久五月天 | 精品在线观看国产 | 欧美成人精品欧美一级乱黄 | 综合天堂av久久久久久久 | 九热在线 | 国产精品18久久久久久首页狼 | 手机看片午夜 | 女人18毛片90分钟 | 中文字幕一区在线观看视频 | 久久电影色 | h文在线观看免费 | 久久久噜噜噜久久久 | 免费看片亚洲 | 午夜色站 | 韩日在线一区 | 午夜电影一区 | 日本超碰在线 | 久久久久久久久久久久av | 麻豆首页| 午夜精品久久久久99热app | 婷婷精品国产欧美精品亚洲人人爽 | 在线免费观看黄色大片 | 亚洲一区二区三区毛片 | 亚洲mv大片欧洲mv大片免费 | 美女网站免费福利视频 | 久久久午夜精品福利内容 | 九九热在线视频免费观看 | www日韩在线观看 | 国产精品国产三级国产 | 色网站在线看 | 狠狠干婷婷色 | 国产欧美三级 | 99久久国产免费,99久久国产免费大片 | 国产精品孕妇 | 亚洲 欧美 综合 在线 精品 | 欧美国产在线看 | 久久国产日韩 | 免费下载高清毛片 | 五月天婷婷综合 | 中文字幕有码在线播放 | 成人一区二区三区在线观看 | 色婷婷丁香 | 成人国产精品久久久久久亚洲 | 日日日干| 999电影免费在线观看 | 蜜桃视频日韩 | 91网页版在线观看 | 啪啪小视频网站 | av免费网站在线观看 | 欧美日韩一区三区 | 国产xxxx做受性欧美88 | 国产精品 中文字幕 亚洲 欧美 | 一级黄色片在线免费看 | 综合久久综合久久 | 91久久国产精品 | 精品视频免费久久久看 | 国产精品国内免费一区二区三区 | 欧美一级免费片 | 五月激情姐姐 | 精品久久久久久亚洲综合网站 | 在线a人v观看视频 | 婷婷九九 | 国产精品美女久久久久久久久久久 | 色综合久久久久综合99 | 久久精品—区二区三区 | 日韩在线观看三区 | 久久伊人国产精品 | 成人午夜精品福利免费 | 在线视频免费观看 | 99一级片| 五月婷婷中文网 | 激情偷乱人伦小说视频在线观看 | 欧美日韩视频在线观看一区二区 | 白丝av在线 | 天天色婷婷 | wwxxxx日本| 成人动态视频 | 97在线观看免费高清完整版在线观看 | 91中文字幕在线播放 | 狠狠的干狠狠的操 | 日韩无在线 | 国产又粗又长又硬免费视频 | 日韩中文在线电影 | 国产精品福利小视频 | 蜜臀av夜夜澡人人爽人人桃色 | 久久久久久免费网 | 狠狠色丁香婷婷综合橹88 | 色福利网站 | 日韩免费在线视频观看 | 人人干在线 | 黄色中文字幕在线 | 免费看污片 | 亚洲一区二区91 | 精品国产欧美一区二区三区不卡 | 制服丝袜欧美 | 久久国内免费视频 | 日韩激情视频在线观看 | 色婷婷亚洲精品 | 99精品免费在线观看 | 成人精品国产 | 免费看片成年人 | 亚州中文av | 亚洲精品视频在线观看网站 | 日韩一级片大全 | 另类老妇性bbwbbw高清 | 久久综合加勒比 | 久久九九网站 | 中文字幕亚洲高清 | 久草资源免费 | 婷婷丁香在线视频 | 亚洲综合在线播放 | 亚洲极色| 日韩最新av在线 | 五月色综合| 射射射av | 69成人在线 | 国产成人免费在线观看 | 五月天中文字幕 | 国产精品理论片 | 超碰免费久久 | 四虎永久国产精品 | 婷婷午夜 | 久久精品国亚洲 | 青草视频在线看 | 四虎在线免费观看 | 日本精品久久久久中文字幕5 | 操老逼免费视频 | 久久这里只有精品23 | 亚洲乱码久久久 | 久久tv| 五月天激情视频在线观看 | 国产91av视频在线观看 | 国产在线国偷精品产拍 | 香蕉视频久久 | 五月婷婷天堂 | 五月婷久| 色婷婷国产精品一区在线观看 | www.五月天 | 色婷婷精品大在线视频 | 色婷婷av国产精品 | 日韩精品中文字幕在线播放 | 欧美精品久久久久久久免费 | 亚洲国产精品99久久久久久久久 | 国产一区在线播放 | 免费看黄在线看 | 亚洲精品在线视频播放 | 五月婷亚洲 | 久久一区国产 | 玖玖在线看 | 精品99在线视频 | 中文字幕一区二区三区乱码在线 | 久久九九久久精品 | 黄色av三级在线 | 婷婷在线色 | 九九免费在线观看视频 | 98精品国产自产在线观看 | 欧美久久久久久久久久 | 五月在线| 免费视频xnxx com | 日本高清dvd| 色婷婷丁香 | 久久久久久久av麻豆果冻 | 国产精品女主播一区二区三区 | 久久电影国产免费久久电影 | 日日碰狠狠添天天爽超碰97久久 | 91精品在线免费视频 | 婷婷社区五月天 | 香蕉91视频 | 国产黄色片免费观看 | 美女网站久久 | 成年人免费在线观看网站 | 最新真实国产在线视频 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 久久久一本精品99久久精品 | 国产免费一区二区三区最新6 | 一本到视频在线观看 | 中文字幕av网站 | 91亚洲精品国产 | 日韩最新中文字幕 | 免费黄色特级片 | 一区二区视频电影在线观看 | 国产裸体视频网站 | 五月激情姐姐 | av在线之家电影网站 | 久久久久久毛片精品免费不卡 | 嫩草av影院 | 69视频永久免费观看 | 色干干| 五月婷丁香| 久久精品欧美视频 | 精品欧美在线视频 | 国产精品岛国久久久久久久久红粉 | 国产又黄又猛又粗 | 天天操天天干天天操天天干 | 国产精品av免费在线观看 | 久草在线中文888 | 欧美激情综合五月色丁香 | 久久精品综合网 | 精品国产理论 | 精品欧美乱码久久久久久 | 久久久久国产成人免费精品免费 | 中文字幕永久在线 | 99久久日韩精品视频免费在线观看 | 亚洲精品国产成人 | 在线观看黄网 | 人九九精品 | 在线成人高清电影 | 亚洲精品黄色在线观看 | 99精品久久精品一区二区 | 一本一道久久a久久精品 | 一区二区中文字幕在线播放 | 91精品免费| 欧美日韩国产精品一区二区三区 | 福利视频一区二区 | 亚洲精品综合欧美二区变态 | 久久视频99 | 亚洲精品久久久久999中文字幕 | 中国精品一区二区 | 免费日韩 精品中文字幕视频在线 | 亚洲在线观看av | 欧美日韩中文国产 | 日韩在线激情 | 91视频免费观看 | 中文字幕中文字幕在线中文字幕三区 | 欧美色久 | 伊人手机在线 | 亚洲精品乱码久久久久久蜜桃欧美 | 日韩免费视频观看 | 99 精品 在线| 国产福利在线免费 | 日韩精品久久久久 | av电影不卡在线 | 国语对白少妇爽91 | 蜜臀av麻豆 | 久久精品99国产精品日本 | 亚洲另类久久 | 中文字幕观看在线 | 91av小视频 | 久久97精品 | 午夜精品久久久久久久99 | 欧美成年性 | 成人理论电影 | 免费在线播放黄色 | 欧美性大胆 | 色婷婷精品大在线视频 | www..com黄色片| 99国产视频 | 色悠悠久久综合 | 三级av片 | av在线一级 | 久久久久欠精品国产毛片国产毛生 | 丁香六月欧美 | 天天操天天插 | 国产a国产| 久久中国精品 | 人人玩人人爽 | 一区二区三区日韩视频在线观看 | 亚洲毛片一区二区三区 | 国产一级视频在线免费观看 | 91成人网页版 | 久草免费看| 天天草天天干天天 | 亚洲精品成人av在线 | www.xxxx变态.com | 成人黄色电影在线播放 | 国产精品高清在线 | 一区二区成人国产精品 | 国产精品久久久久久久久搜平片 | 亚洲欧美日韩精品久久奇米一区 | 成人在线观看影院 | 久久免费中文视频 | 99精品视频中文字幕 | 91精品夜夜| 激情五月播播久久久精品 | 成人观看视频 | 中文字幕高清视频 | 粉嫩av一区二区三区入口 | 久草综合视频 | 久久视频这里有久久精品视频11 | 久草在线视频免费资源观看 | 久久久鲁 | 欧美午夜精品久久久久 | 日韩精品久久久久久中文字幕8 | 激情片av| 日韩欧美视频二区 | avav片 | 日韩av成人在线 | 欧美一级高清片 | 爱av在线网 | 欧洲精品在线视频 | 精品久久久久久国产91 | 亚洲国产午夜精品 | 欧美日本一区 | 丰满少妇在线观看 | 欧美日韩观看 | 国产精品免费久久久久久久久久中文 | 五月天天色 | 久久午夜电影网 | 亚洲精品网页 | 免费看片黄色 | 99久久夜色精品国产亚洲96 | 黄色一级免费电影 | 欧美一级片| 韩国av一区二区三区在线观看 | 亚洲精品日韩在线观看 | 波多野结衣久久资源 | 日本精品视频在线观看 | 午夜在线免费观看视频 | 18做爰免费视频网站 | 日韩影片在线观看 | 一区二区三区播放 | 成人观看| 亚洲成人国产 | 久久久久久久免费 | 亚洲精品免费在线视频 | 日韩电影一区二区在线 | 在线最新av | 国产精品一区二 | 日韩在线观看视频中文字幕 | av电影一区二区 | 中文在线字幕免 | 超碰在线人人97 | 99视频在线 | 九九九在线观看视频 | av在线之家电影网站 | 黄色a视频| 精品国模一区二区 | 久草99 | 成人a在线| 99热这里只有精品国产首页 | 国产精品久久久一区二区 | 亚洲精品在线二区 | 欧美色操| 九色琪琪久久综合网天天 | 日韩偷拍精品 | 国产高清 不卡 | 亚洲精品av中文字幕在线在线 | 国产精品久久久久久a | 九九热re| 国产午夜精品一区二区三区四区 | 99久久精品久久久久久动态片 | 欧美一级免费在线 | 精品国产一区二区三区四区在线观看 | 中文字幕 国产精品 | 日本婷婷色 | 天天天天天天天天操 | 欧美精品日韩 | 久久久精品二区 | 天天综合成人 | 1024手机在线看| 四虎在线免费视频 | 亚洲精品免费在线视频 | 韩日av在线 | 性色在线视频 | www天天干com | 久久视屏网| 韩日三级av | 97超碰人人| 日韩中文字幕电影 | 91九色成人蝌蚪首页 | 国产1区2区3区精品美女 | 麻豆成人精品 | 四虎影视成人 | 手机版av在线 | 99在线精品免费视频九九视 | 亚洲狠狠丁香婷婷综合久久久 | 久久国产精品99久久人人澡 | 狠狠操导航 | 99免费在线视频 | 波多野结衣在线视频一区 | 欧美狠狠色 | 99久久精品国产亚洲 | 男女激情免费网站 | 亚洲 欧美变态 另类 综合 | av在线免费网站 | 国产精品va最新国产精品视频 | 亚洲一区二区视频在线播放 | 懂色av一区二区三区蜜臀 | 欧美国产精品久久久久久免费 | 久草男人天堂 | 亚洲综合视频在线 | 又黄又爽的视频在线观看网站 | 国产精品一区二区av日韩在线 | 久久超级碰 | 97免费视频在线 | 欧美精品中文在线免费观看 | 国产手机在线观看 | 欧美激情综合色 | 97在线观看免费观看高清 | 视频一区二区视频 | 久草视频免费在线观看 | 精品久久久久国产 | 久久久男人的天堂 | 亚洲精品乱码久久久久久写真 | 久久欧美综合 | 中文字幕 91| 丁香综合av | 色中色综合 | 国产日韩欧美综合在线 | 毛片黄色一级 | 香蕉97视频观看在线观看 | 一级一片免费看 | 天天操天天色综合 | 欧美激情视频三区 | 国产美女视频一区 | 亚洲欧美偷拍另类 | 夜夜澡人模人人添人人看 | 91在线视频一区 | 99免在线观看免费视频高清 | 亚洲六月丁香色婷婷综合久久 | 亚洲国产精彩中文乱码av | 国产精品成人久久久久久久 | 四虎影视8848aamm | 日日夜夜精品免费 | 久久99精品国产99久久 | 91精品成人 | 国产不卡在线 | 欧美一级片在线观看视频 | 韩国av免费在线观看 | 99在线热播 | 欧美一级黄色片 | 激情综合网五月婷婷 | 91桃色在线免费观看 | 国产手机视频在线 | 在线精品视频免费播放 | 日本午夜在线亚洲.国产 | av在线进入| 天天干,夜夜爽 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 日日激情 | 在线观看av不卡 | 91免费的视频在线播放 | 东方av免费在线观看 | 欧美日韩国产在线观看 | 日韩精品一卡 | 久久精品视频日本 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 日韩免费电影 | 毛片一区二区 | 国产精品久久久久久久免费 | av三级在线免费观看 | 91精品伦理| 欧美一级性生活片 | 97超碰在线免费 | 片网站| 亚洲午夜剧场 | 黄色大片日本免费大片 | 日韩丝袜在线观看 | 久草在线播放视频 | 亚洲精选国产 | 国产在线观看99 | 国产又粗又猛又黄 | av福利在线| av成人免费在线 | 狠狠色丁香婷综合久久 | 久久一线 | 日韩欧美一区二区三区免费观看 | 中文字幕在线看片 | 黄色福利网站 | 午夜精品视频在线 | 91欧美视频网站 | 波多野结衣久久资源 | 欧美爽爽爽 | 波多野结衣电影久久 | 婷婷电影网| 日本性xxx | 欧美日韩天堂 | www91在线观看 | 日日夜夜天天干 | 国产一区二区三区在线 | 精品久久久久_ | 国产韩国日本高清视频 | 国产精品福利小视频 | 久久免费成人网 | 毛片久久久 | 91在线国内视频 | 免费a网| 欧美性生活大片 | 在线导航av | 色国产视频| 日本中文字幕久久 | 狠狠色丁香久久婷婷综合丁香 | 一区二区影视 | 天天干天天干天天射 | 又黄又刺激的视频 | 奇米先锋 | www.久久色.com | 久久免费精彩视频 | 91成人免费看片 | 亚洲有 在线 | 免费看的黄色的网站 | 精品久久免费 | 97夜夜澡人人双人人人喊 | 三级黄色网络 | 精品一二三四在线 | 97电影院在线观看 | 一区二区三区四区五区在线 | 久久好看免费视频 | 综合色爱| 色多多污污在线观看 | 91入口在线观看 | 日日干日日操 | 国产黄色免费电影 | 欧美精品二 | 国产精品久久免费看 | 亚洲国产福利视频 | 超碰在线资源 | 亚洲精品国产精品国产 | 7777xxxx| 天天性天天草 | 香蕉影视在线观看 | 天天色草 | 久久精品99视频 | 高清一区二区三区 | 国产淫a| 99视频精品全部免费 在线 | 国产精品女人久久久 | 一级特黄av | 人人讲 | 91视频高清免费 | 97av视频在线观看 | 丁香五婷| 日韩中文字幕电影 | 黄色小说在线免费观看 | 这里只有精彩视频 | 99精品视频精品精品视频 | 亚洲综合五月 | 国产精品久久嫩一区二区免费 | 狠狠干网站 | 狠狠操.com | 国产91粉嫩白浆在线观看 | 国产一级免费视频 | 精品中文字幕在线观看 | 久久五月婷婷丁香 | 国产免费高清 | 精品国产精品一区二区夜夜嗨 | 黄色网址在线播放 | 97干com| 高清不卡毛片 | 麻豆94tv免费版 | 婷五月激情 | v片在线看 | 亚洲高清91 | 久久99精品久久久久久 | 高潮久久久 | 91久久国产自产拍夜夜嗨 | 午夜丁香视频在线观看 | 狠狠操狠狠操 | 欧美一进一出抽搐大尺度视频 | 精品99免费 | 最新国产一区二区三区 | av免费在线免费观看 | 国产亚洲精品久久久久久移动网络 | 亚洲草视频 | 久久久污| 午夜91视频| 91精品影视 | 国产精品久久久久久欧美 | 亚洲精品视频二区 | 一区二区激情 | 99在线观看精品 | 91麻豆网 | 91黄色视屏 | 福利视频精品 | 久久九九网站 | 日韩特级片| 国产一二三四在线视频 | 久草在线最新 | 久草干| 国产精品毛片久久久久久久 | 最新中文在线视频 | adc在线观看| 国产精品网址在线观看 | 成年人黄色免费视频 | 欧美一级片在线免费观看 | 伊人婷婷网 | 国产小视频国产精品 | 91九色老| 91人人澡人人爽人人精品 | 欧美一区在线观看视频 | 国产精品一区二区av日韩在线 | 一级性生活片 | 亚洲 欧美 成人 | 久草影视在线观看 | 欧美一级在线观看视频 | 国产成人久久av | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 国内丰满少妇猛烈精品播放 | 在线观看黄网站 | 伊人春色电影网 | 日韩欧美精品一区 | 国产一区国产二区在线观看 | 91漂亮少妇露脸在线播放 | 欧美一级电影在线观看 | 天天搞天天 | 久久69精品 | 在线看一级片 | 999精品 | 尤物97国产精品久久精品国产 | 国产精品av免费 | 日韩一区二区三区高清免费看看 | 一区二区三区四区五区在线视频 | 欧美日韩国产精品久久 | www.午夜视频 | 成人av动漫在线 | 91精品一区二区三区蜜臀 | 天天艹日日干 | 在线免费高清 | 国产自产高清不卡 | 日本精品视频在线观看 | 国产亚洲视频在线 | 婷婷六月天天 | 国产破处视频在线播放 | 婷婷久久久久 | 色九九影院 | 欧美三级高清 | 国产激情电影综合在线看 | 国产96在线观看 | 国产成人精品综合久久久 | 久久激情影院 | 日本中文字幕观看 | 精品视频9999 | 黄色三级网站在线观看 | 日韩在线观看中文字幕 | 美女免费视频一区 | 亚洲aⅴ免费在线观看 | 日韩av午夜 | 国产麻豆果冻传媒在线观看 | 亚洲国产精品免费 | 日韩欧美在线观看一区二区三区 | 女人18片毛片90分钟 | japanesexxxxfreehd乱熟 | 91成人在线观看高潮 | 97精产国品一二三产区在线 | 亚洲国产精品人久久电影 | 色先锋资源网 | 久久999精品| 亚洲四虎| 又黄又刺激视频 | 国产福利一区二区三区视频 | 在线精品观看国产 | 国产高清专区 | a久久免费视频 | 精品一区 在线 | 婷婷色在线播放 | 特级毛片网站 | 久久久精品国产一区二区 | 婷婷色在线资源 | 国产精品免费久久久 | 中文字幕 欧美性 | 在线看v片 | 国产精品av一区二区 | 久久综合成人网 | 国产中文字幕在线免费观看 | 婷婷中文字幕综合 | 激情五月激情综合网 | 亚洲福利精品 | 在线观看免费黄视频 | 成人免费视频网 | 日本xxxxav | 狠狠操.com| 丝袜美女在线观看 | 99久久精品国产一区 | 亚洲精品国产精品乱码不99热 | 国产中文在线字幕 | 日韩免费视频观看 | 国产成人亚洲在线电影 | 亚洲国产丝袜在线观看 | 亚洲精品美女在线观看播放 | 久久视频在线观看中文字幕 | 久久综合色8888 | 国产精品成人自拍 | 天天干天天射天天爽 | 久久精久久精 | 99久久婷婷国产精品综合 | 久久y | 国产69精品久久久久久久久久 | 毛片无卡免费无播放器 | 天天综合五月天 | 97人人澡人人爽人人模亚洲 | 亚洲一区二区三区四区在线视频 | 免费观看91视频大全 | 天天操网站 | 日韩av电影国产 | 久久久久国产免费免费 | 高清av中文在线字幕观看1 | 在线视频18在线视频4k | 免费在线日韩 | 91精品中文字幕 | 久久久午夜精品理论片中文字幕 | 国产精品日韩在线播放 | 久久久久国产精品视频 | 伊人午夜视频 | 91免费视频国产 | 欧美日韩性视频在线 | 国产一区精品在线 | 男女激情免费网站 | 亚洲国产网站 | 亚洲综合在线五月天 | 久草a在线 | 日韩在线观看三区 | 亚洲精品国产综合久久 | 国产精品18久久久久久vr | 中文字幕免费在线看 | 成人影音av | 欧美精品xxx | 成人av日韩| 91精品秘密在线观看 | 中文视频在线播放 | 人人插人人插 | 国产精品尤物 | 麻花传媒mv免费观看 | wwxxxx日本| 欧美国产一区在线 | 丁香五月亚洲综合在线 | 6080yy精品一区二区三区 | 丝袜精品视频 | 午夜久久久久久久久 | 亚洲国产精彩中文乱码av | 97在线影院 | 中文字幕精品一区二区三区电影 | 午夜国产福利在线 | 亚洲精品自拍视频在线观看 | 国产精品久久久久久一区二区三区 | 久久久不卡影院 | 久久亚洲热 | 亚洲专区在线播放 | 99久久99视频只有精品 | 免费视频成人 | 中文字幕资源网 | www.福利视频 | 欧美日韩一区二区在线观看 | 在线观看免费 | 美女网站在线免费观看 | 在线观看av免费观看 | 久久亚洲免费 | 日韩在线小视频 | 欧美另类网站 | 麻豆影视在线免费观看 | 欧美日韩中文字幕在线视频 | 国产精品99蜜臀久久不卡二区 | 国产一区二区在线视频观看 | 五月婷婷一区 | 黄色av电影在线 | 美女免费网站 | 欧美日韩高清一区 | 视频国产在线 | 97成人精品视频在线观看 | 日本精品视频免费观看 | 日韩精品中文字幕久久臀 |