亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

GD32+FreeRTOS+TCP協(xié)議棧移植實戰(zhàn):從選型到聯(lián)調全記錄

GD32+FreeRTOS+TCP協(xié)議棧移植實戰(zhàn):從選型到聯(lián)調全記錄 簡介面向GD32F450與LAN8720A的FreeRTOS_TCP移植工程為嵌入式開發(fā)者提供了一套完整的RTOS結合TCP/IP協(xié)議棧參考實現(xiàn)適合需要學習網(wǎng)絡通信、任務調度及外設驅動的中高級軟硬件工程師也適用于物聯(lián)網(wǎng)終端、智能家居、工業(yè)聯(lián)網(wǎng)等產品原型開發(fā)。資源包共846個文件大小3.11MB以383個H頭文件與285個C源文件為核心輔以匯編啟動文件、Keil工程文件uvprojx/uvoptx、鏈接腳本、Makefile及若干調試腳本可配合常見IDE直接編譯燒錄驗證。工程覆蓋FreeRTOS內核在GD32F450ARM Cortex-M4上的移植要點以及TCP/IP協(xié)議棧的集成過程涉及任務調度、信號量/互斥鎖、內存池管理、LAN8720A驅動、MII/RMII接口配置、TCP/UDP收發(fā)與中斷服務等關鍵環(huán)節(jié)。已有1310人學習下載可幫助開發(fā)者避開從零移植的典型坑點快速獲得可運行的網(wǎng)絡通信平臺并理解RTOS與網(wǎng)絡協(xié)議棧協(xié)同工作的異步處理思路。 把主控換成國產芯片還要保留網(wǎng)絡通信能力在 GD32 上同時跑 FreeRTOS 和 TCP 協(xié)議棧這套組合到底怎么搭這篇復盤把從選型、移植到聯(lián)調的所有關鍵節(jié)點都過一遍踩過的坑也一并列出來。1. 為什么選 GD32 FreeRTOS TCP 這條路線而不是裸機硬扛1.1 GD32 到底哪里香從一個實際項目出發(fā)我手頭這個項目倒不是什么高精尖設備就是一臺需要聯(lián)網(wǎng)上報數(shù)據(jù)的工業(yè)控制器原來用的是某國際大廠的 M4 系列芯片功能上完全夠用但供應鏈那邊一直提醒要準備替代方案。調研了一圈GD32F407 系列算是呼聲最高的一檔Cortex-M4F 內核主頻能到 200MHz內置以太網(wǎng) MAC配合一顆外部 PHY 芯片就能實現(xiàn) 10/100M 以太網(wǎng)再加上它和原方案在引腳上基本兼容硬件改版成本可控——這一點在項目里比任何參數(shù)都值錢。當然兼容說的是封裝和部分外設的電氣特性寄存器級完全不是一回事所以代碼不能直接搬。網(wǎng)上有人傳GD32 就是 STM32 的國產平替代碼改個宏定義就能跑這話只說對了一半。芯片底層外設的寄存器布局不同庫函數(shù)風格雖然相似但中斷控制器、時鐘樹、Flash 等待周期這些細節(jié)都有差異。實際移植時外設驅動代碼基本是重寫的只是邏輯結構可以參考原來那套。這點心理準備必須提前做好否則中期調試會被各種看起來應該一樣但就是不對的問題折磨到懷疑人生。選擇 GD32 還有一個隱藏優(yōu)勢庫里自帶的例程覆蓋了以太網(wǎng)、USB、FATFS 這些常用外設和中間件尤其是以太網(wǎng)這一塊官方例程直接給了 lwIP 的集成參考而不是讓你從零啃數(shù)據(jù)手冊。對做產品的人來說這是巨大的時間節(jié)省。如果你還在 GD32 和 PY32、CH32F407 這類芯片之間猶豫我的建議很直接看你要不要用網(wǎng)絡功能網(wǎng)絡相關例程和資料豐富度GD32 目前優(yōu)勢明顯。1.2 FreeRTOS 帶來的是結構不是負擔單做一個 TCP 通信裸機加中斷能不能做能。我也見過不少老工程師用裸機狀態(tài)機把網(wǎng)絡協(xié)議棧跑得很穩(wěn)。但問題在于一旦系統(tǒng)里除了 TCP 還有按鍵、顯示、數(shù)據(jù)采集、存儲裸機的主循環(huán)會迅速膨脹成一團亂麻。這個項目除了網(wǎng)絡通信還要同時處理傳感器采集和 FATFS 寫日志任務一旦超過三四個RTOS 的價值就完全體現(xiàn)出來了每個功能模塊拆成獨立任務分配各自的棧空間用隊列或信號量做任務間通信調試時只需要盯住每個任務的狀態(tài)而不是在中斷和主循環(huán)之間來回跳。FreeRTOS 在這類項目里基本是默認選擇——不是因為它功能最強而是因為它資料多、使用者多。不管是韋東山那套視頻教程還是各路移植筆記、面試題匯總搜任何一個報錯信息都能找到前人的記錄。嵌入式開發(fā)里生態(tài)的豐富程度有時候比內核本身更影響開發(fā)效率。但 FreeRTOS 不是銀彈它也會引入自己的問題任務棧分配不合理導致溢出、優(yōu)先級配置不當導致低優(yōu)先級任務餓死、中斷服務函數(shù)里調用危險 API 導致系統(tǒng)崩潰。這些問題在裸機里不存在到 RTOS 里就成了必修課。所以我的原則是功能簡單、任務固定就用裸機別為了用 RTOS而上 RTOS功能復雜、擴展勢頭明顯就直接上 FreeRTOS別等代碼寫到一半再重構。1.3 TCP 協(xié)議棧lwIP 幾乎是公認答案嵌入式設備要跑 TCP/IPlwIP 基本是唯一一個被廣泛驗證過的開源選擇。它和 FreeRTOS 的配合已經非常成熟官方文檔甚至直接給出了 NO_SYS0 的 API 調用模式支持多線程方式運行 TCP/IP 核心還能通過 sys_thread_new 創(chuàng)建協(xié)議棧線程和 FreeRTOS 無縫對接。相比 uIP 那類極簡協(xié)議棧lwIP 功能完整接口接近標準 socket調試工具鏈也齊全。選擇 lwIP 時有個大方向要想清楚跑在 RTOS 之上TCP 校驗和、數(shù)據(jù)拷貝這些操作是由內核還是由網(wǎng)卡任務處理內存管理用的是自動分配的 pbuf 還是自定義的池。這些配置直接決定內存占用和收發(fā)性能。lwIP 默認配置相對保守但足夠穩(wěn)定這也是我對這個項目的定位——要的是一個能長期運行不跑飛的 TCP 連接不是極限吞吐所以配置上求穩(wěn)為主。關于這部分細節(jié)第 4 章會展開說。2. 開發(fā)環(huán)境與工程骨架從 pack 包到第一塊網(wǎng)卡2.1 Keil、Embedded Builder、VSCode 誰更適合這個項目搭建 GD32 開發(fā)環(huán)境主流選項無非三個Keil MDK、GD32 Embedded Builder、VSCode 編譯鏈。我以前用 Keil 用得多但這個項目我一開始就換了思路——先試了 GD32 Embedded Builder。它是兆易創(chuàng)新基于 Eclipse 改的免費 IDE自帶編譯鏈和調試器工程模板直接從芯片廠商庫里生成不用自己搭三件套這對想快速起項目的開發(fā)者來說非常友好。實際用下來Embedded Builder 的優(yōu)勢是開箱即用、原生支持官方標準固件庫、芯片定義都內置新建工程時還能直接選 FreeRTOS 和 lwIP 組件省去手動拷貝源碼的步驟。它對中文環(huán)境的支持也比以前預期好雖然談不上完美的漢化但菜單和配置項多數(shù)能看懂。缺點是啟動速度一般插件生態(tài)比 VSCode 少不少寫大工程時的流暢度不如 VSCode。做完網(wǎng)絡調試器的演示工程之后我又把正式項目切回了 Keil 環(huán)境——原因很實際團隊成員更熟 Keil而且 AC6 編譯器對 FreeRTOS 和 lwIP 的支持很成熟代碼補全和 Keil 的調試工具用起來更順手。VSCode 是另一條路線適合喜歡用 clangd 做代碼跳轉和靜態(tài)檢查的人。網(wǎng)上搜VSCode FreeRTOS 移植能找到不少教程但我個人建議如果剛接觸 GD32先用廠商原生的 Embedded Builder 或者 Keil 把工程跑通再切換到 VSCode 環(huán)境否則環(huán)境問題會和業(yè)務代碼問題混在一起排查起來非常頭疼。2.2 pack 包與固件庫這里容易埋坑不管用哪個 IDE都繞不開芯片支持包和固件庫。Keil 環(huán)境下GD32 的 pack 包可以直接在 Keil 的 Pack Installer 里搜索GD32F4xx下載也可以去官網(wǎng)手動下載然后雙擊安裝。這個流程本身不難但版本問題經常被忽略——GD32F4xx 標準固件庫分為多個版本不同版本的庫函數(shù)命名和引腳配置宏可能略有差異。建議統(tǒng)一使用官方 SDK 包里的庫版本不要混用網(wǎng)上轉發(fā)的舊版。Embedded Builder 就簡單一點建工程時選擇芯片型號IDE 會自動拉取對應的芯片定義和啟動文件基本不用手動管理 pack 包。如果發(fā)現(xiàn)工程編譯報找不到設備頭文件這類低級錯誤十有八九是新建工程時芯片選錯了系列或者庫路徑沒配好。固件庫的選擇上GD32 官方提供標準外設庫和后來出的全新系列庫。標準外設庫風格類似 STM32F1 的標準庫函數(shù)名、結構體命名都是 GPIO_InitTypeDef 這套上手成本極低。新庫更結構化但資料相對少。這個項目我用的是標準外設庫因為 lwIP 移植參考例程基于它寫的照著改效率最高。2.3 AC6 編譯器下推薦開啟的選項Keil MDK 現(xiàn)在默認用 AC6ARM Compiler 6編譯它基于 Clang對 C99 和 GNU 擴展的支持比 AC5 好很多編譯速度也快。但 FreeRTOS 和 lwIP 這兩個開源項目里有一些代碼寫得比較放飛自我在 AC5 下可能只是警告到 AC6 下直接變錯誤。遇到#include freertos/freertos.h 檢測到 #include 錯誤這類問題多半不是頭文件本身的問題而是工程的 include path 沒有把 FreeRTOS 源碼目錄、port 目錄、以及應用配置目錄加全。編譯器報錯時先檢查頭文件路徑再檢查語法層面的兼容性順序不能反。我建議在 Keil 里把 C99 模式打開并加上 -Wno-missing-prototypes 之類寬松一點的警告選項先保證代碼能編過再逐步收緊。另外如果系統(tǒng)提示考慮更新 compile_commands.json那是給 clangd 或其他工具用的編譯數(shù)據(jù)庫Keil 不依賴它但如果用 VSCode 看代碼需要安裝相應插件并手動生成這個文件才能消除誤報。3. FreeRTOS 移植中真正卡住人的幾處細節(jié)3.1 移植文件組成與 heap 算法的選擇FreeRTOS 的移植看起來唬人但核心文件就三塊一是內核源碼包括 tasks.c、queue.c、list.c、timers.c、event_groups.c二是針對具體編譯器和架構的 port 文件Keil 環(huán)境下對應的是 portable/RVDS/ARM_CM4F 目錄下的 port.c 和 portmacro.h用 GCC 編譯鏈的話則對應 portable/GCC/ARM_CM4F三是用戶提供的 FreeRTOSConfig.h用于裁剪系統(tǒng)功能。這里要提一嘴 heap 的選擇。FreeRTOS 提供了 heap_1 到 heap_5 幾種不同實現(xiàn)heap_1 最簡單只支持創(chuàng)建任務但從不釋放內存heap_3 直接包裝了編譯器的 malloc 和 free但前提是編譯器庫線程安全heap_4 是我在這個項目的推薦——它支持內存合并、可以釋放已分配的內存塊而且不容易產生嚴重的外部碎片。項目里如果頻繁創(chuàng)建和刪除任務或隊列heap_4 是穩(wěn)的選擇。堆大小需要在 FreeRTOSConfig.h 里通過 configTOTAL_HEAP_SIZE 配置TCP 協(xié)議棧加網(wǎng)絡任務比較吃內存我直接給了 64KB 的余量如果 Flash 緊張可以適當壓縮但千萬別壓到 20KB 以下否則 lwIP 初始化可能直接失敗。另外網(wǎng)上很多學習筆記建議把 croutine.c 也加進工程其實協(xié)程功能多數(shù)項目用不到為了編譯干凈建議去掉。裁剪的意義在于讓代碼路徑盡量短排查問題時每一步都看得清楚。3.2 SysTick、PendSV 與中斷優(yōu)先級配置FreeRTOS 移植之后最常見的現(xiàn)象是任務創(chuàng)建成功但調度器一啟動就死機或者任務永遠不切換。這種問題九成出在時鐘和中斷優(yōu)先級的配置上。GD32 的片上定時器資源豐富但 FreeRTOS 的時間基準默認建議用 SysTick這個系統(tǒng)定時器不必單獨初始化FreeRTOS 自己會接管。你需要確定的是 SysTick 的時鐘源以及什么時候調用 vTaskDelay 這類 API 時系統(tǒng) tick 是否在走。SysTick 的優(yōu)先級必須設置為最低優(yōu)先級這樣它不會搶占其他中斷尤其不會搶占以太網(wǎng)接收這類實時性要求更高的外部中斷否則網(wǎng)絡數(shù)據(jù)包處理會被系統(tǒng)節(jié)拍頻繁打斷。另一件容易忽略的事是 PendSV 和 SVC 兩個異常。PendSV 用于上下文切換它的優(yōu)先級必須設置為最低確保上下文切換不會阻塞硬件中斷SVC 則用于啟動第一個任務優(yōu)先級不影響運行。在 Keil 環(huán)境下FreeRTOS 的 port.c 文件會自己設置這兩個異常優(yōu)先級前提是你沒有在初始化代碼里改掉它。如果你在啟動文件或者 main 函數(shù)里手動寫過 NVIC 相關配置需要檢查優(yōu)先級組是否設置正確。GD32 的中斷優(yōu)先級分組建議保持在默認的4 位搶占優(yōu)先級、0 位子優(yōu)先級模式這與 FreeRTOS 的 port 層假設一致改了會導致優(yōu)先級判斷錯亂。3.3 頭文件報紅include path 與 compile_commands.json在 VSCode 里看 FreeRTOS 代碼最讓人煩躁的就是滿屏紅色波浪線提示找不到 freertos.h。原因很簡單VSCode 的 C/C 插件和 clangd 并不知道你的工程用了哪些頭文件目錄。解決思路有兩個一是用 Keil 的工程文件導出編譯數(shù)據(jù)庫或者用 Embedded Builder 的構建日志生成 compile_commands.json二是手動在 VSCode 的 c_cpp_properties.json 里補充 includePath。我實際測試下來clangd 的體驗比微軟插件更好但配置成本稍高。如果你只是臨時看看代碼手動加 includePath 就夠了如果打算長期在 VSCode 里開發(fā)建議直接配合 CMake 或 ninja 這類現(xiàn)代構建系統(tǒng)讓工具自動維護 compile_commands.json效率完全不是一個級別。這一點在 STM32H7 或者 CH32F407 上移植 FreeRTOS 時同樣適用屬于通用經驗。4. 讓 lwIP 在 GD32 上跑起來網(wǎng)卡驅動的接法4.1 硬件側準備RMII 接口與 PHY 芯片GD32F407 內置的是 10/100M 以太網(wǎng) MAC但物理層收發(fā)器PHY需要外接。這顆 PHY 芯片我選的是 LAN8720A千兆 PHY 放在一個百兆 MAC 上當然不匹配但這顆芯片本身就支持 10/100M而且是 RMII 接口四條數(shù)據(jù)線加時鐘就能實現(xiàn)以太網(wǎng)物理層通信比起古老的 MII 接口省了一大半引腳。選它還有一個現(xiàn)實原因模塊化程度高幾乎所有國產開發(fā)板都帶有一顆 LAN8720A參考電路和驅動代碼海量踩坑成本低。硬件配置上有幾個細節(jié)必須注意一是 RMII 的 50MHz 參考時鐘一般由 MCU 的 MCO 引腳輸出或者由外部晶體提供這個時鐘如果歪了網(wǎng)卡根本無法正常工作二是 PHY 的復位引腳上電后要給一個低電平復位脈沖復位完成后還要等待 PHY 初始化完成通常需要幾十毫秒代碼里必須有相應延時三是 PHY 地址LAN8720A 的默認地址是 0x00但某些模塊會把地址引腳拉到別的電平導致 MDIO 通信不上初始化失敗時先檢查這個。GD32 的以太網(wǎng) MAC 初始化參考官方例程就能搞定但有一個坑MAC 外設的時鐘默認可能是關閉的需要在 RCC 配置里打開相關外設時鐘同時配置 GPIO 復用為 RMII 功能否則寄存器配置再正確引腳也不會輸出以太網(wǎng)信號。這種問題單看代碼很難發(fā)現(xiàn)用邏輯分析儀量 PHY 的 TX 引腳是否有數(shù)據(jù)輸出才能定位。4.2 接收鏈路中斷通知任務數(shù)據(jù)交給協(xié)議棧網(wǎng)卡驅動的核心是收發(fā)兩條路徑。發(fā)送路徑相對簡單上層調用 lwIP 的 netif-output 函數(shù)最終會走到你自己實現(xiàn)的 low_level_output 函數(shù)把 pbuf 里的數(shù)據(jù)拷貝到 MAC 描述符然后觸發(fā)發(fā)送。這里需要注意 pbuf 可能是一個鏈表結構數(shù)據(jù)在內存在多個內存片段不能直接拿第一個節(jié)點去填充 DMA 描述符需要做內存拷貝。接收路徑設計則直接影響 CPU 占用率和實時性。我的做法是啟用 MAC 接收中斷在中斷服務函數(shù)里直接調用 lwIP 提供的 netif-input但前提是已經把 lwIP 的 sys 層配置成了中斷支持模式。另一種更穩(wěn)妥的做法是在中斷里只做一件事——給網(wǎng)卡接收任務發(fā)送一個二值信號量然后由接收任務去檢查 DMA 描述符是否有新數(shù)據(jù)再調用 netif-input 交給協(xié)議棧。這種中斷信號量任務的模式讓中斷服務函數(shù)非常短避免在中斷上下文中執(zhí)行過多邏輯。實測下來GD32 跑這套接收鏈路配合 FIFO 深度足夠大的 DMA 描述符百兆網(wǎng)口的接收丟包率能維持在非常低的水平。如果出現(xiàn)丟包優(yōu)先檢查 DMA 描述符數(shù)量是否太少、pbuf 池是否耗盡而不是懷疑協(xié)議棧。4.3 lwIP 內存與緩存配置的幾個關鍵參數(shù)lwIP 的 lwipopts.h 配置決定了性能和內存占用的平衡點。這個文件是移植過程中最容易糊弄但實際上很關鍵的地方。我項目里用的幾個關鍵參數(shù)MEM_SIZE內存堆大小建議 32KB 起步如果有多個并發(fā)連接可以給到 64KBPBUF_POOL_SIZE數(shù)據(jù)包池數(shù)量每個包池默認大小是 PBUF_POOL_BUFSIZE一般給 20~40 個如果經常并發(fā)收發(fā)大數(shù)據(jù)建議加到 50TCP_WNDTCP 接收窗口默認 4096 偏小建議設為 8192 到 16384接收窗口太小會嚴重影響大文件傳輸速度TCP_SND_BUF發(fā)送緩沖區(qū)同理建議 8192 起否則發(fā)送大包時會頻繁緩沖等待LWIP_SO_RCVTIMEO / LWIP_SO_SNDTIMEO收發(fā)超時支持開關我建議打開因為這關系到應用層能否處理長時間無數(shù)據(jù)的連接異常。這些參數(shù)直接影響內存占用調大一個參數(shù)往往意味著多占幾 KB 甚至幾十 KB 的 RAM。在 GD32F407 這種 192KB RAM 的芯片上必須算好總賬確認所有任務棧、lwIP 內存堆、pbuf 池加在一起不會超過 RAM 上限否則 Keil 編譯順利通過運行時卻會在某個莫名的訪問中崩掉。5. TCP 應用層設計握手、接口選擇與連接異常5.1 三次握手過程的工程意義TCP 通信的第一步是建立連接而建立連接的過程就是教科書里的三次握手客戶端發(fā)送 SYN 包服務端收到后回復 SYNACK客戶端再回復 ACK。網(wǎng)上關于三次握手的討論非常多但從嵌入式開發(fā)者的視角看三次握手背后有兩個很實際的工程意義。一是握手的包交換本身是判斷網(wǎng)絡路徑是否通暢的試金石。我在聯(lián)調時遇到過一種情況程序邏輯完全正確但在公司網(wǎng)絡環(huán)境下連接總是超時抓包發(fā)現(xiàn) SYN 發(fā)出后沒有任何響應后來查到是辦公網(wǎng)封鎖了非標準端口——三層握手直接在一次失敗重傳中就暴露了這個問題。二是 TIME_WAIT 狀態(tài)的理解。連接關閉時主動關閉的一方會進入 TIME_WAIT 狀態(tài)等待 2MSL最大報文生存時間才釋放端口。嵌入式設備如果做服務端頻繁地和上位機建立連接、斷開連接可能因為端口被占用而無法立刻重新監(jiān)聽這時候很多人會誤以為是協(xié)議棧 bug其實就是 TIME_WAIT 機制在工作加 SO_REUSEADDR 就能解決這點第 6 章還會展開。如果只是理論考試背一下 SYN、SYNACK、ACK 就夠用了但在做嵌入式聯(lián)網(wǎng)產品時建議用 Wireshark 實際抓一次自己設備的握手過程看到三個包按正確的序列號來回才算真正理解這段話。5.2 netconn API 還是 socket APIlwIP 提供了兩套應用編程接口高層的 socket API 和相對底層的 netconn API。很多新手一上來就選 socket API因為跟 PC 端編程經驗一脈相承但實際上在 lwIP 集成 FreeRTOS 的模式下這兩套接口各有適用場景。netconn API 是 socket API 的基礎它直接面向連接支持阻塞/非阻塞兩種模式適合在嵌入式任務里實現(xiàn)一個任務處理一個連接的模型。socket API 則在 netconn 之上增加了一層 POSIX 兼容封裝代碼遷移成本低、可讀性好但會多一層函數(shù)調用開銷內存占用也稍高一些。我的建議是如果項目里只有一兩個 TCP 連接處理邏輯簡單直接使用 netconn API代碼更精簡也更容易控制內存使用如果未來可能需要兼容 PC 端代碼或者要跑比較復雜的網(wǎng)絡服務用 socket API 更便于維護。這個項目里我最終選擇的是 socket API 風格因為上位機通信協(xié)議本身是從 PC 端移植過來的保持代碼風格統(tǒng)一能減少一個轉換層。兩種接口實測并發(fā)處理 4~6 個連接都沒有問題不必在這個問題上糾結太久。5.3 RST、超時、?;钆c端口復用調試 TCP 時最常見的幾個異常連接被 RST、連接超時、長時間無數(shù)據(jù)后斷開。對應的原因和處理方式各不相同。RST 包的本質是對端認為當前連接狀態(tài)無效。比如服務端端口根本沒有進程監(jiān)聽客戶端 connect 會立刻收到 RST 引起 ECONNREFUSED如果設備斷電重啟后立刻接受連接但舊連接還沒超時重發(fā)舊包也會引發(fā) RST。聯(lián)調中如果抓包看到 RST第一反應不是懷疑代碼而是檢查對端端口是否監(jiān)聽、設備是否重置過連接狀態(tài)。連接超時比 RST 更難排查因為失敗是漸進式的。SYN 發(fā)出后協(xié)議棧會嘗試多次重傳重傳次數(shù)由 TCP_MAXRTX 配置控制每次超時時間線性增加總耗時可能長達一兩分鐘。如果應用層等不了這么長時間建議在 socket 上設置 connect 超時SDK 里一般直接支持 connect 加超時參數(shù)超時后主動取消連接并返回錯誤碼而不是讓任務傻等。?;顧C制是長連接的必需品。TCP keepalive 默認可能需要數(shù)小時才探測一次這個間隔對嵌入式設備太長。我通常把?;钐綔y時間配置為 30 秒不同協(xié)議棧配置項不同連續(xù)幾次探測無響應就主動斷開連接讓應用層重新建立連接。另外大量使用短連接時記得打開 SO_REUSEADDR否則每次斷開后端口都要等 TIME_WAIT 結束才能重新綁定設備重啟后的恢復速度會非常感人。6. 實測踩坑記錄從編譯報錯到連接穩(wěn)定6.1 堆棧溢出檢測一次真實的任務崩潰排查FreeRTOS 項目跑著跑著突然 HardFault相信每個人都遇到過。我第一次遇到網(wǎng)絡任務崩潰時是在壓測連續(xù)收發(fā) 1KB 數(shù)據(jù) 20 分鐘后設備直接死機。當時第一反應是查 lwIP 的配置懷疑內存耗盡或者 DMA 描述符泄露排查了大半天沒有結果。后來才想到 FreeRTOS 自己帶了堆棧溢出檢測機制。configCHECK_FOR_STACK_OVERFLOW 可以設置成 1 或 2設為 2 時會檢查任務棧邊界標志是否被破壞配合 vApplicationStackOverflowHook 鉤子函數(shù)在崩潰瞬間能定位到具體是哪個任務棧溢出。打開這個開關重測果然捕獲到網(wǎng)絡接收任務的棧溢出——因為我在接收回調里做了比較重的協(xié)議解析和日志寫入把原本預計的 512 字節(jié)??臻g撐爆了。任務棧大小的設置沒有捷徑只能估算加實測考慮最深的函數(shù)調用鏈、局部變量占用量、可能的中斷嵌套消耗。建議剛開始給網(wǎng)絡任務配置 1024 字節(jié)如果溢出再逐步加大同時保留堆棧溢出檢測能力。千萬不要為了省內存把棧壓得剛剛好因為運行一段時間后的內存布局變化可能讓棧溢出出現(xiàn)在完全想不到的位置。6.2 bind 報錯與端口 TIME_WAIT 問題聯(lián)調過程中我在上位機側遇到過一個經典的報錯listen 一個 TCP 端口時提示only one usage of each socket address地址僅限使用一次。當時程序第二次啟動監(jiān)聽同一個端口就失敗第一次程序退出后端口沒有立即釋放。這就是典型的 TIME_WAIT 問題主動關閉連接的一方端口會保留一段時間。解決方案是在服務端 socket 監(jiān)聽前設置 SO_REUSEADDR地址復用這樣即使上一個連接仍處于 TIME_WAIT 狀態(tài)也能重新綁定同一端口。lwIP 里對應的宏是 SO_REUSEADDR需要確保 lwipopts.h 里已經打開 LWIP_SO_REUSEADDR 這個開關。如果你用的是 PC 端聯(lián)調工具也存在同樣的問題Python 或 C 程序里加上 setsockopt 的對應調用即可。排查這個問題時用命令查看端口監(jiān)聽狀態(tài)是最直觀的方法。如果看到端口狀態(tài)是 TIME_WAIT基本可以確定就是這個原因不需要過度懷疑協(xié)議?;蚵酚善鳌:芏鄤偨佑| TCP 編程的開發(fā)者第一次碰到這個報錯會以為是端口被占用然后去殺進程其實只要理解了 TIME_WAIT 機制一行配置就能解決。6.3 聯(lián)調時的排查順序最后總結一下我在這類項目聯(lián)調時的完整排查順序。TCP 通信調不通先從底層往上逐層查不要一開始就改代碼否則會陷入越改越亂的循環(huán)。第一步看物理層PHY 芯片的 LINK 狀態(tài)是否正常用邏輯分析儀或示波器量 RMII 參考時鐘是否存在RX 引腳是否有差分信號。物理層不通上層配置再多也沒用。第二步看鏈路層檢查 MAC 初始化是否成功、MDIO 是否能夠讀到 PHY 的寄存器比如 ID 寄存器是否正確。讀不到 ID 基本就是硬件連接或者復位時序問題。第三步看 IP 層用 ping 命令去 ping 設備地址能通說明 IP 層正常不能通就檢查 lwIP 的 netif 是否配置正確、MAC 地址是否有效。第四步才是應用層用 TCP 調試助手或者寫個小腳本測試服務端的 accept 和收發(fā)邏輯。這套流程看起來繁瑣但每一次都能幫我快速縮小問題范圍。我自己最慘的一次經歷是跳過了前三步直接改應用層折騰兩天后發(fā)現(xiàn)是 PHY 參考時鐘配置錯了一個 5 分鐘的檢查拖成了 48 小時的排查?;氐介_頭那個問題GD32 FreeRTOS TCP 這套組合到底靠不靠譜我的答案是相當靠譜。前提是走對路徑官方例程起步、lwIP 配置求穩(wěn)、堆棧檢測常開、聯(lián)調分層排查。只要你把這幾件事做扎實這套組合完全能支撐一個穩(wěn)定聯(lián)網(wǎng)的嵌入式產品。最后再分享一個個人習慣——每次改完配置或驅動我都會用 Git 打一個 tag尤其是 lwipopts.h 這類參數(shù)文件改前改后跑一遍壓測因為影響內存布局的參數(shù)往往不是立刻出問題而是會在某個流量峰值突然暴露有版本回溯能省下大量排查時間。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产美女口爆吞精视频| 日本视频在线观看污污污| 国产精品秘 福利姬在线观看| 999久久芭蕾| 日韩人成网站在线播放| 亚洲综合另类小说色区亚洲成av人片在www| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 日韩少妇无码| 欧美成人精品一区二区男人蜜臀| 日本91白丝| 97欧美性爱| 天天色图| 天天肏天天干| 欲色综合| 91殴美| 九草在线大香蕉| 激情文学网伊人| 91精品啪在线观看国产城中村| 亚洲成人ab| 九九热五区| 久久久夜夜嗨免费视频| 亚洲精品国产熟女| 国语av狠狠色丁香婷婷综合激情| 99re在线| 日夜干射色啊| 欧美自拍网| 操曰本熟女| 2020中文字幕| 欧美78p| 欧亚性爱视频免费看| 亚洲国产精品成人综合| 超碰免费人妻在线| 欧美性爱第1 页| 亚州高清AV| 精品国模无码| 97亚洲欧美| 天天日骚逼熟女| 肉丝无码中文高清| 97在线资源| 91夜夜蜜桃臀1区2区3区| 久久99网站| 午夜男女爽爽爽在线视频| 国产高清免费不卡av| 日韩欧美大片免费高清啪啪| 影音先锋日本一区二区| 97超碰欧美精品| 2017天天插| 日韩无码第3页| 欧美一品道| 久久久久极品| 青青青在线高清视频在线一二三四区| av天堂加勒比| 欧美日韩97| 91制服丝袜中文字幕| 日韩色女精品| 丝袜美腿91| 欧洲精品网| 精品无码产区一区二| 91美女視頻| 97欧美色综合| 夜夜高潮夜夜爽夜夜爱爱一区 | 91亚洲欧美激情| 日韩色| 性天堂| 爱爱动态60秒| 免费观看网黄| 婷婷五月av| 中文字幕一区av| 精品视频123区小说区| 蜜奶av| 四虎影视永久在线观看精品免费网站| 亚洲国产97| 夜夜草我| 国产精品探花在线| 蜜臀少妇一区二区| 中文字幕伊人| 久久久久九九九| 亚洲精品尤物yw在线影院| 天天操夜夜嗨| 天天日天天舔东京热| 日本黄色天堂| 中文字幕av亚洲精品| 蜜桃久久一区二区| 草草网站影院白丝内射| 日本久久久久久久久| 91丝袜美腿网站| 99re热| 酒色综合网| 日本操逼视频在线| 国产亚州日韩欧美看片| 久久婷婷欧美| 国产日韩精品suv| 8050午夜少妇无码| 久久99精品国产| 日韩欧美三级| 激情五月婷婷综合| 国产精品天干天干综合网麻豆| 91天天综合| 久操不卡视频| 综合视频91| 曰韩中文人妻视频| 婷婷啪啪| 久久欧美激情| 男人天堂久久精品| 国产精品久久久亚洲第一牛牛_在线观看 | 色老久久| 综合久久少妇中文字幕| 97色干| 欧美激情久久久久| 综合av社区| 超碰97爽| 国产h小视频在线观看免费| 国内毛片国产专区二| 成人老鸭窝人人在线视频| 天堂性色| 久99热| 99热这里只有精品1| 乱论91| 日韩不卡网操逼中文字幕日韩| 日韩强奸av| 婷婷五月在线视频| 国产9l 大屁股| 国产精品自在线发布| 九九成人精品| 国模私拍一区二区三区神乳| 一二三啪啪专区| 欧美一级A一级a爱片久久| www.久久| 中文字幕久久婷婷丁香五月天| 亚洲色综合| aV中文麻| 精品少妇后入一区二区三区四区人妻巨乳| 亚洲无码偷拍| 宗合情欲网| 久操操AV电影| 精品少妇人妻一区二区三区| 竹菊影视国产一区二区| 久久春色| 亚洲av热热色| 少妇啪啪自拍| 少好三P| 国产a级午夜毛片| 这里只有精品97| 亚洲成人综合在线| 1240青青草一区二区三区视频天爱| 大香网伊人久久综合| 床戏久久久av一区二区麻豆| 草伊人高潮喷水超碰| 人人爱人人乐人人操| 亚洲精品天天影视综合网| 日韩美女啪啪一区| 亚洲欧美国产精品久久久久久久| 看看小穴| 欧美日本国产日韩激情视频| 男人网站婷婷| 久久久免费的精品| 少妇淫妇久久久久久久| 在线97在线| 在线一道啪| 蜜桃香蕉久草精品在线| 精品人妻二区三区| 午夜福利精品| 99热| 人妖欧美一区二区| 99国产在线绯色一区| 91精品国产日韩欧美综合| KK色在线影院| 在线啊啊啊啊| 26uuu国产免费观看| 天天日天天干少妇日| 在线综合 亚洲 欧美中文字幕 | 十八禁av无码免费网站APP| av草草在线电影| 男人的天堂2018东京热啪啪啪| 麻豆国产97在线| 99热18这里只有精品| 99精品在线播放| 蜜乳中文字幕a在线| 欧洲与亚洲欧美精品中文字幕| 免费一级欧美片片线观看| 91精品91久久久中77777| 玖玖综合色| 亚洲色人| 成人一区二区三区四区| 久久综合精品一区二区三区| www.91色综合| 色蜜AV| 亚洲福利中文字幕在线| av一区二区三区四区| 国产精品日日摸天天碰| 青青欧美| 国产熟女| 色鬼在线综合| 亚殴在线| 91久久久久免| 亚洲夜夜欢无码一区二区 | 91成人在线| 亚洲色堂免费视频| 久久麻豆一区二区| 情色AV电影| **一级毛片国产| HEYZO高无码国产精品227| AV麻豆免费一区| 国产精品扒开腿做爽爽爽视频| 精彩久久中文| 97精品中文字幕| 亚洲 欧美 另类 日韩 人妻一区| 后入美女国产| 九一亚洲国产免费| 麻豆天美国美国产AV| 开心五月婷婷激情| 操逼日韩无码 | 九九国产热| 熟妇人妻一区二区| 清清草影| 国产后入清纯| 欧美综合传媒| 精品超碰色| 天美精品一区二区三区四区在线观看| 亚洲人妻一区二区三区| 中文字幕二区日韩天堂| 玖玖97综合 | 国产热RE99久久6国产精品首| 粉嫩粉嫩一区性色AV片| 口爆吞精在线观看| 国产日比| 中日无幕一二三四区| 亚洲精品819| 亚洲熟女国产综合另类| 啊啊啊好舒服好爽啊啊啊视频| 亚洲限制级在线| 国产精品密臀网在线观看| 青青草九九九九九| 亚洲天堂,男人| 92人人操人人| 丁香五月性| 超碰亚洲97| 欧插网站| 国产亚洲色婷婷99精品91| 欧美日韩国产人人| 亚洲性图91| 丝袜色综合| 欧日韩一二三f区| 欧美激情专区| 亚欧性爱无码| 爆乳免费黄网站| 裸体1区| 中文字幕亚洲永久精品| 国产欧美一级在线观看| 人干人人人操人人摸| 久久综合激情| 天天操女人| 色香在线| 超碰97欧美| 日本人妻中文字幕 | 嗯嗯啊好大| 久草看看看| 国产探花日韩援交| 333kkkk·亚洲com久久| 久久只有精品一区二区三区| 亚洲黄色电影| 乱伦a片视频| 久久精彩视频| 色香91| 久久久久久久精| 国产又黄又爽| 国产小u女在线观看| 欧美性天天影视| 综合91网| 精品无码欧美三级| 国精品一区二区三| 久久久一区二区三区麻豆| 欧美天天综合网版| 亚欧免费| 欧美高清性猛交| 208天天久久九九九| 成人五月天丁香激情综合| 欧美性爱十八禁| 亚洲日韩一区电影| 走光一区92下载| 国产97在线 | 亚洲| 黄色欧美性爱视频| 日韩熟女操逼| 9999久久久久| 91综合天天看| 国产欧美一区激情交| 伊人 俄罗斯 a v| 中文字幕欧美丝袜07资源| 精品国产一级久久| 女人妻一区| 超碰97综合网| 久久香蕉综合一本到3atv| 狠狠色色| 好爽视频在线观看| 丁香九月激情| 神马麻豆福利院| 欧美 日韩 亚洲 春色| 操逼内射干逼白丝91| 一级二级在线观看| 久久最新免费视频23| 狠狠爱夜夜| 强奸乱伦大香蕉| 蜜桃久久精品一区二区三区| 太久视频| 久久成人精品| 99热精品在线播放| 中文字幕三四五区| 久热伊人99re| 天堂俺去俺来也www久久婷婷| 九九九午夜| 日韩九九九| 七久久久| 国产最新小视频在线播放下载| 91女神在线视频| 日本人妻最新在线中| 久插不卡| 国产熟女免费观看久久| 日韩 女同 综合| 囯产乱伦一区二区三女| 91人妻人人澡人人爽人人精品| 欧美色图天堂在线| 日本韩国国产精品一区| 加勒比伊人综合| 人人考人人摸人人干| 久热精品在线| 97人人超| www.yeyecao| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 色五月婷婷麻豆在| 国产伦乱91| 久久久久女教师免费一区| 色999亚洲人成色| 高清孕妇孕交 交孕妇| 国产伦精品一区二区三区在线观| 大香蕉淫人| 内射日韩大臀美女| 人人操人人大香蕉| 97天天综合| 亚洲涩涩| 最新欧洲欧美日本激情网站| 97欧美在线| 亚洲精品尤物yw在线影院| 久久成人午夜狠狠| 在线a v| 亚洲欧美高清| 久久久久亚洲一区女同性恋中文字幕| 国产毛片片精品天天看视频| 久久一区二区加油站| 精品婷婷| 色网在线视频观看免费| 奶水 人妻 哺乳 在线| 综合久久中文字幕综合日韩精品| 日日超碰亚洲| 日韩欧美偷拍美女视频| 天天做天天爱天天爽| av毛片aaaaa免费看| 999熟女精品| 久久亚洲影院一区二区| 播播亚洲小说亚洲| 亚洲综合另类小说色区亚洲成av人片在www | 国产深夜福利| 欧美啪啪啪91| 久久婷婷电影网| 亚洲色图综合网| 人人乐大香蕉| 99热99在线| 免费公开人人操| 国产毛片片精品天天看视频| 夜夜嗨一区| 亭亭在线资源| 舔舔啊| 精品成人女人久久| 亚欧中文字幕在线视频| 少妇国产不卡| 一区二区日韩欧美久久| 亚洲天堂热| 手机在线人成免费视频| 99久久久无码精品国产人| 人妻熟女一区二区| 丁香五月天久久精品视频一区二区三区| 97人人射| 91热爆在线| 亚洲图片欧洲图片aⅴ| 天天懆天天日| 久久黄色视频一区二区三区| 色色网91| 亚洲欧洲综合视频在线| www.99热| 综合亚洲欧美精品日韩?v| 亚洲伊人久久精品影院| 在线观看日韩av不卡| 激情综合av| 一块操欧美性爱| 国产熟女乱论| 日本免费亚洲欧美| 欧美日韩第一页| 婷婷亚洲综合| 九九无码| 亚洲图片 91| 日本一区二区做爱的视频| 户外裸露刺激视频第一区| 99精品久久久久久久婷婷| 午夜福利精品| 东京热免费视频| 95人妻爽爽人人做人人澡| 色情综合网| 久操视频免费在线观看| 天天综合官网| 91狠狠综| 亚洲性爱免费电影| 欧美网站免费| 婷婷综合视频| 精品国产99| 午夜天堂精品久久久久91| 欧美视频边做饭边橾| 国产呦精品一区二区三区下载| 日韩不卡av一二三| 国产欧美伊人| 蜜屁Av| 久久精品成人| 69视频入口| 无码在线亚洲| 美日韩一卡二卡三卡免费人妻精品| 日本一天色道久久久精品视频| 国产熟女精品区| 南澳成人一级片在线播放| 亚洲色欧美| 亚洲国产精品久久AV| 久久九九精品一区二区| 久热免费视频| 国产第二页| 少妇高潮喷水无套久久久久久| 天天欧美欧美亚洲网| 99999精品成人| 99热99re6国产在线播放| 国产亚洲女v在线观看| 欧美一区二区三区不卡高清视频| 久久综合资源一区二区| 大香蕉欧美国产日韩高潮| 伊人色综合超碰| 无码免费在线观看黄色片| 国产宅男宅女在线观看| 免费一级视频特黄色大片| 丰满人妻一区二区三区在线| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 亚洲欧美另类激情小说| 大二网站亚洲| 青青草中文-久久青草精品一区二区三| 国产精品熟女九九九| 97久久超碰日韩精品| 岛国视频一二三区| 好淫网一二三视区| 97免费视频在线| 亚洲最新a在线观看| 欧美页片| 亚洲天堂五月天国产| 五月丁香六月婷综合成人综合 | 天天影视色香欲综合网小说| 玖玖97综合| 2020天天色综合| 亚洲系列第一页| 老熟女熟妇| 黄骗免费网站| 久久综合18p| 天天肏视频| 91丝袜美女国产| 97天天插| 日韩免费性爱视频在线观看| 亚欧操逼片在线观看 | av操操不卡| 中日韓欧美高清| 999日韩中文精品观看视频。| 色欲久久99精品久久| 国语国产操逼伊人AV网| 91欧美巨乳| 黄在线| 性老妇一区二区三区| 日韩人妻制服丝袜av| 久久久久元码视频| 国产一在线观看| 日韩精品大香蕉伊人在线| 福利社区午夜一区二区| av东京热男人的天堂| www鬼畜国产男人的天堂| 精品久| 国产激情综合| 免费试看60秒| 伊人久久大香线综合无码| 欧美人人曰人人操人人射射| 日韩丝袜高跟制服在线观看| 久久久久国产精品喷潮免费观看臀| 久久久精| 亚洲九九夜夜| 亚洲国产成人精品999| 久草综合视频| 91精品无码人妻系列| 久久久精精精| 综精品久久久aaaa| 尤物一级在线免费观看| 78操B| 神马久久久久久久久久久久| 在线观看综合精品亚洲| 亚洲欧洲日韩中文字幕一区| 人妻插插人妻人| 天天狠操| 欧美性夜| 婷婷精品国产一区二区三区日韩| 大香蕉520| 青娱乐国产剧情av一区| 免费αⅴ在线观看| 六月丁香网| 欧美超碰在线| 欧美综合色图片| 日韩中文字幕宗合在线| 台湾佬中文娱乐自偷自拍| 无码欧美有限公司| 亚洲激情网| 久久久新亚洲AV| 91丝袜在线视频| 日韩AV熟女乱伦| 亚州熟女乱伦| 国产区在线| 欧美少妇第一页| 久操不卡视频| 国产久久成人| 玖玖在线视频| 国产亚洲福利第一页丝袜| 久久久专区| 99热精品在线观看| 综合久久久久久久综合网| 0755午夜福利视频| 精品无码人妻一区二区免费蜜桃| 志村玲子视频一区二区| 亚洲精品国产熟女久久久久久| 日本精品加勒比海一区| 熟女AV一区| 五月婷婷性爱| 操逼网站视频漫画国产| 国产精品成人久久一区二区三区| 亚洲色图一区二区三区| 国产丝袜一区二区三区| 人人超碰在线观看黄| 国产精品乱人伊人网| 人人考人人摸人人干| 91丝袜美女视频| 欧美在线中M| 91亚州欧美| 免费农村成人少妇人妻Aa一区二区视频 | 国产综合色精品在线观看| 91激情国产| 九九自拍伦理| 麻豆2区1区天美| 五月婷婷无码| 爱我干综合| 老熟妇一区二区三区…| 国产乱色国产精品免费视| 精品免费视频国产一区| 日韩人妻丝袜中文字幕| AV色女综合| 超碰偷拍| 综合网亚洲1| 精品久久久久瑟瑟| 日本东京热大香蕉a片| www.一本大99| 欧美中文字幕一区| 国产精品视频| 久操在97| 久久久月天| 999久久久久久久久| 偷拍新久久| 久操网线| 偷看洗澡一二三区美女| 搡老熟女老女人老熟妇免费视频| 国产熟女乱论| 多乙久久久久久| 色综合久| 91色艳| 日本三级R| 秋霞一级视频在线观看免费| 欧美99热| 夜夜狼人妻| 亚洲成人精品久久久| 欧美白嫩女HD| 青女在线| 五月天精品| 亚洲无码一区成人免费午夜 | 乱伦熟女区| 波多野结衣一级视频| 亚洲色图日韩精品| 大香蕉丝袜一级片| 大香蕉综合在线| 激情久久久| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 操逼视频免费日韩无码| 丁香五月偷拍| 精品999日本| 青青草一区二区三区四| 78精品| 97在线精品观看视频| 精品在线观看视频在线| 久久久久9久久久久| 久久久久久久久久久999| 亚洲素人综合| 另类欧美色| 你懂的在线观看区国产| 久久婷婷色| 亚洲AV资源| 蜜臀中文无码午夜| 久久九九一区二区三区成人| 色色综合97| 偷拍亚洲| 国产精选三级在线观看| 密臀在线免费观看| 日韩91网站| 特级特黄一级毛片免费| 午夜天天碰综合视频| 蜜桃丰满熟妇av无码区不卡| 中文字幕乱码在线| 玖玖婷婷五月天| 综合 青草 伊久久 影院 综合| 精品少妇一区二区| 高潮的A片激情扒开一区| 婷婷啪啪| 日本黄色精品| 欧亚成人| 骚逼一区二区| 国产91丝袜在线播放蜜月| 超碰吊日色| aⅴ日韩成人电影av在线免费看av大全 | 国产在线视频二区| 久久超碰爱| 歐美性天天| 亚洲人成在线放东京热| 另类专区在线观看| 国产天天噜一噜久久久| 亚洲国产精品有声| 亚洲性猛交| 天天综合中文字幕 91| 一区三区啪啪| 国产精品毛片| 日本性爱网址| 综合色久欲| 亚洲AV性爱电影| 色综合加勒比四四季| 欧美综合色图片| 国产无码一二三区| 久久噜| 亚洲在线网站| 老女人爆菊| 熟女91网站| 久操大香蕉| 人人澡人人干| 婷婷月色| JuliaAnn丝袜熟女系列| 日本久操视频| 精品国产乱码久久| 精品国产AV一区天美传媒| av国产无码| 天天亚洲| 色妹子A V| 少妇一区二区三区| 亚洲限制级在线| 亚洲中字幕日本一区二区三区| 色综合一区二区三巨| 91亚洲在线| 人人妻人人操人人乐| 国产91精品在线免费| 久久久99久9| 狠狠久久手机视频精品| 91殴美大片| caoni国产亚洲av| 国产精品在线一区二区| 婷婷五月色| 亚洲无码日韩电影| 99精品网| 日韩极品无码B| 国产天美传媒精品| 国产av美女被艹的乱叫| 97中文字幕九区| 伊人久久国产免费观看视频| 乱伦一区二区三区‘| 中文字幕少妇色 | 国产成人无码高清| 狠狠躁天天躁日日躁| 强歼乱伦资源网| 久久久极品| 国产精品久久久视频| 色欲Av人妻精品一区二| 偷拍亚洲视频一区二区三区四区| 五月婷婷激情| 狠狠久久手机视频精品| 亚洲人妻久久久| 日韩av女优在线免费一区| 在线综合 亚洲 欧美中文字幕| 日韩不卡一二三四| caopeng97| 国产熟女完整版中字| 欧美BT 亚洲色图| 无码欧美有限公司| 操逼不卡中文字幕| 91精品老女人| 亚洲91网站| 最新加勒比丝袜在线| 久久青青草原免费视频| 色婷婷一区二区三区久久| 熟妇熟女一区二三区| 综合天天网| 色9999日韩国产| 思思热在线视频在线| 奶水 人妻 哺乳 在线| 日韩欧美丝袜诱惑| 久久久97| yellow网站免费观看日韩高清无码| 久久系列| 天天天堂影视日韩亚洲91| 99久久综合网| 国内毛片无遮挡国产| 欧美亚洲丝袜人妻制服中文99| 9999九九九久久久| 亚91亚洲网| 日韩欧美视频青青| 国产精品成人蜜臀AV在线| 日韩性爱小视频| 78m成人视线| 亚洲图片欧美另类综合免费视频大大香| 麻豆天美久久91| 国产91亚洲精品一区二区三区| 婷婷激情丁香| 亚洲色综网| 亚洲自拍一区夜夜操| 深夜啪啪啪视频免费| 91精品无码人妻系列| 日韩亚洲中文有码视频| 激情抓乳插进去啪啪啪日韩| 欧美99999| 国产精品夜夜夜| 新视频sss国产| 欧美久久久15P| 啊啊啊啊啊在线视频| 亚欧精品久久久久久久久久久| 爱做久久久久久| 人妻aa| 欧美日韩国产色图在线| 干日本人少妇午夜寂寞影院| 久久久久久国产无码精品| 超碰97丝袜| 蜜臀99久久精品| 一二视频神马久久传媒| 日本中文字幕一区| 少好三P| 中文字幕无码不卡啪啪| 欧洲亚洲人人爽爽视频| 亚洲 欧美 综合 91| 国产精品久久久久久9999| 欧美999999| 久久是精品| 一区二区三区四区在线不卡| 国产欧洲精品亚洲午夜拍精品| m欧洲一级午老| 亚洲精品久久一区二区三区蜜桃臀| 天天内射| 日日爽熟女| 婷婷丁香五月激情啪啪| 日本在线播放不卡一区| 亚洲欧洲网站免费观看| 亚洲图片欧美日韩| 夜夜高潮夜夜爽高清视频一| 综合av影片| 九九九九免费视频| 东北操逼| 亚洲天堂资源在线| 91精品国| 亚洲欧美伦综合| 欧美综合1性辶| 91模特在线观看| 91天天综合日韩欧美| 日韩欧美午夜一区二区| 久久一区二区高清免费| 开心五月激情网| 欧美人妻二区三区| 96AV久久久| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 超碰到97情色| 台湾佬大香蕉| 久思思热视频在线观看| 久久丁香五月婷婷| 中国黑人三级片网站上区| 青青欧美| 99人妻| 亚洲第一狼人丝袜美女另类| 亚洲男人天堂Av| 欧美夜色| 久操97| 国产第25页在线观看| 免费观看有码高清视频| 亚州中文字幕超碰97| 亚洲欧美另类图片| 欧美亚洲尤物久久| 婷婷情色综合网| 五月天欧美色图| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日本亚洲熟女视频| 色情成人五月天| 欧洲精品久久| 在线视频亚洲无码| 亚洲色色探花| 九九精品美女高溯喷水 | 成人午夜高潮av猛片| 国产成人综合网| 亚州精品丝袜-不卡成人免费| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 欧美综合亚洲| 成人三级片无码| 抽插一区二区视频| 亚洲一区深夜| 草草草视频在线免费看| 97视频620| 亚洲精品一区二区三区在线播放| 人妻丝袜一区二区三区在线| 欧美亚涩| 日韩精品国产一区二区| 日韩精品国模| 亚洲天堂区| www.91人妻.com| 国产怡红院在线| 小少妇| a片 xxxx受爽视频| 欧洲精品欧洲精品| 91蜜臀在线久久久久| 欧美精品23| 国产丁香精品露脸视频| 久久色激情一区二区三区| av无线看| 精品人妻一区二区三区鲁大师| 欧美性爱一区二区三区四区| 岛国激情视频在线观看| 亚州黄站| 亚洲五区熟女| 色色色综合网| 日本高清视频xxxx| 九九草| 噜噜噜久久亚洲精品色情| 操一区| 狠狠操狠狠操操| 亚洲国产精品久久久久婷婷老年| 蜜臀久久一区二区| 顶级丝袜熟女一区二区三区 | 久久色一区| 囯产乱伦一区二区三女 | 俺也射| 久久的网站啊啊啊啊啊| 97福利视频| 亚洲本色精品一区二区久久| 0755午夜福利视频| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 中文字幕丝袜美腿| www.av在线观看| 91亚洲色人| 中文字幕欧洲有码| 九九热男人天堂| 在线视频免费播放一区| 日本熟女免费視颖| 亚洲人妻在线精品| 欧美激色| 哈哈操电影AV| 精品国产自在在线99| 精品人妻美妇91job| 婷婷激情五月综合| 国产肏屁眼视频| 色盈盈影院| 天美传媒一二三区永久网站| 一起草精品人妻| 国产熟女完整版中字| 性久久久| 欧美色狠| av三级电影在线播放| 91操熟女视频| 欧美激情一| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 久久久久久久久久久97| 水澄无码AV| 五月天婷婷小说| 精品色色| 99精品久久| 高清国产av无码| 激情综合网五月婷婷五月天| 99精品视频在线观看免费| 久久的免费性爱视频| 精品视频一区二区| 久艹日日日| 人妻铁牛TV| 中欧人妻丝袜中文字幕| 国产精品美女视频诱惑| 美女91av| 午夜AV污污污| 四虎免费在线播放| 9久9久| 99精品人人爽| 天天影视之亚洲综合网| 中文字幕av片| 九九九国产精品| 精品少妇人妻一区二区三区| 亚洲Av噜噜一区二区三区妖精| 亚洲国产综合久久久性感熟妇| 久9热| 日日夜夜干| 99热精品在线观看| 精品国产乱码久久久久久久久1| 嗯嗯嗯好爽| 日本不卡三级网在线播放| 色婷婷综合视频| 日日夜夜天天| 欧美图片色综合| 97在线欧洲| 91美女视频在线免费观看| A男人的天堂| 97超碰公开| 亚洲综合在线第一页| 级做a爱无码性色永久免费| 黑人精品一区二区在线播放| 久久久久久久亚洲Av无码| 日韩不卡a级视频专区| 日日干夜夜干| 台湾大香蕉99热| 午夜毛片高清免费不卡| 极品久久久久久久久久久久久久| 色爱综合网欧美| 激情四射五月天| 嫩草91| 亚洲日精品| 欧美亚洲高清| 综合免费无码中文| 67914亚洲精品| 亚洲男人的天堂一区二区| 老熟妇一区二区三区啪啪| 东北女人性交| 亚欧高清| 人人摸人人干人人拍97| 天美传媒av 在线| 国产日韩人人| 青女偷拍网| 韩国一级婬片A片无码天美| 久久一区二区三区入口| 九九精品美女高溯喷水| 国产白领连续中出在线播放| 偷拍盗拍亚洲色图图片| 人人操 欧美| 久久鲁干| 国产女人高潮视频| 天天热精品| 久9精品| 黄页视频网站野外| 欧美专区在线| 九九九九九九九九九九九蜜桃| 亚洲熟女av中文字幕| 岛国黄| 热天堂一区二区| 99在线观看视频在线高清| 日韩免费看在线黄色片| 精品一区二区三区蜜桃臀赵总 | 十八禁av无码免费网站APP| 99久久婷婷| 乱日视频| 久草精品在线| 亚洲性爱免费电影| 日本操BAV| 96免费视频在线| 1204人成网站色www| 精品人妻一区二区三区四区石在线| 六月婷婷综合| 亚洲诱惑| 久久产精品一区二区三区电影| 99久久精品国产高潮| 国产熟女精品区| 久久久久久久伊人精品| 天天影视色香色欲| 日本三级精品| 天天干天天操天天干天天操| 操b网站亚洲无码| 91综合网站| 亚洲欧美精品一区天堂久久| 九九热只有精品| 日韩成人性爱AV| 亚洲国产青青| 手机看片日韩人妻| 91伊人影视综合| 色综合av综合久久| 色婷婷五月天| 激情欧美97| 亚洲欧美中文日韩视频中国语| 狠狠2050在线观看| 国产91av在线播放| 欧美狠狠操| 精品久久久久久AV无码| 日产国产精品中文久久婷婷| 久久久久国产精品久久久| 久久婷婷五月天| 狠日欧美| 91九色网| 麻豆熟妇乱妇熟色A片在线看| 性爱av网站| 亚洲凸凹超碰成人| 天天色天天干天天射| a片亚洲一本通视频| 日本免费人成视频播放120秒| 激情五月天网站| 欧美一区二区| 午夜天天碰综合视频| 人妻蜜桃臀| 色情五月综合婷婷| 大香蕉中文网| 色五月综合| 免费99精品国产自在在线| 国产网红精品| www.acm成人黄色毛片| 综合激情婷婷| 伊香蕉综合久久久久久久噜噜噜| 在线另类| 国产精品乱码久久| 91色综| ,成人免费啪啪视频| 日欧毛片久久| 1769精品一区二区三区| 加勒比色综合| 色综合久久888| 国产熟女精品一区二区| 国产大片精久久久久久| 国产精品爆乳懂色蜜乳| 亚州精品丝袜-不卡成人免费| 性久久| 日韩欧视频| 操逼逼福利视频| 一级AAA片一区二区三区| 人妻激情偷乱视三区频一区二区| 蜜臀AV午夜精品久| 韩日精品四区| 一起草高清无码| 久久久久国产| 色成人Www精品永久观看| 亚洲综合校园春色| 国产欧美一区激情交| 97爱亚洲| 日本中文字幕一区| 激情五月天婷婷| yaouchengrenav| 色天天野狼综合社区| 高跟丝袜AV专区国产| 东京热天堂网| 加勒比海成人视频网| 亚洲精品成人激情在线| 永久电影三级在线观看| #NAME?| 伊人色综合超碰| 久久精品性| 福利视频香蕉免费一区二区在线| 久湿久久| 六月婷激情福利天堂69| 国产精品一区二区校花| 国产精品熟女一区二区三区| 九九九精品色乱九九九| 欧美激情中文字幕另类小说| 午夜啪| 国产2.3.4区| 亚洲色图国产另类| 国产精品老熟女一区二区| 小视频国产| 无码人妻一区二区三区免费九色| 老司机午夜精品福利视频一区二区| 亚洲欧美精品91| 最新三级网址| 国产精品第一页国产大屁股视频免费区| 少妇99| 日本 免费 一区二区三区 久久香蕉| 亚洲A曰本VA欧美VA视频| 97超碰大| 亚洲双插| 亚洲涩涩| 狠狠搞 亚洲91| 亚洲成人性爱在线观看| 欧美日韩午夜精品一区二区三区| 蜜臀久久久99久久久久| 久久九操在线观看| 特级大荫道BBwBBwBBW| 91neishe| 一级免费啪啪片| 人人操人人操草草| 午夜AV人气不卡| 欧美一级A一级a爱片久久| 密臀在线一区尤物| 欧美日韩制服| 91高潮喷水美女| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 97色欧州| 国产超碰国产97| 久久人妻丝袜一区二区三| www.zbzhongsen.com| 最新中文字幕精品在线| 午夜爽爽爽| 欧美色蜜桃97| 久久久久国色αv免费观看| 久久久久久免费电影| 精品一区二区三区四区外站| 久久e6只有精品| 蜜桃中文字日产乱幕4区| 亚洲婷婷五月天| 日韩啪啪啪啪啪| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 嗯嗯啊好大| 操香逼| 久操操| 欧美大香蕉97| 五月天久久婷婷亚洲 | 婷婷五月天av| 特级丰满少妇一级AAAA爱毛片| 亚洲h片在线免费观看| 99久久久久久亚洲精品不卡| 久久高潮妇女视频| 碰碰97| 蜜乳成人AV| 久久日本熟妇熟色一区| 99re超碰| 人妻性爱一区二区| 这里只有97精品| 骚女天天综合网| dy888午夜老子影视达达兔| 蜜臀久久99精品久久久久电影| 大鸡巴久久| 亚洲另类春色| 久久久久久九九九| 亚洲开心网| 性暴力欧美猛交在线直播| 亚洲暴力强奸AV| 久久精品色欧美aⅴ一区二区| 开心婷婷五月| 95人妻爽爽人人做人人澡| 男人亚洲91首页在线| 色欲人妻一区二区在线| 欧美91久久久久| 人妻大香蕉| 亚洲国产97在线精品一区| 久久久久久久| 亚洲天堂精品日韩电影| 乱伦熟妇一区二区| 久久精品一区二区三区四区五区| 粉嫩在线一区二区懂色| 男女性扦B| 中出91视频| 精品九九九| 欧美一二三级精品在线| 国精精品无码一二三区水多多| 精品亚洲国产成人AV制服丝袜 | 友优传媒精品在线一区二区| 欧美国产精品久久九九| 久久伊人亚洲AV无码网站| 久久久久久日韩| wwwss在线观看| 国产久久久9999| 综合性视频99| 久久久久亚洲| 精品视频免费在线一区|