色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

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
返回資訊列表
久久精品国产精品| 综合国产影视三级| 99热97| 91精品久久久| 天天做天天爱| 亚洲麻豆18发?| oumeisetu综合| 丝袜美腿操av| 欧美日韩青操| 日本黄页视频在线观看| 超碰97男人| 睡产熟女乱伦| 狠狠操官网| 人妻精品一区二区| 欲色啪| 超碰爽人妻熟女Av| 色婷婷丁香| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 亚洲在线网站| 2017天天插| 加勒比海成人视频网| 国产精品一区二区三区在线密挑| 黄色av片三级三级三级免费看| 青女偷拍网| 久久超碰久| 嫩草影院在线观看精品 | 人妻激情另类| 成年人一级黄色毛片大全在线观看| 高颜值美女口爆高潮浪叫| 日日A∨| 大香蕉伊人色偷偷在线| 成人 日韩欧美一区| 亚欧免费| 免费少妇一区二区| 视频分类 国内精品| 九九精品99| 操逼A∨| 久久精品超碰| 91综合网在线| 欧美在线电影| 91N综合网| 99久久免费看精品国产一区| 91国精产品| 欧美97视频| 精品国产72| 操我啊啊啊啊啊| 国产精品天美传媒| 嗯嗯啊啊啊好舒服| 天天操天天射青青草| 95人妻爽爽人人做人人澡| 婷婷色播婷婷| 91人妻超碰| 中文字幕大片三级狠狠干| 91粉芽高清在线一区二区| 人人贴人人摸| 丁香五月天堂| 传媒免费一区二区三区| 久久久免费懂色| 久久久久婷婷精品av电影| 欧洲亚洲人人爽爽视频| 亚洲乱码精品一区二区| 欧美aa一级片| 国产黄色av大片网站| 婷婷91| 色五月激情综合网| www.99热在线只有精品| 色综合99999| 国产精品一区在线播放| 91在线免费精品视频| 一区在线精品中文字幕| 国产精品麻豆免费视频| 五月天玖玖资源站| 91爱综合| 91欧美另类| 伊人色综合欧美| 精品无av| 天堂а√在线最新版在线| 91在线视频免费播放| 国内精品伊人久久久久影院会| 五月丁香激情综合网| 爱爱动态120秒| sss视频华人在线| 偷拍片久久| 欧美一级二级三级| 欧美日韩成人在线| 婷婷丁香五月综合| www.男人天堂| 国产女同在线观看视频| 国产综合操逼高清| 伊人四虎综合| 97免费在线视频| 殴美在线AⅤ| 国产av尤物| 欧美熟妇人体| 亚洲男人的天堂va亚洲男人社| jazzjazz国产精品麻豆| 五月婷婷丁香| 97久久精品不卡| 91性网| 天天色,天天干,天天干| 熟妇熟女视频一区二区三区| 日韩精品资源| 91碰超| 色噜噜国产在线| 久久人妻一区二区三区高清| 一区二区精品日韩欧美在线观看| 97人妻色| 91人妻人人妻| 免费国产视频| 极品五月天噜噜| 丰满人妻一区| 婷婷深爱五月| 人妻熟女一区二区| 综合操逼| 我爱搞逼综合网| 三上悠亚在线毛片91| 亚洲欧洲日本精品中文a∨| 九九亚洲视频| 亚洲日本大香蕉1| 中字幕人妻一区二区三区| 99久久综合| 骚逼自拍99| 国产最新小视频在线播放下载| 啊啊啊 在线观看| 老熟乱一区二区三区四区| 99re公开精品免费视频| 欧美亚洲AN| 超碰美国| 九九九九九九九九九五码| 九九碰九九爱97超碰| 91九色网| 蜜汁欧美| 丁香六月婷婷久久综合| 日语五十路和六十路亚洲国产精品| 日日狠狠久久偷偷色综合免费| 色综合1991| 性久久| 美日韩一二三区| 最新三级网址| 亚洲午夜蜜臀| 久久人妻精品| 乱伦熟女专区| 日韩中文字幕2020| 中文字幕aⅴ在线视频| 国产精品网站www| 天天懆天天日| 99最新日韩偷拍视频| 亚洲av综合色区无码一| 久久九九97| 久热婷婷| 张柏芝国产一区在线观看| 97人肏| 一区在线精品中文字幕| 黄色不卡视频| 国产一区二区啪啪视频| 亚洲欧美洲综合| 久久五月份| 91一区二区三区蜜桃| 91美女在线视频| 日本国产欧美高清在线| 久久男人天堂| 中国熟女91| 欧美日韩性爱精品| 男人女人18禁片免费看网站| 久久久久斤小| 超碰国产情侣自拍网| 国产一区免费午夜视频| 欧美78P| 春色校园综合网| 久操com| 一区二区三区麻豆| 亚洲97P| 情侣开房子拍 日韩无码 女的很漂亮| 青娱乐亚洲自拍| 国产精品禁久久久精品| 神马久久久久久久久久| 亚洲中文字幕av | 97久久久| 国产精品毛片?v一区二区三区| 亚洲自拍青操视频| 亚洲另类久操网| 亚洲 自拍偷拍 欧美| 欧美96在线|欧| 久久免费精品96| 99热精品在线播放| 人妻啪| 男女啊啊啊啊啊| 青青草成人视频在线观看二区| a在线视频免费观看| 欧美色宗合| 破处bbq| 国产又大又粗又长视频在线| 国产激情综合五月久久| 97久久久| 96超碰网| 呦女网站| 久草在| 欧美有码亚洲中文字幕一区二区三区四区| 在线观看av区| 肏逼视频日本| 韩国三级色呦呦| 亚洲九九视频在线观看| 中文字幕高清20页视频| 激情网五月天| www.av在线观看| 综合久久六月久久婷婷| 久久91视频| 九九精品无码专区免费| 久 久无码人妻AV| 超碰色综合| 骚货操死你| 国产91专区| 加勒比海成人视频网| 亚91亚洲网| 久久国产三区| 国产精品情侣啪啪| 亚洲码和欧洲精品激情系列| 91成人国产综合久久精品蜜月| 丁香六月激情综合| 日韩紧密久久| 婷婷色香| 四虎国产成人精品免费一女五男| 91日产欧美| 久久做97| 亚洲熟女乱色一区二区三区久久久| 偷拍盗拍亚洲色图图片 | 亚洲欧美日韩中文播放| 九九九国产精品| 国产精品九九| 久久噜| 色偷偷综合91久久噜噜| 中文字幕一区二区三区四五区| 清纯唯美综合| 99999亚洲| 天堂无码| 色呦呦呦在线观看视频| 国产av美女被艹的乱叫| 超碰人人超在线观看| 免费强奸av| 中文字幕日韩国产传媒欧美精品| 打av高清| 亚洲欧美伦综合| 欧美色图20p| 亚洲精品一二牛牛| 女同性恋久久| 长长久久88视频| 97 国产一区| 综合天天。| 狠狠超| 日韩一区二区精彩视频| 3p国产色噜噜一区| 国产视频三区四区| 色九色久| 午夜国产综合视频在线观看| 国产毛片精品一区二区色欲黄A片| 美国美女AV在线| 天天影视色香色欲| 国产人妻精品一区二区三区秋霞 | 婷婷五月天成人| 久久久蜜桃一区二区三区| 天天看人人操屄犊摸阴| 久久九九精品一区二区 | 午夜精品一区二区三区三上悠亚| 精品国产久久乱码| 国产强奸乱伦欧美| 色色色欧美| 激情五月天综合网| 98超碰日本| 亚州欧美色图| a在线观看| 久久久久久九九九九-美女久久久久久久-成人AV | 伦在线97| 日韩欧美福利视频看看| 97色干| 日本不卡二三区| 欧美亚洲清纯| 中文字幕亚洲热播人妻| 久久国产精品91| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 色牛牛AV| 亚洲自拍一区夜夜操 | AV中文在线可看| 无码操逼天堂| 91人妻最真实刺激绿帽| 91色噜噜狠狠| 亚洲国产精品成人久久蜜臀| 强歼乱伦资源网| 台湾佬中文娱乐自偷自拍| 国产91丝袜在线播放蜜月| 亚洲色图欧美一区二区不卡| 日日干日日| 婷婷五月天无码 | 美女被艹尤物视频| 啊啊啊要高潮了| 一级毛片电影免费看| 日本女人操逼| 操高情无码| 久久国产精品,久久国产| 大茄子熟女AV导航| 91精品国产麻豆国产自产在| 麻豆天美在线| 精品国产精品一区二区| 亚洲诱惑天堂 | 又大又大又大又粗爽高潮观看| 精品久久久亚洲AV成人网站| 97在线亚洲| 91精片| 四虎影库国产精品免费| 人妻夜夜爽天天爽三区麻豆AV网站| 久久久久9| 欧美日韩精品青青| 久久精品国产亚洲AV无码电影| 97精品中文字幕| 岛国激情视频在线观看| 伊人国产视频| 久久久久久精品免费看A级| 日日日骚女人精品| 日本色色的视频| 9997se| 婷婷亚洲五月***久久| 啊啊啊啊好疼视频| 91色婷婷综合久久中文字幕二区| 亚洲爽图| 国产乱弄免费在线视频。| 欧美18 在线观看| 中文字幕片| 超97在线精品视频| 国产97av| 色狠狠综合噜一二三区| 蜜乳Av成人片网站| 97射欧美| 国产视频一区二区三区在线免费观看| 国产一级久久久| 26uuu性物| 黑人粗大V S日韩女优视频| 国产午夜福利电影免费在线观看 | 神马精品视频| 性色av大全| 日日噜噜夜夜久久亚洲一区二区 | 蜜乳AV色欲AVAV无码| 91精品国产91久久久久久久久久久久| 熟妇最新先锋一二三区| 伊人久久大香线蕉无码| 久久男人的天堂| 青青操在线亚洲视频观看欧美在线| 国产精品人妻熟女aⅴ| 人妻91少妇| 好好的日:com久久九九| 爱做久久久久久| 欧美日韩在线小说 | 天天做天天爱| 欧美偷| 91色碰| 国产人伦a片信息免费片| 941超碰| 伊人成人情色综合| 啊啊啊啊一区| 日韩精品视频在线观看一卡二卡| 夜夜草天天| 久久熟妇五十路一区| 久久99久久99久久99人受| aaa亚无码专区| 四季av一区二区凹凸精品小说 | 一级岛国大片| 天天看片青娱乐| 国产性爱欧美性爱在线| 熟女人妇一区二区三区| 88xx成人精品视频| 五月丁香网站| 51一区二区三区| 国产 日韩,欧美 自拍| 国产黑白丝在线| 美女91在线观看| 亚洲91av| 99无码| 乱伦图一区| 亚洲人妻中文在线视频| 久久超碰日韩精品| 91欧美巨乳| 东京热精品97综合网| 日韩熟妇二区| 国产女性无套 免费观看| 日本一区视频在线观看| 熟女乱3伦999| 欧美一二三级精品在线| 老鸭窝在线视频播放| 91丝袜激情在线| 综合色图亚洲欧美| 亚洲天堂电影精品一区| 99热99色| 九九激情网| 国产 三级自拍| 熟女色综合久久| 天天弄天天操| 国产女乱淫真高清免费视频| 最新国产精品久久精品| 一级啊性爱在线视频| 中文字幕在线观看永久| 国产精品福利视频播放| 91精品久久久久| 天天综合网~91| 一二区在线观看视频| 九九九九一级| 淫穴高潮色图| 日韩精品-原创伙伴| 密臀在线一区尤物| 91这里只有精品| 久久久久久九九九| 农村少妇久久久久久久| 天天拍夜夜| 夜夜精品视频| 国产精品久久久久久高清无码免费看 | 欧美αv.com| 国语国产操逼伊人AV网| 中文字幕亚韩| 国产操偷| 久久99网站| 色欧美天天| 青娱乐亚洲热| 一区,二区,三区网站| 四虎免费看黄| 欧洲性人爱视频| 麻豆一区二区三区在线看| 日韩欧美偷拍美女视频| 人人操超碰在线| 视频国产欧美在线播放| 欧美精品一区二区少妇免费A片| AAAAAAAAA黄片| 乱伦3P视频| 天天干天天干天天干| 有码免费观看| 丰满人妻一区| 男人的天堂 在线一区| 久久亚州精品成人Av无| 极品尤物在线观看| 精品无吗久久| 亚洲性天堂| 国内精品久久人妻性色av| 国产小黄片在线免费观看| 激情综合婷婷| 黑人天8A∨高清网站| 日韩综合97P| 久久久久久久| 无码逼| 久久99黄色卞西瓜| 国产精品69久久久久久久 | 色女99一级片在线观看| 欲综合网| 日本 色 导航| 天天插天天舔舔天天干| 18+91网站| 午夜福利1区2区3区| 婷婷在线精品| 黄久在线| 亚洲精品一区二区精品| 台湾佬激情综合| 粉嫩久久久极品| 视频国产成人精品日本亚洲18| 国产1769在线| 一区二区不卡| 91丝袜在线观看| 欧美性爱伊人| 欧美色图 人妻| 日韩成人人妻网站| 热99这里只有精品| 97精品97久久| 国产精品免费日韩| 日本淫乱女一区二区三区视频| 亚洲激情网| 超碰精品人妻狠狠干| 精品国产一区二区三区在线播出| 97久精品| 亚洲第二页| 国产女生在线| 自拍欧美| 日韩中文字幕人妻视频| 午夜精品99久久久久传媒| 99re这里只有精品2| 你想操日本小逼吗| 日日摸日日碰| 久久五月天婷婷丁香中文字幕| 久久久∴| 免费在线黄片视频| 夜夜操一区二区| 亚洲国产精品99久久久| 青娱乐蜜桃臀AV色婷| 日本在线观看网址| 麻豆伊人网| 成人av毛片在线观看| 国产精品久久久久久久久久久久久久久久久久| 色吧5亚洲| 自拍盗摄一区| 老子午夜伦不卡影院| 亚洲综合另类欧美久久久| 一区二区乱码福利| 神马午夜久久久| 蜜乳av一区二区| 亚洲免费97免费| 乱伦1色页| 4虎在线视频| 麻豆啪啪啪视频| 51一区二区三区| 秋霞视频一区二区| 欧美黄页| 天天夜夜久久| 五月激情综合网| 七月丁香婷婷| 九月激情婷婷| 欧美日日人人天天| 嗯啊不要在线| 在线观看亚洲成人精品| 天堂射| 午夜福利成人免费视频| 91美女小视频| 色婷婷六月| 中文字幕美女91| 亚洲情色五月天| 99国产精品视频尤物| 久久9精品网站| 激情开心五月天| AAAA欧美日韩| 人妻91少妇| 97天天做| 婷婷色五月激情| a'v在线资源| 9.1小视频| 1区2区3区在线视频| 国产92麻豆天美精品色欲5| 中文字幕欧美日韩三级| 久久精品无码熟妇一区二区三区视频导航 | 人妻AV 中文字幕的| 成人免费视瓶| 果冻传媒A片麻豆熟妇人妻| 97国产天堂岛| 四虎影库国产精品免费| 久久精品色欧美aⅴ一区二区| 热99这里有精品综合久久 | 久久久熟女一区| 九九九九88| 偷窥自拍A片| 人人做天天爱| 诱惑网综合| 舔舔啊| 91色图片| 久操B网| 色色婷| 久操网视频| 97亚洲综合在线| 久久婷婷欧美| 午夜成人福利影视| 六月色婷婷| 久色网| 日韩激情啪啪| 欧美一级特黄淫片在线观看| 精品九九九九| 综合色一区三区二区| 伊人久大| 亚洲欧美综合网站| 亚洲网污污污污| 黄色高清久久无码依人| 999狠狠综合| 色色婷婷五月天| 亚洲一区二区三区中文字幕| 浓厚中出中文字幕在线| 日日AAvv| 老鸭窝在线视频播放| 青青草国产一区二区三区| 婷婷香网站| 91精品人妻一区二区三区蜜桃臀 | 欧美亚洲手机在线| 精品国产乱码久久久影院| 亚洲激情深爱文学小说网站| 97亚洲国产| 精彩久久中文| 91女人的网站| 天天舔天天日天天射| 丁香婷婷激情五月天无毒不卡| 嗯……啊…嗯嗯…啊…好舒服| 九一屌逼| 美女极品一区二区三区| 午夜a成v人电影| 88xx成人精品视频| 欧美经典一区二区三区 | 九九成人精品| 97碰碰日本乱偷人妻中文的| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 1禁看欧美黄片免费看| 人妻啪| 国产精品美女在线一区| AV无码久久久精品| 91九色网| 久久久久久久九九九九九九| 国产精品网站免费| 亚洲精品久久一区二区三区蜜桃臀| 亚洲中文字幕乱码无码一区二区| 99国产精品免费| 蜜桃AV天堂| 欧洲人妻视频| 免费看黄片现成| 亚洲乱伦图片视频| 大香蕉人妻| 观看免费区二区三区二| 麻豆一区在线| 国产精品第一页国产大屁股视频免费区| 加勒比综合网| 99精品视频在线观看免费| 中文字幕免费看大片| 夜夜操2028| 熟女一区二区三区| 国产精品乱码久久久久久久久| 久久久久久九九九| 国产久久av| 色色色综合网| 97精品97| 99只有精品| 超碰色97| 亚一综合久久久久久久久久| 无码逼| 你懂得91| 麻豆国产成人精品| 超碰97丝袜| 18禁网站在线播放| 久久亚洲骚逼综合| 97在线观看免费| 国产日韩色综合| 国产高清精品一区二区三区毛片 | 久久中文字幕女同性恋一区| 欧美一级在线观看成人| 免费毛片在线播放| 91 丝袜在线观看| 97国产精品| 亚洲最大网站av| 91久久18禁| 亚洲情色综合| 夜夜草网站| 久久综合av| 中国操逼无码| 免费A V在线| 精品成人女人久久| 亚洲国产成人精品久久久国产成人一区二区 | 久操免费在线| 色五月综合网| 99日视频在线免费| 97在线观看播放视频| 最近2019中文字幕国语免费版| 色婷婷电影| 国产精品夜夜夜| 亚洲成a人v欧美综合天堂下载 | 美国aaaaa一级黄片| 99国产精品久久久久久久成人热| 无码国产精品96久久久久孕妇| 人人干黄色| 美女国产一区二区久久| 91在线美女| 人妻少妇精品视频一区二区三区| 日韩肏逼视频| 成人AV素股で擦久久| 久久人妻一区二区三区高清| 免费精品中文字幕| 后入人妻一区| 强奸抽插av| 综合激情97 | 国产精品点击进入在线影院| 91AV天堂| 欧美另类综合久久| 九草九九九| 粉嫩av在线一区二区| 2017超碰| 成人免费福利网站国产| 人人妻天天做天天爽| 性色av网站| 超碰在线综合97| 色999五月色| 婷婷10月天青娱乐| 污啪啪啪视频| jazzjazz国产精品麻豆| 超碰精品| 成人 日本A片无码8888| 亚洲熟女少妇免费视频| 人妻天堂综合网| 中日韩免费看男女操逼大全| 天天综合网AV91| 1人人看人人摸人人操| 97精选久久| 亚洲乱码国产乱码精网站| 婷婷10月天青娱乐| 你操综合| 成人性爱av| 人妻 欧美亚洲| 国产一区二区三区影片| 欧美色老汉| 五月丁香| 男女猛烈无遮掩视频免费软件| 亚洲色图欧美另类在线| 亚洲欧美激情在线视频| 成人精品久久久午夜福利| 欧美天天综合站| 丁香五月电影| 国产成人无码a| 久久熟女精品不卡一区| 一区二区精品更新提醒| 色哟哟511老熟女| 久久丝袜| 久久动漫精品视频这里只有精品| 综合色图区| 视频黄色国产一级| 天天干18禁| 欧美在线55555| 五月天婷婷久久| 囯戸精品高潮呻吟旡码| 91色欧美| 九九国产| 久久人人妻| 一区二区三区精品视频| 少妇一级无码精品| 亚洲猛交| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 五月天久久婷婷亚洲| 久久五月视频| 一区不卡在线观看av| 欧美在线天堂| 伊人久久亚洲色欲综合网站| 女人妻一区| 九九热超碰| 韩国黄片aaaa| 女人与公拘交酡2020视频| 97操B| 动漫av中文| 9 7超碰在线免费观看| 综合激情五月丁香| 熟女人妇一区二区三区| 91情色| 3P丝袜熟女 色综合| 33044男人的天堂深夜备| 婷婷另类小说| 欧美激情视频一区二区三区不卡| 国产馆极品诱惑| 99无码视频| 国产人妻天天干精品| 国产日产精品久久快鸭的功能介绍| 国内外内射高清视频| 97超碰色色| 极品少妇久久久| 日夜尻逼网| 日本三级韩国三级美三级91| 91九色首页| 不卡免费av在线播放| 91九色蝌蚪在线观看| 精品国产三级av韩国在线| 看日韩黄片| 久久亚洲一区女同性恋中文字幕 | 偷拍三区| 国产无码精品高清| 强奸抽插av| 久久伊人亚洲AV无码网站| 国产一区二区三区免费视频在性观看| 一本色道无码DVD中文字幕| 欧美性爱一区二区| 久久91| 美国日韩黄片| 日婷婷| 中文字幕后石码四区五区| 大香蕉狠狠爱| 天天躁日日躁狠狠躁| 日韩在线观看三级电影| 日韩无码精品综合久久| 岛国片在线视频网站| 午夜a成v人电影| 日韩av不卡在线看| 最新日韩黄片| 日日夜夜狠狠| 亚洲影院小综合| 91美女在线视频| 男人精品天堂一区| 国产丝袜高跟美女av免费观看| 婷婷激情丁香| 亚洲福利影院一区久久| yellow网站免费观看日韩高清无码| 日韩免费性爱视频在线观看| 俺去也婷婷| 日本少妇va7777| 亚洲 欧美 综合 91| 青娱乐 青青青操 日逼| 蜜臀中文字幕| 日韩性爱1级片视频| 国产中文字幕曰本毛片| 91精品黄在线观看| 国产精品 亚洲情色| 欧美色图下一页| 国产综合久| 中文字幕第9页萱萱影音先锋| 国产亚洲日韩在线三区黑人| 大香樵伊人网| 大香蕉欧美国产日韩高潮| 人妻人久久精品中文字幕| 久久青青草在线视频| 眼镜人妻101.com| 国产精品熟女乱伦| 色蜜AV| 精品制服美女中文一区二区三区| 啊v在线观看视频| 欧美 日韩 亚洲 春色| 清柠毛片| 久久夜夜夜| 中文久久久| 亚洲系列第一页| 淫淫总合网| 9997se| 黄色免费网| 色小视频蜜乳| 日韩钢筋无码高清啾啾啾| 自拍第一页| 操婢日韩| 欧美久久九九| 怡春院久久| 乱伦av.com| 国产乱婷婷精品二区三区| 久久久久久99999国产精品| 91色花堂| 一块操欧美性爱| 精品亚州18| 日本韩高清无砖码22o| 99精品热| 精品免费成人久久| 亚洲av综合色区无码一| 天堂资源欧美| 亚洲欧洲成人在线电影| 五月天黄色激情视频| 99国产精品免费| 一起草三级AV电影在线观看| 日本有码影片下载| 欧洲综合色| 色官网在线| 欧美乱妇狂野欧美在线视频| 欧美极品美女aaaaaa级黄片| 天天色粽合合合合合合合| 夜夜春夜夜操| 久久av一级av少妇av高潮| 欧美三级免费伊人| 国产精品ww久久| 成人欧美一区二区三区黑人一| 日本97久久| 人妻av在线| 亚洲风情综合网| 日本一区二区三区四区免费观看| 国产精品不卡一区二区三区| 激情黄色片在线观看| 久久精品亚洲婷婷| 91亚洲综合| 欧美黄页在线| 国产精品99999| 日本有码久久| 97免费在线观看| A V少妇特黄三级| 97香蕉网| 久久久久久性爱视频| 丁香色狠狠色综合久久小说| 大香蕉十区| 操逼国产免费| 成人一级二级| 色丁香久久| 偷拍精品一区二区三区| 日韩中文欧美| 97超碰伊人| 长长久久88视频| 97精品一区二区视频在线观看| 久久精品中文字幕观看| 国产AV天美| 尤物网址| 中出789在线视频| 加勒比久久综合网高清| 97久久精品不卡| 六月丁香啪啪啪| 人人弄人人摸| 亚州高清色综合| 999岛国大片| 国产精品噜噜噜日日日| 美女诱惑爱爱| 97资源视频| 精品制服美女中文一区二区三区| 亚洲第一综合| 可以免费看黄片的视频| 欧美超碰人妻97| 久久久久久亚洲精品不卡人乳| 日韩精品字幕| 久久久九精品| 97爱免费插| 日韩精品亚洲专区在线影视| 大香蕉伊人75| 日日骚 av| 日本久久精品| 国产亚洲欧美每日在线| 欧美 日韩 婷婷 五月| 丁香婷婷九月| 色综合国产在线观看| 久久r精品| 国产天天骚| 99久久久久久久久| 欧美组图日韩亚洲中文字幕| 久久亚码| 成人综合色网| 高清无码 国产精品| 爱逼综合| 97爱啪| 高跟伊人julia ann| 狠狠中文字幕| 亚州综合色| 欧美日韩不卡传媒| 亚洲AO在线| 人人摸人人干| 极品尤物自安慰| 91色图| 超碰97.com| 超碰亚洲欧美日韩无| 探花激情视频| 超碰在线观看av不卡| 九九九九九九免费视频| 69久久久久久久久久久久久| 五月天丁香欧洲日韩| 国产美女高潮叫床视频| 欧美1区二区三区公司| 久久久蜜桃臀无码视频| 人妻熟女一区二区在线视频| 成人无码专区精品视频| 五月婷丁香| 俺去啦俺来也久久综合| 啪啪视频免费在线观看| 91 偷| 哑洲在线| 日本久久久精品电影| 国产自产91区13区| 日本大片日本一区二区免费高清| 日韩啪啪视频| 新婚人妻扶着粗大强行坐下| 在线观看成人性爱免费小视频| 亚洲图片色图欧美另类| 日本操逼无码| 亚洲久久天堂| 青青草大香蕉视频| 中文字幕二区| 九七毛片九九毛片 | 国产兽交视频在线播放| 加勒比海色香蕉婷婷| 亚洲a色| 欧美综合另类| 91精品人妻一区二区三区蜜桃| 草B在线| 欧日韩一二三f区| 九九热午夜欧亚国产视频| av线电影| 亚洲码和欧洲精品激情系列| 99久久com免费视频′| 国产玖玖| 国产按摩一区二区三区| 日日日日日| 91色综| 日韩一级二级| 极品色社| 中文字幕一区二区三区人妻少妇在线| 青青草原综合久久大伊人精品| 成人精品电影| 亚洲色图20p| 91 综合 色| 久久久久久久久国产| 超碰是碰在线观看| 超碰久久.com| 亚洲熟女综合网| 国产强奸乱伦第1页| 国产在线综合网| 国产午夜在线观看视频| 久久精品日韩| 第一高清av中文字幕| 婷婷丁香五月综合| 91国产精品熟女| 嗯嗯啊中文字幕| 99国产在线绯色一区| 日本999精品| 亚洲玖玖爱| 久久人妻熟女一区二区| 一区不卡在线观看av| 玖玖爱免费观看视频| 99热91| 天美传媒Av在线| 亚洲91网。| 成人精品水蜜桃久久久久久久| 福利视频网站| 亚洲欧洲日韩天堂av| 岛国黄色短视频| 极品色社| 成人在线永久| 高潮9999外国| 久久精品国产精品一区| 欧美性爱www免费版| 人人 操人人 操人人| 天天爽天天操| a人欧美综合天堂麻豆| 激情小说激情视频| 美女熟妇色| 91GD.COM| 60秒试看最爽10分钟网站| 亚洲色图欧美色图综合| 97资源视频| 六月婷婷激情| 九九九九九九九九九五码| 9久久久久久| 欧美日韩黄片精品在线| 亚洲高潮少妇| 欧美天堂亚洲电影院一区在线播放| 农村少妇久久久久久久| 欧美性爱日韩性爱| 欧美性猛交美女自慰91| 色爱欲亚洲| 三四中文字幕| 青椒国产97在线熟女| 逼操网站| 九九热免费国产视频婷婷伊人| 精品一区二区三区四区外站| 国产内射爽爽大片| 免费人成在线观看网站品爱网| 性爱视频久久| 91在线丝袜| 大香焦A片| wwwcaobibi| 骚女高跟AV在线| 日韩欧美性吧婷婷乱伦大香蕉 | 日韩性爱毛片操骚逼| 美女诱惑爱爱| 久久高潮妇女视频| 国产欧美亚洲精品a第2页| 亚洲欧美大| 极品少妇久久久| 欧美精品久久久久久久久88| 超碰地址97| 日韩三级在线观看网站| 亚洲少妇色| 91爱| 亚洲欧美精品一区天堂久久 | 超碰在线人妻中文字幕| 免费操逼视频下载| 99蜜桃臀久久久欧美精品网站| 操久久久久| 亚洲精品视频在线播放| 欧美日韩情色一区二区| 日韩肏逼视频| 啊啊啊啊啊在线观看网址| 91在线丝袜| 激情久久久| 熟妇激情| 亚洲精品成人激情在线| 中文字幕一区二区三区蜜臀| 2020中文字幕在线观看| 五月天婷婷基地| AV女优男人的天堂| 日韩97超碰中文字幕| 色色九区| 综合激情五月丁香| 啪啪自拍九九综合| 高清无码网址| 午夜舔阴达高潮视频免费看| 久久久9视频| 欧美精品庄| 激情五月婷婷| 啊啊啊爽爽| 麻豆性爱视频在线播放| 8x福利精品第一福利视频导航| 最新加勒比丝袜在线| av影片在线观看不卡| 久久久影院| 国产精品视频麻豆入口| 欧美性天天影院| 操逼大黄片| 亚洲97资源| 亚洲综合97中文网| 国产第12页| 国产和美国毛片| 男女性感激情网站| 超碰在线成人电影| 日日夜夜狠狠| 免费一级精品啪啪视频| 欧美色色人| 欧美另类色图片| 亚洲精品国语在线播放| 爱啪精品一区| 国产网红精品| 国产又粗又长又大的视频| 伊人五月天青青草婷婷| 操B视频日韩无码| 久艹视频在线| 日本精品一区三区| 日小BB小视频| 亚洲精品97p| 99超碰色| 熟女乱3伦999| 国产吹潮女在线观看| 精品国产乱码久久久久A| 99精品国产户外露出| 骚人妻少妇视频| 午夜人妻精品综合在线| 欧 美 自 拍 偷 拍| 极品后入免费视频| 亚洲五码一区二区三区| 黑人在线91| 欧美日韩亚洲高清不卡一区二区三区| HEYZO高无码国产精品227| 女欧美一区二三区| 久久精品国产97欧美精品亚洲 | 亚洲欧美999| 久久9精品网站| 久操高青| 五月综合激情网| 操逼网站网站| 成人性交免费视屏| 人妻少妇精品久久久| 欧美综合区| 欧美日韩另类在线| 男人天堂新| 免费精品AB| 人妻熟女一区二区三区在线| 99久久com免费视频′| 97摸视频| 国产精品女生av| 91五十路| 国产免费内射视频| 嗯嗯啊啊啊啊轻点视频| 欧美国产成人在线| 麻豆视频test| 亚欧无码在线| 国产精品无码av嫩草| 人人操人人色网| 9久久久久| 精品无码一区二区三区| 国产久久男人天堂| 草久久久| 国产亚卅97| 久久久艹艹艹| 99热精品在线| 最新日韩黄片| 亚洲精品亚洲人成人网| 噜噜噜在线视频| 久久男人精品| 大屁股人妻女教师撅着屁股| 亚洲熟伦熟妇AV无码春色| 91少妇人妻| 久久精品无码熟妇一区二区三区视频导航 | 欧美九九99久久精品| 蜜桃久久综合视频| 五月色网| 一区在线国产播放| 操美女高潮抽搐白浆| 日韩精品黄片免费观看| 久久精品国产72国产精品福利 | 啊啊啊啊操死我了| 久操在97| 91五月天| 试看福利| 欧洲精品人妻| 97超碰色中文字幕| 国产精品电| 国产视频第二页| 日韩久射综合|