免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

STM32U585 USB枚舉失?。篟xFIFO連改兩次導(dǎo)致EP0_IN失效的排查與修復(fù)

STM32U585 USB枚舉失?。篟xFIFO連改兩次導(dǎo)致EP0_IN失效的排查與修復(fù) 最近在STM32U585上調(diào)USB Device從F4上移植了一套CDC虛擬串口代碼本以為換個芯片編譯就能跑結(jié)果燒進(jìn)去之后設(shè)備死活不能被電腦識別。用邏輯分析儀抓D/D-發(fā)現(xiàn)主機(jī)發(fā)完SETUP請求之后設(shè)備端根本沒把數(shù)據(jù)放上總線Get Device Descriptor這步就卡死了。排查到最后問題居然出在一個特別容易忽視的細(xì)節(jié)上在調(diào)用HAL_PCD_Start之前我連續(xù)改了兩次RxFIFO的大小。這個標(biāo)題我在ST社區(qū)和GitHub的STM32CubeU5倉庫里也看到過類似的帖子現(xiàn)象描述基本一致。這篇文章就把這個問題的來龍去脈講透。包含F(xiàn)IFO在U585上的分配原理、HAL_PCD_Start到底在啟動時做了什么、為什么“改兩次RxFIFO”會單獨把EP0_IN搞壞以及正確的配置姿勢和排查手段。內(nèi)容偏向有基礎(chǔ)但沒深究過USB協(xié)議棧的嵌入式開發(fā)者如果你正在用STM32的USB Device庫或者準(zhǔn)備把項目從F1/F4往U5上搬這篇應(yīng)該能幫你省下好幾個下午。1. 問題現(xiàn)場這個Bug到底是什么樣的1.1 我遇到的典型表現(xiàn)先說現(xiàn)象。代碼邏輯大概是這樣的使用STM32CubeMX生成了U585的USB Device工程選了CDC類然后在用戶代碼里加了自定義的FIFO配置大概是為了保證大批量接收不丟包特意把RxFIFO調(diào)大了。具體調(diào)用順序類似下面這樣// main.c 中HAL_PCD_Start 之前 HAL_PCDEx_SetRxFiFo(hpcd, 0x180); // 第一次調(diào)整 RxFIFO // ... 中間隔了幾行其他初始化代碼 ... HAL_PCDEx_SetRxFiFo(hpcd, 0x200); // 第二次調(diào)整 RxFIFO HAL_PCD_Start(hpcd);燒進(jìn)去之后Windows那邊要么提示“無法識別的USB設(shè)備”要么在總線分析工具里看到設(shè)備枚舉反復(fù)失敗。用Bus Hound或者Wireshark的USB抓包看主機(jī)發(fā)SETUP請求設(shè)備能ACK但后續(xù)數(shù)據(jù)階段沒有響應(yīng)。換句話說SETUP包能收到設(shè)備也能識別出這是個控制請求但真正要把描述符數(shù)據(jù)發(fā)出去的時候就卡住了。這其實就是EP0_IN的問題。USB控制傳輸分三個階段SETUP階段、數(shù)據(jù)階段可選、狀態(tài)階段。當(dāng)主機(jī)請求設(shè)備描述符時數(shù)據(jù)階段是IN方向設(shè)備需要把描述符字節(jié)從EP0的TX FIFO里發(fā)出去。如果EP0_IN的FIFO出了問題最直接的表現(xiàn)就是SETUP階段正常、設(shè)備地址能被設(shè)置、但讀描述符超時。1.2 為什么會只壞EP0_IN很多人在遇到這類問題時第一反應(yīng)是檢查端點配置、檢查描述符、甚至懷疑是時鐘配置有問題。但如果你把USB換成HID或者M(jìn)SC類問題依然存在而且壞的都是枚舉早期階段那基本可以排除描述符內(nèi)容本身的問題。真正的原因是EP0_IN依賴的那塊FIFO內(nèi)存區(qū)域被后來被改大的RxFIFO給“吞”了。STM32的USB OTG控制器里所有FIFO都在一塊USB專用SRAM中RxFIFO和各個IN端點的TxFIFO是從低地址到高地址順序排布的。RxFIFO如果無腦調(diào)大后面所有TxFIFO的起始地址都得跟著挪。你以為改了RxFIFO大小只是個獨立參數(shù)實際上它會影響整個FIFO內(nèi)存池的地圖。EP0_IN之所以先遭殃是因為它的TX FIFO通常緊挨著RxFIFO排布而且EP0是所有USB設(shè)備通信的必經(jīng)之路。其他BULK端點的FIFO排得靠后可能暫時還沒沖突但EP0這個位置是首當(dāng)其沖的。這也是為什么只看到EP0_IN掛掉而其他端點看起來“好像還沒問題”的原因。2. U585的USB FIFO分配機(jī)制2.1 RxFIFO和TxFIFO是一塊共享SRAM很多從標(biāo)準(zhǔn)外設(shè)庫或者低端單片機(jī)轉(zhuǎn)過來的開發(fā)者對USB里的FIFO理解往往是“每個端點一塊獨立的緩沖區(qū)”但實際上STM32的USB OTG控制器不是這么設(shè)計的。它把整塊USB專用SRAM當(dāng)作一個動態(tài)分配的內(nèi)存池通過幾個寄存器來劃分各個FIFO的起始地址和大小。U585的USB OTG_FS主要涉及這幾個寄存器寄存器位域功能GRXFSIZ[15:0] RXFDRxFIFO深度單位是32位字4字節(jié)DIEPTXF0[15:0] TX0FDEP0的IN方向TX FIFO深度DIEPTXF0[31:16] TX0FSAEP0的IN方向TX FIFO起始地址DIEPTXF1[15:0] TX1FDIN EP1的TX FIFO深度DIEPTXF1[31:16] TX1FSAIN EP1的TX FIFO起始地址DIEPTXF2/3/...同上其他IN端點的TX FIFO配置注意這里的“深度”和“起始地址”都是以32位字為單位的。也就是說如果GRXFSIZ設(shè)置成0x100表示給RxFIFO分配了256個字也就是1024字節(jié)。這個單位概念在手動算FIFO大小的時候非常容易搞混我見過有人把字節(jié)數(shù)直接當(dāng)作字?jǐn)?shù)填進(jìn)去結(jié)果RxFIFO被配置成遠(yuǎn)大于實際SRAM容量后面所有FIFO全部錯亂。整塊FIFO內(nèi)存池的排布是線性的大致這樣地址低 - 高 --------------------- | RxFIFO | 起始地址0大小GRXFSIZ --------------------- | EP0 IN TX FIFO | 起始地址GRXFSIZ大小DIEPTXF0.TX0FD --------------------- | IN EP1 TX FIFO | 起始地址上一個結(jié)束地址大小DIEPTXF1.TX1FD --------------------- | ... | ---------------------所以每一個FIFO的“起始地址”都等于之前所有FIFO大小之和。這個依賴鏈路決定了一件事改任何一個FIFO的大小后面所有FIFO的起始地址都必須同步調(diào)整。2.2 為什么改RxFIFO會連坐TxFIFO從上面那張排布圖就能看出RxFIFO是整塊內(nèi)存池里最靠前的那一塊。它的大小一旦變化后面所有FIFO的起始地址都會受到影響尤其是緊挨著它的EP0 IN TX FIFO。舉個例子假設(shè)初始配置是這樣的RxFIFO: 起始0x000大小0x100 EP0 TX: 起始0x100大小0x040 EP1 TX: 起始0x140大小0x080如果你把RxFIFO從0x100改成0x200但EP0 TX的起始地址還停留在0x100那么新的RxFIFO區(qū)域就覆蓋到了0x1FFEP0的TX FIFO整塊區(qū)域都被RxFIFO占用了。硬件層面RxFIFO和EP0 TX FIFO指向了同一塊SRAM這是一場災(zāi)難。設(shè)備在收到SETUP之后想從EP0 TX FIFO讀數(shù)據(jù)發(fā)出去結(jié)果讀到的是RxFIFO里的殘留內(nèi)容或者根本沒有有效數(shù)據(jù)標(biāo)記USB核心直接不響應(yīng)IN令牌主機(jī)側(cè)表現(xiàn)為超時。這里有一個很容易讓人誤解的地方你只是“改了一個參數(shù)”為什么硬件不自動幫你把后面的FIFO都安排好因為USB控制器只是個外設(shè)它沒有操作系統(tǒng)也沒有一個“內(nèi)存管理器”來統(tǒng)一協(xié)調(diào)這些FIFO。所有排布規(guī)則都由軟件來保證。HAL庫只是提供了一組寄存器讀寫接口它不會幫你檢查當(dāng)前RxFIFO大小會不會和后面的TxFIFO重疊。注意無論是CubeMX生成的代碼還是手寫的HAL初始化FIFO的劃分從來都不是“按比例自動分配”而是由軟件明確指定每個FIFO的起始地址和大小。一旦你手動調(diào)用HAL_PCDEx_SetRxFiFo修改了RxFIFO卻沒有同步修改對應(yīng)的TxFIFO寄存器FIFO重疊的問題就會悄然而至。3. HAL_PCD_Start前后的FIFO初始化時序3.1 HAL_PCD_Init與HAL_PCD_Start各自做了什么要理解“改兩次RxFIFO”為什么會出問題得先搞清楚HAL庫在初始化USB設(shè)備時不同階段做的工作分別是什么。HAL_PCD_Init做的事情很多其中和FIFO相關(guān)的核心操作是調(diào)用內(nèi)部的USB_DevInit不同HAL版本函數(shù)名可能略有差異。USB_DevInit會從hpcd-Init結(jié)構(gòu)體里讀取FIFO配置然后把這些配置寫入GRXFSIZ、DIEPTXF0、DIEPTXF1等寄存器。也就是說HAL_PCD_Init是“把Init結(jié)構(gòu)體里的規(guī)劃落進(jìn)寄存器”的動作。而HAL_PCD_Start呢它在庫里的職責(zé)更偏向“使能設(shè)備、打開EP0、觸發(fā)連接”。它并不會再次執(zhí)行USB_DevInit也不會根據(jù)當(dāng)前寄存器值重新計算每一塊FIFO的布局。所以如果你在HAL_PCD_Start之前通過HAL_PCDEx_SetRxFiFo改了RxFIFO卻沒有觸發(fā)一次完整的“FIFO重新規(guī)劃”那寄存器里RxFIFO和TxFIFO之間就可能不一致。有個更隱蔽的點HAL_PCDEx_SetRxFiFo這個函數(shù)在不同版本的HAL庫里實現(xiàn)邏輯不完全一樣。在部分版本里它會同時更新hpcd-Init.RxFIFOSize和寄存器GRXFSIZ在另一部分版本里它可能只更新了Init結(jié)構(gòu)體真正寫寄存器要靠后續(xù)的USB_DevInit來完成。如果你的HAL版本是前者那改完寄存器后如果沒有同步改TxFIFO問題立刻暴露如果是后者改完Init結(jié)構(gòu)體后必須重新走一遍HAL_PCD_Init或者USB_DevInit否則寄存器根本沒變。這就能解釋為什么很多人“改了RxFIFO沒效果”或者“改了RxFIFO系統(tǒng)掛了”——都是因為函數(shù)行為、調(diào)用順序和FIFO依賴鏈這三者之間沒有對齊。3.2 HAL_PCDEx_SetRxFiFo到底改了什么看這個名字很多人以為它只是改RxFIFO大小其實它寫的寄存器就是GRXFSIZ。這個寄存器里的RXFD位域決定了RxFIFO能接收多少數(shù)據(jù)但它沒有能力去修改DIEPTXF0/DIEPTXF1這些TxFIFO寄存器的起始地址。你可以這樣理解GRXFSIZ是“給RxFIFO畫了一塊地”DIEPTXF0的TX0FSA是“給EP0的IN FIFO畫了一塊地”。你只把RxFIFO這塊地擴(kuò)大了一圈卻沒有移動EP0的界碑那EP0的地就被吞了。我手頭一個項目里就踩過這個坑。CubeMX默認(rèn)生成的CDC工程里RxFIFO是0x80EP0的TX FIFO是0x40BULK IN的TX FIFO是0x80。我為了加大接收緩沖把RxFIFO調(diào)到了0x180結(jié)果EP0的TX FIFO起始地址還留在0x80的位置上。最終現(xiàn)象就是設(shè)備能收到SETUP包也能正確返回ACK但一旦要發(fā)送描述符總線上就一片死寂。這種問題查描述符、查端點配置是查不出來的因為USB協(xié)議棧的上層邏輯完全正常問題出在更底層的FIFO分配上。3.3 “兩次修改”為什么會破壞一致性現(xiàn)在回到標(biāo)題里的關(guān)鍵詞Modifying RxFIFO size twice。為什么改一次可能沒事改兩次反而更容易翻車這里說的“兩次修改”我總結(jié)下來通常有兩種典型情況。第一種情況第一次修改發(fā)生在HAL_PCD_MspInit里。HAL_PCD_Init會先調(diào)用HAL_PCD_MspInit然后在MspInit返回之后才執(zhí)行USB_DevInit去把FIFO配置寫入寄存器。如果你在MspInit里調(diào)用了HAL_PCDEx_SetRxFiFo那這個改動會被后續(xù)的USB_DevInit采納最終寄存器配置和你第一次修改的值是一致的看起來沒問題。但如果你回到main函數(shù)后又在HAL_PCD_Start之前改了第二次RxFIFO那么這第二次修改只改了GRXFSIZ卻沒有重算TxFIFO的起始地址。此時第一次修改已經(jīng)按舊布局初始化好了TxFIFO第二次修改又把RxFIFO的地盤擴(kuò)大重疊就發(fā)生了。第二種情況兩次修改都在HAL_PCD_Start之前中間隔了一些代碼。第一次修改后你可能基于這個RxFIFO大小調(diào)用了HAL_PCDEx_SetTxFiFo設(shè)置了某個IN端點的TX FIFO起始地址。第二次修改RxFIFO后新值覆蓋了原來的規(guī)劃但那個IN端點的TX FIFO起始地址不會自動跟著變。只要第二次修改的RxFIFO比第一次大就會把后面某個FIFO的頭部覆蓋掉。如果最先被覆蓋的就是EP0 IN的TX FIFO那EP0_IN就保不住了。如果你遇到的問題是“只改一次沒事改兩次就掛”大概率就是上面這兩種情況之一。本質(zhì)上不是“兩次”這個次數(shù)本身有問題而是“第二次修改時沒有把整張F(tuán)IFO地圖重新畫一遍”。注意HAL_PCDEx_SetRxFiFo和HAL_PCDEx_SetTxFiFo是兩個獨立的函數(shù)各自只改各自的寄存器。它們不會自動聯(lián)動。修改RxFIFO后你必須重新設(shè)置每一個IN端點對應(yīng)的DIEPTXFx寄存器確保起始地址落在新的RxFIFO邊界之后。4. 正確配置RxFIFO的三種姿勢4.1 推薦方案一次性在Init結(jié)構(gòu)體里定好最省心的做法是不要在執(zhí)行階段反復(fù)去改FIFO而是在初始化之前把整套FIFO規(guī)劃寫進(jìn)hpcd.Init結(jié)構(gòu)體讓HAL_PCD_Init一次搞定。CubeMX生成的USB工程里通常有這樣一個結(jié)構(gòu)體初始化hpcd.Instance USB_OTG_FS; hpcd.Init.dev_endpoints 6; hpcd.Init.speed PCD_SPEED_FULL; hpcd.Init.ep0_mps EP_MPS_64; hpcd.Init.phy_itface PCD_PHY_EMBEDDED; hpcd.Init.low_power_enable DISABLE; hpcd.Init.lpm_enable DISABLE; hpcd.Init.battery_charging_enable DISABLE; hpcd.Init.RxFIFOSize 0x180; hpcd.Init.TxEndPointFIFOSize[0] 0x40; hpcd.Init.TxEndPointFIFOSize[1] 0x80; // ... 其他端點 ... HAL_PCD_Init(hpcd);這樣做的關(guān)鍵點是所有FIFO的深度都在同一個地方定義HAL_PCD_Init內(nèi)部會用這些值一次性設(shè)置好GRXFSIZ、DIEPTXF0、DIEPTXF1等寄存器。軟件層面不存在“先改了一個后又改另一個”的窗口FIFO布局從啟動那一刻就是一致的。如果你是在CubeMX里配置的請在USB的Device Parameters里直接填好各個FIFO大小不要生成完代碼再在main函數(shù)里重復(fù)調(diào)用HAL_PCDEx_SetRxFiFo。這種做法最容易出現(xiàn)“一次在MspInit里改、一次在main里改”的撕裂式配置。4.2 用HAL_PCDEx_SetRxFiFo的正確調(diào)用時機(jī)如果你確實需要在代碼里動態(tài)修改RxFIFO一定要把“改RxFIFO”和“改后續(xù)所有TxFIFO”放在同一個邏輯塊里并且最好在HAL_PCD_Init完成之后、HAL_PCD_Start之前一次性完成之后不要再有第二次修改。推薦的調(diào)用模式是這樣// 一次性調(diào)整整個FIFO布局 HAL_PCDEx_SetRxFiFo(hpcd, 0x180); HAL_PCDEx_SetTxFiFo(hpcd, 0, 0x40); // EP0 IN HAL_PCDEx_SetTxFiFo(hpcd, 1, 0x80); // IN EP1 // 其他IN端點同理注意HAL_PCDEx_SetTxFiFo的第二個參數(shù)是端點號。0號端點就是EP0的IN FIFO它對應(yīng)的寄存器是DIEPTXF0起始地址由HAL庫根據(jù)當(dāng)前RxFIFO大小自動計算還是需要手動指定取決于HAL庫實現(xiàn)。在大多數(shù)STM32 HAL版本里這個函數(shù)會讀取當(dāng)前的GRXFSIZ作為起點然后依次排布后面的FIFO所以只要你連續(xù)調(diào)用并且沒有中途插入其他寫FIFO寄存器的操作布局是一致的。但這里有個大坑如果你在第一次調(diào)用HAL_PCDEx_SetRxFiFo之后、調(diào)用HAL_PCDEx_SetTxFiFo之前有任何代碼重新觸發(fā)了USB_DevInit或者HAL_PCD_ReInit那RxFIFO又會被Init結(jié)構(gòu)體里的舊值覆蓋。結(jié)果就是你以為改成了0x180實際上最終還是老配置。這種“改了等于沒改”的問題同樣麻煩因為它不會報錯只會讓性能達(dá)不到預(yù)期。4.3 為你的端點算一套FIFO參數(shù)手動規(guī)劃FIFO之前先明確一個單位問題寄存器里的深度以“32位字”為單位。1個字等于4字節(jié)。一個全速USB包最大64字節(jié)等于16個字。以一個典型的全速CDC設(shè)備為例包含EP0控制端點、一個BULK IN端點、一個BULK OUT端點MPS都是64字節(jié)。RxFIFO要容納的東西包括SETUP包、OUT方向的數(shù)據(jù)包、控制傳輸?shù)臓顟B(tài)階段包。正常規(guī)劃時RxFIFO至少需要能裝下SETUP包8字節(jié) 2字 OUT最大包64字節(jié) 16字 狀態(tài)階段包64字節(jié) 16字這是最小需求但實際使用中建議留些余量。因為BULK OUT傳輸可能連續(xù)到達(dá)多包如果RxFIFO太小控制器來不及往內(nèi)存搬運(yùn)就會被新包沖掉。我在項目里一般會給每個OUT端點至少留兩個MPS的空間再加一個MPS的余量。按這個思路CDC場景可以這樣分配RxFIFO: 0x100 (256字 1024字節(jié)) EP0 TX: 0x040 (64字 256字節(jié)) BULK IN: 0x100 (256字 1024字節(jié))總大小0x240字。如果你的U585 USB SRAM夠放這個配置是穩(wěn)的。如果SRAM緊張可以壓縮BULK IN的TX FIFO到0x80但要考慮到BULK IN端點在host側(cè)發(fā)起連續(xù)IN令牌時TX FIFO太小會導(dǎo)致NAK頻繁拉低傳輸速率。U585的USB是全速設(shè)備全速BULK理論帶寬也就1MB/s左右實際打個八折TX FIFO給到256字已經(jīng)完全夠用。不用盲目追求大FIFO夠用就好。注意算完總和之后一定要確認(rèn)總字?jǐn)?shù)不超過芯片USB控制器FIFO SRAM的總?cè)萘?。具體值以對應(yīng)型號的參考手冊為準(zhǔn)。不同封裝的STM32U585可能有所差異別想當(dāng)然按照別的型號來。5. 排查這種問題的手段5.1 調(diào)試器里直接讀寄存器當(dāng)懷疑是FIFO重疊問題時最快的確認(rèn)方式是在調(diào)試器里讀出幾個關(guān)鍵寄存器的值自己手算一遍。需要讀的寄存器USB_OTG_FS-GRXFSIZ USB_OTG_FS-DIEPTXF0 USB_OTG_FS-DIEPTXF1用調(diào)試器或者串口打印把值拉出來看。假設(shè)你讀到GRXFSIZ 0x00000200 DIEPTXF0 0x01800040其中DIEPTXF0的高16位是0x0180代表EP0 IN的起始地址是0x180低16位是0x0040代表EP0 IN的深度是0x40。計算一下0x180 0x40 0x1C0還沒有超出RxFIFO的0x200說明EP0 IN的FIFO已經(jīng)完全落在RxFIFO里面了。這個配置必然是壞的。正常的配置應(yīng)該是GRXFSIZ 0x00000180 DIEPTXF0 0x01800040這樣EP0 IN的起始地址0x180正好等于RxFIFO的深度0x180兩個FIFO首尾相接沒有重疊。我排查這類問題時會在代碼里加一段自檢邏輯uint32_t rx_size USB_OTG_FS-GRXFSIZ 0xFFFFU; uint32_t ep0_tx_start (USB_OTG_FS-DIEPTXF0 16) 0xFFFFU; uint32_t ep0_tx_size USB_OTG_FS-DIEPTXF0 0xFFFFU; if (ep0_tx_start rx_size) { /* EP0 IN FIFO 與 RxFIFO 重疊必須修正 */ }這段邏輯放在HAL_PCD_Start之后執(zhí)行可以幫你快速在固件里抓到配置錯誤不用每次都用調(diào)試器看寄存器。5.2 USB分析儀/邏輯分析儀抓控制傳輸寄存器自檢確認(rèn)了FIFO配置有問題但如果你想看看USB總線上到底發(fā)生了什么可以用邏輯分析儀抓D/D-信號或者用支持USB協(xié)議解析的工具。抓包時的關(guān)注點主機(jī)發(fā)SETUP令牌設(shè)備是否回復(fù)ACK第一階段之后的IN令牌設(shè)備是回復(fù)DATA0還是NAK/STALL如果設(shè)備對IN令牌無任何響應(yīng)大概率是FIFO層面前提不滿足如果設(shè)備回NAK說明FIFO里沒有準(zhǔn)備好數(shù)據(jù)可能是描述符沒有正確寫入EP0 TX FIFO如果設(shè)備回STALL說明端點狀態(tài)異常可能是固件主動STALL了請求在EP0_IN故障場景下最常見的是SETUP階段正常IN階段無響應(yīng)。因為設(shè)備收到SETUP后固件處理完請求準(zhǔn)備往EP0 TX FIFO寫數(shù)據(jù)。但如果EP0 TX FIFO和RxFIFO重疊寫入操作根本不會產(chǎn)生一個有效的“FIFO非空”狀態(tài)硬件層面不會把數(shù)據(jù)送出去。主機(jī)那邊就一直等等到超時。這種故障用Wireshark配合Linux的usbmon或者Windows上的Bus Hound都能看得很清楚。如果身邊沒有專門的USB分析儀邏輯分析儀采樣率夠高也能湊合抓出來的數(shù)據(jù)報文基本能定位到是哪一階段出了問題。5.3 查HAL返回值和狀態(tài)機(jī)另外一個容易被忽略的排查入口是HAL函數(shù)的返回值。HAL_PCDEx_SetRxFiFo和HAL_PCDEx_SetTxFiFo在部分實現(xiàn)里會檢查當(dāng)前USB狀態(tài)。如果狀態(tài)不滿足條件函數(shù)可能返回HAL_ERROR但很多人不看返回值以為配置成功了。建議在調(diào)用后加上斷言if (HAL_PCDEx_SetRxFiFo(hpcd, 0x180) ! HAL_OK) { Error_Handler(); }如果這里真的返回了HAL_ERROR那就說明調(diào)用時機(jī)的確不對。HAL庫內(nèi)部可能要求設(shè)備處于RESET狀態(tài)或者至少不能在RUNNING狀態(tài)改FIFO。了解你手上HAL版本函數(shù)實現(xiàn)的具體邏輯比盲目猜測更高效。另外可以看看hpcd-State的值。在調(diào)試器里觀察HAL_PCD_Start前后State的變化如果調(diào)用HAL_PCDEx_SetRxFiFo時State已經(jīng)不是預(yù)期的RESET狀態(tài)函數(shù)可能只是改了內(nèi)存變量甚至什么都沒改。這個“改了等于沒改”的假象比直接報錯更坑。6. 常見問題速查表與避坑心得6.1 速查表現(xiàn)象可能原因解決思路設(shè)備完全無法枚舉主機(jī)報“無法識別的USB設(shè)備”FIFO布局整體錯誤RxFIFO溢出或與TxFIFO重疊重新規(guī)劃全部FIFO在Init結(jié)構(gòu)體里統(tǒng)一配置枚舉到一半失敗Get Device Descriptor超時EP0 IN TX FIFO被RxFIFO覆蓋檢查DIEPTXF0的起始地址是否等于GRXFSIZ設(shè)備能枚舉但反饋“USB device descriptor request failed”控制傳輸數(shù)據(jù)階段異常可能FIFO重疊或EP0 TX FIFO大小不足核對EP0 TX FIFO深度至少等于EP0 MPSBULK IN傳輸速度極慢頻繁NAKIN端點TX FIFO太小增大對應(yīng)端點的TX FIFO并同步調(diào)整后續(xù)FIFO起始地址修改RxFIFO后完全沒有效果HAL_PCDEx_SetRxFiFo未真正寫寄存器或被后續(xù)Init覆蓋檢查函數(shù)返回值確認(rèn)調(diào)用順序和HAL版本行為連續(xù)調(diào)用兩次SetRxFiFo后主機(jī)枚舉失敗第二次修改未聯(lián)動TxFIFO或狀態(tài)機(jī)不允許只在初始化階段一次規(guī)劃好避免多次修改6.2 我個人反復(fù)踩過的坑第一個坑太相信CubeMX生成的代碼。CubeMX確實會按你在圖形界面里填的參數(shù)生成FIFO配置但如果你生成后又手動在main函數(shù)里調(diào)用HAL_PCDEx_SetRxFiFo就會產(chǎn)生“雙寫”問題。CubeMX生成的初始化里已經(jīng)設(shè)置過一次你在main里又設(shè)置一次相當(dāng)于改動兩次。每次設(shè)置都必須保證后續(xù)FIFO鏈的一致性連續(xù)兩次很容易出錯。第二個坑忽略了Init結(jié)構(gòu)體里的TxEndPointFIFOSize數(shù)組。很多人只改了RxFIFOSize卻沒有同步修改TxEndPointFIFOSize。這個數(shù)組是給各個IN端點分配TX FIFO用的它和RxFIFO的起始地址計算是強(qiáng)關(guān)聯(lián)的。只改一個必然導(dǎo)致整個FIFO排布錯亂。建議在HAL_PCD_Init之前打印或調(diào)試查看整個Init結(jié)構(gòu)體的內(nèi)容確保所有FIFO相關(guān)字段都符合預(yù)期。第三個坑調(diào)試時只看了GRXFSIZ沒看DIEPTXF0。GR
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
伊人干综合| 五月婷婷亚洲| 五月停亭六月,六月停亭的英语 | 天天干天天日天天操| 91啪啪网| 五月婷婷综合天天操| 91人碰| 色婷婷色九月| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 99riav 亚洲| 99热6这里只有精品| 婷婷色中文| 天天爽天天| 九九亚洲小视频| 无码yw| 极品少妇XXXX精品少妇偷拍| 婷婷丁香熟妇综合网| 伊人丁香五月| 激情六月天婷婷| 五月婷视频| 这里只有精品视频免费在线观看| 99成人小视频| 99r这里| 20253AV| 婷婷六月色| 欧美色骚婷婷五月天| 成人在线高清| 激情五月丁香六月综合AVXXXX| 国产精产国品一二三在观看| 九九热99视频| 色情久久久| 武汉美女啪啪视频免费一级片| 色婷婷网| 婷婷欧美激情| 丝袜激情网| 99热在线极品极品| 丁香五月天久久| 狼人久草| 六月婷婷综合| 色五月首页| 五月色丁香| 婷婷涩五月天综合| 激情综合六月| 婷婷六月插屄激情| 久久久区区一久久久久久| 久综合网| 久久视频婷婷| 久久九九玖玖| 婷婷五月天成人| 91热视频色网站| 丁香社92视频| 久久久久8888| 这里只有精品日韩| 这里只有精品99www| 色色五月婷| 六月丁香综合| 婷婷五月天成人在线视频| 99热天堂| 99亚色色色| 婷综合| 色播五月综合网| 五月丁香A片| 4399无码视频二区| 婷婷狠狠97| www.九九婷婷| www,色婷婷| 久草网大香视频| 久草网大香视频| 色婷婷精| 大香蕉啪啪| 亚洲成人av在线| 夜色综合网| 99re8热精品免费视频| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 97AV人人插人人操| 99超级碰免费视频| 天天舔天天| 5月婷婷激情6月| 天天做天天双| 四色五月婷婷在线观看| 九九热精品视频| 99热在线播放| 丁香五月婷婷影院| 丁香六月婷婷综情欧美| 亚洲va在线| 五月婷婷亞洲中文| 另类在线| 91在线精品一区二区| 91碰免费视频| 色婷婷综合网站| 玖玖在线| 六月狠狠综合| 天天操五月天| 偷偷狠狠久久婷婷五月天| 91中文在线| 婷婷五月天少妇| 99热99这里免费的精品| 婷婷精品视频| 九九久久精品國產| 日韩抽插操逼| 日本婷久久| 色色a| 成人精品视频99在线观看免费| 日韩av手机在线观看| 丁香五月天婷婷91| 99视频精品全部免费观看| 九九热免费| 任你操精品免费| 五月婷丁香| 99福利视频导航| 五月天开心色情网| 久久免费高| 五月香蕉婷婷| 色五月视频,小说| 婷婷瑟瑟五月天| 婷婷射丁香| 亚洲九N| 国产午夜精品一区二区| 激情五月五月五月婷婷| 91久操| 蜜桃婷婷丁香综合久久开心亚洲| 激情网第九色| 久久婷丁香五月| 26uuu| 亚洲岛国电影| 精久久色| 欧美色男人网站| 久久多色| 91视频精品99| 大香蕉人在线65| 人人天堂操| 色域五月婷婷丁香| 99少妇精品| 天天日夜夜草进麻麻的子宫| 五月开心久久| 思思色播| 婷婷五月天电影网| 超碰精品在线| 五月天综合在线观看视频| 精品国产va久久久久| 久思思久视频| 色色婷婷五月| 永久99免费视频网站| 人人色婷婷| 精品人妻伦九区久久AAA片| 91在线操| www.婷婷六月天| 9色免费网| 五月天狠狠干| 色婷小说| 久久久久久人妻| 熟女强人妻一区二区三区四区无| 思思热在线精品视频网站| 久9热在线视频| 九九偷拍网| 丁香五月色情| 夜夜AVV| 婷婷的五月天另类视频| 成人综合网站| 色亚洲中文| 天天搞天天爽| 美女五月激情| 五月丁香色| 五月婷在线观看| 婷婷五月香蕉| 五月丁香六月婷婷亚洲激情综合| 果冻传媒A片一二三区| 五月丁香五月天现场视频| 亚洲A片成人无码久久精品青桔 | 天天拍久久| 能看的av| 天天摸色吧天天摸色吧| 日本不卡高字幕在线2019| 第四色婷婷日本| 人人妻人人澡| 成人婷婷桔色| 伊人久热91| 色婷操逼| 青青草视频福利| 超碰在线观看caop| 五月激情小说| 深爱激情综合网| 五月丁香色婷基地综合久久| 91碰碰| www.色五月天.com| 国产9色在线/日韩| 4438亚洲欧美| 91爱啪啪| 丁香六月无码播放| 丁香综合伊人| 日本操片| 97午夜一区二区| 五月丁香亭亭| 99精品在| 久久综合99| www.丁香黄色五月天人与| 五月激情影院| 五月丁香六月停停| 国产VA播放| 五月天久久小说| 欧美男女婷婷| 国产精品人成A片一区二区| 日日狠狠久久偷偷四色综合免费| 色愛综合网| 婷婷色色亚洲| 色五月首页| 六月丁香婷婷六月激情综合| 狠狠色噜噜狠狠色噜噜噜999| 色播jjjj| 无码AV免费精品一区二区三区 | 色婷婷狠狠| 五月丁香爱婷婷深深| 99视频啪啪| www.99色| 国产精品爽爽久久久久久| 日韩五月婷婷| 五月丁香综合激情| 淫视馆AV在线| 日本123区日韩欧美不卡在线看| 91狠狠综合久久| 亚洲天天操| 色色啊| 欧美亚洲成人在线| 欧美日韩一区二区三区四区| 日韩成人中文| 欧美午夜乱妇午夜福利| 中文字幕精品无码一区二区| 国产精品成人在线| 久热免费| 99热免费精品| 五月天婷婷视频| 丁香五月Av| 久久人妻情侣| 天天色天天爱天天爽| 天天日天天添| 天天爽爽日日做做| 丁香色色网| 婷婷六月色情| 成人免费在线电影| 91狠狠色丁香| 中文字幕,综合,91| 国产婷婷综合| 91九色熟女| 六月婷婷最新网址| 久久大香免费| 色五月婷婷激情基地| 人人肏逼视频在线一区二区| 日韩小视频在线99| 天天摸色吧天天摸色吧| 亚洲色模骚货| 99热只有这里有精品| 色婷婷丁香| 丁香五月六月婷婷殴美综合| 色狠狠婷婷| 激情婷婷五月社区| 色偷偷色婷婷| 婷婷色五月丁香六月欧美啪| 99色综合| 九九99热精品| 99精品高潮| 久久综合五月| 色人久久| 九九亚洲小视频| 久热最新视频| 成人丁香| 天天色视频| 4399成人黄A片| 亚洲1区| av亚洲国产小电影| 五月综合激情图片| 欧美色色色色色| 4399成人黄A片| 婷婷五月丁香综合亚洲| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 婷婷色五月在线视频| 婷婷精品性视频| 日韩AAAAAAAAAAA片| 我去色色网五雨天| 北京熟妇搡BBBB搡BBBB| 热婷婷av| 激情文学久久| 日撸夜撸日操| 国产成人在线精品| 91性交在线播放| 丁香五月天大香蕉啪啪| 天天日夜夜欢| 三级成人网站| 能看的AV| 免费视频WWW在线观看网站| 国产亚洲精品久久久久久久久动漫| 任你躁XXXXX麻豆精品| 丁香五月色情av| 99久久97久久欧美综合网| 婷婷99| 色婷婷综合五月| 思思热久久久在线| 狠狠五月天| 久cao香蕉影院| 99热日| 日韩高清成人| 婷婷六月天国产综合| 亚洲爱婷婷| 看婷婷五月天网| 色婷婷五月网| 99热精品免费| 久久 婷婷 五月天| 有哪些A片网站| 人人操99| 九九超碰人人| 秋霞电影理论| 久久a热| 教师性爱毛片| 天天日夜夜高潮| 99乱视频| 久久九九激情五月天 | 在线观看免费视频| 深夜男女福利刺激影院一区| 久久丁香五月天| 五月综合视频| 91精品久久久久久综合五月天| 五月丁香青草综合啪啪| 99精品国产在热久久| 欧美成人日韩| 丁香五月综合在线视频| 九九婷婷五月天| 亚洲精品无码久久| 伊人五月综合网| 久热婷婷综合| 丁香色啪综合| 99热亚洲| 99爱在线| 大香蕉手机视频| 大香蕉大香蕉在线影院| 5月婷婷6月六月丁香| 91久久婷婷| 日本啪啪网| 九九热只有精品| 中国女人做爰A片| www.色99| 丁香五月婷婷影院| 狠狠色婷婷7777久| 久久五月视频| 97操视频| 五月丁香六月婷婷网| 任你操精品免费| 色欲AV导航| 极品人妻VIDEOSSS人妻| 狠狠夜夜五月丁香| 无码人妻精品一区二区蜜桃色欲| 5月婷婷综合| 99视频内射三四| 99自拍网| 精品色色| 天天艹夜夜爽| 99爱在线| 夜夜干天天操| 国産精品| www.天天日| 国产.亚洲.欧洲视频在线| 碰人人97| 久99久99精品免| 99免费偷拍视频| 九九热只有精品| 亚洲影院婷婷色| 久久亚洲激情五码| 久久久99日本大片| 91碰碰| 丁香丁婷五月激情| 蜜臀AV在线观看| AV五月丁香| 精品成人无码A片观看香草视频| 亚洲天堂亚洲色色色| 极品人妻VIDEOSSS人妻| 五月婷婷婷自由综合| 色色网站日本91| 五月天成人小说网| 亚洲最大在线| 国产AV一区二区三区最新精品| 九九热10| 丁香五月婷婷色情综合| 深爱激情九九五月天 | 我要色综合五月婷婷| 五月丁香A片| 91欧美日韩综合| 另类激情中文| 久久国产高潮白浆免费观看99| 南京搡BBBB搡BBBB| 久热婷婷| 色色色精品无码区| 1024日韩| 丁香五月网络网络| 免费AV播放| 狠狠爱综合| 五月综合激情| 国产97色在线 | 日韩| 夜夜操天天爽| 五月丁香亭亭A片| 99热日本| 精品成人在线| 337午夜福利| 电影91久久久| 99er6热在线观看精品6| www.久久久久久久久久.com| 热久久99热欧美国产亚洲| 国产真实乱对白精彩| 丁香五月AV综合| 99视频在线精品| 色人久久| 超碰av在线| 6月丁香婷婷| 婷婷精品在线| 亚洲va欧美| 五月婷婷六月丁香| 丁香六月天AV| 内射干少妇亚洲69XXX| 开心 五月 综合| 精品色色| 26uuuavcom| 少妇性BBB搡BBB爽爽爽视頻| 亚洲精品国产精品乱码不99| 一区二区三区四区牛| 亚洲综合激情五月| 9l视频自拍9l九色9l成人| 极品人妻VideOssS人妻| 99福利导航| 99精品在线观看| 五月婷婷在线视频免费观看| 丁香五月激动深爱欧美| 久久小片| 日韩在线视频网站| 色综合久久久久| 五月丁香999| 日本乱子人伦在线视频| 五月婷婷开心综合| 九九综合伊人| 无码日本精品XXXXXXXXX| 亚洲十月婷婷综合| 色婷婷文字幕| 婷婷五月丁香五月| 91dy.av| 依人大香蕉在钱1| 99热这里精品| 五月天婷婷综合久久| 99在线精品视频| 精品少妇蜜臀91| 99免费青青蜜臀| 婷婷五月AV| 人人玩人人橾| 色色97丁香婷婷五月天| 婷婷91| 五月丁香六月婷婷亚洲激情综合| 欧美69色| 免费观看的av| 99精品热| 99小精品| 亚洲午夜一区二区| 人妻内射一区二区在线视频| 日本婷婷五月天| 99 热| 热久综合| 亭亭五月色男人| 五月丁香久久激情网| 狠狠综合区| 激情综合五月| av色色国产| 激情综合网丁香| 香蕉婷婷五月| 97人人射| 色色色无码| 亚洲va欧美| 91热久88| 91久操| 色色色无码| 婷婷五月天受日本法律保护| 狠狠色婷婷7777久综合| 香蕉AV777XXX色综合一区| 丁香五月在线播放| 五月婷婷免费在线观看| 97人人干人人操| 久99久视频精品| 九月丁香婷婷| 综合婷婷都市激情| 婷婷五月天论坛| 欧美大香蕉视频| 中文字幕乱码亚洲精品一区| 日韩成人网址| 色五月婷婷九月| 色狠狠伊人久久五月丁香| 五月丁香网站| 久青草大香蕉| 综合色图婷婷| 国产成人网址| 婷婷色婷婷| 色色色色色色色色色色色色色色,网站| 欧洲毛片基地c区| 亚洲成人av在线观看| 五月婷婷色| 人妻AV在线观看| 婷婷五月丁香六月天亚洲综合| 欧洲永久精品| 亚洲啪啪啪啪| 婷婷激情人妻| 美欧成人视频| 日韩有码久久| 91久女| 色色国产| 五月丁香影院| 夜夜撸夜夜骑| 26UUU精品一区二区| 免费观看大片视频 丁香婷婷 六月欧美| 丁香五月丁香伊人| 久久99热 这里有精品| aaaaa黄色| 9久国产精品| 色婷婷综合影院| 九九无毛| 97操碰免费视频| 国产伦亲子伦亲子视频观看| 天天插天天插| 91精品综合久久久久久五月丁香| 久久九九色| 激情性爱五月天| 婷婷射图| 婷婷五月av| 婷婷丁香激情综合色情| 五月丁香六月婷| 婷婷五月综合久久中文字幕| 精品成人在线观看| 97香蕉碰碰人妻国产欧美| 99久在线精品99re5热视频| 色五月综合在线| 5月丁香婷婷激情网| 五月天涩涩| 天天操综合网站| 亚洲色 视频| 色色 9| 九九精品视频在线观看| 99精品综合| 婷婷五月免费视频| 婷婷九九| 午夜五月天| 性色五月天| 五月婷婷五月天| 五月丁香六月激情综合| 国产日产亚洲系列最新 | 中文字幕AV在线播放| 久热91精品| 色五月激情网| 人人舔人人色人人高潮| 五月婷婷伊人久久| 色五月婷婷色五月| 五月婷婷婷丁香播| 91操操| 激情五月天网站| 五月婷婷五月天| 日本乱子人伦在线视频| www.色欲丁香婷婷| 日本一毛片| 久久婷婷五月天| oumeisesewang| 99re这里有精品手机在线| 欧美VA在线观看| 九九在线精点品| 色综合久久88色综合天天99| 久久久婷婷| 久久婷婷丁香花综合网| 色婷婷综合成人| 五六月婷婷| 亚洲九九在线| 亚欧州精品视频| 色婷婷视频| 99热在线极品极品| 色婷久九| 色五月婷婷、老熟女| 婷婷五月综合视频| 日本久久性| 在线只有精品| 中文字幕性爱视频| bbwcuckold精品熟妇| 97韩国久久电影院| 色婷婷久久综合| A片试看50分钟做受视频| 久久日曰| 丁香香五月激情免费视频| 都市激情小说婷婷| 久久香蕉网| 亚洲av综合在线| 色婷婷亚洲| 99色色最新视频| 久久性爱视频| 成人无码免费一区二区中文| 99热综合网| 婷婷五月丁香色情| 91精品久久久久久77777| 婷婷五月丁香亚洲| 91久热| 色色色色色网站| 五月婷婷久久开心网| 天天婷婷色六月| 日日.c| 丁香激情五月天| 再綫Av免费視品| 亚洲激情综合| 五月丁香综合精品欧美| 久久五月天色婷婷| 丁香五月婷婷基地| 亚洲AV日韩在线观看| 久热伊人| 999久久久国产精品| 搡BBBB搡BBB搡18| 六月丁香综合| 婷婷激情六月| 久久免费高| 激情综合综合综合| 香蕉久久国产AV一区二区| 墨西哥毛片内射精| 秋霞影音91人妻久久| 婷婷五月天小说网| 综合久久高清| 五月丁香五月综合欧美| 婷婷99视频全集高清| 九九激情网| 婷婷97碰碰| 五月色婷丁香| 开心五月色婷婷综合开心网| 欧洲第一无人区观看| 激情四射网| www夜夜操| 日本三级第一页| 色播五月丁香综合| 色九区| 99操视频| 人人97碰| 久大香蕉| 天天日天天插| 97婷婷狠狠久久综合9色| 欧美狠狠地| 三级毛片视频| 白天AV月月| 国产这里只有精品| 开心五月激情| 色色婷婷五月| 国产夫妻操逼内射视频| 国产激情综合五月久久| 天天爽成人综合网站| 丁香五月色情| 五月花综合| 婷婷综合网| 99精品久久| 亚洲午夜AV| 99色综合网| 精品久久99码| 天天艹天天综合网| 激情五月综合亚洲另类| 99色综合网| 日本va欧美va国产激情| eeuus五月婷| 在线播放成人网站| 在线五月色播| 综合AV网| 狠狠干综合网| 操人精品| 色情五月丁香| 丁香五月婷婷婷婷欧美综合| 99热官网| 开心五月丁香婷婷| 婷婷综合天堂| 五月天婷婷激情| 伊人久久大香线蕉av一区| 99啪| 五月丁香五月丁香| 国产精品久久久久9999小说| 五月婷婷在线观看| 影音先锋 一区| 六月婷婷av| 天天插天天插天天操| 婷婷色网| SS丁香五月婷婷| 玖玖婷婷五月天毛片| 久久人妻伊人| 亚洲激情综| 狠狠综合| 99亚洲大片精品永久在线观看| 婷婷激情五月综合基地| 偷偷操九九| 国产va视频| 五月婷婷激情啪啪| 久久精品99久久久久久| 久热无码| 爱iii做iiii日| 婷婷激情社区| 婷婷色五月丁香六月欧美啪| 亚洲九九夜夜| 色吧五月婷婷| 综合激情在线| 香蕉久久av一区二区三区| 99re这里只有精品在线观看| 五月婷九九草| 超碰chaompinm| 丁香五月天色综合| 成人无码中文| 色五月成人| 色婷婷伦理| 黄色AAAAAAA| 婷婷综合在线| 伊人色欲五月天| 涩综合网| 日本啪啪视频HD| 99成人| 五月丁香综合啪啪啪啪啪| 婷婷九月久久| 色啪网| 婷婷久久六月天| 午夜日韩久久久网站| 色五月激情婷婷| 婷婷五月色综合| 亚洲无码11| 九八Av| 丁香五月人妻| 天堂草在线观| 色噜噜综合网| 婷婷日本色| 天天综合色| 亚洲国产99| 激情五月深爱五月| 玖玖婷婷精品| 色135综合网| 爱久综合| 激情99在线视频| 中文字幕人妻在线| 超碰熟女农村在线69| 直接看的AV| 777丁香六月青青草婷婷综合久月| 1234操逼网| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 五月丁香激情综合啪啪| 天天色官网| 久久婷婷青草五月天| 殴美日韩成人| co超碰在线观看| 开心激情婷婷| 婷婷五月天视频免费在线观看| 激情五月综合ì香亚洲| 五月激情综合网| 夜夜AVV| 97在线观视频免费观看| 夜夜爽天天爽| 婷婷五月天Av| www.五月丁香| 青青福利网| 成人小说 五月天 婷婷| 婷婷中文在线| 人人操插| 九九www| www网站在线观看| 少妇被躁爽到高潮无码文| 综合网天天| 性生活视频98791| 亚洲免费婷婷| 五月丁香六月婷婷综合伊人| 婷婷综合欧美| 日本久久婷婷| 日韩美女羞羞网站在线观看| 免費观看aV在线网址| 狠狠色综合网| 婷婷人人操| 久久久久久丁香五月| renrencaoav| 丁香五月六月久久综合| 天天骑日日爽| 9999久久久久| 久久狠狠欧美| 91久操| 色玖玖| 丁香六月久久| 一本久道综合色婷婷五月| 天天干天天操天天射| 一区二区三区XXXXXX| 亚洲成人丁香花| 不卡成人免费| 1024欧美看片| 极品少妇婷婷五月| Caoporn公开| 久久香视频| 大香蕉婷婷婷| 亚洲四色五月| 欧美A A A A A| 亚洲成人av在线观看| 丁香婷婷六月| se.久久视频在线观看| www.玖玖婷婷在线| www综合久久| 九九超碰人人| 色婷婷A| xxxx五月天色色| 97黑人精品区| 2015WWW永久免费观看播放| 成人资源在线| 五月丁香综合中文| 99九九在线精品热动漫| 婷婷色九月| 97色干| 欧美搡BBBBB摔BBBBB| 亚洲日韩乱码一区二区三区四区| 婷色天堂| 亚洲天堂有码| 伊人久久大香网| 久久99热这里只有精品首| 亚洲天堂亚洲色色色| 免费日韩99| 俺去啦综合网| 色综合色色色| 思思热精品在线| 国产精产国品一二三在观看| 精品热九九| 97婷婷丁香五月天激情图片| 丁香婷婷黄网站| 狠狠操.com| 天天摸人人摸| 五月婷婷六月丁香| 狠狠色婷婷777| 91大操| 九九九九成人| 99ri精品视频在线观看| 激情深爱婷婷网| 激情五月天www| 五月婷视频在线| 久久99久久99久久99人受| 亚洲综合色婷| 日本久久精品18| 桃色五月婷婷| 婷婷.com| 欧美熟女99| 亚洲中文字幕AV在线| 冬月かえでAV无码播放| 天天弄天天爽| 亚洲亚洲亚洲AAAAAA| 色婷婷免费观看| AA片在线观看视频在线播放| 色五月婷婷激情基地| 狠狠色婷婷| 九九精品网| 我去色色网五雨天| 香蕉久久国产AV一区二区| 成人网站av免费网站推荐| site:901-07.com| 欧美五月丁香| 成人在线视频网| 9999热精品| 欧美在线视频99| 婷婷色正月| 九九九九这里只有精品| 五月深情久久| 丁香五月激情宗合| 丁香五月天狠狠| 91精品久久久久久77777| 丁香天堂夜| 精品色情一区二区三区四区| 大香蕉久久婷婷精品综合| 黑人糟蹋人妻HD中文字幕| 一本色道久久88加勒比—| 99热99免费| 激情九月综合| 超碰在线播放免费观看| 性爱在线播放av| 曰曰久久| 香蕉99网| 婷婷五月天色网久| 碰碰91| 亚洲在线成人| 久久av电影| 久久婷婷视频| yazhochengrenavwang| 免费色色色| 五月天天综合| 人妻有码乱操| 婷婷操逼网| 婷婷五月成人| 欧美色图天堂网色| 这里只有精彩视| 极品人妻VIDEOSSS人妻 | 思思热在线免费视频| www.色婷婷| 婷婷色九月| 五月丁香啪啪| 嫩模草| 天天干天天干天天干天天干天天干天天| 久久丁香| 九久久精品视频99| 夜夜骑天天玩天天日| 日韩性爱AV| 精品国产人人爱人人| 久久一热| 91久热| 啪啪 综合网| 五月天亭亭俺也| 91人久| 婷婷五月天激情在线观看| 婷香五月| 99久久99九九九99九他书对| 另类激情五月| 人人操女人| 五月天偷拍| 日韩无码亚欧无码| 婷婷丁香五月亚洲免费| 91精品激情9| 丁香色播五月天| 色婷婷丁香五月| xxxx五月激情| 婷婷综合久久| 狠狠色婷婷7| 丁香六月啪啪| 久久久久久草黄色片AV在线观看| 色五月婷婷在线| 九九久久99| 99精品热| 琪琪秋霞| 色婷婷成人做爰A片免费看网站| 色色成人網| 激情色播| 久久这里只有精品视频26| 第九色区av天堂| 超碰精品手机在线| 亚洲182在线观看| 综合五月激情网| 青青艹b| 丁香桃色网| 九九色播五月丁香| 激情五月婷黄版| 亚洲99综合| 五月丁香激情综合| 三区激情四射av| 丁香8月手机综合| 婷婷五月精品中文字幕| 久久婷婷五月综合色天| 天天天天爽爽天干| se色综合网| 9l视频自拍九色9l视频自拍九色9l社区| 色婷婷色情| 久久六月天| 丁香五月婷婷五月天在线| 性色做爰片在线观看WW| 欧美综合五月丁香六月婷| 91九色白丝| 五月丁香偷拍| 日韩99视频| 亚洲操人| 五月香蕉综合| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 这里只有精品2| 人人操人人看97干| 99热网站| 涩涩五| 4399精品一区二区| 日本色图综合| 五月婷婷丁香五月亚洲色| 97caop| 99热亚洲| 亚洲另类婷婷综合| 玖玖色综合| 五月婷婷免费看| 五月婷婷导航| 五月丁香网站| 婷婷六月啪啪 | 26uuu欧美| 成人av在线电影| 国产99久久久国产精品免费看| 99久久九九| 欧洲一区二区| se色婷婷视频| 婷婷成人AV| 天天日天天干天天爱| 在线观看日韩12345区| 日韩成人电影在线播放| 五月天成人网婷婷| 伊人久久大香线蕉综合网站| 色综合色色| 丁香五月天激情视频| 婷婷色在线观看| 成人性生活免费观看。| 久久久久亚洲AV成人无码电影| 色婷婷综合五月| 免费播放片大片| 丁香六月啪啪| 色五月丁香婷婷久草| anquye伊人| av在线免费网站 | 五月花激情网| 九九99在线免费在线观看视频| 伊人国产婷婷五月天| 九九热婷婷| 激情小说在线视频| 色五月婷婷丁香五月| 99操99| 午夜]香婷婷深深爱| 亚洲一区二区无遮挡A片| 这里只有精品99视频| 国产91九色| 婷婷久久网| 色婷婷文字幕| AAA级久久久精品| 日本在线视频www色| 热99只有里视频| 97久久人人操| 6 9式性爱视频在线播放| 色婷婷成人做爰A片免费看网站| 日本天天操| 视色综合| 日日干综合| 精品在线网站| 婷婷五月无码| 国产在这里只有精品| 婷婷综合成人| 激情五月综合网最新| 最新日本A片| 99A级片| 丁香五月激情欧美| 日本色色影片| 五月激情啪啪| 97久久草草超级碰碰碰| 五月婷婷六月丁香在线| 婷婷五月天激情影片| 五月色婷婷亚洲 | 99热色精品| 日韩人妻无码精品| www五月| 天天色五月| 丁香五月色色色色| 婷婷午夜| 日韩欧美老妇性视频91久久久| 5Www色5夜| 亚洲宗合激情| 国产毛多水多女人A片| 激情丁香婷婷| 99久久这里只有精品| 超碰色色综合| 五月婷婷,狠狠操| 日本社区五月天激情| 久久久久久综合五月婷婷| 深爱开心五月天| 婷婷色色狠狠| www.激情在线| 久鲁鲁色网 | 97超碰婷婷五月天| 国产99久久久国产精品免费看| www.夜夜操.com| 五月丁香六月色| 一级精品999WWW| 99热99色| 激情AV网| 99re这里只有精品首页| 日本综合色色| AV色色天堂中文| 五月婷婷色情| 色欲五月丁香| 91在线人| 亚洲亚洲人成综合网络| 一本大道嫩草AV无码专区| 婷婷五月激情中文字幕| 天天弄天天操| 1000部毛片A片免费观看| 激情丁香五月| 无码激情AAAAA片-区区| 中文字幕丰满孑伦无码专区| 亚洲乱码精品久久久久..| 熟妇人妻中文字幕无码老熟妇| 少妇人妻人伦A片| 久久er99热精品一区二区| 九九综合影音先锋| 最新婷婷五月丁香| 无码一区二区三区四区五区91c| 久久精彩视频99| 99精品女人天堂| 欧美一线视频| 亚洲综合五月天婷婷丁香| 久久婷婷五月综合97色一本| 久久er免费视频| 爱草视频在线| 一区二区三区四区无码| 五月天六月婷婷电影| 九九热在线观看视频| 五月天丁香婷婷社区| 色吧综合网| 五月婷在线| 无码一区精品一区视频| 亚洲激情六月丁香| 开心五月婷婷婷美女| 草一草avb| 丁香六月色情| 色婷婷视频在线| 久久免费精彩视频| AV性爱在线| 亚洲婷婷性爱| 国产小网站| 1024日韩| 涩涩婷婷五月| 99亚洲精品视频| 久久五月视频| 九九久久99| 99精品小视频| 99在线观看| 久久久婷婷五月天| 国内久久亭亭| Av性爱网站| 99精品亚洲| 无码激情| 色五月丁香A欧美com | 9九色首页| 超碰狠狠操| 影音先锋AV资源男人站| 亚洲婷婷91丁香| 激情网开心网| 99热思思| 疯狂做受XXXX高潮A片动画| 超碰在线观看caop| 狠狠操狠狠爱| 婷婷五月成人系列| 色综合色色| 久久婷青青草原| 婷婷色播婷婷| 亚洲成人va| 色五月色五天色情网| 91919191919久久成人视频| AA久久| 五月色欧洲| 91精品国产99久久久久久天美| 青草视频在线播放| 亚洲AV第二区国产精品| 五月天a婷婷伊人| 手机旧版看人妻1025| 99在线精品免费视频| 激情久久久久久久久| 午夜不卡成人一区二区| 久久视频婷婷| 色婷婷中文| 丁香婷婷色五月| 日日舔夜夜操| 精品人妻伦九区久久AAA片| 九热久| 亚洲无码成人性爰网| 丁香婷婷色情| 人妻视频一区而且二区| 激情5月舔| 天天操天天干天天日| 亚洲色无码A片一区二区麻豆| www.99婷婷| 视色综合| 极品少妇高潮啪啪AV无码| 五月丁香欧美综合| 亚洲噜色| 色综合久久888| 影音先锋一区| 婷婷五月天色播| 亚洲精品国产A久久久久久| 亚洲av综合网| 久草热在线视频| 噜噜噜久久| 亚洲 视频 导航 一区| 99色 色| 国外亚洲成AV人片在线观看| 久色网| www夜夜操wwwcon| 亚洲日韩一页精品发布| 狠狠爱综合| 久热 91| 日本理论久久| 天天操综合网站| 日本黄色三级片内射| 丁香五月婷婷六月婷婷| 99热这里只有精品1025| 九九人人看| 成人色五婷婷| 婷婷狠狠干| 婷婷天天综合| 少妇被躁爽到高潮无码文| 99综合免费视频| 欧美影院婷婷| 色婷婷88| 99热这里只有精品最新| 丁香婷婷五月份| 天天综合天天玩夜夜玩天天玩夜夜玩| 99操视频| 国产韩日亚洲美州欧亚综合在线| 婷婷午夜激情| 激情综合在线观看| 青青草五月天| 伊人三级激情| 久久精彩免费视频| 97超碰欧美中文字幕| 久久性爱视频久久性爱视频| 热久久999| 亚洲精色| 日韩ww| 99热精品6| 九月婷婷综合色干| 久久婷婷婷婷伊人| 五月丁香亚洲综合网| 欧美三级巜人妻互换| 综合亚洲五月天| 精品激情| 99在线精品免费视频| 免费AV播放| 超碰99热| 成人va在线观看视频| 91久热| 2050人人操免费工开爱| 欧美三级A做爰在线观看| 五月丁香六月欧美综合| 国产又爽又猛又粗的视频A片| 亚州欧美国产久精国产99综合视频| 五月丁香在线| 亚洲精品久久久久久久久久吃药| www狠狠| 5月婷婷视频网站综合| 国产精品久久久久久亚洲毛片| 丁香婷停五月激情综合深爱| 国精产品一区一区三区免费视频| 开心五月丁香婷婷| 婷婷五月激情小说| 99热成人精品网站| 五月天婷婷情色| 欧美激情综合| 久色成人| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 操97免费超级视频| 人妻22p| 色色色综合视频| 日韩精品二三区| 丁香五月黄色| 99天堂网| 热99久久这里只有精品| 影院久久久| 五月婷婷AV| 婷婷丁香社区网| 国产精产国品一二三在观看| 无码任你操| 桃色激情五月天| 婷婷五月天基地| 日日操,夜夜撸| 9久久精品视频| 成人片在线播放| 五月天婷婷在看| 婷婷五月激情综合啪啪| 婷婷综合网| 五月婷无码| www.色情五月天.com| 97在线视频观看| 久久机只有这里精品| 婷婷色基地在线看| 思思热视频在线| 亚洲综合在线丁香五月| 激情五月,激情综合网| 操一操干一干| 青青草原福利在线| 玖玖爱伊人| 91se视频| 国产精品美女| 五月婷免费视频久久久| 77777亚洲午夜久久| 色五月婷婷中文字幕| 天天摸天天日天天舔| 香蕉婷婷| 99精品丰满| 日本三级韩三级99久久| 色五月综合激情| 五月丁香日本片|