亚洲有码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
返回資訊列表
成人熟女视频一区二区三区| 91爰爱欧美| 日韩中文9| 国产一区二区三区白丝| 91欧美亚洲| 肉动漫无遮挡h在线观看| 伊人热综合| 国产不卡免费在线视频| 激情综合网一盗摄| 亚卅熟女乱色| 夜夜嗨一区二区三区三州加勒比| www.91色| 无码精品久久| 黄色视频高清无码网站| 女人高潮大叫一级毛片| 一级日本牲交大片好爽在线看| 国产欧美在线观看免费观看| 五月天婷婷色色| 999日韩中文精品观看视频。| 精品一区二区亚洲国产| WWW黄片COM| 久热大香蕉| AA丁香综合激情| 99婷婷| www鬼畜国产男人的天堂| 日韩性爱一级片| 久久AV色| 偷拍欧美激情| 天天弄天天操| 91综合在线| 欧美亚洲日韩人妻在线观看| 国产在线激情| 亚洲欧美大| 深夜视频| 婷婷久热| 男人天堂2030| 九九九网页| 国产精品一区二区手机看片| 上床不卡网站| 久久熟女嫩草成人片免费| 中文字幕二区日韩天堂| 久久综合女优| 正在播放国产精品一区| 精品午夜福利| 日韩性爱小视频在线观看| 花花AV导航| xxxx网站亚洲精品| 中文字幕精品丝袜| 是还免费视频1727我| 欧美日本天堂| 欧美变态激情网| 97国产伦理| 亚洲aV无码成人在线观看| 亚洲无码国产探花在线观看| 女人妻一区| 九九九九精品| 老司机午夜精品福利视频一区二区| 精品一久久久| 亚洲天堂一区二区| 91久久免费视频互動交流| 久久久久久久综合,国产| 日日碰视频网| 亚洲图片欧美在线视频| 女优大全 - 91n| 超碰av在线| 少妇精品久久久八区九区| 亚洲AV成人无码久久精品播放| 欧洲一区二区| 欧美亚洲厕所精品偷拍91| 亚洲欧美一区二区三区一猛片| 骚熟女吞| 成人国产精品三级A片| 国产精品久久久久久久久久久久久久吹 | 亚洲av成人精品一区| 亚洲一二三精品久久网| 影视综合无码少妇| 女生久久网| 日韩欧美丝袜诱惑| 99中出在线| 久久久久久亚洲Av无码精| 丁香五月成人| 国产999精品久久久| 长长久久免费视频| 天天做天天爱夜夜爽毛片试看| 亚洲精品欧洲精品| 毛片电影一区二区三区| 超碰97COm中文| 三上制服丝AV| 嗯嗯啊啊啊好爽| 伊人久久大香线蕉无码| 亚洲精品天天影视综合网| 91av一区二区在线观看| 992大香蕉| 久久久久成人蜜桃精品| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 鲁鲁色综合网| 韩三级a视频在线观看| 啊啊啊 在线| 午夜免费视频1000| 欧美日韩性爱操大逼| 日韩操啪| 91亚洲人| 国产精品内射婷婷一级二| 日韩欧美蜜桃精品久久中文字幕久久| 女生自91网站| 五月婷婷爱六月丁香色| 超碰天天久久79| 免费看久久久性性| 无码一区免费在线不卡| 殴美色网| 欧美偷| 午夜人妻精品综合在线| 久久这里是精品| 91超碰在线| 深夜激情 | 久久成人国产精品| 国产一区在线看| 久久久久921| 中文久久一区| 一本一道人妻久久一区二区三区| 日韩另类| 亚洲色诱惑| 日本性爱不卡视频| 欧美激情中文字幕另类小说| 亚洲欧美国产其他二区| 黄色小视频日本txt| 人人弄人人摸| 男人天堂网站| 91精品人| 亚洲欧美日韩免费观看| 96国产污污污丝袜| 国产67194| 美女91在线观看| 五月丁香社区婷婷日韩欧美精品影院 | 欧美性爱另类综合| 亚洲日韩国产欧美综合v| 狠狠中文字幕| 国产 热久久久久国产精品| 久久丁香久草综合网| 久久性爱精品一区| 老熟女区| 色屁屁影院www国产| 大香蕉天天看妹子| 日韩精品人妻中文字有码在线 | 秋霞成人一级在线观看| 亚洲国产高清福利视频| 国产 码在线成人网站| 丁香五月色情| 国产精品亚洲一区二区三区四区| 久久黄色视频一区二区三区| 亚洲蜜乳av| AV污污污污| 日韩中文字幕视频| 亚欧色图在线激情| a亚洲欧美色欲| 91伊人久| 欧美性爱系列| 激激五月| 在线黄色污污网站| 俺也射| 国产白丝网站| 色网亚洲人| 国产视频第2页| 99自拍视频| 久久国产三区| 97精品第3页| 蜜臀久久99精品久久久电影| 综合欧美日韩在线观看| 亚洲综合五月天婷婷丁香| 中文字幕一区日韩精| 亚洲1区2区三区高清中文字幕| 啪啪啪东京| baiduhicn.com。| 五月婷在线| 欧美激情总合网| 综合伊人网12色| 国产日韩色综合| 91狠狠综合久久| 人人操人人摸人| 伊人青青一区成人视频在线观看区| 中文字幕97色| 豆花视频操逼网址| 精品国产一区二区三区久久久蜜臀| 日韩成人色图| 97chaopenrihan| 日本免费一区二区不卡| 免费试看60秒| 91久久精品中文字幕| 久久性爱视频| 情色五月天网| 国产精品久久久久久久久久久久| 在线综合色| 久99热| 不卡码视频| 人妻精品一区一区三区蜜桃91| 国产传媒av天美传媒在线| 国产亚洲精品玖玖玖在线观看| 超硑97精品| 少妇69中文| 日韩av免费一级电影| 国产精品视频播放| 精品人妻一区二区三区视频在线| 一区二区三区免费视频入口| www.久久| 丝袜高跟澳门91视频| 久九九九| 不卡啪啪视频| 亚洲第91页 | 欧美激情一| 女性91网站| 免费αⅴ在线观看| 国产欧美日韩一区二区三区| 性色aV一区二区三区噜噜| 伊人国产成人av网站| 亚洲男人的天堂一区二区| 国产久久久久久| 裸体美女国产免费久久久网站| 天天看天天日天天操| 99r九九| 91熟女丨老女人| 久草成人影片| 性色av一区二区| 熟妇女伦乱视频视频| 一本久久精品中文字| 亚洲另类春色| 校园春色综合色| a级免费在线观看| 99日韩| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 亚洲综合113页| 激情抓乳插进去啪啪啪日韩| 夜夜欢天天干| 妺妺跟我一起洗澡没忍住| 欧美性爱精品一区二区| 日本二区不卡| 中出91视频| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 成年女人18级毛片毛片免费观看| 精品国产一区二区三区久久久蜜臀 | 97精品网站| 午夜理论片在线观看免费| 在线 欧美 亚洲| 亚洲免费人妻在| 熟女露脸激情自拍视频| 伊人色综合网电影| 熟妇人妻丰满久久久久久久无码| 免费亚洲国产精品久久一区| 爱媛媛久久国产福利| 成人三级片一区二区三区视频| 操国产逼| 熟妇艹鸡八| 天天谢天天干| 9精品久久| 强奸乱伦亚洲第一页| 一区二区偷拍拍视频| 丁香五月性爱| 成功精品影院| 少妇与黑人高潮在线| 久久久97| 操高情无码| 小情侣高清国产在线视频| 国产成年女人免费视频播放a| 欧美日韩激情无码专区| 日韩精品操少妇| 免费一级黄色录像影片| 色牛牛AV| 欧美九一精品久久久熟妇| 久久激情亚洲精品无码?V| 成人黄页| 激情综合色| 综合情欲网| 五月丁香综合网| 中文字幕丝袜人妻| 国产精品久久久啊| 日本精品性生活久久久| 精品一啪| 国产suv精品一区二六| 8050无码八戒| 又粗又长又大国产不卡| 色天堂综合| 亚洲图片偷拍视频区| 高清孕妇孕交 交| 清清一区二区三区四区不卡视频| 福利社区午夜一区二区| 中文字幕-区二区三区四区视频中国| 国产乱子伦久久精品综合一区二区三| 亚洲一二三精品久久网| 亚洲成人贴图| 亚洲综合影片| blacked精品一区国产| 日韩BBN| 精品无码一二三四区| 日韩免费三级黄片电影| 91插B网站| 91狠| 欧亚性爱视频免费看| 人妻 欧美亚洲| 嗯嗯啊操我| 国产尤物AV尤物在线观看不卡| 亚洲清纯综合| 色偷综合| 伊人99热| 婷婷五月天激情网| 欧洲射精91| 丝袜天堂| 伊人网综合在线视频| 免费观看日本操逼视频| 香蕉国产97| 影音先锋一区二区在线资源| 午夜激情床戏激情| 久久久九97| 国产一区自拍欧美日韩| 日本伦乱九九九综合| 日本免费一区二区不卡| 精品久久青青草| 性爱动态120秒| 思思热在线视频在线| 97色97好| 97色伦欧美| 亚洲中文字幕网| 国产欧美日韩在线不卡第一页| 男人综合网| 69久久久久久久久久久久久| 91天美传媒在线观看| 黄色高清久久无码依人| 国产精品色哟哟| 欧美97在线观看| 91九九九小逼| 欧美亚洲涩涩| 九草九九九| 大香蕉免费3| 国产家庭乱伦表演| 亚洲爽图| 久久人妻| 亚洲伊人a线观看视频| 久9久9久9久9久9久9| 久草色在线观看| 色色色五月婷婷| 不卡中文字幕aⅴ在线| 久久久久久亚洲中文| 九九干| 国人欧美精品一区二区| 激情五月天丁香| 大香蕉AV丝袜| 五月天人妻综合| 亚洲欧美清纯| 免费岛国一级片| 成在线人在线观看视频| 丁香五月天啪啪| 91 丝袜在线| 67914在线兔费成人视频| 亚洲高清自拍| 国产亚洲精品美女久久久久久2021| 操逼不卡中文字幕| 久久曰曰| 狠狠躁日日躁夜夜躁A| 精品九区| 无码精品蜜桃一区二区三区ww| 人妻AV在线| 日韩丝袜高跟制服在线观看| 久久有码视频| 一区二区三区美女超清| 色一色综合网| 久干网| 2020天天色综合| 91 丝袜在线播放| 操逼网站地址| 丝袜喷水在线| 一区二区三区一亚洲中文字幕、综合区灬| 欧美性爱18观看| 色五月婷婷五月天| 综合自拍| 亚洲日韩精品在线播放| 日本精品九九九| 啊v在线观看视频| 黄色片一区二区三区四区五区| 99re这里只有精品中心播放| 欧美图片校园春色| 国产99久久99热这里只有精品15 | 国产少妇内射| 强奸乱伦中文字幕AV| wwe 天天干.com| 国产v亚洲v日韩v欧美v片另类| 国产激情av女片自拍| 97精品一二区| 国产精品不卡高清在线观看| 粉嫩国产精品久久粉嫩| 欧美色吧综合| 韩国黄色片精品久久久| 9精品久久久久| 色欲三区| 久久一区二区加油站| 性久久久| 欧美性爱网97| 久久久久久国产手机AV| 天天天做天天天爱天天天爽| 免费在线观看国内色片网站网址| 国产SV一线| 欧美激情 亚洲色图| av无码精品久久久久| 欧美日韩美女精品久草一区二区三区| 新婚人妻扶着粗大强行坐下| 久草精品一区| 伊人黄色片| 白丝少妇一区二区| 欧美人人AAA| 亚洲日韩乱码中文无码蜜桃臀网站| 一中国女人毛片水真多| 久久999久| 国产视频一区二区免费| 屁股久久久久久久久久| 久久久久久波多野吉衣高潮| 欧美强奸乱能| 免费A片三p视频| 青青草无码视频| 国产精品色色| 精品偷拍13p欧美dodk视频| 日韩欧美蜜桃精品久久中文字幕久久| 伊人久久大香大香线蕉中文| 试看日韩黄片| 精品无吗久久| 五月婷婷综合网| 老熟女网站| 亚洲、日韩、综合、另类| 黄色视频高清无码网站| 日本97久久| 日本三级久| 九九九热| 欧亚日韩中文在线| 日韩精品99久久久久久中文字幕 | 久久久久13| 久久久精品网| 九九九九精品在线| 日韩中文字幕av在线播放| 性爱边摸边日免费AV| 欧美性色欧美| 中文字幕欧美日本乱码一线二线 | 天天做天天爱| 亚州男人天堂| 男人天堂综合| 五月婷婷六月色| 欧美激情精品久久久久久| 免费观看国产不卡av| 欧美激情视频一区二区三区不卡| 免费一级特黄特色大片在线观看看 | 国产在线综合网| 国产激情在线| 久久东京国产精品视频| av情色影音| 亚洲熟妇自偷自拍另欧美| 久久东京国产精品视频| 激情小说亚洲| 1769一区| 国产精品一区二区久久精品| 国产捆绑一区| 97免费在线观看| 久久久久久久久久久久九| 亚洲色鬼| 日韩精品中文字幕一| 一区不卡在线观看av| 欧美一二三级精品在线| 国产成人精品网站| 99超碰碰| 天天看夜夜看日日干| 国产熟女精品区| 亚洲图片欧美在线视频| 99九九精品| 色情成人五月天| 国产精品熟女丝袜一区二区| 日本操BAV| 欧美顶级黄片AAAAA在线免费看| 人妻在线视频| 老女人爆菊| 色九月综合| 91精品丝袜久久久久久无码人妻| 亚洲欧美中日韩| 九九九九一级| 日韩色| 欧美探花网| 亚洲一本色道中文无码aV天美| 色婷婷成人| 97综合在线观看| 欧美内射少妇| 日韩综合97p| 欧美人人曰人人操人人射射| 18禁在线视频| 天天爽天天操| 天天享受天天看| 中国熟妇| 色综合国产在线观看| 欧美日韩国产高清在线一二三区| 欧美制服另类丝袜| 大香蕉之青青草原| 大香蕉手机在线| 日本淫乱女一区二区三区视频| 国产亚洲日韩在线三区黑人| 67194无码不卡| 高颜值美女口爆高潮浪叫| A级国产欧美激情在线| 亚洲欧美国产日本一区二区三区| 亚洲无限观看| 久久久国产成人一区二区三区在线| 懂色AV一区二区三区| 99精品久久久久久| 一区二区不卡视| 久久精品国产亚洲AV高级北京| 色婷婷蜜臀av| 国产一区自拍欧美日韩 | 97国产综合欧美| 国产强奸AV在线| 中文字幕啊啊啊在线观看视频| 国产热RE99久久6国产精品首| 天天弄天天操| 天天网综合| 久久99久久99精品免视看婷婷| 久久久三区二区一区| 国产亚洲国产超碰| 亚洲精品电影| 97干com| 成人小说另类在线| 欧美91变态| 91丝袜美女视频| 99在线精品观看99| 亚洲欧美天| www…国产操逼| 国产精品一区二区密臀| 国产精品久久久三级无码| 中文一区在线日| 秋霞蝌科网日本一区| 久久妇| 天天操综合网| 久久久久国产精品久久久| 色色99| 久久‘黄片视频| 久久免费少妇| 久久m| www.夜夜操| 欧美不卡在线一区二区| 操老熟女AV| 亚洲色欧| 999久久久九| 日韩欧美中文| 日韩一级性爱无码| 成人日韩中文字幕| 久久riav中文精品| 久久春色| 亚洲丝袜在线观看| 欧洲精品一区二区三区| 丁香六月婷婷久久综合| 精品久久久久9999| 久久大| 成人线上超碰| 亚洲一区亚洲天堂| 九九亚洲| 曰本熟女视频| 亚洲国产高清福利视频| 蜜臀久久99精品久久久久久| 黄色小说亚洲| 啊啊啊啊啊啊啊啊啊啊在线观看| 亚洲 图片 综合91| 91青青在线视频| 67914亚洲精品| 欧美色图色综合| 九热超碰| 69AV女优男人的天堂| 亚洲五码一区二区三区| 婷婷激情四射| 操淫穴亚洲五月丁香 | 高清无码一区二区三区| 日夜精品| 麻豆天美在线| 超碰色97| 在线二区不卡| 校园春色美腿丝袜 | www九九热| 逼逼逼逼操操操操操操操操操午夜剧场 | 无码在线亚洲| 精品久久久久久中文| 亚洲91网| 在线免费观看高清无码视频| 欧美极品少妇| 熟女精品一区二区在线观看| 男女激情中文字幕| 欧美成人精品一区二区三区| 欧美欲色| 亚洲图片 激情小说| 亚洲综合九| 肉丝无码中文高清| 啊啊啊不要啊啊受不了了视频在线 | 成人毛片免费| 八戒午夜福利理论片| 欧美18 在线观看| 99久久99久久免费精品蜜臀| 亚欧无码线免费观看视频| 欧美福利视频啊啊啊啊| 香蕉国产精品麻豆亚洲欧美日韩| 久久久性| 破苞ⅩXXX性无码动漫无码| 欧美性爱在线无码| 亚洲有码 视频一区| 亚洲第一页欧美| 久久精品免费| 丝袜色综合| 99蜜月精品久久| 五月情色天| 国产在线激情视频| 九九色逼| 亚洲欧美日韩电影网站一区| 麻豆色约约| 男女一进一出视频久久| 亚洲成a人在线观看久| 操屄不卡视频| 日韩欧亚太美不卡| 夜夜嗨一区二区三区三州加勒比 | 极品少妇久久久久| 九九九精品| 一区二区三区精品久久| 91丝袜美腿网站| 亚洲高清在线se| 国产精品天堂| 激情综合网五月婷婷五月天| 欧美日韩m| 欧美天堂第二区| 亚洲黑人在线| 91久久久久久久| 日韩9999| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 女人综合网| 尤物一级在线免费观看| 97人人爱人人做人人乐| 中文字幕视频在线观看| 婬女免费一二三区A片| www.高清无码诱惑一区.com| 91成人精品| 免费作爱一级视频| 久久 亚洲 日韩 人妻| 日本幼女18+| 成人八戒网站| 亚洲综合骚逼| 免费观看成人www精品视频| 新婚人妻扶着粗大强行坐下| 亚洲自拍一区夜夜操| 欧洲黄色网| 欧美色997| 日本性感人妻91| 99无码| 天天欧美| 极品丝袜无码| 超碰在线一区| 殴美性色a级欧美| 欧美日韩一二三| 人妻激情偷乱视频一区二区三区| 91N综合网| 日本肏逼视频在线观看| 自拍亚洲综合| 日韩操人| 97干色| 久久一二三四不卡| 思思热国产在线视频| 羞答答AV中文字| 多毛小伙内射老太婆| 少妇熟女视频一二三区| 丁香五月婷婷基地| V A在线| 欧洲精品久久| 天天插天天射| 91少妇| 天美传媒av 在线| 国产精品麻豆免费视频| 天天看综合网| 啪啪啪东京| 偷拍欧美激情| 亚洲图片色图欧美另类| 老司机午夜福利视频一区二区| 国产成人亚洲精品无码古代早漏男| 久草线上视频免费看| 久久草在线综合视频| 伊人久久亚洲色欲综合网站 | 强奸a片网| 91成人18| 蜜桃臀一区二区aV| 97精品国产97久久久久久免费| 日韩熟女操逼| 抽插亚洲无码| 97网址97| 欧美色997| 免费视频a级毛片免费视频| 啊啊啊网站| 久热这里| 黑人与人妻| 暖暖精品二区三区观看| 日本午夜久久电影| 男女性感激情网站| 中文字幕美女91| 大香蕉99999| 熟妇人妻一区二区三在线| 一区二区三区激情在线观看| 综合国产影视三级| 翔田千里A片一区二区| 国产欧美另类久久久精品课程| 久久m| 亚洲 欧美 另类 日韩 人妻一区| 91综合在线| 久操网无码在线| 日韩啊V| 大香蕉日亚洲日本亚大 | 久久夜夜夜| 人人干人人搞人人摸| 强歼乱伦资源网| 88xx成人精品视频| 综合伊人网12色| 丰满人妻-区二区三区免费看| 中文字幕第7页| 色吊丝 日日骚 清纯唯美| 黄页网站成人免费| 91成人精品| 亚洲高清91| 狠狠操,使劲操| 99热一区二区三区四区| 日韩无码第3页| 亚洲欧美高清| 少妇精品久久| 超碰97人妻免费在线| 日韩有码 一区二区三区| 亚洲成aⅴ人片不卡无码| 日韩精品国产一区二区| 影音先锋日本乱伦| A片 AV一级在线播放观看免费| 国产强奸超碰AV| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 久久免费精彩视频| 精品久久視頻在线| 99操| 诱惑网综合| 亚洲精品人妻在线| 黑人精品成人一区二区三区| 亚洲五月婷婷| 少妇极品熟妇人妻无码| 国产高清在线观看欧美| av一区二区三区 中文| aaa淫乱视频| 视频不卡中文字幕| 放黄片放3级黄片没穿衣服| 丝袜无码a片| 色妹子A V| 欧美色日本| 98福利在线视频| WWW美腿丝袜香蕉中文| 一区二三区四区视频大全套| 亚洲清纯唯美| 96麻豆精品一区二区三区| 欧美天天弄| 欧美天堂在线| 国产精品露脸在线观看| 欧美一级色| 五月天社区| 99re8超碰| 玖色av| 久久久久久亚洲Av无码| 欧美激情五月天| 熟女欧美日韩综合婷婷| 情色图区| 9国产超碰| 人人色人人操在线| 水野优香在线观看| 欧美日本天堂| 熟女人妻一区二区三区免费看| 无码高清操逼网址| 色婷视频| 伊蕉97蜜桃97狠狠综合干| 91色婷婷综合久久中文字幕二区| 国产精品探花色| 按摩中文字幕| 91天堂网| 六月丁香五月婷婷| 亚洲精品乱码久久久久久蜜桃麻豆| 20cm女自慰在线日韩欧美| 五月丁香激情综合网| 国产噜噜噜噜噜久久久久久久久| 国产自制av蜜乳| 天天干美少妇一区| www国产精品| 亚洲精品a人片在线观看视| 91N综合网在线| 青青久久手机线视频| 亚洲 另类 丝袜 自拍 动漫| av亚欧| 欧美性天天影视| 欧美劲爆第一页| 97免费视频在线| 99热在线观看| 92一区二区| 超碰碰97| 99在线无码精品秘 入口黑人| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 国产精品对白自产拍| 欧美日韩性爱电影在线| 欲射影视| 亚洲中文日韩精品| 91网站在线播放| 婷婷色网| 国产91福利小视频在线观看| 嗯嗯啊啊操死我| 日韩在线一区二区| 色婷婷综合久久久久中文一区二区 | 国产精品懂色tv影视免费观看| 欧美强奸乱| 青青操日韩| 人妻熟女午夜精品在线| 99999re| 久操在97| 亚洲第一页色| 亚洲精品久久久久毛片A片拉屎 | 大香蕉伊人75| 亚洲免费成人精品电影| 天天看高清麻豆| 精品性爱无码在线播放| 熟女91网站| 丁香婷婷激情五月天无毒不卡 | 国产中文大片资源中文字幕| 91美女高潮| 亚洲中文一区二区三区视频| 欧美色女人| 天美传媒av在线| 99综合免费视频| 国产v片在线免费观看| 午夜福利 成人 91| 欧美韩日精品资源| 超碰97网址| 国产亚洲一黄| 久久久精品国产亚洲AV无码| 亚洲国产一级黄色视频| 91天天综合在线观看| 91 国产丝袜在线放观看| 精品人妻美妇91job| 成 人 A V免费视频在线观看| 超碰是碰在线观看| 欧美精品三区| 国产精品91一样| 婷婷色导航| 久99视频| 久久五月综合| 色五月激情网| 熟女乱伦二区| 91五月天| 婷婷综合五月天| 久久久久国产无av| 囯产乱伦一区二区三女| 少妇啪啪自拍| 精品中文字幕第一页| 色欲Av人妻精品一区二| 久热最新在线杭州| 啊啊啊啊无码| 欧美亚洲小说| 麻豆综合一区av| 91热色| 亚洲国产亚洲天堂| 欧美,日韩,中文,另类| 熟女熟妇伦久久影院毛片一区二区| 狠狠夜色午夜久久综合在线| 久草在| 亚洲人在线| 久久精品视频28| 99青青草国产视频| 91热色| 天美久久久久| 国产福利一区二| 亚洲天堂精品日韩电影| 91熟女丨老女人| 99国产天美| 天天天天天天天天综合| 日本天堂在线播放| 亚洲男人电影天堂| 天天cao在线| 成人97人人超碰人人| 午夜爽爽爽在线观看永久入口姬片| 国产精品无码论坛| 亚洲图片欧美91N| 和协影院中文字幕三区| 超碰吊日色| 中文字幕乱码人妻二区三区| 亚州AV无码国产精品| 一区二区偷拍拍视频| www.狠狠操| 久色99999| 97Ai亚洲| 操逼网站地址| 偷拍欧美综合| 97爱爱官网| 国产精品伦理| 天天草天天日| 欧美做爰无码A片视频| 精品一区二区三区蜜桃臀赵总| 久操 高清| 性综合网| 色婷婷基地| 免费网色网站| 日韩精品午夜操呦呦不卡影院| 国产精品久久久| 日本视频一区二区三区| 91久精品| 男人天堂资源| 99热精品在线在线| 天堂亚洲精品| 婷婷五月天色色| 99在线啪| 99久久精品无码一区二区| 日韩熟女精品无码专区一区二区| 久久97视频| 一级性爱啪啪视频| 一区二区三区日韩欧美| 日韩性爱小视频| 中文字幕一区av| 久久人妻少妇| 国产性爱在线视频一区二区| www.91久久| 蜜臀久久99'精品久久久| 99国产精品视频尤物| 99re视频在线观看这里只有精品| 97丝袜亚洲在线播放| 香伊人在线| 天天爽爽爽爽| 91熟女视频| 亚洲熟妇无码一区二区三区| 欧 美 自 拍 偷 拍| 欧美在线官网| 金莲网址| 国产成人五月天丁香花| 国产精品白虎| 蜜臀AV秘一区翔田千里| 97一区二区蜜臀| 一区二区视频你懂的| 国产综合网站在线播放| 在线小说视频一区| caoni国产亚洲av| 超碰97久| 亭亭丁香激情| 天天做日日做天天欢。| 亚洲久久久久| 91国产丝袜美女| 不卡一区二区日本视频| 欧美翘臀视频网站一区二区三区| 伊人网在线观看| 国产精品原创巨作?v网站| 青青草女人天天干| 国产久久视频| 婷婷色在线| 思思热影视| a片 xxxx受爽视频| 天天天做天天天爱天天天爽| 99re6久热只有精品6在线直播| 国产av强奸美女| 99黄页网站| 2024人人操人人摸| 亚洲自拍天堂| 97se亚洲| 天天干1区2区在线| 国产丝袜美女诱惑| 黄片在线免费在线观看| 男人午夜天堂| 亚洲图片视频小说| 亚洲欧洲无码一区夜| 日韩一级片在线看| 2017人人操,人人摸| 亚洲影院365| 韩国免费播放一级毛片| 久噜噜| SS久久| 天天看特黄的免费网站 | 人人摸.人人色| 久久免费少妇| 97超碰欧美精品| 少妇色欲综合网2| 欧美一区二区三区黄色影视| 国产成人主播| 91成人在线| 成人十八禁日韩欧美一二三| 欧美性爱一区二区三区四区| 中文字幕版| 欲射影视| 精品无码一二三四区| 小草av不卡亚洲二区| 久久超碰av在线| 91天堂丝袜美腿| 欧美亚洲手机在线| 久久人妻| 欧美姓爱综合网| 大香蕉草草| 99re这里只有精品2| 久久精品操| 丝袜加勒比| 麻豆成人AV| 午夜国产综合视频在线观看| 色天使亚洲综合在线观看| 久久熟女嫩草成人片免费 | 九九九九热| 在线观看不卡一区二区三区| www.久久制服糖| AV和黑人在线播放| 亚洲成人在线播放| 免費人妻夜夜爽天天爽爽一区| 欧美72网页| 99精品丰满人妻无码| 欧美综合网| 亚洲欧美日韩偷拍色图| 国产Aα| 少妇蜜汁| 国产午夜福利合集| 69视频入口| 久草免费福利在线播放| 亚洲精品成人激情在线| 黄片免费看黄片免费看| 日韩av乱伦| 后入 亚洲 美女 射| 欧美综合色站| 精品人妻一区二区三区蜜桃视频| 美女裸体无遮挡永久免费观看网站| 久久美女国产| 综合色图,成人综合网| 亚洲综合影片| 加勒比av网| 亚洲免费成人在线高清无码视频| 欧美精品久久久久久久久88| 成人在线视频一区| 欧美中日韩XXXX| 色久桃花影院在线观看| 久久国产99精品72福利 | 超碰欧美97资源| 人人操人人操人人操人人操人人操人人人11.CM | 丰满人妻一区二区三区大胸懂色| 在线综合 亚洲 欧美中文字幕| 999999精品| 99热综合| 五十路三区在线| 五月天婷精品激情| 日韩成人人妻网站| se吧提供国产乱老熟视频胖女人| 亚洲国产麻豆一区二区三区| 大香蕉色欲AV| 我要去看2个日本美女.com曹逼| 欧洲综合视频| 国产亚洲色婷婷久久99精品91 - 百度 | 在线免费试看60秒| 边做饭边操逼逼| 在线97在线| 欧美性爱第一区| 丝袜色综合| 激情六月婷婷| 大香蕉中文| 96AV久久久| 亚洲激情综合另类男同| 日本青青草在线| 亚洲无码国产精品久久| 国产吹潮女在线观看| 91精品大奶人妻| 亚洲欧美天堂| 91N综合网在线| 日韩无码专区| 欧美色97| 国产精品无码av嫩草| 麻豆天美久久91| 亚洲乱伦图片视频| 久9综合在线| 日韩紧密久久| 久久东京国产精品视频| 日韩免费中文字幕视频| 激情视频图片| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 大香蕉男女超碰精品在线| 一级毛片电影免费看| 午夜精品久久久久久久99热影院| 久久精品色欧美aⅴ一区二区| 日本韩高清无砖码22o| 99999这里都精品| 日本不卡码黄色| 国产无马av| 欧美老妇曰批的视频| 亚洲中文字幕熟女| 96超碰网| 中文字幕精品三级久久久| 国产九月婷婷| 手机看av网站在线看| 日韩操逼HD| 国产兽交视频在线播放| 天天欧美| 日韩电影中文字幕| 道久久五香丁月婷婷激情综合| 丝袜制服字幕在线| 嗯啊不要啊在线 | 欧美激情久| 超碰 97国产熟女| 艳美熟妇先锋一二三区| a网站免费观看| 精品国产久热在线观看| 色乱二区| 日本熟妇人妻中出视频| 亚洲 小说 欧美 激情 另类| 92久久| 欧美自拍网| 国产少妇内射| 超碰97在线中文| 蜜臀人妻少妇久久在线观看| 亚洲激情网| 九九热免费视频| 久久露脸国产老熟女| 国产精品宅男免费| 亚洲高清自拍| 97这里有精品| 天天射夜夜骑| 在线天堂资源亚洲| 色噜噜国产精品视频一区二区| 日本精品五区| 欧美色图综合| 亚瑟国产精品久久无码| 2024年最新色情网站在线观看| 国产女人高潮嗷嗷嗷叫小说 | 涩涩这里只有精品视频| 久久黄色性爱视频| 免费毛片在线播放| 久久久九97| av大香蕉网站| 裸模AV女优| 97操97干| 亚洲色阁| 亚洲无吗在线视频| av天堂5| 大香蕉伊人亚洲| 后入日本1234| 日韩一级久久毛片| 性做久久久久久免费观看软件 | 久久久九九网站| 爱啪精品一区| 天天干夜夜| 国产精品亚洲无码| 俺去也婷婷| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 久久尹人大香焦视| 视频一区二区三区精品| 日本激情免费大片| 婷婷五月天小说| nuu12国产麻豆精品| 激情图片亚洲色图| 亚洲中文字幕熟女少妇一区二区| 无码精品久久| 黑人操一区二区| 91红杏| 国产97av| 亚洲高清无码AAA久久久精品| 国产精品 午夜福利| 97资源久久| 3D污黄视频在线观看| 青青欧洲黑| 日韩成人性爱AV| 久久社区一区二区三区| 天天干天天日天天射黄色| 久久久啊啊啊| 亚洲精品成人激情在线| 伊人久久亚洲色欲综合网站 | 白丝av| 天天干天天插|