99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

RK3588部署YOLOv8:從交叉編譯到ARM端NPU推理全流程

RK3588部署YOLOv8:從交叉編譯到ARM端NPU推理全流程 第一次在RK3588開(kāi)發(fā)板上部署YOLOv8我被一個(gè)最基礎(chǔ)的報(bào)錯(cuò)卡了整整一下午。在x86 PC上編譯得好好的推理程序scp到板卡后一執(zhí)行屏幕冷冰冰彈出一句cannot execute binary file: Exec format error。那一刻我才徹底想明白R(shí)K3588的嵌入式AI開(kāi)發(fā)第一道門檻根本不是模型訓(xùn)練也不是NPU算子而是先把“交叉編譯與ARM端運(yùn)行”這條鏈路走通。這篇內(nèi)容我會(huì)把整條鏈路從原理到實(shí)戰(zhàn)完整講透為什么RK3588項(xiàng)目繞不開(kāi)交叉編譯、工具鏈和sysroot怎么搭、CMake工具鏈文件怎么寫(xiě)、YOLOv8模型怎么從ONNX轉(zhuǎn)成RKNN再編譯部署到ARM端以及我第一次跑ARM端推理程序時(shí)踩過(guò)的那些真實(shí)坑。適合剛拿到RK3588開(kāi)發(fā)板、想在板卡上跑通AI模型的開(kāi)發(fā)者也適合被“交叉編譯”四個(gè)字勸退的嵌入式入門同學(xué)參考。1. 為什么RK3588的AI項(xiàng)目繞不開(kāi)交叉編譯先別急著在板卡上裝gcc拿到RK3588開(kāi)發(fā)板的第一天很多人的反應(yīng)和我一樣直接在板卡上裝個(gè)build-essential然后git clone一個(gè)AI工程就開(kāi)始make。我承認(rèn)這種思路對(duì)小工具完全可行我甚至在板卡上編譯過(guò)nginx、sqlite3這類純C項(xiàng)目?jī)煞昼姵鼋Y(jié)果本地直接跑。但AI推理工程屬于另一類物種在板卡上直接編譯你會(huì)很快撞到三堵墻。1.1 板卡直接編譯的“可行區(qū)”和“禁區(qū)”第一堵墻是硬件資源。RK3588的常見(jiàn)配置是4GB/8GB內(nèi)存加32GB eMMCCPU是4個(gè)Cortex-A76大核加4個(gè)Cortex-A55小核。跑業(yè)務(wù)它確實(shí)強(qiáng)但讓它去編譯以O(shè)penCV、ONNX Runtime、RKNN Runtime為依賴的推理工程內(nèi)存8GB的板卡在編譯到一半時(shí)經(jīng)常OOMswap寫(xiě)滿之后系統(tǒng)直接卡死。AI工程依賴的不只是兩三個(gè)庫(kù)往往是protobuf、abseil、libcurl、openblas這一長(zhǎng)串每個(gè)第三方庫(kù)都要源碼編譯幾個(gè)小時(shí)是常態(tài)板卡全核拉滿時(shí)溫度沖到80度以上降頻之后速度更慢。第二堵墻是工程化問(wèn)題。你不可能每次改了代碼都把整個(gè)依賴樹(shù)重編一遍更不可能讓團(tuán)隊(duì)成員每人都拿一塊板卡去編譯。交叉編譯環(huán)境只要在PC上搭好同一個(gè)工具鏈文件可以被CI復(fù)用任何人拉下來(lái)都能產(chǎn)出相同架構(gòu)的二進(jìn)制這是可重復(fù)構(gòu)建的基本前提。第三堵墻才是本質(zhì)目標(biāo)架構(gòu)不同。PC是x86_64RK3588是aarch64兩者指令集不兼容。你在PC上用gcc直接編譯出的ELF文件板卡內(nèi)核根本不認(rèn)。所以“交叉編譯”不是可選項(xiàng)而是RK3588這類ARM平臺(tái)AI項(xiàng)目的必選項(xiàng)。1.2 交叉編譯的本質(zhì)一份代碼兩種架構(gòu)交叉編譯說(shuō)白了就是讓運(yùn)行在x86上的編譯器生成目標(biāo)架構(gòu)為aarch64的機(jī)器碼。編譯器本身跑在宿主機(jī)host上但它的編譯目標(biāo)target是板卡的ARM架構(gòu)。這也是“交叉”二字的來(lái)源host和target不一致。一套完整的交叉編譯工具鏈不只是gcc一個(gè)命令而是由三部分協(xié)作交叉編譯器負(fù)責(zé)把C/C源碼翻譯成目標(biāo)架構(gòu)匯編交叉binutils負(fù)責(zé)匯編和鏈接生成aarch64格式的ELF交叉sysroot則提供了目標(biāo)系統(tǒng)上的頭文件和運(yùn)行庫(kù)。很多新手的誤區(qū)在于以為交叉編譯器自帶全套目標(biāo)系統(tǒng)庫(kù)。實(shí)際上默認(rèn)工具鏈的sysroot非常精簡(jiǎn)只有l(wèi)ibc、libstdc這些基礎(chǔ)庫(kù)OpenCV、ONNX Runtime這類業(yè)務(wù)庫(kù)必須你自己準(zhǔn)備并放進(jìn)sysroot或通過(guò)編譯參數(shù)指定搜索路徑。1.3 動(dòng)手前先記錄板卡的系統(tǒng)指紋交叉編譯的第一紀(jì)律是“編譯環(huán)境和運(yùn)行環(huán)境版本對(duì)齊”。如果你在PC上用了太新的glibc生成的程序拿到板卡上跑經(jīng)常會(huì)見(jiàn)到類似GLIBC_2.34 not found的報(bào)錯(cuò)。所以在搭建環(huán)境之前先在板卡上記下三條信息uname -a確認(rèn)內(nèi)核架構(gòu)和版本cat /etc/os-release確認(rèn)板卡系統(tǒng)版本比如Ubuntu 22.04還是Debian 12ldd --version確認(rèn)glibc版本這一步看似瑣碎但后面所有環(huán)境配置都以這三條為基準(zhǔn)。板卡系統(tǒng)版本決定你要找哪種rootfs做sysrootglibc版本決定工具鏈最高能用到什么程度。我在項(xiàng)目里會(huì)把這三條輸出拷貝到一個(gè)版本檔案文件里后面排查問(wèn)題直接對(duì)著查效率高很多。2. 搭一套真正可復(fù)用的交叉編譯環(huán)境工具鏈、sysroot與CMake工具鏈文件交叉編譯環(huán)境的核心是三個(gè)東西工具鏈、sysroot、工程構(gòu)建配置。工具鏈負(fù)責(zé)“能編”sysroot負(fù)責(zé)“編完能跑”CMAKE_TOOLCHAIN_FILE負(fù)責(zé)“編得明白”。三者缺一不可。2.1 工具鏈選型glibc工具鏈 vs musl工具鏈如果你的RK3588板卡刷的是Ubuntu或Debian系統(tǒng)首選Ubuntu官方源里的gcc-aarch64-linux-gnu。安裝命令很簡(jiǎn)單sudo apt update sudo apt install gcc-aarch64-linux-gnu g-aarch64-linux-gnu裝完驗(yàn)證一下aarch64-linux-gnu-gcc -v輸出里Target: aarch64-linux-gnu就說(shuō)明交叉編譯器正常。這個(gè)工具鏈默認(rèn)的sysroot在/usr/aarch64-linux-gnu目錄下里面只有最基礎(chǔ)的C/C運(yùn)行庫(kù)。如果你經(jīng)常被glibc版本問(wèn)題折磨可以了解另一條路線musl交叉工具鏈。musl庫(kù)的優(yōu)勢(shì)是支持完全靜態(tài)鏈接編譯出來(lái)的二進(jìn)制除了內(nèi)核接口外不依賴系統(tǒng)上任何.so文件拷到任何同架構(gòu)的Linux系統(tǒng)都能跑。代價(jià)是靜態(tài)鏈接體積較大且glibc生態(tài)中部分涉及NSS用戶認(rèn)證、DNS解析的庫(kù)在靜態(tài)鏈接下會(huì)有兼容問(wèn)題。表格對(duì)比一下兩種工具鏈的適用場(chǎng)景對(duì)比項(xiàng)glibc工具鏈musl工具鏈系統(tǒng)兼容性依賴目標(biāo)板卡glibc版本不依賴靜態(tài)鏈接可帶走動(dòng)態(tài)鏈接體積小共享系統(tǒng)庫(kù)大全打進(jìn)一個(gè)二進(jìn)制多線程性能成熟穩(wěn)定略遜但對(duì)大多數(shù)AI場(chǎng)景不敏感最適場(chǎng)景板卡是Ubuntu/Debian按架構(gòu)對(duì)齊板卡是最小rootfs、容器、長(zhǎng)期運(yùn)行的獨(dú)立部署我個(gè)人的習(xí)慣是板卡跑Ubuntu 22.04就用glibc工具鏈把“運(yùn)行時(shí)庫(kù)版本對(duì)齊”作為紀(jì)律做好只有遇到不可避免的版本沖突而且沒(méi)法用sysroot解決時(shí)才用musl靜態(tài)鏈接兜底。2.2 把板卡環(huán)境完整“搬”過(guò)來(lái)sysroot的兩種準(zhǔn)備方式sysroot決定了編譯器在鏈接和編譯時(shí)能看到哪些頭文件、哪些動(dòng)態(tài)庫(kù)。兩個(gè)可選方式方式一從運(yùn)行中的板卡直接同步。在執(zhí)行同步的板卡上先裝好所有打算使用的運(yùn)行庫(kù)回到PC上執(zhí)行rsyncrsync -avz --exclude/proc/* --exclude/sys/* --exclude/dev/* --exclude/tmp/* --exclude/run/* root板卡IP:/usr /opt/rk3588-sysroot再把板卡的/lib目錄也同步一份因?yàn)椴糠謩?dòng)態(tài)鏈接器路徑在/lib下rsync -avz root板卡IP:/lib /opt/rk3588-sysroot方式二使用官方rootfs。從Rockchip官方wiki或Ubuntu cdimage下載aarch64架構(gòu)的Ubuntu 22.04 rootfs壓縮包解壓到/opt/rk3588-sysroot。這種方式更干凈便于版本管理。無(wú)論哪種方式最終sysroot目錄下要能看到usr/include、usr/lib/aarch64-linux-gnu、lib/ld-linux-aarch64.so.1這些關(guān)鍵路徑??截愅陝?wù)必檢查軟鏈接是否完整很多.so都是符號(hào)鏈接rsync默認(rèn)帶-a參數(shù)會(huì)保留但如果手動(dòng)cp就容易斷鏈鏈接器會(huì)報(bào)找不到庫(kù)。2.3 CMake工具鏈文件一次配置百次復(fù)用交叉編譯環(huán)境下我強(qiáng)烈建議用CMake而不是直接手寫(xiě)gcc命令行。AI工程依賴復(fù)雜CMake的find_package機(jī)制能自動(dòng)在sysroot里找?guī)煺翌^文件省去一大堆手動(dòng)路徑。下面這個(gè)工具鏈文件我用了很久可以照抄set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR aarch64) set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g) set(CMAKE_SYSROOT /opt/rk3588-sysroot) set(CMAKE_FIND_ROOT_PATH /opt/rk3588-sysroot) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) set(CMAKE_CXX_FLAGS -marcharmv8.2-afp16 -O2)三個(gè)MODE選項(xiàng)是重點(diǎn)PROGRAM NEVER表示查程序時(shí)只在宿主機(jī)找編譯工具本身必須用PC上的LIBRARY和INCLUDE ONLY則表示庫(kù)和頭文件只從sysroot里找防止混入宿主機(jī)的x86庫(kù)。用的時(shí)候在工程里指定cmake -DCMAKE_TOOLCHAIN_FILE../toolchain/aarch64-linux-gnu.cmake ..armv8.2-a是RK3588支持的ARM架構(gòu)級(jí)別啟用fp16對(duì)AI預(yù)處理有實(shí)際收益。如果不確定可以用-marcharmv8-a保守一些兼容性更好。2.4 不用重新編譯OpenCV從板卡側(cè)“摳”庫(kù)的省力做法OpenCV是AI推理程序中幾乎必帶的依賴。很多人一上來(lái)就在PC上交叉編譯OpenCV說(shuō)實(shí)話源碼編OpenCV四五個(gè)小時(shí)起步非常痛苦。省力的做法是在板卡上直接裝好Ubuntu官方源的OpenCVsudo apt install libopencv-dev然后把板卡上對(duì)應(yīng)文件拷回sysrootrsync -avz root板卡IP:/usr/include/opencv4 /opt/rk3588-sysroot/usr/include/ rsync -avz root板卡IP:/usr/lib/aarch64-linux-gnu/libopencv* /opt/rk3588-sysroot/usr/lib/aarch64-linux-gnu/只要板卡系統(tǒng)的glibc、gcc版本和你的交叉工具鏈在可接受范圍內(nèi)這種方式能省掉一整天的編譯時(shí)間。要注意的是拷過(guò)來(lái)的庫(kù)必須是aarch64版本絕不能把PC宿主機(jī)上的x86 OpenCV拷進(jìn)去那種錯(cuò)誤非常隱蔽編譯能過(guò)但鏈接一堆符號(hào)找不到。3. 第一個(gè)跑在RK3588上的程序Hello World的完整交付閉環(huán)在你把YOLOv8塞進(jìn)板卡之前先用五分鐘左右跑通一個(gè)Hello World。這一步練的是“交叉編譯—檢查—傳輸—運(yùn)行”的閉環(huán)后面所有AI工程都是這個(gè)閉環(huán)的放大版。3.1 交叉編譯的四步閉環(huán)編譯、檢查、傳輸、運(yùn)行寫(xiě)一個(gè)最簡(jiǎn)單的入口#include iostream int main() { std::cout hello rk3588 std::endl; return 0; }然后交叉編譯aarch64-linux-gnu-g hello.cpp -o hello編譯完先別急著傳先看文件類型file hello輸出里應(yīng)該有ELF 64-bit LSB executable, ARM aarch64??吹紸RM aarch64就說(shuō)明指令集對(duì)了如果看到x86-64說(shuō)明調(diào)用的是本機(jī)gcc而不是交叉編譯器。接著傳輸scp hello root板卡IP:/root/ssh到板卡執(zhí)行./hello這個(gè)“控制臺(tái)打印成功”就是你的第一個(gè)RK3588可運(yùn)行程序。3.2 用readelf和ldd在PC端提前排查運(yùn)行依賴動(dòng)態(tài)庫(kù)依賴問(wèn)題是最容易在ARM端翻車的但很多依賴問(wèn)題在PC端就能提前看見(jiàn)。交叉編譯完成后在PC上用readelf查看依賴表readelf -d hello | grep NEEDED你會(huì)看到libstdc.so.6、libc.so.6這一類的NEEDED條目。這些對(duì)應(yīng)的.so文件在你的sysroot里要有在目標(biāo)板卡的系統(tǒng)庫(kù)目錄里也要有。缺了哪個(gè)板卡上運(yùn)行就會(huì)報(bào)cannot open shared object file。這一步相當(dāng)于“部署前體檢”不要在scp傳過(guò)去之后才被報(bào)錯(cuò)打臉。3.3 ARM端第一次開(kāi)機(jī)后的最小運(yùn)行環(huán)境清單新板卡到手裝完系統(tǒng)后有幾個(gè)步驟必須做否則后面?zhèn)鞒绦?、跑模型都?huì)很別扭擴(kuò)容分區(qū)很多出廠鏡像只用了SD卡或eMMC的一部分空間用df -h確認(rèn)必要時(shí)resize2fs。開(kāi)啟SSH并設(shè)置固定IP交叉編譯流程需要頻繁傳輸文件SSH是基礎(chǔ)固定IP避免每次重連都要查地址。更換軟件源把a(bǔ)pt源切換成國(guó)內(nèi)鏡像板卡上apt update和安裝依賴庫(kù)的速度差好幾倍。配置swap內(nèi)存4GB的版本在跑AI推理時(shí)swap能救急。建議創(chuàng)建一個(gè)2GB以上的swapfile。安裝基礎(chǔ)運(yùn)行時(shí)庫(kù)根據(jù)你的工程依賴提前在板卡上apt安裝對(duì)應(yīng)的運(yùn)行庫(kù)版本。這些事不復(fù)雜但最好在部署前搞定而不是在編譯傳輸完成之后才開(kāi)始處理否則很容易把“環(huán)境配置問(wèn)題”和“程序問(wèn)題”混在一起排查。4. YOLOv8部署到RK3588的完整鏈路模型轉(zhuǎn)換、推理程序編譯與運(yùn)行前面環(huán)境鋪墊完了這才進(jìn)入正文主題如何在RK3588上實(shí)際部署YOLOv8。我走的是“ONNX導(dǎo)出—RKNN量化—C推理程序—ARM端運(yùn)行”這條完整鏈路這也是RK3588上利用NPU的主流路徑。4.1 先決定推理路徑純CPU、NCNN還是RKNN NPU在RK3588上部署YOLOv8有三條常見(jiàn)路線推理路徑模型格式硬件利用率部署成本典型延遲參考ONNX Runtime CPUONNX僅CPU低YOLOv8s約100ms以上NCNNNCNN參數(shù)/二進(jìn)制CPUNEON優(yōu)化中YOLOv8s約60-80msRKNN NPURKNNNPU優(yōu)先高需量化校準(zhǔn)YOLOv8s約30-50msn模型更低我對(duì)新手的建議是先把ONNX Runtime或NCNN路線跑通驗(yàn)證模型的輸入輸出流程、圖片預(yù)處理、后處理NMS這些邏輯都沒(méi)問(wèn)題再轉(zhuǎn)RKNN上NPU。很多人的誤區(qū)是一上來(lái)直接轉(zhuǎn)RKNN結(jié)果前向沒(méi)問(wèn)題后處理數(shù)據(jù)錯(cuò)位了排查起來(lái)非常痛苦因?yàn)榉植磺迨悄P娃D(zhuǎn)換問(wèn)題還是代碼問(wèn)題。如果確定要上NPU接著往下看RKNN流程。4.2 RKNN模型轉(zhuǎn)換YOLOv8的ONNX到RKNN量化流程RK3588的NPU只能運(yùn)行Rockchip的RKNN格式模型所以第一步是把YOLOv8的ONNX轉(zhuǎn)為RKNN。rknn-toolkit2跑在x86 PC的Python環(huán)境里目標(biāo)板卡上只需要runtime庫(kù)。轉(zhuǎn)換腳本核心部分from rknn.api import RKNN rknn RKNN() rknn.config(target_platformrk3588, mean_values[[0, 0, 0]], std_values[[255, 255, 255]]) rknn.load_onnx(modelyolov8s.onnx) rknn.build(do_quantizationTrue, datasetdataset.txt) rknn.export_rknn(yolov8s.rknn)dataset.txt里放幾十張有代表性的圖片路徑用于量化校準(zhǔn)。量化后模型體積極大縮小以YOLOv8n為例原始FP32的ONNX約20多MB量化后可能只有10MB左右。量化校準(zhǔn)圖片的選擇很關(guān)鍵一定不要隨便放幾張風(fēng)景圖最好從你的真實(shí)業(yè)務(wù)場(chǎng)景里挑否則量化損失可能超出預(yù)期。轉(zhuǎn)換完成后在PC端可以做一次NPU模擬推理驗(yàn)證rknn-toolkit2支持模擬環(huán)境運(yùn)行結(jié)果這個(gè)驗(yàn)證能提前攔住80%的模型轉(zhuǎn)換問(wèn)題。4.3 交叉編譯最小RKNN推理程序的組織方式轉(zhuǎn)換好RKNN模型后需要寫(xiě)一個(gè)C程序調(diào)用RKNN Runtime API。工程目錄參考yolov8_rk3588/ ├── CMakeLists.txt ├── src/ │ └── detect.cpp ├── include/ │ └── librknn_api.h ├── third_party/ │ └── rknpu2/ │ ├── librknn_api.h │ └── librknnrt.so └── models/ └── yolov8s.rknnCMakeLists.txt的核心部分cmake_minimum_required(VERSION 3.16) project(yolov8_rk3588 CXX) set(CMAKE_TOOLCHAIN_FILE /opt/rk3588-sysroot/toolchain/aarch64-linux-gnu.cmake) find_package(OpenCV REQUIRED COMPONENTS core imgproc) add_executable(detect src/detect.cpp) target_include_directories(detect PRIVATE include third_party/rknpu2) target_link_directories(detect PRIVATE third_party/rknpu2) target_link_libraries(detect PRIVATE ${OpenCV_LIBS} rknnrt)程序里的調(diào)用流程簡(jiǎn)化為rknn_init加載模型rknn_query查詢輸入輸出的維度和格式把圖像resize成640x640并轉(zhuǎn)BGR2RGB調(diào)用rknn_inputs_set輸入數(shù)據(jù)rknn_run執(zhí)行推理最后rknn_outputs_get取出張量再在CPU上做后處理解析。YOLOv8的輸出維度需要格外小心常見(jiàn)的是(1, 84, 8400)這樣的張量其中84是4個(gè)邊界框坐標(biāo)加80個(gè)類別得分8400是不同尺度特征圖鋪平的錨點(diǎn)數(shù)量。也有的導(dǎo)出方式會(huì)分成三個(gè)不同尺度的輸出。解析時(shí)一定要按實(shí)際的張量布局來(lái)遍歷這是新手最容易統(tǒng)計(jì)錯(cuò)維度導(dǎo)致結(jié)果全亂的地方。4.4 首版運(yùn)行指標(biāo)綁定大核、記錄幀率和延遲程序能在板卡上跑通后先別急著優(yōu)化把一個(gè)基礎(chǔ)版本的性能指標(biāo)記錄下來(lái)。RK3588的大小核調(diào)度對(duì)推理性能影響巨大默認(rèn)情況下線程可能被塞到A55小核上浪費(fèi)CPU算力。啟動(dòng)時(shí)用taskset綁定大核taskset -c 4-7 ./detectRK3588的CPU拓?fù)渫ǔJ?-3為A55小核4-7為A76大核但不同開(kāi)發(fā)板可能調(diào)整先lscpu確認(rèn)一下。記錄指標(biāo)時(shí)至少要量三段圖像預(yù)處理耗時(shí)、模型推理耗時(shí)、后處理NMS耗時(shí)。我實(shí)測(cè)下來(lái)YOLOv8的NMS在ARM CPU上的消耗經(jīng)常和模型推理一樣大因?yàn)橐闅v8400個(gè)候選框做過(guò)濾。如果你的延遲瓶頸在NMS一個(gè)很有效的優(yōu)化是先把置信度低的候選框提前濾掉再進(jìn)NMS候選框數(shù)量可能從8400降到幾百后處理時(shí)間大幅縮短。5. ARM端首次運(yùn)行的翻車現(xiàn)場(chǎng)我踩過(guò)的五個(gè)真實(shí)問(wèn)題部署AI模型到ARM端第一次能一路順暢跑通反而是小概率事件。下面這幾個(gè)問(wèn)題我全部真實(shí)遇到過(guò)每一個(gè)都能讓程序從“好像沒(méi)問(wèn)題”瞬間變成“完全不可用”。5.1 Exec format error別急著懷疑人生先f(wàn)ile這個(gè)報(bào)錯(cuò)我在開(kāi)頭提過(guò)這是最基礎(chǔ)的架構(gòu)不匹配錯(cuò)誤。你把x86的可執(zhí)行文件拷貝到ARM板卡內(nèi)核直接拒絕執(zhí)行提示exec format error。解決辦法不是重新編譯一百次而是記住一個(gè)動(dòng)作編譯產(chǎn)物第一次傳輸之前必須file檢查。file ./detect輸出顯示ARM aarch64就執(zhí)行顯示x86-64就停下來(lái)檢查工具鏈配置。這個(gè)習(xí)慣養(yǎng)成后能幫你省掉大量排查時(shí)間。很多看起來(lái)神秘的運(yùn)行報(bào)錯(cuò)本質(zhì)上都是編譯階段架構(gòu)錯(cuò)了運(yùn)行階段再怎么查都查不到原因。5.2 GLIBC版本和動(dòng)態(tài)庫(kù)路徑編譯態(tài)與運(yùn)行態(tài)的“兩岸對(duì)話”這是最隱蔽也最常見(jiàn)的ARM端問(wèn)題。一個(gè)典型場(chǎng)景你在PC上用較新的Ubuntu版本安裝了交叉工具鏈工具鏈在編譯時(shí)默認(rèn)找的是它自帶的sysroot這個(gè)sysroot里的glibc可能比板卡的新。于是程序傳過(guò)去之后運(yùn)行時(shí)報(bào)出/lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.34 not found你的程序在編譯態(tài)和運(yùn)行態(tài)各自拿著一份不同時(shí)代的glibc完全對(duì)不上。解決方向有兩個(gè)一是確保工具鏈的sysroot與板卡系統(tǒng)同版本二是用musl工具鏈靜態(tài)鏈接。動(dòng)態(tài)庫(kù)路徑問(wèn)題則是另一類高頻坑。比如程序依賴libopencv_world.so.405而板卡上這個(gè)庫(kù)不在默認(rèn)搜索路徑里運(yùn)行時(shí)會(huì)直接報(bào)cannot open shared object file。我推薦的做法是給可執(zhí)行文件設(shè)置RPATH讓它在自己所在目錄找共享庫(kù)patchelf --set-rpath $ORIGIN ./detect這樣部署時(shí)把可執(zhí)行文件、RKNN模型、依賴的.so都放在同一個(gè)目錄就能完整帶包走不用指望板卡上的路徑對(duì)不對(duì)。5.3 Segfault與隨機(jī)花屏ARM上的內(nèi)存對(duì)齊紀(jì)律ARM架構(gòu)對(duì)內(nèi)存對(duì)齊比x86嚴(yán)格得多尤其在開(kāi)了NEON/SIMD優(yōu)化之后。程序在PC上跑幾千張圖都沒(méi)事傳到RK3588上一跑就Segmentation fault或者輸出圖像偶爾花屏大概率是內(nèi)存對(duì)齊和越界訪問(wèn)問(wèn)題。我遇到過(guò)的一個(gè)真實(shí)案例圖像預(yù)處理時(shí)把每行像素按width對(duì)齊到4字節(jié)結(jié)果忘了某些格式的每行通道數(shù)是3字節(jié)對(duì)齊導(dǎo)致內(nèi)存越界寫(xiě)入表現(xiàn)就是程序“時(shí)而崩潰時(shí)而圖像錯(cuò)位”。這種問(wèn)題用gdb在崩潰點(diǎn)看backtrace能定位但如果崩潰概率低就要靠代碼審查。建議所有涉及圖像Buffer的操作統(tǒng)一用連續(xù)內(nèi)存分配并做對(duì)齊比如用posix_memalign分配64字節(jié)對(duì)齊的內(nèi)存這對(duì)NEON優(yōu)化尤其重要。5.4 功耗墻和大小核調(diào)度跑起來(lái)和跑得快是兩碼事程序能穩(wěn)定運(yùn)行之后性能不達(dá)標(biāo)的時(shí)候該查什么第一查核第二查溫第三查內(nèi)存帶寬。RK3588的8個(gè)核分為A76大核和A55小核。默認(rèn)調(diào)度器在負(fù)載不高時(shí)可能把推理線程放在小核上延遲翻倍。綁定大核是第一步taskset -c 4-7 ./detect第二查溫度。A76大核全開(kāi)跑AI模型開(kāi)發(fā)板不裝散熱片半小時(shí)內(nèi)就會(huì)撞到溫度墻CPU頻率從2.4GHz一路降到1.2GHz甚至更低。判斷是否降頻可以看cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq如果頻率明顯下降先解決散熱問(wèn)題再加一個(gè)綁核策略否則程序性能永遠(yuǎn)跑不滿。第三是內(nèi)存帶寬。RK3588的內(nèi)存帶寬雖然不錯(cuò)但多線程推理時(shí)經(jīng)常出現(xiàn)“線程加了一倍幀率紋絲不動(dòng)”的現(xiàn)象這是因?yàn)閮?nèi)存帶寬先觸頂了。這時(shí)候與其堆線程不如優(yōu)化數(shù)據(jù)拷貝比如復(fù)用輸入輸出Buffer避免每次推理都重新malloc和memcpy。5.5 VPU、MIPI屏這些周邊部署節(jié)奏要提前留余量項(xiàng)目后期你大概率會(huì)遇到視頻解碼和顯示相關(guān)的問(wèn)題。RK3588的VPU是獨(dú)立硬件編解碼模塊支持H.264/H.265硬編硬解4K甚至8K都能處理。AI推理的輸入端如果來(lái)自視頻流交給VPU硬解比CPU軟解省出大量算力但使用VPU需要額外引入rockchip_mpp庫(kù)這也是交叉編譯環(huán)境里容易被忽略的一塊。另外如果你在RK3588 Linux下適配MIPI屏幕無(wú)論是MIPI DSI顯示屏還是MIPI CSI攝像頭通常都需要在設(shè)備樹(shù)或overlay里配置對(duì)應(yīng)節(jié)點(diǎn)。板卡出廠默認(rèn)可能只適配了HDMI輸出換上MIPI屏幕后啟動(dòng)沒(méi)顯示先別慌去查dts、查dmesg里的panel相關(guān)日志必要時(shí)做設(shè)備樹(shù)overlay。這類外設(shè)適配最好提前做不要等到AI推理全部調(diào)完才想起來(lái)搞屏幕。6. 讓ARM端問(wèn)題不再難復(fù)現(xiàn)三種調(diào)試手段和一套部署習(xí)慣交叉編譯和ARM部署的調(diào)試一直有“黑盒感”因?yàn)樵诎蹇ㄉ锨胓db并不總方便性能數(shù)據(jù)也不如PC直觀。但實(shí)際工作中只要用好遠(yuǎn)程調(diào)試和性能工具問(wèn)題定位效率可以接近在PC上調(diào)試。6.1 gdbserver與gdb-multiarch跨平臺(tái)遠(yuǎn)程斷點(diǎn)調(diào)試板卡上安裝gdbserver宿主機(jī)安裝調(diào)試器。在板卡上啟動(dòng)gdbserver :2345 ./detect然后在PC端進(jìn)入gdbgdb-multiarch ./detect (gdb) target remote 板卡IP:2345 (gdb) break src/detect.cpp:120 (gdb) continue這樣你可以在PC上一邊看源碼一邊打斷點(diǎn)板卡只負(fù)責(zé)真實(shí)驗(yàn)收所有調(diào)試體驗(yàn)和本地gdb幾乎一樣。用這個(gè)方式定位Segfault尤其有效一條backtrace就能看到崩潰點(diǎn)的完整調(diào)用鏈。6.2 perf、top與/proc/cpuinfo性能問(wèn)題定位三板斧性能不達(dá)標(biāo)時(shí)我一般按順序做三件事。第一用perf看程序熱點(diǎn)perf stat ./detect第二用top -H看線程占用的CPU核確認(rèn)推理線程到底跑在哪個(gè)核上是否如預(yù)期綁到大核。第三配合/proc/cpuinfo里的CPU current frequency循環(huán)采樣判斷算力是否被功耗墻限制。這三個(gè)工具配合起來(lái)基本能定位90%的“為什么跑不快”問(wèn)題。是CPU算力不夠、線程沒(méi)綁核、還是硬件降頻一眼就能分辨。6.3 一份長(zhǎng)期有效的部署清單與版本檔案習(xí)慣我建議在項(xiàng)目里固定一份部署清單記錄以下內(nèi)容板卡系統(tǒng)版本和內(nèi)核版本交叉工具鏈版本sysroot來(lái)源是從板卡rsync還是官方rootfs各依賴庫(kù)在目標(biāo)板卡上的安裝方式apt包還是手動(dòng)拷貝路徑RKNN模型轉(zhuǎn)換時(shí)使用的rknn-toolkit2版本和轉(zhuǎn)換參數(shù)這些問(wèn)題在項(xiàng)目剛搭建時(shí)很清晰但一個(gè)月后再回來(lái)重構(gòu)或者給同事交接時(shí)如果沒(méi)有任何記錄幾乎等于從頭再來(lái)。所謂“環(huán)境不好復(fù)現(xiàn)”通常都是因?yàn)橐婚_(kāi)始沒(méi)記錄。最后再分享一個(gè)我自己的習(xí)慣每次拿到一塊新的RK3588開(kāi)發(fā)板我會(huì)先把五條信息寫(xiě)進(jìn)項(xiàng)目根目錄的版本檔案里板卡系統(tǒng)版本、內(nèi)核版本、glibc版本、工具鏈gcc版本、sysroot來(lái)源。YOLOv8或任何AI模型部署到RK3588時(shí)問(wèn)題鏈里大約一半都是版本不一致引起的而版本不一致的根源往往是當(dāng)時(shí)偷懶沒(méi)記錄。交叉編譯本身不復(fù)雜復(fù)雜的是讓編譯側(cè)、板卡側(cè)和運(yùn)行庫(kù)長(zhǎng)期保持同頻。把這個(gè)動(dòng)作變成肌肉記憶后面所有部署都會(huì)順暢許多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷在线视频| 婷婷99| 男女激情久久| 五月天成人综合| www.97碰碰com| 激情网五月天| 蜜臀99精品| 快乐激情五月色婷婷| 三人荫蒂添的好舒服A片| 日本五月婷婷| 婷婷五月骚厕所| 9人人操人人看| 91天天操天天干天天射| 天天色天天操天天射| 欧亚洲在线高清视频| aV直接看| 色婷婷成人做爰A片免费看网站| 激情婷婷五月天日本系列| 中文成人在线| 丁香五月玖玖| 婷婷五月丁香色色| 婷婷色网址| 99热9| 亚洲久久婷婷| 五月婷在线色视频| 婷婷色无码| 狠狠色噜噜狠狠| 青草视频在线播放| 超碰人人草| 九九视频这里有精品| 欧美色色色| 久久九九九九| 91热网址| 97久人人| 久久总和99| 色六月 婷婷| 五月天综合| 17.c黄色| 99国产这里只有精品| 九九热九九热精品| 99这里有精品免费| jiqingtaose五月天| 婷婷五月丁香色综合| 99精品视频在线观看| 久久99网| 久久97| 91综合国免费久入| 激情五月婷婷网| 色999五月色| 五月婷婷综合久久| 激情五月黄色小说| 色五月av伊人| 色婷婷色婷婷五月| 亚洲国产精品VA在线看黑人| 99久精品视频| 91精品综合久久久久久五月丁香| 亚洲成人免费在线| 丁香五月婷婷色| 久久丁香五月天| 丁香六月五月婷婷| 狠狠干,狠狠操| 激情综合一| 狠狠xx| 天天摸日日舔狠狠添婷婷婷| 五月丁香激情婷婷| 色老久久| 色99在线| 亚洲丁香婷婷| 婷婷丁香宗合888| 五月久久婷婷| www.婷婷五月天,com| 九九色区| 日本狠狠爽| 深爱激情九九五月天| 最新热中文字幕| 九九综合视频在线观看| 久久66精品| 婷婷激情网五月天| 情色婷婷五月天| 六月久久婷婷| 91蜜桃婷婷狠狠久久综合9色| 超碰在线人妻| 婷五月天| 色色色在线免费视频| 久久五月视频| 色五月天成人| 婷婷伊人綜合中文字幕| 少妇伦子伦精品无吗| 国产AV一区二区三区日韩| 大香蕉av在线| 区欧美日韩成人| 无人区码一码二码三码医生系列| 亚洲色综久久五月| 亚洲成人在线播放| 天天插天天操| 欧美人与性动交CCOO| 五月天操逼激情| 激情五月瑟瑟| 五月青青草综合| 99热在线观看免费| 天天精品视频免费观看| 五月天婷婷涩涩| 东北黄色一级| 欧日韩AV| 五月天激情综合网| 婷婷丁香五月天综合在线日韩| 丁香花五月天社区| 婷婷精品在线| 日本va欧美va国产激情| 国产激情在线观看| 亚州激情网站无码| 五月天婷婷操逼视频| 另类少妇人与禽zOZZ0性伦| www.色色色com| 大天天伊人| 婷婷五月天av网| 六月色色综合| 91热爆在线| 婷婷五月天国产性感美女演员久久久久| 丁香五月很很肏| 色婷婷成人| 天天干狠狠艹| 国产精品久久久久久妇女6080| 色99最新网址| 5月丁香综合网| 五月丁香影院| 大香AV| 色五月婷婷开心| 人人干99| 久久五月天色婷婷| 67194中文字幕| 少妇AB又爽又紧无码网站| 五月深情久久| 五月婷婷人妻| 五月丁香婷婷钟和色图| 热热久久久久久久久| 日韩AV片| 伊人狠狠丁香婷婷综合尤物| 毛片新网地| 五月丁香人妻| 丁香九月婷婷| 久久丁香五月天| 亚州激情九月| 五月开心色| 怡红院视频| 嫩草国产| 久久精品99久久久久久| 国产女18毛片多18精品| 操射国产日本| 夫妻超碰在线| 日韩操逼小电影| 亚洲无AV在线中文字幕| 五月丁香六月激情综合啪啪| www.婷婷| 婷婷亚洲在线| 91色性感五月婷婷丁香| 久久五月天色| 98色花堂98t.R| 深爱激情丁香| 五月丁香色婷婷久久| 天堂草在线观看| 亚洲亚洲人成综合网络| 久噜久噜| 海外网站专业操老外| 婷婷六月情| 99国产99| 91狠狠色色丁香婷婷综合久久| 欧美色偷偷大香| 丁香婷婷在线| 婷婷五月天激情电影| 日本WWW九九九| 伊人色综合久久久| 色五月天电影| 日本成人噜噜| 激情丁香六月| 狠狠干狠狠色| 思思精品热在线| 九九精品9| 日日夜夜天天爽| 91丨九色丨首页| 婷婷久久国产视频| se99热久久一本| 五月天播播中文字幕| 一本色道久久88加勒比—| 九九热re99re6在线精品| 色五月婷婷综合在线| 能看的av| 亚洲精品乱码久久久久久综合| A久久| 97深爱伊人综合| 久久婷婷老| 五月婷婷 激情五月| 在线观看亚洲AV| 99熟女| 婷婷五月天va| 在线观看av网站| 99热精品在线播放| 伊人AV五月婷| 综合激情啪啪| 热久久色| 国产SUV精品一区二区883| 欧美Va在线| 吾爱AV导航| 99热国产精品| 五月天精品视频| 丁香婷婷91在线观看视频| 天天天天天天操| 五月天激情婷婷丁香| 国产在线网| 色色五月婷婷久久| 99人人操人人摸| 成人午夜免费电影| 丁香综合日产精品久久| 五月丁香啪啪综合| 激情婷婷六月天| 掩去也综合五月视频| 天堂美国久久| 五月激情综合网| 色亭亭五月天网扯| 开心婷婷中文字慕| 婷婷激情在线| 久热伊人在91| 九九爱精品网站| 99碰碰视频| 秋霞簧片| 丁香五月六月久久综合| 婷婷九月综合| 五月婷婷六月丁香首页| 五月天丁香婷婷视频网址| 欧美五月婷婷| 思思久日精品视频| 天天干天天日日| 久9热视频在线观看| 热久综合| 夜夜操加勒比| 三级三久久线久久99久目本WW| 色五月综合在线| 美女五月激情| 99热在线爱| 69精品人人人人人人| 狠狠综合网| 五月天伊人久久久久| 欧美色小说婷婷| 激情五月综合| 国产一区18| 五月婷婷av在线| 狠狠色综合网| 婷婷成人五月天成人文学| 狠狠草狠狠草| 草综合14| 婷婷五月天av| 日韩精品一区二区亚洲AV观看| 99成人无码| 另类图片五月激情| 五月激情综合性爱| 超碰色女人| 色www99| 最新高清无码专区| 99国产精品久久久久久久久久久| 日本精品久久久久中文字幕| 丰满少妇乱A片无码| 9久视频| 色婷婷中文在线| 五月天激情国产综合婷婷| 激情婷婷丁香色五月| 性 色 婷婷| 色五月成人婷婷| 丁香五月综合高清在线| 色色网站观看| 丁香婷婷五色月| 五月天亚洲图片婷婷| 97碰碰人人| 成人 在线 日韩| 日韩黄色网络| 永久思思热在线| 久99| 天天干夜夜b| 天天橾日日橾夜夜橾17| 激情文学五月丁香六月婷婷 | 五月花成人网| 人人人舔人人人操人人人摸人人人97| 天天干天天色综合| av久热| 九九热AV| 五月婷婷啪啪啪啪| 婷婷色五月天色| 综合激情专区| 亚洲VA欧美VA| 99热这里只有精品2| 亚洲情欲| 婷婷开心激情| 婷婷色综合网日韩国产| WWW色色色COm| 国产又黄又爽又激情不遮挡视频在线观看| 五月婷婷久| 五月天亭亭俺也| 色婷婷五月综合在线| 激情婷婷五月| 久久色大香蕉| 免费看片操逼| 青青热久久综合| 日本在线视频手机播放五月婷| 日韩婷婷五月天| 六月婷婷九月丁香亚洲综合| 色欲婷婷五月天| 99视频这里有精品| 亚洲在线成人| 丁香五月另类小说在线阅读| 这里只有精品视频在线| 日本三级大片| 97日在线视频| 99这里只有精品在线| 国产精品VA在线| www激情| 国产无套精品一区二区| 91九色熟女| 五月色情婷婷| 久婷久婷| 情色五月天 网站| 色综合久久88色综合天天看| 色色色.COM| 开心激情站| 婷婷五月天av| 婷婷色丁香五月| 色综合色综合婷婷热| 丁香婷婷精品视频| 日本成人噜噜| 亚洲无线视频| 婷婷精品| 日韩成人电影Av| 日本操B片| 婷婷丁香综合| 五月天开心激情网色欲无码| 丁香综合网| 五月丁香婷婷基地| 激情五月六月婷婷| 韩国不卡AC视频| 97伊人综合婷婷| 激情伊人| 丁香六月天之亚州热女 | 超碰国产在线观看| 99激| 五月婷婷啪啪| 99热精品在线在线| 丁香六月婷婷社区| 激情五月天综合网站网站网站| 六月婷婷色五月| 99热这里只有精品3| 丁香六月激情四射| 综合福利网| 99热资源在线| 激情综合网,婷婷五月天| 开心激情网五月天| 91综合在线| 国产日产亚洲系列最新| 在线观看av网站| 日韩99色| 五月天丁香成人| 久久婷狠狠色| 狠狠色综合无线观看| 婷婷性爱网| 五月激激网w'w'w| 久久a热| 俺去也婷婷| 超碰资源在线| 丰满少妇乱A片无码| 国产中文字幕在线视频免费观看 | 五月激情婷婷国产精品久久久久久| 婷婷啪啪| 极品九九九九九九| 婷婷五月天亚洲激情戏精品| 色丁香五月婷婷| 久久99人人| 久久新| 六月天无码网址| 九热免费视频| 九热视频免费观看| 操熟女成人网| 538在线精品| 国产色色色色色| 五月花综合网| 99热国产| 综合精品99| 丁香色播五月天| 激情久久综合| 99爱在线| 五月丁香六月欧美| 少妇高潮呻吟A片免费看软件| 无码动漫av| 99在线国| 无遮挡国产高潮视频免费观看| www久久久久久| 五月天自拍视频| 综合激情站| 人人爽网| 五月丁香六月婷婷中合网| 粉嫩av蜜桃av蜜臀av| 日本天堂网站99| 亚洲久久视频| 国产这里只有精品| 亚洲综合网区| 亚洲五月天婷婷| 色情开心五月| 另类图片色五月| 99热这里只有国产精品| 天天日天天久久青青| 99色在线观看| 五月丁香六月婷婷网| 色婷婷久久综合久色综| 久草a片| 超碰中文字幕在线| 日韩六六久久电影| 日韩一级淫乱片一区二区三区| 夜夜涩涩涩| 婷婷激情小说| 婷婷五月丁香六月| 亚洲AV成人片无码网站| 色综合区| 中文av网| 亚洲色婷婷网站| 久久久久9999| 五月天中文字幕在线婷婷| 色婷婷丁香五月| 亚洲婷婷五月天在线激情综合网| 黄网在线播放| 2023天天日夜夜爽| 99久久国产综合精品五月天喷水\| 99re思思热在线视频| 日本久久天堂| 狠狠色婷婷7| 五月激情啪啪| 婷婷网五月| 国外亚洲成AV人片在线观看| 激情综合色五月丁香六月亚洲| 99精在线| 丁香熟女乱| 五月丁香婷婷五月| 久久久久8888| 六月婷婷色综合| 79亚洲精品少妇| 99激情| 伊人五月人妻精品| 婷婷六月丁综合| 日韩aaaaa| 91丨九色丨熟女| 99热99干| 天天摸日日舔狠狠添婷婷婷| 五月婷av| 黄色AV日韩| 99久热这里只有精品视频删减版| 亚洲成人影视在线| 婷婷丁香五月亚洲17cao| 色五月婷婷激情基地| 偷拍91九色| 久久综合99| 精品一区二区三区四区五区六区| 无码网站视频| 久色网址| 久久草大香蕉| 五月天婷婷激情小说电影| 91凹凸在线| 天天爱天天操| 色欲AV导航| 香蕉大综综综合久久| 五月婷婷性爱| 丁香五月婷婷99| 综合图片色色| 色婷婷在线视频久| 婷婷婷婷午夜| 婷婷五月天堂| 婷婷爱婷婷| 91呦呦呦| 亚洲色啪| 五月激情五月婷婷五月天在线| 婷婷成人AV| 天天操天天插| 99这里有精品视频视频| 激情五月天久久丁香| 九月丁香婷婷基地| 色色色色色色色色综合网| 噜噜噜噜在线| 91久久久久久久久18| 欧美69久成人做爰视频| 丁香五月手机在线| 严洲天天插| 91九色精品女同系列| 欧美69久成人做爰视频| 久热一本| 婷婷五月天在线综合| 色色综合激情| 五月天丁香婷婷久久九| 可以看的av| 亚洲综合色色色| www.粉嫩av.com| 欧美69色| 婷婷丁香91综合| 丁香九月激情| wWW九九在线播放| 极品少妇高潮啪啪AV无码| 丁香成人五月天| 伊人五月久久| 天天综合情| 久久精品五月| 婷婷情色五月| 无码激情AAAAA片-区区| 99无码视频| 色99视频| 五月婷婷免费在线观看视频| 五月丁香 久久久| 国产免费AV在线| 色婷婷AV久久| 久久精彩免费视频| 婷婷五月色播放| 久久99热精品a片在线观看| 亚洲精品成人| 伊人网碰碰| 9999热精品| 日韩中文字幕| 欧美色色色| 久久色区| 色视频五月天| 色婷婷激情五月天| 一级二级香港秋霞欧美欧美秋霞| 色五月av伊人| 色必久悠悠影院| 日韩成人综合网| 久久99激情| 草久私拍| 亚洲一二三网| 亚洲丁香五月在线观看| 操丝袜视频影院导航| 97婷婷丁香| 狠狠久综合| 久久久潮喷-久久久九九-成人AV| 蜜乳AV成人| 啊V视频在线观看| 丝袜激情网| 激情综合五| 99热骚货| 天天色综合网吨吧| 九九色综合视频| 日本精品。999| 婷婷五月色花丁香社区| 丁香激情五月综合网| www,8050,午夜三级| 成人在线精品| 色婷婷狠狠| 五月激情啪啪| 色婷婷中文字母五月丁香| 色婷婷狠狠爱| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 亚洲影院婷婷色| 丁香五月婷婷久久久| 996黄色片| 久热在线观看视频9| 九一牛视频探花| 九九热99精品| 久热超碰91| 激情综合区| 深爱激情中文五月天av| 日本va欧美va精品发布视频| 久久色吧| 久久色五月天| 五月婷婷六月丁香| 狠色狠色狠色狠色狠色网| 久久久精品人妻录| 五月婷婷|欧美| 久操福利| 亚洲成人AV高清字幕| 超碰妻人人| 少妇婷婷五月天| 色婷婷久久综合久色综| 丁香婷婷六月婷婷六月婷婷六月婷婷| 天天看A片| 丁香激惜男女| 丁香五月婷婷激情中文| 超碰93在线观看| 亭亭玉月丁香| 欧美天堂婷婷日韩| 久草五月天| 99热这里是精品| AAA久久| 婷婷综合五月天激情| 婷婷色五月情| 日韩五月丁香| www.天天日| 97久久人人人干| 五月婷婷黄色毛片| 成人天天爽| 另类视频丁香五月| 五月婷婷六月丁香综合| 免费看欧美成人A片无码| 无毒黄色网址| 色色网91| 天天爱天天做天天舔| 人人爱国产| 亚洲婷婷欧美婷婷| 深爱激情五月天婷婷网| www.91九色| 青青草视频免费观看| 久久精品女人天堂AAA| 99ri在线视频| 五月婷婷六月少妇激情| 玖玖资源在线视频| 在线超碰91| 丁香五月丐人妻| 日本色色网站| 成人免费黄色短视频| 婷婷激情五月视频| 五月天激情婷婷丁香| 婷婷在线综合| 婷婷黄色五月| 色色色.com| 香蕉综合在线| 色www.con| 国产片色| 激情九月婷婷| 婷婷久热| 51国精产品自偷自偷综合| 9久热精品在线视频| 久久精品五月天| 丁香婷婷五月综合影院| 丰满人妻一区二区三区| 99在线精品视频| 婷婷五月天综合色| 成人超碰网| 五月婷婷深深的爱| 九九色图| 婷婷五月天丁香激情| 夜夜爽日日躁| 少妇AB又爽又紧无码网站| 色婷婷9| 精品五月天| 激情综合网激情五月婷婷| 99这里只有精品视频免费| 激情小说婷婷| 伊人大香蕉在线视频| 开心五月婷婷在线视频免费观看| 五月停停999| 婷婷成人在线| 很很干夜夜干| 操婷婷久久| 第四色26uuu| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 99re资源在线视频导航| 就爱操www com| 日本综合久久| 玖玖色资源站| 色色色999| 成人电影一区| 色爱综合网| 婷婷久久综合| 五月天激情婷婷| 日本99久久| 日韩AV片| 亚洲丁香花色| 五月天婷婷丁香| 色视频2025| 特级西西4444www无码| 丁香九九九九| 五月丁香六月欧美综合网站| 99热网站| 伊人在线视频| 精品人妻伦| 五月丁香| 天天狠狠色综合| 狠狠色综合图片| 天天草天天舔| 亚洲正能量欧美| 六月丁香成人网| 久啪欧美| 久草视频一,二三四| 国内一级精品| 六月激情综合| 天天摸天天舔天天爽| 黄急一级视频| 五月天色婷婷伊人网| 婷婷综合国产| 97热精品| 色婷婷五月天中文字幕| 国产精产国品一二三在观看| 久色国产| 精品久久99码| 激情五月天之五月婷婷| 丁香六月婷婷缴情欧美| 99热费观看| 91日婷婷在线| 91凹凸在线| 超碰com| 日韩aaaaa| 亚洲射激情| 亚洲美女裸体被操在线观看| 99这里有精品视频| 大香蕉手机视频| 日韩乱轮AV| 六月久久狠狠| 人妻人人操| 婷婷五月天丁香| 天天成人综合视频| 亚洲久久日| 丁香五月AV| 99热无码| 丁香色色网| 丁香五月人妻| 激情小说五月欧美亚洲丁香| 99超级碰碰| 色999亚洲人成色| www久热com| 日韩另类| 久久免费高| 超碰不卡在线| 五月丁香婷中文字幕| 婷婷激情啪啪| 三男玩一女三A片| 91人人爽久久涩噜噜噜| 97人妻碰碰碰久久| 丰满老熟妇BBBBB搡BBB| 婷婷婷婷婷婷婷婷| 婷婷在线操| 操操熟女| 欧美性生交xXxX久久久| 九九在线精品| www.狠狠操.con| 亚洲最大在线| 激情丁香五月天| 另类婷婷丁香| 亚洲情色一区| 成人无码髙潮喷水A片| 久久五月天婷婷| 天天日夜夜高潮| 色情五月婷| 一二线视频 另类| 久99视频| 丁香桃色网| 久久人人看| 超碰精品国产首页| 亚洲国产精品SUV| 欧美婷婷日本| 五月天婷婷丁香六月| 第四色色六月色综合| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 91婷婷五月天综合视频| 久9视频| 1024在线视频| 国产一二区爆乳_1国产日韩一区二区三-成人AV| 五月激情六月丁香| 丁香六月激情网C0W| 婷婷五月激情的图片| 激情五月天的婷婷| 婷婷香蕉香| 可以免费观看的av| se99视频| 免费播放片大片| www.com五月天| 99秘 在线| 丁香五月视频在线观看| 久热9| 久久9999| 久久 无毛。| 婷婷伊人综合| 久热99狠| 久久精品凹凸分类| 天堂成人A片永久免费网站| 丁香五月激情啪啪| 97碰碰在线看视频免费| 九月激情综合婷婷| 一级韩国产精品毛| 色婷婷91激情小说| 成人草榴视频| 91久久久久久久久久18| 亚洲无码99| 五月天啪啪| 狠狠搞狠狠操| 色色综合网站| 天天狠天天叉| 色五月激情综合网| 深爱开心激情| 色狠狠色| 狠狠色综合网| 免费视频99| 超碰人人在线| 亚洲精品视频在线播放| 天天干夜夜想| 欧美色五月| 五月婷婷六月天| 国产69久久久欧美黑人A片| 欧美精品99久久久| 98国产精品综合一区二区三区| 67194国产| 色婷婷AV在线| 色吧五月婷婷| 丁香五月天激情综合| 99色在线| 国产国产乱老熟女视频网站97| 亚洲乱码日产精品BD| 熟妇人妻中文字幕无码老熟妇| 九九视频在线观看视频6| 中文字幕精品无码一区二区| 六月丁香久久| 九九av| 青青青在线视频国产| 91打屁股免费看| 五月激香蕉网| 亚洲AV无码影院| 97色色婷婷五月天| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 色欲午夜无码久久久久久张津瑜| www.99日本| 大香蕉五月婷婷| 五月综合视频| 少妇被下春药玩弄A片| 婷婷干| 无码动漫AV| 日本三级日本三级三级人妇四虎| 性色人人爽| 99综合99| 色导航色婷婷五月天在线观看| 婷婷色啪| 国产日比| 伊人婷婷99热精品| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 99九精品| 激情丁香五月天综合| 丁香五月天五码婷婷| 五月婷婷影| 五月丁香| 狠狠婷婷色| 国产免费一区二区三区三州老师F1F1.CC | 被男人添B超爽视频| 熟妇天天综合| 男人天堂99| 啪啪干伊人婷婷| 五月成人天| 激情综合五月婷婷| 操精品9| 五月婷在线观看| 婷婷伊人激情婷婷| 9九色首页| 亚洲综合五月天婷婷丁香| 热99.com婷婷| 中文字幕av在线| yazhouzonghesese| 99热碰碰热| 日本人妻伦在线中文字幕| 嫩草国产| 国内裸舞二区| 五月丁香六月激情综合| 国产成人+综合亚洲+天堂| 中文字幕人妻AV| 99热 这里只有精品 国产 日韩| 久久这里只有精品1| 久久五月网| 草草色情综合网| 大香蕉网站,大香蕉综合| 丁香五月婷婷乱| 五月 激情视频| 91无码一区人妻A片蜜| 大香蕉狼人久久| 色碰碰视频| 夜夜撸天天操| 九九色热| 欧美 日韩 成人在线| 婷婷丁香亚洲五月天| 丁香色婷婷| 国产三级在线播放| 激情五月天之五月婷婷| 99欧州偷拍视频| 影音先锋五月天婷婷丁香在线观看| 中文字幕不卡+婷婷五月| 五月婷色激情五月| 久久99视频| 91尤物九色在线| 密桃激情五月天综合网| 99色综合| 五月丁香啪啪综合网| 99爱在线视频观看| 97色色视频| 久久99精品九九久久久婷婷| 亚洲精品激情| 九九爱激情| 五月色婷婷亚洲| 婷婷色网站| 日本理论久久| 婷婷五月综合激情免费视频| 五月天丁香| 99综合视频在线| 九月激情综合| 激情久久网| 婷婷五月六月丁香综合| 熟女少妇内射日韩亚洲| 色播五月婷婷| 婷婷久久久| 日韩精品超碰在线观看| 婷婷五月天综合在线| 国产在线网| 伊人婷婷激情| 美女要搞搞天天搞搞搞网站| 丁香五月天视频| 久/久精品99看9| 久久五月激情综合| 色色色com| 超碰激情五月| 人妻尝试久久久久久久久久久久| 成人精品视频99在线观看免费| 色五月婷婷中文字幕| 五月激情综合美女久久| 99久久97| 丁香婷婷婷五月| 伊人五月婷| 婷婷丁香激情五月天色色| 蜜桃人妻无码AV天堂三区 | 性色播| 大香蕉久操| 综合色99| 91啪啪视频| 色婷婷亚洲婷婷| 天天天综合网| 海外网站专业操老外| 五月天激情婷婷| 2022人人操人人看| 99综合一区| 激情丁香九九五月综合网| 1024操逼视频| 五月丁香六月激情在线| 丁香五月天啪啪| 欧美日韩成人在线| 久久综合最新网址| 一起肏在线视频| 婷婷久久综合久| 婷婷五月天无码熟女| 99九九精品| 欧美色宗和激情| 专区无日本视频高清8| 婷婷五月丁香激情| 婷婷五月综合网| 色五月xxx| 五月丁香中文字幕| 久久色婷婷| 超碰在线免费观看日韩| 51XX嘿嘿午夜无码| 韩国情人在线电视剧免费观看高清版全集| 青青五月天婷婷| 五月婷婷草| 免费观看的av| 天堂网色婷婷| 五月婷婷|欧美| 亚州视频九九99| 久久婷狠狠色| 国产69精品久久久久999小说| 在线99精品| 97色色色色色色色| 天天干天天色综合| 五月婷婷在线视频| 成人在线视频男人的天堂4399| 99re久久| www.com五月天| 26uuu欧美| 色婷婷操逼网| 五月婷婷开心爱| 在线另类视频| 五月天激情美女久久| 丁香大香蕉| 精品色色色| 99免费在线| 中文字幕黄色电影网址| 久久五月婷婷电影| 涩涩五月天| 国产AV一区二区三区最新精品| 综合色影| 婷婷五月天激情五月天网站| 色婷婷电影网| 久久一品区| 久久开心五月婷婷| 26uuu精品一区二区| 伊人婷婷五月天av| 久1色色| 色色亚洲| 99干在线| 91婷婷五月天综合视频| 五月婷婷色播| 婷婷五月综合色拍| 99精吕视频在线观看了| 精品一区二区三区免费毛片爱| 久久婷丁香五月| 婷婷五月天堂一本在线| 九九99九九精品免费| 26uuu国自产精品| 婷婷六月亚洲综合| 99久久終合| 九九热这里只有精品12| 大香蕉啪啪网| 日本三级日本三级三级人妇四虎| 天天噜噜| 五月婷婷香蕉| 欧美综合激情五月| 日本天天操| 丁香五月六月久久综合| 色色色色色色网| 99爱99操| 991国产精选视频在线播放下载| 精品国婬伦V无码久久久| 婷婷五月天视频在线观看| 日本99久久| 日日日,com| 97在线精品| 啪啪啪大香蕉| 欧美成人日韩| 婷婷综合偷拍| 日日噜噜夜夜狠狠久久丁香六月| 1024人妻无码中文字幕| 视色综合| 婷婷5月久久综合网站| 五月丁香六月婷婷综合伊人| 深爱激情五月天| 色五月丁香一区在线| 天天射影院| 色波激情五月天| 嫩草AV久久伊人妇女超级A | 色色色综合色| 久9视频免费播放| 九色色| 久久人妻视频| 99热精品在线播放观看| 亚洲V国产V欧美V久久久久久| 中海油常州环保涂料有限公司| 日本超碰在线| 久久视网36| 香蕉婷婷| 五月天婷婷影院影院| 久久精品一区二区三区四区| 色五月婷婷DVD| 天啪色| 五月天激情小说| 色婷婷久久| 丁香六月婷婷久久综合| 六月丁香五月激情网| 丁香五月天久久| 开心激情网五月天| 中文字幕婷婷| 婷婷激情综合网| 怡红院精品视频久久久久久久久| 婷婷五月天99综合网站| 欧美色色色色色| 91婷婷丁香五月| 五月丁香婷婷色| 色色综合视频| 色一情一乱一乱一区9| 久久久久9999| 婷婷五月欧美综合| 99精品网址| 日本五月婷婷| 欧美性爱特黄一级aaaassss| 亚洲免费电影2| 五月色色网| 五月天自拍视频| 97色 五月天丁香| 国产欧美va| 九九热色视频| 亚洲黄色网址| 99久久婷| 伊人日日干| 色九九九九| www.99视频| 26uuu另类亚洲欧美日本一| 国产成人在线精品| 专区无日本视频高清8| 成人色五婷婷| 日本人妻丁香婷婷久久寝取熟女五月| 乱岳熟女50岁| 色色五月天丁香婷婷| 91丨熟女丨首页| 久久伊人婷| EEUSS鲁片一区二区三区| 婷婷五月丁香手机在线视频| 久热这里只有精品6官网亚洲| 琪琪色五月婷婷老师| 亚洲天堂99| 丁香五月区| 全亚洲最大的婷婷五月天网站COM| 日本三级日本黄色| 另类小说五月天| 五月丁香六月在线| 3p日韩网站视频| 九九亚洲无码| 日韩aⅴ视频| 天天干夜夜谢| EEUSS鲁片一区二区三区| 99色色最新视频| 久久激情五月天| 久久艹网| 乱精品一区字幕二区| WWW久久久| 99视频这里有精品| 97涩涩丁香五月天| 99热这里在线精品| 婷婷色色网站| 九九av| 久久女婷| 停停五月丁香| 婷婷色情小说| 日韩一区二区三区无码| 91精品婷婷国产综合| 九九色情网五月天| 色婷婷成人做爰A片免费看网站| 五月婷婷六月丁香综合| 5五月综合网亚洲| 激情五月六月丁香| 亚洲AV激情五月综合网| 色女人久久| 久久亚洲无码| ady狠狠入| 婷婷婷狠狠| 欧美性生交XXXXX无码小说| 在线观看婷婷5月| 日本激情综合| 99re在线这里只有精品视频首页| 欧美群妇大交乱婬网| 九九色中文| 少妇激情基地| 狠狠五月激情丁香六月| 偷偷操99| 婷婷狠狠97| 黄页免费一级视频懂色| 极品嫩草| 婷婷五月丁香基| 精品视频二级九九| 丁香五月玖玖| WWW色五月| 五月天丁香久久综合| 亚洲综合五月天婷婷| 疯狂做受XXXX高潮A片动画| 五月婷婷激情综合| 网色99| 色婷婷伊人| 五月丁香综合| 精品人人操| 六月婷婷激情图片| 日韩成人免费电影| 26uuu日韩| 99免费| 99热在线观看| 丁香五月婷婷图片综合| 免费观看全黄做爰的视频 | 99在线视频播放| WWW.久久久久久久| 五月激情啪啪啪| 91狠狠色丁香婷婷综合久久| 色色色色综合网| ss五月天激情| 182TV大香蕉| 超碰人妻在线| 色婷婷影视| 婷婷激情九月| 亚洲色视频| 成人电影在线免费试看| 丁香五月电影| 五月天色丁香| 成熟妇人A片免费看网站| 香蕉曰比| 丁香婷婷婷婷十二月在线观看视频| 成人网页在线观看| 色婷婷狠| 伊人春天av| 五月丁香六月综合激情网| 色五婷婷开心缴| 97视频91| 成人无码髙潮喷水A片| 超碰人人摸AV| 色婷婷情片| 久鲁鲁色网| 亚州激情在线视频| 天天射天天射一道本日本社区| 99热久| 99热在线观看免费| 久久久大香蕉| 亚洲V国产V欧美V久久久久久| 五月婷婷色欲| 婷婷久久性爱| 丁香六月亚洲| 国产婷婷五月天| 91精品在线看| www.五月天| 一区二区aV电影免费看| 色婷婷久久| SESE无码AV| 99ri国产在线| AV色色天堂中文| 超碰91在线| 日日操日日干| 婷婷综合五月天| 婷婷五月丁香第四色超碰在线| 超级碰91| 蜘蛛女免费观看完整版高清电影| 天天操屄网| 91丨九色丨熟女高潮| 五月天另类小说久久小说网| 91热爆在线| 亚洲女婷婷五月基地综合久久久| 色婷婷综合影院| 欧美性生交xXxX久久久| 久久视频婷婷| 五月天色婷婷图片| 9久久精品| 亚洲午夜国产成人电影VA国产欧…| 亚洲成人网在线观看| 另类激情网| 开心激情站| 久久丁香综合香蕉| 色噜噜狠狠色综| 久久久精久人妻| 亚洲精品电影| 亚洲精品久久久久久久久久吃药| 色五月91| 五月婷婷六月丁香免费| 天天综合色| 天天日人人| 超pen个人视频97| 激情小说 五月天| 九九热99精品| 久久天天| 五月天激情图片| 91婷婷| 婷婷亚洲丁香五月| 99re资源在线视频导航| 丁香美女五月天婷婷| 9999三级片| 99精在线| 色 五月俺去也| 91九色无码内射| 五月天开心网| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 五月婷婷视频| www超碰| 九月婷婷| 婷婷 月 丁香| 成人一级片| 99色免费观看全部| www.五月天婷婷姐姐| 色婷婷五月综合色婷婷| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 五月丁香激情综合六月涩涩爱| 综合五月激情网| 97色五月婷婷在线| 伊人丁香五月| 人人摸人人| 久久中文人妻系列| 99热.com| 丁香婷婷五月激情| 99免费热视频在线| 91色逼| 伊人久久五月天综合| 丁香伍月婷电影全集| 天天日夜夜操五月| 变态 另类 在线 | 国产精产国品一二三在观看| 电影爱拉战争免费观看| 五月综合丁香婷婷| 激情婷婷五月| www,婷婷| 久久黄A片| 丁香五月 性爱| 久久伊人五月天| 天天撸天天干天天插| 婷婷五月天综合网| 婷婷色狠狠| 天天日天天色|