国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成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
返回資訊列表
亚洲A曰本VA欧美VA视频| 狠狠操狠狠插| 中文字幕文字幕无码一区二区三区电影99| 麻豆这里只有精品| 一区二区免费电影久久| 呻吟 欧美 日本 中出| 妇女性内射冈站HDWWWCOM| 久湿久久| 国产精品久久发布| 强奸乱亚洲| 家庭乱伦麻豆| 国产精品不卡少妇白| 青青久操| 日韩内射视频| 九九九久千久久激情蜜桃在线看| 欧亚乱色熟女一区二区| 人人么人人操| 精品97久久| 九九九九日本| 国产亚洲 中文欧美久久| CCYY草草影院地址入口| 超碰久超碰久| 精品小视频在线| 色色操| 夜夜操美女| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 欧美亚洲美少妇一区二区| 婷婷亚洲综合| 国产黄色av大片网站| 精品视频一区二区| 综合色色婷婷| www国产天美久久久| 高潮精品| 上特色A在线| 春色综合免费| 熟妇激情| 蜜桃臀AV在线| 91精品少妇搡搡搡| 国产精品久久久久久久免牛肉蒲团| 激情九月婷婷| 骚逼高潮久久精品| 色婷婷五月天| 色性欧美| 国产女上位好爽在线| 97色干| 免费操逼视频下载| 91人妻精华帖| 亚洲国产尤物yw在线观看| 啊啊啊好多水| 国产91福利小视频在线观看| 久操免费观看| 亚洲丝袜综合| 在线αⅴ| 国产9 9在线 | 亚洲| 丝袜人妻av一区二区| 91色狼| 久草成人| 高清国产精品福利网站| 黄色大片免费在线| 国产精品极品美女视频| 日本性爱少妇| 亚洲综合五月天婷婷丁香| 亚州免费啪啪视频| 久久九九综合| 欧美天堂日韩三级国产传媒| 女生自91网站| 超碰97久久国| 黄片不用下载在线观看| 91人人臊| 999在线电影香蕉| 免费看污网站| 99热日| 亚洲精品国产熟女久久久| 夜夜嗨老熟女AV一区二区三区| 欧美一区二区传媒| 爱丝福利| av黄图片在线观看| 无码精品久久久天天影视| 成年人一级黄色毛片大全在线观看| 午夜精品久久久久久久99蜜桃一| 丁香久久| 中文有码第五页| 欧美 亚洲 大香| 精品97精品97| 99在线精品视频| 久久久久久99AV无码免费网站| 激情 欧美 亚洲 小说| 国产精品99精品视频网站| 亚洲精品官网在线观看| 很很干很很操| 玖玖大干人妻| 女人 A一级| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国内外毛片在线观看| 怡红院成人视频| 99re热有精品视频国产| 口爆综合网| 狠操91,com| 91丨国产丨白浆秘 洗澡动漫| 亞洲久久直播| 91性情| 亚洲超碰AV| 天天看片麻豆| 天天综合91入口| 久久大| 日韩黄色一区二区三区| 91中文精品日韩欧美在线| 日韩专区久久久| 久久国产在线一区二区| 国产原创精品| 欧美综合天天| 99热精品在线观看| 偷拍新久久| 国产精品 久久久精品一牛| 黄片www.| 美女91网| 99色在线| 男同专区一区二区三区在线| 免费精品福利在线观看| 人妻无码一区二区三区久久99| 91天天综合日韩欧美| www九九热| 国产精品久久久久久9999| 欧美片第一页| 另类天堂| 很黄很色的视频在线观看| 99少妇精品视频| 欧美黑人168页欧美黑人167| 美國A片| 蜜臀久久99精品| 玖草在线视频| 韩国轻伦国内自拍一区| 蜜桃视频成a人v在线| 日韩av熟女一区二区三区成人| 国产97在线播放| 伊人五月天激情| 天天综合香 ld视频| 亚洲无码偷拍| 欧美 日韩 婷婷 五月| 国产91影院| 欧美最婬乱婬爆婬性视频 | 日韩中文字幕视频| 大奶啊啊好爽 | 人人操人人摸超碰| 久久a久久| 亚洲国产成人综合碰碰三级经典| 亚洲精品久久久久久久久豆丁网| 国产日韩精品suv| 久久久草成人网站久久久草成人久久久草久久久 | 久草成人| 欧美狠狠弄| 免费A片三p视频| 丝袜av一区二区三区| 91社操逼| 久艹免费| AV中文字幕剧情1区2区3| 做爱A级亚欧| 精品熟妇视频一区二区| 婷婷激情四射| 国产女人9999| 91情色在线| 国产亚洲精品美女久久久| 熟妇人妻丰满久久久久久久无码| 麻豆精品A片免费观看| 大香蕉一线视频| 日韩性爱免费视频在线网站| 欧美东京热精品A∨| 997色在线| aⅴ日韩成人电影av在线免费看av大全| 97超色| 亚洲夜夜欢无码一区二区| 91热| 欧美久久人妻少妇一区二区| 五月丁香| 欧美亚洲另类在线蜜桃| 精…码一二三区| 午夜性| 91成人在线免费视频| 日韩精品人妻中文字幕不卡乱码| 岛国小电影| 国内精品久久人妻性色av| 又大又长又爽| 国产a级午夜毛片| 2017天天操天天日| 91美女在线视频| 日本一区二区不卡精品| 日韩欧美午夜一区二区| 中文字幕黄色一起草| 国产性感骚丝袜在线| 91社区拍啪人妻| 97精品一区二区三区免费| 国产精品高潮久久AV| 免费一级视频特黄色大片| 91亚洲色图| 国产夫妻性生活视频| 中文字幕少妇色| 无遮挡h肉动漫在线观看| 国产精品懂色tv影视免费观看| 综合网97| 亚州欧美一区| 久九干| 2010男人的天堂| 曰本人妻人人澡人人夹| 热久久国产| 中国91AV| 俞拍久久国应视频| 操一对老熟妇爽上天视频| 免费成人在线熟妇网| 亚洲欧美精品91| 午夜福利视频在线一区| 福利色色| 色综合超碰超| 久草精品一区| 欧美美女在线高潮999| 人妻啊啊人妻啊| 精品超碰国产| 天天看综合网| sss视频华人在线| 久操99| 91男女啊啊啊| 色精品极品| 三级片大波波| 日韩懂色网| 精品国产一区二区久久| 国内精品不卡无毒99999| 五月丁香久久| 99999精品成人| 麻豆亚洲Av成人无码一区精品| 日本在线一二| 久久av一级av少妇av高潮| 久久美女国产| 欧美,日韩,亚洲视频| 91深夜夜| 国产成人精品日本视频| 欧美日韩香蕉| 97色婷| 久久久A∨| 日本一级一级一级一级| 激情文学网伊人| 欧美成人9797| 亚洲熟女乱熟乱熟妇综合网二区| 男女91| 五月丁香啪啪啪| 亚洲熟妇自偷自拍另欧美| 95精品在线| 夜夜狼人妻| 国产精品suv一区| 欧美天堂亚洲电影院一区在线播放| 69精品人人人人| 日韩精品9区| 大但人体久久久久| A级在线视频| 中文字幕一二区二三区人妻专区| 中文字幕 码 自拍 视频 区| 蜜乳av首页| 精品一区二区三区蜜桃臀赵总 | 91色花堂| 91大神精品长腿在线观看网站| 玖玖爱在线视频免费观看| 成人三级片无码| 五月丁香婷婷综合| 久久精品免费| 97视频在线免费| 日本亚洲嫩草影院啪啪| 免费自拍三级综合| 欧美性猛交美女自慰91| 日韩中文9| 欧美日韩亚洲天堂| 久久人人舔人人爽舔人人av片| 婷婷久久网| 国产一级久久久| 抽插一区二区视频| 久草国产在线视频| 狠狠搞 亚洲91| 久操| 中文字幕,人妻,日韩| 天天干人妇| 成人综合网 欧美| 狠狠干妹子| 激情婷婷综合久久| 丁香六月啪啪| 国产精品禁久久久精品| 四虎午夜影院| 黄色乱论网站| 亚州欧美在线| 欧美99热| 日本精品九九九| 秋霞一集毛片观看| www.狠狠干.coom | 91在线视频免费播放| 日韩人体偷拍| 国产精品一区二区三| www网站黄| 人妻精品一区二区全免费| 婷婷激情四射| 91狠狠色丁香婷婷综合久久| 伊人视频| 久操大香蕉| 亚洲影视高清第一页| 福利操逼| 一级黄碟在线观看| 成人免费看吃奶视频网站| 久久精品人体| 酒色综合网| 久久国产精品一级二级三级| 欧美激情视频一区二区| 日韩精品99999| 91熟女视频网| 黑人精品成人一区二区三区| 91女优在线观看| 蜜乳AV.COM| 超碰1024久久| 秋霞曰韩R级| 99精品无码| 久久伊人大香蕉| 欧美在线第五页| 强奸乱伦日韩AV| 九九九九一级| 中国探花熟女| 欧洲人妻视频| www四虎| 欧美色亚洲| 97看操| 国产理论视频在线播放| 国产精品久久久久久夜夜夜夜| 国产强奸超碰AV| 人成午夜免费大片| 久久久久成人网| 五月丁香大香蕉| 东京热,男人的天堂| 91丨国产丨白浆| 蜜臀视频网站| 91伊人久久在线| 色综合久| AⅤ片水多多| 国产乱弄免费在线视频。| 一级毛片电影免费看| 精品九九淫乱男| 在线观看中文av字幕| 欧美97av| 97干色天堂| 美国人人操人人操| 亚洲情色 自拍| 日韩精品99999| 操迟操逼在巾线Fre看| 日韩成人人妻网站| 91艹逼精品| 天天干夜夜操网| 青娱乐91| 后入式五六区| 国产av青草| 国产高清精品福利| 尤物av网站免费在线播放| 欧美成人综合| 蜜桃色色网站视频三区| 日本三级一区二区 在线| 97久久超碰国产精品| 亚洲综合影视| www.狠狠干.coom | 思思在线免费视频| 亚洲国产精品久久AV| A男人的天堂| 91oumei| 乱伦图av| 日韩黄色av中文字幕| 美女91网| 四虎在线免费视频| 亚洲激情色片| 男人的天堂激情| 国产精品久久伊人| 国产99精品一区二区三区免费| 国产深喉视频一区二区| 欧美亚洲清纯| 天天草AV| 超碰中文字幕人妻草一区| 麻豆人妻精品一区二区| 丁香九月激情| 午夜福利激情在线视频| 欧美亚洲国产91在线| 东京热AV男人的天堂| 国产美女口爆吞精| 大香蕉99热| 综合网,亚洲,欧美| 青青11操操操操操操操操| 欧美天天插| www.久久爱| 黄色欧美性爱视频| 亚洲欧美在线观看免费| 热无码中文亚洲H一道本一区二区| 农村少妇久久久久久久| 亚洲情色 无码专区| 丝袜色综合| 97超级欧美| 亚洲91色在线| 东京热不卡视频| 歐美性天天| 热久久国产精品视频大陆精品| 偷拍网站久久男女男| 熟妇女人妻呻吟久久AV| 日本免费不卡二区| 嗯啊不要啊啊在线观看视频| 丰满翘臀美女影院视频| 久久少妇视频| 超碰在线成人电影| 亚洲在线综合| 欧美色女人| 色哟哟 日韩精品| 中欧人妻丝袜中文字幕| 日日噜噜夜夜久久亚洲一区二区| 少妇极品熟妇人妻无码| 好舒服视频| 国产白领连续中出在线观看| 男人兔费天堂| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 亚洲一二三精品久久网 | 农村少妇久久久久久久| 日韩欧美传媒一区国产| 婷婷操视频| AV一起草在线| www国产天美久久久| 五月天丁香婷婷综合网站| 久久色情| 日韩三级网址| 久久久久久久六六| 清纯唯美第一页| 青娱乐休闲视频在线观看| 老司机深夜18禁污污网站| 91蜜桃传媒精品久久久一区二区| 天天干18禁| 日韩性爱免费观看视频| 黑人嘿嘿嘿超爽免费视频| 欧美亚洲中文字幕| 91在线视频免费中出| 亚洲 se图 欧美电影| 国产欧美后入| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 熟女被操视频网址| 日韩av色图综合| 欧美黑人91| 熟妇色99| 岛国AB视频| 这里只有精品视频| 欧美韩国你懂得在线| 综合色久欲| 久久久久久久久999| 少妇一级婬片免费放一级a性色.| 亚洲图片欧美91N| 欧美伊人久久综合网| 色青青久久影视| 四虎影库国产精品免费| 欧美97se| 福利在线观看一区二区| 91久久18禁| 亚洲图片欧美偷拍| 国产综合网站在线播放 | 国产美脚女优尤物在线观看| 日本免费二区三区| 成人性爱av| 韩国久久97| 91美女视频电影| 影音先锋日本一区二区| 亚洲少妇色| 超碰97综合网| 亚洲成人一区二区精品| 五月天婷婷欧美三区| 天天综合网视频91| 黄色大香焦1级‘′‘| 欧美久久婷| 欧美啪啪色吧在线| 97人人射| 天天天做天天天爱天天天爽| 另类小色呦| 粉嫩AV一区夜夜嗨| 欧美1区二区三区公司| 欧美大码在线视频| 91狠狠综| 色欧美天天| 大香久久| 日本大片日本一区二区免费高清| 中文无线日韩一区| 欧美成人黄网色网站| 大香蕉之青青草原| 黄在线| 五月开心久久AV官网| 少妇一级婬片免费放一级a性色.| 熟妇视频一区二区三区在线观看| 日韩三级伊人| 国产精品九9| 91人妻在线视频| 91在线页| 国产肏逼网站| 亚洲在高跟鞋自慰久久在色线| 国产一级内射高清视频| 大香蕉免| 国产亚洲精品美女久久久| 国产欧美伊人| 韩日性爱av| 校园春色综合香蕉| 欧美日韩小说| 丁香色色网| 青青在线视频免费| 人妻久久久久久| AV麻豆免费一区| 春色校园综合网| 久久精品 六十路 熟女 欧美| 啊操爽品善一区二区三区| 国产精品亚洲无码| 久射吧| 中文字幕视频在线观看一区二区| 国产精品不卡一区二区电影| 激情小说亚洲图片| 国产免费一区二区在线A片视频| 超碰人妻久久| 宅男午夜在线视频| 日本一区二区三区四区免费观看| 亚洲午夜精品久久久中文影院| 天天天天干| av爱爱爱| 色噜噜狠狠色综无码久久| 欧美性爱97超碰| 中文字幕日韩人妻视频| 青草伊人久久| 欧美日韩理论一区| 最新啪啪视频| 欧美熟妇色| 伊蕉97蜜桃97狠狠综合干| 蜜桃无码AV一区二区| 亚洲男人电影天堂| 91色s| 成 人 影视 一区 二区 三区 四区| 亚洲一级特黄大片在线播放91| 综合亚洲网| 欧美三级一级| 国产激情综合| 国产精品无套内谢| 视频不卡中文字幕| 天天躁日日躁狠狠狠躁| 二三四区精品| 内射日韩大臀美女| 欧美综合区| 岛国免费视频在线| 色臀av| 美女天天干| 丰满搜索结果 -第18页- 久久高清无码| 成人性爱av| 久夜操| 亚洲综合69| 暖暖精品二区三区观看| 密臀成人视频久久久| 嗯嗯嗯啊啊啊操的我好爽| 乱伦AVxx| 亚洲高清无码在线桃色| 爱妃国产亚洲视频中文字幕| 超碰97综合| 极品一区二区三区免费| 青青草啪啪网| 久久夜夜夜| 欧美色图片91| 亚洲中文日韩欧美大香蕉视频| 国产家庭乱伦表演| 色色毛片| 欧美超碰97| 久久久国产精品亚洲精品| 射丝袜高跟鞋99| 五月天啪啪| 一区二区娱乐网站| 性久久| 国产 亚洲 一二三四| 婷婷爽人人婷婷爽视频| 一本色道熟妇| 欧美日本不卡在线| www被窝色com| 后入式在线免费观看60秒| 亚洲限制级| 欧美 综合| 国产人伦精品一区二区三区| 欧亚性爱视频免费看| 成人av毛片在线观看| 97天堂| 午夜男女爽爽大片免费观看| 伊人热综合| 97伊人超碰| 性高潮久久久久久久久久久| 性91| 国产在线视频午夜精华在| 9Ⅰ老熟女| 啊啊啊好想要| 日韩在线欧美精品一区二区| 欧美国产欧美在线观看| 密乳AV免费观看| 欧美一级久久久久久久大片动画| 国产三区免费在线观看| 欧美黄色大香蕉一区二区| 国产精品一二三区福利| 色一射色一射| 欧美 传媒 麻豆 日韩 偷拍| 国产亚洲日本| 精品白丝一区| 日韩欧美大片免费高清啪啪| 日韩中文字幕人妻视频| 日本亚洲熟女视频| 美女刺激久久国产欧美| 东北女人的毛片| 亚洲图片欧洲图片aⅴ| 岛国片国产成人亚洲播放| 午夜黄色免费在线观看| 夜夜嗨AV一区天天| 九九九久久久久| 本道综合精品| 中文字幕高清精品一区| 国产av美女被艹的乱叫| 男人的天堂网免费| 丁香婷婷激情五月天无毒不卡 | 日韩中文字幕在线视频观看| 99re这里只有精品中心播放| 97在线无精品| 国产美女自拍视频| 色色色色日本| 热久久这里只有精品| 18禁久极品美女久久哦哟呀!| 92大香蕉| 国产一进一出视频网站| www.狠狠操| 操逼内射干逼白丝91| 欧美天天干| 国产一级不卡在线观看| Julia在线播放亚洲久久| 操逼精品视频| 99热这里只有精品18| 永久免费发布性爱网| 久久久久久久久久久六六| 亚洲在高跟鞋自慰久久在色线| 色九九久九九| 男插女青青影院| 99热这里是精品| 亚洲色图伊人网| 精品久久久久久中文字幕视频免费| 乱欲一区二区| 久久av网| 人妻无一区二区三区| 美女刺激久久国产欧美| 中文字幕精品亚洲熟女| 天天激情综合站| 亚洲另类久操网| 亚洲欧美骚| 国产精品自在自拍视频| 都市激情人妻一区二区青青操视频| 伊人久久AV诱惑悠悠| 91 刺激在线| 88在线一区二区三区| 天天综合网日韩7799| 乱理日韩中文| 尤物网站91| 男人天堂网站| 色五月激情网| 91 偷| 爱我干综合| 中文字幕片| 亚洲无码超碰免费| 亚洲综合113页| 亚洲欧美不卡线| 99综合视频| 中欧人妻丝袜中文字幕| 婷婷五月天小说| 人妻熟女一区二区三区视频| 天天躁日日躁AAA片李宗瑞| 欧美熟妇亚洲版| 人人干人人搞人人摸| 99精品久久久久久| 自拍偷拍 高清无码| 欧美 日韩 婷婷 五月| 日韩人妻播放| 精品综合久久久久久97| 亚洲古典另类欧美在线| 97一区二压| 可以在线观看AV的网站| 99热这里只有精品1| 免费看日产一区二区三区| 在线情色电影 91大 | 久久久久久久78| 中国操逼无码| 9精品久久| 91精品国产高清久久久久久,亚洲成人| 精品久久97观看在线视频| 91色情黑丝搞鸡在线观看一区二区三区三州 | 欧美情色贴图| 亚洲 一区二区 自拍| 好色美女九七第一页| 国产黄a三级三级三级av在线看| 91精品国产91久久青草 | 成人av影院在线观看| 久久6热精品99视频| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲 欧美 91| 尤物网站91| 97国产色图 | 国产www色在线观看| 男人的天堂三级| 长长久久免费视频| 人人操 欧美| 亚洲图片欧美另类综合免费视频大大香| 日本高清有码网址视频| 97天天摸天天爽| 日韩精品操少妇| 亚洲欧美中文日韩视频中国语 | 亚洲国产欧美中文永久| 在线视频免费观看午夜| 1024手机看片欧美日韩| 蜜乳av首页| 超碰97人妻在线| 97se综合| 日韩人妻操B| 亚洲精品啪视频| 91麻豆天美传媒在线| 丝袜av一区二区三区| 色九九综合| 免费视频在线一区二区不卡| 国产日韩欧美| 亚洲精品欧美专业| 熟女视频久久| 国产高清精品一区二区三区毛片 | 久久久久女教师免费一区| 91色图片| 日韩三级一区| 日韩av一级黄片| 中文字幕乱在线伦视频中文字幕乱码在线| 99热婷婷一区二区三| 日日黄色三级网站| 六月婷激情福利天堂69| 六月丁丁香| 久久久久久精品免费看A级| 久久精品国产亚洲AV清纯| 中出91视频| 大香蕉综合在线| 国产60区。| 亚洲欲色9532548967一区| 欧美顶级黄片AAAAA在线免费看| 国产精品人妻熟女aⅴ| 中文一区二区三区影院| 日韩射图| 骚逼自拍99| 大香蕉在线SuP| 夜夜人妻爽| 久久久久久久久九九久孕交| 殴美牲| 久久久亚洲精品电影免费看| 日日爽夜夜爽| 超碰av在线| 白嫩国模丰满一二三区| 中文字幕亚韩| 思思热er精品视频| 99re公开精品免费视频| 成全在线观看免费观看| 免费观看的黄色的网站| 欧美性生活免费网| 亚瑟国产精品久久无码| 成全动漫视频观看免费下载| 亚洲日韩视频二区| 91n美女视频| 神马精品视频| 成人AV素股で擦久久| 嗯嗯啊啊啊好舒服| 夜夜久久| 1204金沙人妻懂旧版免费| 嫩草 人人网精品| 亚洲 欧美 另类 综合 偷拍| 国精品一区二区三| 亚洲欧洲色情高清| 91蜜桃传媒精品久久久一区二区| 一二三四区操操Av| 91精品导航| 欧美色图第一页| 国产精品露脸在线观看| 日本一区二区三区免费观看| 欧美不卡在线一区二区| 蜜桃久久一区二区| 精品国产一区二区三区四区在线看| 黄人人操人人操| 成全在线观看免费观看| 婷婷五月天激情网| 国产人妻精品久久久一区二区三区 | 天天日日日射| 中文子幕一二三| 午夜经典| aaa亚无码专区| 尤物黄色在线观看网站| 日本 欧美 国产一区| 涩五月婷婷| 75大香蕉| 97精品视频网站| 女生91网站| av一区二区三区不卡| 人人干人人操人人..com| 欧美色图天堂在线| 大香蕉国产中文自拍| 中文字幕诱惑制服人妻丝袜美丝袜美| q2午夜理论片夜色av| 东京热一区二区中文字幕| 99在线免费公开视频| 天天日B夜夜干B时时操B| 亚洲无码99| 九区国产| 男人的天堂1024| 综合激情二| 91久久久久久| 亚洲熟女一区| 大学生美女口爆| 精品v日韩欧美国产| AV高清一区| 97久操| 日韩成人在线性爱视频| 久久精品国产精品亚洲艾通辽熟妇 | 91色香| 亚洲第一狼人丝袜美女另类| 粉嫩AV一区二区夜夜| 免费观看网黄| 丁香六月啪啪| Julia Annxxxxx| 高清孕妇孕交 交| 91中出| 99热这里是精品| 啊啊啊好疼| AA级电影三区| 丝袜综合色图| 少妇激情一区二区三区视频| jizzjizz欧美| 五月丁香| 91免费看中出视频| 精品人妻av在线播放| 2001天天操| 国产精品久久蜜乳av| 国产1769在线| 亚洲欧洲久久天堂| 99999久久精| 超碰人妻在线| 久久原创中文| 看大黄色大片原件| 伊人伊人LD| 国模无码人体一区二区三| 99这里有精品| 大香蕉在线视频重口味毛片在线| 国语av狠狠色丁香婷婷综合激情| 婷婷性爱| 九九九不卡| 成人丁香五月| 99热线麻豆| 91小视频| 大逼色网站| 色牛牛AV| 超碰97综合网| 色色色色日本| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 玖玖在线视频| 肥佬影院91| 大香蕉五月天| 大色综合| 日韩影片中文字幕一区二区三区| 视频不卡中文字幕| 一区二区首页| TS人妖另类精品视频系列| 99热亚洲天堂| 香蕉欧美| ai欧美亚洲小说| 色操逼网| 欧美青青草视频| 91久久久久久| 超碰九7免费| 91丨国产丨白浆| 91亚洲色人| 日韩欧美水蜜桃人妻| 久久亚洲AV无码专区国产精品 | 在线视频一区二区传媒| 久久国产AⅤ| 亚洲精品国产精品乱码不卡| 国产一区二区视频在线播放| 综合亚州欧美| 大香蕉男女超碰精品在线| 色在线综合| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 五月丁香激情四射| 亚洲色图加勒比| 久久香蕉综合一本到3atv| 5252色欧美在线男人的天堂| 任你草| 97超碰欧美精品| 欧美精品偷拍| 5月婷婷6月六月丁香| 91宗合网| 日韩欧美水蜜桃人妻| 亚洲无码一区二区三区三州| 久久久久久十| 校园春色中文字幕AV| www.色婷婷色综合| 国产成人在线观看网址| 久久久熟女一区| 日本免费中文一区二区三区四区| 国产无码精品无码| 人人澡综合涩| h在线看免费版在线看| 国产精品久久久久久久无码AV| 91丝袜在线视频| 精品99999久久久久久| 无码日韩人妻av一| 手机在线大香蕉| 国产精品久久久久久夜夜夜夜| 97人人干| 亚洲 自拍偷拍 欧美| 日本一区二区中文字幕久久| 91国精产品| 九月丁香婷婷| 欧美伊人久久综合网| 91丝袜在线播放| 亚洲大胆人体av| 蜜臀久久99精品久久久久久久久| 亚洲免费人妻在| 亚洲AV无码乱码| julia国产在线| 精品无码产区一区二| 少妇天堂网络| 五月开心网| 99热精品在线| 亚洲黄色a级片| 久久性爱视频免费看| 日本久久超碰| 久久熟女嫩草成人片免费| 中日韩久久人妻一区二区| 91neishe| 大香蕉人妻| 国语精品内射在线观看| 日本一区视频在线观看| 色色毛片| 外国91| 久草在线| 97国产精品一区二区传媒公司| 九九九精品色乱九九九| 久久精品中文字幕女同| 天天综合欧美综合| 天天干天天操天天拍| 啊啊啊啊嗯嗯嗯用力好爽| 网页导航五月天免费一二三区 | 国产91丝袜在线播放蜜月| 肉丝网站91| 欧美亚洲玖玖玖| 免费看日本操逼视频| h4610国产人妻| 人妻一区二区三区视频| 日韩欧美性吧婷婷乱伦大香蕉| 久久久亚洲熟妇熟女| 国产精品久久久久久久久久久久久久吹| 免看60秒涩涩视频| 亚洲天天影视色综合| 国产白领连续中出在线播放| 国产白领连续中出在线观看| 色五月69夫妻| 国产熟女一区二区丰满| 亚洲国产剧情少妇激情| 四虎AV在线观看| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产高清MV操逼视频| 天天色,天天干,天天干| 天天色综亚洲91污| www…国产操逼| 中文字幕乱在线伦视频中文字幕乱码在线| 色网在线视频观看免费| 在线看的av| 91影库| 欧美日韩国产高清在线一二三区 | 久99热| 婷婷五月天激情小说| 人人澡人人爽人人精品| 色呦呦、国产精品| 婷婷香网站| 日韩精品亚洲一二三| 神马午夜久久| 性夜影院爽黄A爽免费动漫| 激情五月天插| 日韩免费大片一级播放| 欧美A片中文字幕| 亚洲女毛多水多21P| 亚洲日本韩国在线| 日本人妻一区二区| 嗯嗯啊啊视频一区二区三区| 国产精品天干天干综合网麻豆| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 在线啊啊啊| 亚洲日韩天堂| 日本色色色视频| 99热这里只有精品8| 亚州操逼网| 搡老女人老妇女老妇老熟女怎么读| 色诱中文字幕| 国产精品 午夜福利| 蜜桃网熟妇| 97国产超碰| 亚洲黄色网址视频| 久久综合婷婷| 中文字幕在线观看网页| 亚洲精品久久久久久| 啊v在线观看视频| 国产在线视频二区| 激情网五月天| av亚洲天堂资源网站| 超碰人妻97| 九九精品无码专区免费| av一区二区三区 中文| 91国产美女丝袜足交精品视频| 欧美精品,四区。五区| 亚洲精品九九九| 日韩操人| 夜夜狠狠躁日日躁色视频| 欧美熟女丝袜| 国产中出内射一区二区| 人人插人人搞人人操| 国产精品欧美激在线| 97精品97久久| 青春草莓视频在线观看网址| 亚洲另类在线观看| 狠狠躁天天躁日日躁| 日韩熟女精一区二区三区不卡| 久草福利在线资源站| 午夜呻吟欧美| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 免费岛国一级片| 亚洲αv一区二区三区| 丝袜六区| 97久久国产精品女不卡| a v网站在线播放| 91欧美成人色站| 亚洲啪啪综合?v一区综合精品区| 久久亚洲精品成人av| 九九国产热| 你懂的在线观看区国产| 99热18| 好色美女九七第一页| 国产亚洲中文不卡二区| 热热热热日日漂亮永久永久国产日| 91精品久久久久| 久久久久久精品免费看A级| 欧美综合网1| 欧美爱三级日韩久久| 久草综合京东| 96久久久久久久| 五月天色图| 日比av无码| 国产精品亚洲美女久久久久| 天天日日舔舔| 日本成a人v网站在线观看| 婷婷六月色| 97精| 日本曲间由美性生活片| 99精品丰满人妻无码| 国产亚州精品美女久久久免费| 欲射影视| 少妇干B| 日韩精品三级片长长久久| 自拍偷拍亚洲熟女妇人精品| 校园春色综合色| 亚洲**2021在线观看| 久久国99999| 浓厚中出中文字幕在线| 精品一区二区三区四区外站| 亚洲无码成人精品| 狠狠躁天天躁日日躁| 欧美日韩香蕉| 51一区二区三区| 熟女精品一区二区三区| 欧美劲爆第一页| 欧美日韩丝袜| 操逼视频国产无套| 久久中文色图| 国产亚洲中文不卡二区| 91欧美性| 亚洲欧美日韩制服另类| 精品人妻一区二区三区夜夜| 秋霞久久亚洲精品成人| 淫纸中9区| 亚洲91少妇| 大学生口爆吞精| 激情小说亚洲视频| 巨爆乳一区二区爆乳区| 久久久一二三四区| 大香蕉综合网| 老熟女搡BBBB搡BBBB视频| 一区二区三区成人 | 色阁阁AV综合网| 国产精品99久久久www| 999久久芭蕾| 午夜男人天堂| 思思视频免费看网站| 妇女乱色二区| 综合五月天| 中文字幕一区二区韩| 91超碰碰在线| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 先锋色眉乱伦资源| 97久久国产| 91欧美美女日韩国产婷婷| 黄色在线网站| 中文字幕99999| 殴洲老熟女| 9/A片| 一区二区三区视频国产免费| 日韩熟女精一区二区三区不卡| 久久综合日韩亚洲欧美| 人妻系列无码专区中文有码| 三上悠亚在线毛片91| 亚州欧美总和| 内射中出日韩在线观看视频| 欧美一区二区三区另类精品| 天天综合网日韩| 亚洲精品 欧美精品| 日韩欧美视频青青| 亚洲aV性爱| 成年无码动漫av片无尽在线| 精品久操| 天天综合香 ld视频| 亚洲情色中文字幕一区| 亚洲AV无码黄色强奸| 91啪啪| 色天堂综合| 国产日本熟女顶级一区二区三区视频| 亚洲制服aⅴ中文字幕| 国产女同在线观看视频| 亚洲骚男同com| 国产久久一区二区| 加勒比在线视频| 手机在线看片免费人成视频| 日韩av不卡在线看| 少妇高潮九九九九| 肥佬影院91| 男人的天堂无码| 亚洲一二三| 秋霞男人网| 久久一二区四| 久99热| 成人av在线播放| 精品无码一区二区三区| 不卡在线观看视频| 春色91| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 精品视频日日夜夜| 日本99热| 天天干一干| 欧美日韩99| 五月丁香狠狠爱| 久久精视频美日韩在线视频| 亚洲精品天堂久久A∨51成人漫| 精品无码一区二区三区| 韩国三级色呦呦| 夜夜嗨视频| 97爱亚洲| 2017av无码免费无线播| 国产99热| 久久久久久精| 五月天精品| 夜夜骑日日| 丝袜视频网国产90| 欧美日韩另类激情图片| 精品国产乱码久久久久久免费| 精品一区二区三区18|