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

ARTICLE DETAIL

資訊詳情

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

嵌入式C++項(xiàng)目交付前必填的坑:STM32引腳到通信的實(shí)戰(zhàn)排查指南

嵌入式C++項(xiàng)目交付前必填的坑:STM32引腳到通信的實(shí)戰(zhàn)排查指南 有一種累叫“功能都通了但項(xiàng)目還沒交付”。我在嵌入式C這條路上寫到第六篇前面的內(nèi)容把工程框架、外設(shè)驅(qū)動、狀態(tài)機(jī)這些大骨頭都啃得差不多了但真把板子拿去做綜合測試的時候總會冒出一堆“還差活滴”——引腳定義沒核對、ADC通道切換數(shù)據(jù)亂跳、屏幕ID讀出來不對、中文顯示全是亂碼、CAN總線偶爾掉線找不到原因。這些活兒單個拎出來都不難但湊在一起就是壓垮進(jìn)度的最后一根稻草。這篇就是來填這些坑的結(jié)合STM32、嵌入式C實(shí)際開發(fā)中最常遇到的“隱性工程問題”把我踩過的坑、用過的排查思路、能直接抄的代碼和配置一一梳理出來適合正在做STM32項(xiàng)目但卡在“功能能跑但沒法交付”階段的朋友參考。我一直覺得嵌入式開發(fā)最有意思的地方不在于把某個外設(shè)點(diǎn)亮而在于把所有外設(shè)放在同一個工程里還能穩(wěn)定地跑起來。C在這兒的價值不是讓你寫出多花哨的模板而是讓你用類、狀態(tài)機(jī)、封裝把這些零散的硬件邏輯組織得明明白白。這篇要補(bǔ)的“活滴”恰恰是把那些你平時不太在意的細(xì)節(jié)串起來。1. 先盤點(diǎn)嵌入式C項(xiàng)目里最容易“差”的幾類活先說個普遍現(xiàn)象。大部分STM32項(xiàng)目尤其是跟著教程一步步做下來的往往卡在功能驗(yàn)證通過之后到交付之前這段真空期。LED能閃、串口能打印、傳感器能出數(shù)看起來“都通了”但真要把它當(dāng)作一個完整項(xiàng)目來看還差著一大截。我根據(jù)自己的開發(fā)經(jīng)驗(yàn)把這類“差活”歸納成五個方向。1.1 從“功能能跑”到“項(xiàng)目能交付”還差什么第一個差距在硬件細(xì)節(jié)。很多人拿到核心板或者自己畫的板子第一件事就是看原理圖、找引腳但引腳分配是不是合理、復(fù)用功能有沒有沖突往往要等調(diào)不出來才回頭查。第二個差距在軟件架構(gòu)。功能演示的時候可以用一個While循環(huán)把邏輯寫在main里但項(xiàng)目功能一多全局變量滿天飛中斷回調(diào)里堆業(yè)務(wù)代碼后面想加功能就得拆東墻補(bǔ)西墻。第三個差距在編譯與燒錄配置。換一臺電腦、換一種工具鏈芯片包版本不對、鏈接腳本內(nèi)存布局不對編譯報一堆莫名錯誤半天排查不出原因。第四個差距在字符與顯示處理中文字庫、編碼轉(zhuǎn)換、屏幕初始化時序這些看著不起眼但在實(shí)際產(chǎn)品里是用戶第一眼看到的東西。第五個差距在通信穩(wěn)定性UART、CAN、SPI在實(shí)驗(yàn)室環(huán)境都正常一接上真實(shí)設(shè)備或者跑上幾個小時就出問題這往往是邊界時序和異常處理沒做好。1.2 這一篇會補(bǔ)哪幾類“活滴”我把后面要展開的內(nèi)容先列個清單方便你按需跳讀。硬件層面聊芯片第一腳確認(rèn)、芯片包安裝和LD鏈接腳本外設(shè)層面聊超聲波測距、ADC多通道切換、五線四相步進(jìn)電機(jī)顯示與編碼層面聊ILI9341讀ID異常和GBK轉(zhuǎn)UTF8通信層面聊CAN偶發(fā)失聯(lián)和物聯(lián)網(wǎng)上云最后聊聊USB設(shè)備開發(fā)和嵌入式Linux的學(xué)習(xí)路徑。這些內(nèi)容看著零散但其實(shí)都是嵌入式C項(xiàng)目里躲不開的基礎(chǔ)工程問題。2. 引腳、芯片包與工具鏈的坑不要瞧不起先說一個最基本的也是我見過翻車率最高的——芯片引腳確認(rèn)。很多新手拿到STM32芯片照著網(wǎng)上找的引腳圖就往上接結(jié)果接反了、接錯了、甚至把電源和地搞反了板子一上電就冒煙。這種問題屬于低級錯誤但造成的后果一點(diǎn)都不低級。2.1 芯片第一腳確認(rèn)新手最容易燒板的第一步絕大多數(shù)STM32芯片采用LQFP封裝芯片頂面左上角會有一個圓形凹陷或者斜切角這個標(biāo)記對應(yīng)的就是第一腳。以LQFP64封裝為例把標(biāo)記朝左上角放第一腳在左下角然后逆時針編號。這里有個容易混淆的點(diǎn)有的芯片頂面絲印字符的方向也會暗示引腳順序但最可靠的還是找數(shù)據(jù)手冊里的封裝圖核對不要憑感覺。我自己的習(xí)慣是拿到芯片之后先用萬用表二極管檔測量VDD和VSS之間的壓降正常應(yīng)該在0.3V到0.7V左右如果測出來是0或者短路那說明芯片可能已經(jīng)損壞或者你的電源引腳識別有誤。先確認(rèn)引腳再上電這一分鐘能幫你省下買新芯片的錢。還有一點(diǎn)容易被忽略STM32的部分引腳默認(rèn)功能是JTAG調(diào)試口比如PB3、PB4、PA15。你要是把這些引腳當(dāng)普通GPIO用會發(fā)現(xiàn)怎么配置都不起作用因?yàn)檎{(diào)試功能把引腳占用了。解決辦法是在初始化的時候關(guān)掉JTAG功能只保留SWD用GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE)。這種問題不是芯片壞了是功能復(fù)用沒處理好。2.2 芯片包安裝與LD鏈接腳本的排查再說工具鏈。用Keil開發(fā)的時候新建工程找不到對應(yīng)型號的芯片十有八九是芯片包沒裝。打開Pack Installer搜索你的芯片型號比如STM32F103C8T6安裝對應(yīng)的Device Family Pack就行。如果你用的是STM32CubeMX生成工程還得注意HAL庫版本和芯片包版本要匹配我遇到過CubeMX生成的代碼在舊版芯片包下編譯直接報錯的情況升級芯片包之后就好了。如果你用的是GCC工具鏈比如在VS Code里搭配arm-none-eabi-gcc開發(fā)鏈接腳本.ld文件就是必須關(guān)注的文件。鏈接腳本的作用是告訴編譯器你的Flash、RAM有多大代碼段、數(shù)據(jù)段、堆棧分別放在哪里。很多人編譯報region FLASH overflowed就是程序體積超過了芯片F(xiàn)lash容量報region RAM overflowed就是全局變量和堆棧擠爆了RAM。我整理了一個排查順序先看工程的芯片型號選對沒有再看鏈接腳本里的FLASH和RAM大小和芯片型號是否一致最后看是不是定義了過大的全局?jǐn)?shù)組。順便說一句堆棧大小在鏈接腳本里也能設(shè)置如果你用到了較大的局部變量或者遞歸調(diào)用把_Min_Stack_Size從0x400調(diào)到0x800甚至0x1000是常有的事。3. 外設(shè)驅(qū)動的C封裝把零零碎碎的外設(shè)管起來嵌入式C和單片機(jī)C語言開發(fā)最大的區(qū)別就是把外設(shè)驅(qū)動當(dāng)作“對象”來管理而不是一堆散落的函數(shù)。這一節(jié)我挑三個典型外設(shè)來演示都是我在項(xiàng)目里反復(fù)用到的超聲波測距、ADC多通道采集、步進(jìn)電機(jī)控制。3.1 超聲波測距把HAL庫的回調(diào)改造成C類用HC-SR04這類超聲波模塊原理是向Trig引腳發(fā)一個10us以上的高電平脈沖然后測量Echo引腳高電平持續(xù)的時間時間乘聲速除以2就是距離。很多人的寫法是在main里用HAL_GetTick()打點(diǎn)計時阻塞等待這樣雖然簡單但阻塞期間CPU干不了別的事而且容易受中斷影響。我測試下來比較穩(wěn)的是用輸入捕獲加外部中斷把測量過程交給硬件CPU只在事件發(fā)生時被通知。用C封裝的話我一般這樣設(shè)計class Ultrasonic { public: Ultrasonic(GPIO_TypeDef* trigPort, uint16_t trigPin, GPIO_TypeDef* echoPort, uint16_t echoPin); void Init(); float MeasureOnce(); // 阻塞式測量適合低速場景 void StartMeasure(); // 非阻塞啟動 float GetDistance(); // 獲取最近一次測量結(jié)果 private: GPIO_TypeDef* trigPort_; uint16_t trigPin_; GPIO_TypeDef* echoPort_; uint16_t echoPin_; volatile uint32_t riseTime_; volatile uint32_t fallTime_; volatile float distance_; void OnRise(); void OnFall(); };這里的關(guān)鍵是回調(diào)用一個靜態(tài)函數(shù)橋接到對象實(shí)例因?yàn)镃成員函數(shù)不能直接作為中斷回調(diào)。我通常寫一個靜態(tài)Handler函數(shù)再通過instance指針調(diào)用對應(yīng)的方法。測量完成后要把超時標(biāo)志加上如果Echo引腳一直沒有拉低超過比如50ms說明沒有回波這次測量結(jié)果應(yīng)當(dāng)丟棄否則距離數(shù)據(jù)會莫名其妙跳變。3.2 ADC多通道切換為什么“測不準(zhǔn)”多半是切換時序ADC多通道采集是個經(jīng)典問題。你用STM32的ADC同時采多路電壓數(shù)據(jù)時而正常時而錯亂最常見的原因不是采樣精度不夠而是通道切換得太快沒有給采樣電容足夠的充電時間。STM32的ADC采樣需要滿足最小采樣時間采樣時間由采樣周期和ADC時鐘頻率共同決定。比如ADC時鐘設(shè)為12MHz采樣周期設(shè)為1.5個周期那實(shí)際采樣時間只有1.5/12M 125ns對于高阻抗信號源來說這遠(yuǎn)遠(yuǎn)不夠結(jié)果就是測量值偏低或者跳動。我常用的做法是用ADC的掃描模式配合DMA設(shè)置好通道序列后DMA會把所有通道的結(jié)果依次搬運(yùn)到內(nèi)存數(shù)組里CPU不參與每個通道的切換數(shù)據(jù)一致性就有了保障。CubeMX里的配置思路是開啟Scan Conversion ModeNumber Of Conversion設(shè)為通道數(shù)Rank里的每個通道設(shè)置對應(yīng)的采樣時間一般我設(shè)到55.5個周期以上然后開啟DMA的Circular模式在內(nèi)存里定義一個數(shù)組接收數(shù)據(jù)。用C封裝的話這個數(shù)組就是ADC類的一個私有成員通過GetChannelValue(uint8_t ch)來讀取。順帶說一個坑DMA接收的數(shù)據(jù)是16位的可你的數(shù)組可能定義成8位或者沒對齊讀出來的數(shù)據(jù)就會錯亂。核驗(yàn)方法是連續(xù)采集一個已知電壓看轉(zhuǎn)換結(jié)果是否穩(wěn)定在理論值附近。3.3 五線四相步進(jìn)電機(jī)用狀態(tài)機(jī)代替硬延時五線四相步進(jìn)電機(jī)是常見的28BYJ-48這類電機(jī)驅(qū)動方式是按順序給四相線圈通電。標(biāo)準(zhǔn)時序是A-B-C-D或者A-AB-B-BC-C-CD-D-DA這樣的半步序列。很多人驅(qū)動步進(jìn)電機(jī)直接用HAL_Delay控制換相時間這樣做電機(jī)能轉(zhuǎn)但有個問題延時期間CPU完全被占用而且延時時間不精確轉(zhuǎn)速波動大。我用C寫了一個步進(jìn)電機(jī)類核心是一個狀態(tài)機(jī)加一個毫秒定時器回調(diào)class StepperMotor { public: void SetSpeedRpm(float rpm); void Step(int32_t steps); // 正數(shù)為正轉(zhuǎn)負(fù)數(shù)為反轉(zhuǎn) void Enable(bool en); private: uint8_t phaseIndex_; int32_t remainingSteps_; uint32_t stepIntervalMs_; void PhaseAdvance(); // 在定時器回調(diào)中調(diào)用 void OutputPhase(uint8_t index); };換相延時決定了轉(zhuǎn)速半步模式下走一步需要8個拍完成一個整步如果目標(biāo)轉(zhuǎn)速是10轉(zhuǎn)每分鐘步進(jìn)角5.625度那么要做到這樣的轉(zhuǎn)速每一步間隔大約是60000 / (轉(zhuǎn)速 * 4096)毫秒4096是減速比之后的半步數(shù)。這個計算不復(fù)雜但很容易算錯我會在代碼注釋里保留推導(dǎo)過程避免下次改參數(shù)的時候又得從頭算一遍。狀態(tài)機(jī)的優(yōu)勢在于換相動作可以由定時器中斷或者一個周期調(diào)用的Tick()方法驅(qū)動CPU可以做別的事情電機(jī)轉(zhuǎn)速也穩(wěn)。4. 顯示與編碼LCD讀ID異常和中文顯示的坑屏幕是嵌入式產(chǎn)品最常見的交互出口但也是最容易出“看起來莫名其妙”問題的地方。這里聊兩個高頻問題一個是ILI9341讀ID返回異常一個是中文字符編碼轉(zhuǎn)換。4.1 ILI9341讀ID返回0xA1A1是怎么回事很多人用STM32驅(qū)動ILI9341屏幕第一件事就是從寄存器里讀芯片ID來確認(rèn)屏幕型號和接線是否正確。正常情況讀回來應(yīng)該是0x9341但不少人在SPI模式下讀出來是0xA1A1。這不是芯片識別錯了而是讀取時序或者通信模式不對。0xA1A1這個值其實(shí)很有指向性。ILI9341支持SPI和RGB接口SPI模式下讀取ID需要發(fā)送讀ID命令字節(jié)然后在時鐘邊沿讀回數(shù)據(jù)。如果你用的例程默認(rèn)是8080并口時序但是你接的是SPI讀出來的自然就是0xA1A1。另外還有一種常見情況讀ID命令的字節(jié)順序不對某些版本要發(fā)0xD3而不是0x04具體要參考你手里屏幕的數(shù)據(jù)手冊。如果命令對了還是讀不對再看看片選信號邏輯。我排查時不會一上來就懷疑芯片壞按這個順序查先用邏輯分析儀確認(rèn)SCL和MOSI上的命令字節(jié)確實(shí)發(fā)出去了再查MISO上是否有數(shù)據(jù)回傳接著確認(rèn)讀ID指令和位寬最后才是懷疑芯片本身。這里有個經(jīng)驗(yàn)值如果你用的是4線SPI讀操作時主控需要把MISO設(shè)為輸入時序上命令字節(jié)發(fā)送結(jié)束后要等一個額外的時鐘周期再開始采樣數(shù)據(jù)因?yàn)镮LI9341的MISO在命令字節(jié)的最后一位之后才切換方向。把時序圖仔細(xì)翻一遍很多“讀不到正確ID”的問題就解決了。4.2 嵌入式里的GBK與UTF-8中文字庫怎么搞另一個高頻問題是中文顯示。很多STM32教程默認(rèn)用英文字模一旦需要顯示中文要么在PC上把文字取模生成數(shù)組要么直接燒一套全字庫芯片但對小項(xiàng)目來說成本太高。更常見的是嵌入式設(shè)備需要和上位機(jī)通信上位機(jī)發(fā)過來的是UTF-8編碼的中文字符串而屏幕字庫數(shù)據(jù)是按GBK編碼索引的這時候就需要做編碼轉(zhuǎn)換。GBK和UTF-8之間沒有數(shù)學(xué)換算關(guān)系只能查表。嵌入式環(huán)境里我通常用兩種做法一種是在PC上把轉(zhuǎn)換表生成好壓縮后存在Flash里MCU運(yùn)行時查表轉(zhuǎn)換缺點(diǎn)是浪費(fèi)Flash另一種是用簡單的特征判斷UTF-8的漢字編碼范圍集中在0xE0-0xEF開頭GBK的首字節(jié)集中在0x81-0xFE通過首字節(jié)范圍做一次快速判斷再配合必要的時候查表。對大部分工控顯示場景顯示“溫度、濕度、狀態(tài)”等固定中文詞語時我更推薦直接做狀態(tài)編號到字模索引的映射而不是做通用編碼轉(zhuǎn)換因?yàn)檫@樣又快又省空間。5. 通信與聯(lián)網(wǎng)CAN失聯(lián)和物聯(lián)網(wǎng)上云通信模塊是嵌入式項(xiàng)目的重災(zāi)區(qū)尤其是涉及到總線或者聯(lián)網(wǎng)的。這一節(jié)挑兩個我最近真實(shí)折騰過的方向來聊。5.1 CAN通信突然連不上八成不是波特率的問題CAN總線在工控和車規(guī)場景用得非常多它的優(yōu)秀之處在于差分信號和仲裁機(jī)制抗干擾能力強(qiáng)。但“CAN突然連不上”是我被問得最多的問題之一。很多人第一反應(yīng)是波特率配置錯了但真正穩(wěn)定運(yùn)行的CAN網(wǎng)絡(luò)突然失聯(lián)通常不是波特率而是下面幾個原因。終端電阻缺失或者斷開是最容易被忽略的。CAN總線兩端要求各接一個120歐姆終端電阻用來匹配總線阻抗抑制信號反射。如果只有一個節(jié)點(diǎn)內(nèi)部接了120歐姆而總線另一端電阻掉了阻抗不匹配會直接導(dǎo)致通信質(zhì)量下降遠(yuǎn)距離傳輸時就會出現(xiàn)間歇性失聯(lián)。測量方法很簡單總線空閑時用萬用表量CANH和CANL之間的電阻正常應(yīng)該在60歐姆左右如果量出來是120歐姆說明有一端終端電阻沒接。第二個原因是總線關(guān)閉狀態(tài)。CAN控制器在錯誤計數(shù)超過256時會進(jìn)入Bus-Off狀態(tài)此時節(jié)點(diǎn)停止參與總線通信。進(jìn)入Bus-Off后軟件需要檢測并恢復(fù)。STM32的bxCAN提供了中斷標(biāo)志可以在中斷里做恢復(fù)操作。第三是ID過濾器的配置如果驗(yàn)收過濾器設(shè)置得過嚴(yán)數(shù)據(jù)幀會被硬件直接丟棄表現(xiàn)也是“收不到數(shù)據(jù)”。調(diào)CAN一定要先把過濾器設(shè)置成接收所有幀確認(rèn)通信正常之后再收緊過濾條件否則你會在排查的路上走很多彎路。CAN還有個容易被忽視的參數(shù)是波特率誤差。雖然STM32的CAN外設(shè)可以精確分頻但如果你外接的CAN收發(fā)器或者總線上有其他節(jié)點(diǎn)不同節(jié)點(diǎn)的時鐘源誤差疊加可能超出協(xié)議允許的容忍范圍。建議用CAN分析儀抓一下總線上的實(shí)際波形確認(rèn)位時間是否在標(biāo)準(zhǔn)范圍內(nèi)。5.2 從巴法云到自建MQTT嵌入式上云的輕量做法物聯(lián)網(wǎng)場景里嵌入式設(shè)備的聯(lián)網(wǎng)需求越來越多。國內(nèi)大家用得比較多的一個方案是巴法云這類物聯(lián)網(wǎng)平臺設(shè)備通過MQTT協(xié)議接入平臺然后在微信小程序或者App里訂閱主題控制設(shè)備。我最早接觸的時候就是用一個ESP8266模塊AT指令連接WiFi然后通過MQTT發(fā)布主題。在STM32端做MQTT需要注意幾個細(xì)節(jié)。一是主題設(shè)計一般建議設(shè)備ID作為主題前綴比如/device/設(shè)備編碼/control和/device/設(shè)備編碼/status分別做下發(fā)和上報。二是心跳?;頜QTT要求客戶端定期發(fā)送PINGREQ否則服務(wù)端會斷開連接我用的是30秒一次心跳這個值要根據(jù)網(wǎng)絡(luò)穩(wěn)定性調(diào)整太頻繁浪費(fèi)流量太慢容易掉線。三是QoS等級的選擇在嵌入式端我通常選QoS 0或者QoS 1QoS 2的報文確認(rèn)握手邏輯對單片機(jī)來說太重沒必要。四是重連機(jī)制WiFi掉線、服務(wù)器重啟都是常態(tài)設(shè)備需要能自動重連并且重新訂閱主題。用C封裝MQTT邏輯的時候我習(xí)慣把連接管理、主題訂閱、消息回調(diào)拆成三個獨(dú)立模塊消息回調(diào)做成一個函數(shù)指針接口這樣業(yè)務(wù)層就不用關(guān)心底層是走WiFi還是4G。6. USB設(shè)備與更遠(yuǎn)的路接下來還差哪些活寫到這里我想聊聊“下一步還能做什么”。很多做STM32的人學(xué)到一定階段會覺得瓶頸期到了外設(shè)都玩過一遍但好像也就那樣。實(shí)際上嵌入式的大頭在后面比如USB協(xié)議棧、嵌入式Linux、RTOS調(diào)優(yōu)這些都是從“單片機(jī)工程師”走向“嵌入式架構(gòu)師”繞不開的路。6.1 STM32做USB設(shè)備從哪入手熱詞里有人搜“STM32如何做USB設(shè)備”這個方向確實(shí)值得講。STM32做USB設(shè)備最常見的是兩種模式USB虛擬串口CDC類和USB HID設(shè)備。對新手來說從CDC虛擬串口入手最友好因?yàn)殡娔X端不需要裝驅(qū)動插上就能識別成COM口和普通串口調(diào)試沒有區(qū)別。用STM32CubeMX配置CDC設(shè)備非常簡單選擇USB_DEVICE中間的Class For FS IP選Communication Device ClassVirtual Port Com生成代碼后USB的中斷處理、描述符都初始化好了你只需要關(guān)心兩個回調(diào)一個是CDC_Receive_FS上位機(jī)發(fā)數(shù)據(jù)時會觸發(fā)另一個是你自己定義的發(fā)送函數(shù)CDC_Transmit_FS把數(shù)據(jù)從設(shè)備發(fā)給上位機(jī)。C工程里我一般先把接收回調(diào)里的數(shù)據(jù)丟進(jìn)一個環(huán)形緩沖區(qū)再在業(yè)務(wù)層處理避免在USB中斷上下文里做復(fù)雜操作。USB比串口麻煩的地方在于端點(diǎn)緩沖和包長限制。CDC最大傳輸包長通常是64字節(jié)如果你的數(shù)據(jù)超過這個長度需要自己分包發(fā)送并且要注意端點(diǎn)空閑狀態(tài)頻繁發(fā)送會導(dǎo)致Error。還有個容易踩的坑USB枚舉在電腦端看起來很快但設(shè)備端的掛載過程有時需要幾百毫秒甚至更久不要在系統(tǒng)上電后立刻操作USB要等枚舉完成后再交互。我通常加一個“USB配置完成”標(biāo)志在HAL_PCD_SetupStageCallback里置位業(yè)務(wù)邏輯等到這個標(biāo)志有效再跑。6.2 從單片機(jī)到嵌入式Linux架構(gòu)視野先打開再往深走嵌入式Linux就是個繞不開的話題。STM32做裸機(jī)或者RTOS開發(fā)本質(zhì)上還是在單芯片上思考問題而嵌入式Linux面對的是真正的多進(jìn)程、多線程環(huán)境應(yīng)用開發(fā)和驅(qū)動開發(fā)被嚴(yán)格區(qū)隔開。我見過很多從單片機(jī)轉(zhuǎn)Linux的人最大的障礙不是語法而是思維模式單片機(jī)里你直接操作寄存器Linux里你操作文件描述符單片機(jī)里你一個人管所有任務(wù)Linux里系統(tǒng)幫你調(diào)度一切。學(xué)習(xí)嵌入式Linux比較務(wù)實(shí)的路線是先搞清楚Linux基礎(chǔ)命令和Shell會交叉編譯一個簡單程序到ARM板子上跑然后去了解根文件系統(tǒng)、設(shè)備樹、內(nèi)核模塊這些概念。網(wǎng)上很多人在問“根文件系統(tǒng)掛載使用NFS v3”這就是調(diào)試階段常用的方式讓開發(fā)板通過網(wǎng)絡(luò)掛載PC上的目錄作為根文件系統(tǒng)這樣編譯出來的程序直接就能看到效果省去反復(fù)燒寫存儲介質(zhì)的麻煩。再到后面就是研究驅(qū)動框架把字符設(shè)備、平臺設(shè)備、設(shè)備樹串起來理解這個階段你能開始用架構(gòu)師視角看待嵌入式系統(tǒng)了。嵌入式架構(gòu)師不是會調(diào)外設(shè)就行還要能拆解產(chǎn)品需求評估方案選型平衡成本、功耗、實(shí)時性和開發(fā)效率。7. 問題排查速查表把前面幾篇的坑匯總一遍寫技術(shù)博客最怕的是講完原理就完事我把這一篇涉及到的關(guān)鍵問題整理成一個速查表方便你調(diào)試的時候直接對照排查。問題現(xiàn)象可能原因排查方向處理建議芯片上電發(fā)燙/短路電源接反、引腳識別錯誤用萬用表二極管檔測量VDD-VSS壓降先確認(rèn)芯片第一腳標(biāo)記再對照數(shù)據(jù)手冊核對引腳定義下載程序找不到芯片芯片包版本不對/未安裝Pack Installer里搜索芯片型號安裝匹配的Device Family Pack并核對HAL庫版本編譯報FLASH溢出程序體積超過芯片容量查看編譯輸出信息確認(rèn)芯片型號優(yōu)化代碼體積或換用更大Flash的芯片編譯報RAM溢出全局?jǐn)?shù)組或堆棧過大檢查鏈接腳本RAM大小和全局變量將大數(shù)組改為const放到Flash或增大_Min_Stack_SizePB3/PB4/PA15不受控制JTAG功能占用查看復(fù)用功能配置初始化時禁用JTAG保留SWDADC采集值跳動采樣時間不足檢查ADC時鐘和采樣周期配置增大采樣周期到55.5周期以上開啟DMA超聲波測距偶爾跳變沒有超時處理檢查Echo引腳是否超時未拉低增加50ms超時判斷超時丟棄本次數(shù)據(jù)屏幕讀ID返回0xA1A1通信模式/命令字不對檢查SPI時序和讀ID命令字節(jié)參考屏手冊確認(rèn)命令字節(jié)用邏輯分析儀抓波形中文顯示亂碼編碼不匹配確認(rèn)上位機(jī)發(fā)送編碼與字庫索引編碼固定使用GBK索引或做UTF-8到GBK轉(zhuǎn)換映射CAN偶發(fā)失聯(lián)終端電阻缺失或Bus-Off測量CANH-CANL靜態(tài)電阻確認(rèn)兩端各接120歐姆軟件處理Bus-Off恢復(fù)USB枚舉不穩(wěn)定上電后立即操作檢查設(shè)備端是否完成枚舉添加枚舉完成標(biāo)志延遲業(yè)務(wù)啟動設(shè)備掉線不重連MQTT心跳和重連機(jī)制缺失抓取網(wǎng)絡(luò)報文確認(rèn)掉線原因配置30秒心跳實(shí)現(xiàn)自動重連和重新訂閱邏輯這表格是我實(shí)打?qū)嵟挪檫^之后沉淀下來的。再補(bǔ)兩個獨(dú)門小技巧一是每次畫板或者拿到新板子先花十分鐘做一個引腳自檢程序把所有引腳按預(yù)期配置成輸入輸出用萬用表逐一測量這個習(xí)慣能幫你區(qū)分“硬件問題”和“軟件問題”二是每次燒錄前用版本管理工具比對一下這次改動的文件列表很多“明明沒動怎么就不行了”的靈異現(xiàn)象最后都發(fā)現(xiàn)是編譯時沒刷新或者改了文件自己忘了。寫在最后的經(jīng)驗(yàn)分享個人在實(shí)際項(xiàng)目里最深的體會是嵌入式開發(fā)的“差活”永遠(yuǎn)不會消失。你補(bǔ)完了ADC的坑后面還有USB枚舉的坑你解決了CAN失聯(lián)后面還有網(wǎng)絡(luò)重連的坑。做這行心態(tài)要穩(wěn)每解決一個問題就把排查思路記錄下來慢慢就能形成自己的問題庫下次遇到類似的現(xiàn)象瞄一眼就知道從哪個方向下手。這篇涉及的代碼和配置我也都放在自己的工程模板里了你寫的時候不用照著抄關(guān)鍵是理解每一步為什么要這么做。比如鏈接腳本為什么不能讓堆棧和全局變量搶內(nèi)存采樣時間為什么不能一味求快CAN終端電阻為什么不能省。把這些為什么想明白了你離“嵌入式架構(gòu)師”這個目標(biāo)就又近了一步。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香色色网| 色噜噜五月天| 婷婷在线激情| 色婷婷手机在线| 国产精品色色| 五月丁香 啪啪| 5月丁香婷婷| 久久99网| 天堂伊人干| 婷婷刺激综合| 丁香激情综合| 欧美成人网婷婷综合在线| 日韩在线观看亚洲| 五月天激情小说| 啪啪亚洲综合| 激情 婷婷 丁香五月天| 久热这里只有精品性色AV| 超碰在线免费观看日韩| 九九久久99| 五月天婷婷人妻| 久久色在线视频| BlACKEDRAW视频一区二区| 五月丁香免费视频| 亚洲影院婷婷色| 婷婷五月天在线视频网站| 婷婷五月天av网| 丁香九月综合在线| 一起草日本| www.色婷婷| 五月婷婷婷丁香播| 91se在线观看| 中文av网| 婷婷五月色天| 亚洲综合五月天| 97婷婷丁香五月| 97香蕉碰碰人妻国产欧美| 任我干视频在线观看| 天天婷婷综合亚洲亚洲| 婷婷中文字幕| 五月丁香婷婷欧美| 丁香五月天激情综合| 思思 热 99| 6080av| 五月丁香婷婷久久| 99re热在线视频| 色婷婷色五月综合| 99久精品| 99在线观看精品视频| 久久五月天婷婷视频| 色99婷婷五月天| 青青草伊人婷婷| 欧美日韩99| 26uuu欧美日本| 97久久草草超级碰碰碰| 九九色综合九九色| 97久久视频| 婷婷久久免费| 可以看的AV| 色欲五月婷婷| 色婷婷小说| 丁香五月婷婷激情尤物| 韩国天天婷婷| 国产综合色婷婷精品久久| www婷婷| 色五月婷婷久久| 婷婷丁香综合成人| 婷婷色综合av| 九九热最新地址| 婷婷丁香人妻天天爽| 亚城区在线| 丁香激激情网| 婷色五月天| 99久久www| 国产激情久久| 天天上天天爽| 这里只有精品免费视频| 91色综合| 国产AV影片| 日本久久激情| 狼友超碰| 亚洲中文字幕av| 淫视馆aV二区一区| 淫荡工a| 五月婷av| 色99视频| 亚洲第一影院高清无码网站 | 图片区 小说区 区 亚洲五月| 99自拍视频在线| 婷婷久久网| 610018岁成人视频| 五月婷婷啪啪网| 久热这里只有精品6| 激情综合网五月婷婷| 欧美婷婷五月丁香| 中文超碰视在线| 99在线看视频| 色色精品色| 色五月av伊人| 日韩在线视频网站| www.丁香黄色五月天人与| 丁香色影院| 久久五月激情| 久久久五月四色| 久热亚洲| 99热最新国内| 亚洲五月丁香综合网| ww亚洲ww在线观看| 天天干天天插| 狠狠婷婷色| 色婷婷综合影院| 丁香五月婷婷狠狠色| 丁香五月老师| 能看的av网站| 人人操AV| 天天碰天天插天天操| 狠狠高潮精品亚洲1| 思思热视频在线| 九九色情网站| 爱久综合| 婷婷丁香五月网| 久久婷婷亚洲| 99re视频在线播放| 99国产精品久久久久久久久久久| 五月婷婷婷色| 婷婷丁香五月天在线| 婷婷五月激情网| 亚洲第二AV| 台湾综合丁香五月蜜桃| 99爱在线视频| 超碰在线观看9| 色婷婷色久综| 九月婷婷综合| 色狠狠五月天| 亚洲色综合| 九九爱精品网站| 欧美日韩999| 五月亭亭直播| 九九精品婷| 五月婷婷少妇之| 激情九月综合| 99热综合网| 五月婷婷69| 久久久99精品免费观看| 开心久久爱五月天| 精品国产乱码久久久久久免费| 亚洲av网址| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 国产毛片欧美毛片久久久| 啪啪操操| 九九热10| 九九精品系列| 亭亭五月丁香五月天激情| 国产AV一区二区三区最新精品| 亚洲愉拍99热成人精品| 成人丁香五月| 五月婷婷这里都是精品| 男女激情久久| 婷婷黄色| 亚洲色婷婷婷婷人人爽| 亚洲无码影音| 这里只有精品视频| 开心五月婷婷五月| 五月婷婷 婷婷五月 一区二区 久久久 | 嫩草AV久久伊人妇女超级A| 99精品在线观看| 综合久久综合久久| 99re久热只有精品6在线直播| 色五月网址| 91九色国产| 五月丁香成人| 亚洲黄网AV| 这里只有精品视频99| 色级婷婷| 狠狠色噜噜狠狠狠888| 综合五月丁香久久| 黄页免费一级视频懂色| 啪啪91| 亚洲成人色五月婷婷综合| 热九九精品| 五月天婷婷色播| 香蕉婷婷五月| 丁香花色色网| 狠狠干综合网| 思思热思在线精品视频| 婷婷久久18| 色综合色综合网| 五月天激情播播网| 丁香五月婷婷99| 婷婷激情性爱| 女力报到正好爱上你| 狠狠se| 色婷婷亚洲婷婷| 五月丁香久久网| 日本一级黄色片。| 夜夜干 夜夜操| 婷婷激情六月中文| 成片免费播放| 综合久久伊人| 三十熟女| 九久9精品| 曰韩五月丁香色婷婷无码| 都市激情小说婷婷| 538在线| 色婷婷yy久| 大香蕉网站,大香蕉综合| 六月丁香射婷婷欧美色图片 | 26uuu亚洲欧美另类| 婷婷99丁香| 日狠狠| 中文国产五月天| 日韩不卡DvD| 色天堂婷婷| 国产精品爽爽久久久久久| 丁香激惜男女| 久er免费视频| 婷婷丁香在线| 超碰免费大香蕉| 欧美三级视频| 欧美色片中文字幕久久久久| 丁香五月社区| 丁香五月激情婷婷| 超碰三级片| 男女久久婷婷五月天| 色色色国产| 三日本无码| 五月丁香色婷婷| 成人丁香| 五月丁香六月婷婷综合网站 | 大香蕉久久| 婷婷五月综合色中文字幕| 久9热| 性做爰1一7伦| 国产精品日本一区二区在线播放| 久久伊人大香蕉| 九九热视频免费| 五月丁香婷婷99| 91精品丝袜久久久久久| 国产97色在线 | 日韩| 久久久妻人人人| 9色操| 五月天激情四射| 丁香六月天婷婷| 深爱1激情网| 色婷婷文字幕| 丁香五月婷婷操逼| 色婷婷成人做爰A片免费看网站| www.国产色| 五月婷婷在线视频免费观看| 骚五月婷婷| 亚洲爆乳无码精品AAA片蜜桃| 五月天激情婷婷| 五月丁香六月婷婷综合网| jiujiujiuwuyuetian| 在线观看免费观看在线9久| 丁香婷婷五月色成人网站| 热99re| www.色五月| 五月天停婷基地| 色综合综合网| 丁香五月成人论坛| 丁香五月综合久久八| 丁香五月激情综合婷综| 日韩AV在线免费| 最新高清无码专区| 色色99| 久久九色| 爱射综合| 九月婷婷综合| 久热无码| 婷色五月天| 久久9精品| 丁香五月激情婷婷婷婷在线观看| 婷婷五月天香蕉| 五月www| www.日本久久videos| AV成人在线播放| 91干网| 91久女| 成人亚洲精品久久久久| 91夫妻视频| 亚洲V国产V欧美V久久久久久| 欧美性爱五月天| 激情亭亭五月| 曰曰久久| 激情五月婷婷网| www.91久久| 97欧美在线| 99热在线只有精品| 超碰爱爱爱| 久婷五月| caop在线视频| 色婷婷五月天| 亚洲妇女熟BBW| 婷婷五月天小说| 99热99色| 丁香88AV五月婷婷| 综合精品99| 婷婷丁香www视频日本韩国| 精品网站:999WWW| 丁香月六月| 丁香六月天堂| 日本色久| 色婷婷六月| 亚洲天堂色色| 国产SUV精品一区二区883| 人妻体体内射精一区二区| 国产乱子轮XXX农村| 无码日本精品XXXXXXXXX| 青青草免费公开视频| 国产精产国品一二三在观看| 久久丁香婷婷色情综合| 91精品91久久久中77777久久玖玖九九| 97色婷婷在线观看| 人人干天天舔| 五月婷婷伊人在线| 激情图片久久| 99久久久久| 欧美大片免费播放器| 超碰日韩人妻在线| www.99热在线| 丁香六月天AV| 人人干人人操人人摸| 久久久27操| 九九激情网| 五月丁香婷婷综合网| 成人精品视频99在线观看免费| 久久99最新地址| 天天婬色综合| 国产精品大香蕉| 这里只有在线精品| 99色网站| 五月丁香色婷婷| 婷婷五月久久| 青青草原亚洲天堂| 五月天欧美激情| 五月在线| 99精品偷自拍| 秋霞日本免费毛片A片| 在线播放成人网站| 五月婷婷综合潮喷| 天天干狠狠| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 久久久GOGO无码啪啪艺术| 婷婷五月综合中文字幕| 婷婷性爱| 六月丁香五月天| 99热婷婷| 99 福利 导航| 狠狠干在线视频| 综合网激情| 五月丁香狠狠爱| 久青草大香蕉| 伊人超碰| 九九热99热| 人人操人人妻| 亚州激情网站无码| 日韩在线观看亚洲| 人妻在线观看视频| 亚洲色色爱| www.婷婷五月天| 久久久久久久人妻| 成人 在线 日韩| 欧美日韩AAA| 日本狠狠色| www色婷婷com| 色丁香六月| 久久婷婷五月综合| 涩综合网| 激情五月天com| 天天插天天干| 日本三级中国三级99人妇网站| 另类图片婷婷五月天| 99视频自拍| 色五月综合网站| 婷婷丁香视频在线观看免费| www99在线观看视频| 男人大jjc女人免费视频| 热九九精品| 丁香五月成人社区| 97色综合| 婷婷激情丁五月| 婷婷久久色| 91pornav在线| AV五月婷婷露脸| 亚洲国产精品VA在线看黑人| 久久精品色| 五月天操逼网| www.日韩国产| 亚洲婷婷五月天| 婷婷五月丁香四射| 色婷婷五月天小说| 亚洲AV成人一区二区在线观看| 另类五月婷婷| 大香蕉九九| 色一情一乱一乱一区91| 天天色丁香| 97碰碰碰| 99.N在线视频| 91久久综合亚洲噜噜成人在线 | 婷婷五月天激情网| 色五月成人| 97香蕉碰碰人妻国产欧美| 九九AV| 99精品小视频| 五月天天丁香婷婷在线中| 亚洲亚洲人成综合网络| 99九九综合久久九九| 人妻操逼| 99福利导航| 久久视频在线视频| av色婷婷| 91久久婷婷人人澡草| 99热1| 日韩艹比| 综合色播| 五月婷婷色播| 婷婷五月天手机版视频| 婷婷综合在线| 色婷婷久久视屏| a久久| 久久电影4399| 色色COm| 五月丁香 六月婷婷a| 99情色五月天| 欧美69久成人做爰视频| 丁香五月香蕉| 天天操加勒比| 五月天另类激情在线| 亭亭丁香久久五月| 久久香蕉影院| 日韩在线99| 五月婷A V在线| 狠狠干在线| 九九热精品视频在线观看| 中文字幕簧片| 欧美va视频不用播放器的va视频网| 色五月大| 九九色院| 91亚洲免费片| 草久私拍| 91人无码久久久久久| 九月丁香婷婷| 99久久9| 五月天堂婷婷| 国产欧美第五十五页| 天天久综合| 天天干天天 亚洲| 色婷丁香五月| 五月天色播网| 五月婷婷伦理| 琪琪理论片| 五月婷婷大香蕉| 婷婷少妇激情| www久| 五月丁香婷婷综合久久| 九九热中文| 国产成人AV在线播放| 九九99九九精品视频| 成人无码精品1区2区3区免费看| 激情六月婷婷| 丁香激情网| 婷婷亚洲综合| 久久婷婷视频| 国产精品久久久久9999小说| 色色色五月天婷婷| 久久99激情五月天| 久婷自拍视频| 亚洲性爱电影| www久久99| 午夜免费试看| 久久精品婷婷| 色色色五月天婷婷| 六月丁香久久| 九九热免费| 丁香五月婷婷狠狠色| 五月激香蕉网| 深爱激情综合| 99热资源在线| 日日日影院| 亚洲成人网在线观看| 日本不卡一区二区三区| 婷婷久久网| 性天天中文网| 成人五月天在线视频在线观看| 女人天堂AV| 色婷婷中文在线| 丁香六月色婷婷| 99久久婷婷国产综合| 丁香五月av| 久久久一级AAA| 92久久久| 色色婷| 日本美女天天日天天爽| 欧美肉大捧一进一出免费视频| 天天色综合网吨吧| 五月婷人妻| 97在线精品视频| 九九99偷拍视频| 九九热精品在线| 97超碰人人操| 色婷婷五月综合在线| 五月天伊人手机在线播放AV| 这里只有视频精品| 青青草性爱视频| 五月丁香婷婷激情影院欧美| www.色欲丁香婷婷| 男人的天堂婷婷色五月| 丁香六月色婷婷| 丁香五月婷老师| 五月天婷婷视频| 久久久天堂国产精品女人| 久久五月天免费网站| 伊人久久艹| 六月狠狠综合| 囯产精品久久欠久久久久久九大| 中文av在线观看| 婷婷亚洲日本| 狠狠狠狠狠| 99色在线| 97九色| 天天干电影| 丁香六月激情| 色停停香蕉视频| 99视频只有精品| 婷婷激情五月综合| 玖玖婷婷五月天| 五月丁香六月婷婷综合| 五月婷婷色激情| 亚洲久热无码| 婷婷色成人| 国模淫穴色图| 日韩99色99| 99愛国产| 国产精品人人妻人人爽| 天天日日夜夜| 99爱爱| 这里只有精品99www| 99热网站| 婷婷综合精品| 色色色色色色色色色色色色色97| 国产精品成av人在线视午夜片| 99er这里只有精品视频| 武则天精品久久| 久久99精品久久久久久三级| 91欧美日韩| 欧美日韩中国| 99九九综合久久九九| 色婷婷丁香综合中文字幕| 中文字幕AV网址| 站长推荐无码播放| 人妻久久久久久久久妻久久久久久久久 | 丁香五月性爱爱五月| 婷婷丁香视频| 国产精品久久久久久白浆色欲| 九九综合久久| 五月丁香在线国产| 色婷婷五月视频| 久久久精品人妻| 丁香六月婷婷基地| 五月香蕉综合| 能看的AV| 色五月丁香婷婷综合| 五月婷婷六月丁香| 99这里只有精品视频在线| 91蜜桃婷婷狠狠久久综合9色| 久久免费丁香| 99自拍视频网站| 五月天激情播播网| 五月天激情婷婷小说| 思思热精品在线视频| 婷婷六月激情| 国产精产国品一二三在观看| 久久婷婷五月综合一| 97婷婷狠狠| 久久黄色网扯| 日本人人xxx| 丁香五月久久| 日本eVa一区=区视频| 五月天播播| 99re8这里只有精品99re8热视频| 丁香五月婷婷综合啪啪| 成人av在线网址| 五月天六月天| 国产精品丝| 激情五月丁香六月| 久热91精品| 五月婷久久| VA日本视频| 日韩精品无码一区二区| 99热费观看| 任你擦免费视频| 婷婷六月丁香五月| 色综合久久伊伊婷婷五月| 婷婷六月天激情影院| 九九热精品99| 久久九九激情五月天 | www.99热最新视频8| 婷婷五月六| 婷婷久久综合| 久久精品99久久| 99视频免费播放 | 成人永久免费视频在线观看| 中文字幕 中文字幕明步| 91在线操| 色欲资源网| 婷婷综合网在线| 蜜臀AV在线观看| 日本五月天婷婷丁香| 久久久97| BlACKEDRAW视频一区二区| 激情丁香五月| 丁香婷婷久久激情| 大香蕉五月| 91狠狠色丁香婷婷综合久久| 日本婷婷色日| 超碰人人草| RenRenSe在线视频网站| 丁香五月Av| 99色视| 婷婷播播五月天| 噜噜五月天综合| 99九精品| 天天做天天爱天天要| 免费观看欧美成人AA片爱我多深 | 婷婷在线网| 激情欧美婷婷| 五月婷啪| 免费亚洲成人电影AV| 婷婷五月天在婷| 欧美操人| 日本熟女视频一区二区| 狠狠色婷婷7777久| 婷婷九九| 深爱激情九九五月天| 中文字幕日韩成人| 日韩久久日| 五月婷色| 色五月婷婷久久| 天天草比天天爽| 六月婷婷狠狠| 五月丁香婷婷色色| 综合久久狠狠| 偷偷与邻居做爰完整视频| 色一情一乱一乱一区91Av| 爽天天天天天天天| 婷婷色六月| 久久久久丁香婷婷五月天| av在线婷婷| 婷婷丁香五月六月激情| 国产看真人毛片爱做A片| site:wpjngj.com| 久久大香蕉| 欧洲亚洲免费视频9| 色五月天丁香婷婷| 综合大香蕉| 亚洲综合九九| 狠狠舔| 色综合伊人网| 五月婷婷亚洲天堂激情在线| 激情五月六月婷婷综合啪啪| 啪啪婷婷五月天激情| 蜜臀99久久精品久久久久| 99热草草| 亚洲AV无码成人电影| 国产成人AV不卡| 国产成人精品亚洲线观看| 天天天干夜夜夜操| 久久人妻视频| 婷婷五月香蕉| 婷婷射图| 亚洲va成人va成人va在线观看| 秋霞黄色一级久久| 欧美精品中文字幕亚洲专区| 色综合网综合| 91日精品| 色~性~乱~伦~噜| 色区久久| 成人精品视频99在线观看免费| 开心五月丁香啪| 色婷婷五月丁香色| 青青草原伊人网| 九色婷婷| 免费视频WWW在线观看网站| 情涩婷婷五月天| 五月丁香婷婷老司机| 女人被男人吃奶到高潮| 婷婷在线视频| 九九色婷婷五月天| 99热都是精品| 激情五月天婷婷直播| 国产亚洲精品AAAAAAA片| 丁香婷婷十月| 色色爽爽天天| 国产古装妇女野外A片| 欧美色色色色色色色| 丁香五月人妻| 夜夜爽77777妓女免费下载| 天天摸天天日天天舔| 超碰人人91| 亚洲色五月| 99热这里只有精品最新网址| 亚洲天99| 欧美激情综合五月色丁香| 色99网| 狠狠做五月| 色综合77777| 欧美日本国产欧美日本韩国99| 蜜臀av无码久久久久久久久 | 久久九九免费视频| 五月综合缴情网| 六月丁香激情网| 日日日影院| 999久久久国产精品| 激情五月小说婷婷| www.婷婷网| 丁香六月婷婷社区| 狠狠狠狠狠干| 五月天激情四射网站| 九九热只有这里是精品| 狠狠干在线| 国产精品99久久久久久久女警| 天天婷婷| 丁香婷婷久久激情| 久久与婷婷| 激情色五月天| 99热这里| 性生活视频98791| 襙逼网| 超碰人人色| 久久久9久| 99在线精品观看99| 激情AV在线| 亚洲情a| 婷婷色五月激情| 3p久久| 久久婷综| 久久香蕉网| 亚洲av日韩无码| 丁香婷婷视频一区二区| 思思99热在线| 热九九精品| 久热伊人9| 99在线视频操999| 大香蕉520| 日韩精品999| 色吧综合网| 思思re视频在线| 国产在这里只有精品| 94干大香蕉| 五月天婷婷导航| 99re这里只有| aa久久| 久久久天天啊| 中文字幕欧美精品久久| Va另类视频| 97在线精品| 色婷婷丁香五月天| 成人av在线网站| 熟美女麻豆| 五月草影视| 草草女人亚洲| 日日夜夜青青草| 亚洲综合色网| 天天爱天天做天天日| 999婷婷综合| 99精品国产在热久久婷婷| 精品无码片| 五月天婷婷永久免费视频| 噼里啪啦在线观看免费完整版视频| 婷婷五月电影院| 91久久精品无码一区二区三区| 亚洲AV永久无码影院黑人 | 五月丁香六月婷| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 伊人久久大香蕉网| 热久69| 老司机日日夜夜青草| 久久丁香网| 色五婷婷| 激情五月九九九| 丁香婷婷视频| 色婷婷五月成人网| 五月丁香婷婷爱| 天堂爱啪啪| 久热99热| 久热大香蕉| 五月天激情久久| 99 热| 国产成人+综合亚洲+天堂| www.激情在线| 超碰狠狠干99| 俺去啦综合网| 在线99色| 99ri视频| 电影蜘蛛女| av大片在线| 五月天激情AV| 1024婷婷综合久久五月天| 色爱综合网| 日韩人妻无码一区二区| 免费看成人AA片无码视频吃奶| 欧美va| 97久久超视频| 99色干| 热的国产,热的综合,热的有码| 欧美成人AAA片一区国产精品| 99久久久国产精品免费蜜乳tv| 亚洲一区二区 成人网站戴套| 五月丁香婷婷综合| 婷婷爱在线观看| 双性美人被调教到喷水A片| 深爱激情网综合| 婷婷丁香成人五月天| 婷婷五月色播放| 精品人妻久久久| 岛国午夜视频| www.婷婷| 99精品视频在线观看| 51avj视频大全| 99久热在线精品| 国产AV一区二区三区最新精品| 精品A√| 人人澡玖玖一| 在线播放人妻| 色99自拍| 亚洲综合视频一下| 精品99在线看| 青青草视频免费观看| 婷婷五月综合网| 狠狠色婷婷在线| 天天久久婷婷| 欧美性爱五月天| 欧美日韩AAAA| 天天弄天天爽| 亚洲色婷婷久久99精品91| 婷婷网五月天| 玖玖资源在线视频| 丁香五月天天哦| 久99久视频精选| 热九九精品| 亚洲无码99| 色五月天中文字幕| WWW99热| 九热网站| 久热九九| 九九精品热播| 婷婷丁香综合成人| 男人的天堂999| 91精品丝袜久久久久久久久粉嫩| 99re久久| 久久网日本| 六月丁香久久| 五月色欧洲| 99久久婷婷国产综合| 超级碰碰99| 欧美搡BBBBB摔BBBBB| 五月色婷婷影院| 国产精品五月天婷婷| 99热这里只有精品亚洲| 六月丁香av| 91亚洲免费片| 青青草大香| 97在线精品| AV在线免费网站| 五月天最新网| 五月婷婷六月奇米网丁香| 天搞天天天天天| 精品99在线| 亚洲成人无码免费| 99久久超级| 人妻体体内射精一区二区| 狠狠综合| 99久久精品色老| 色婷婷性爱| 91操女| 好吊兆人妻| 欧美午夜乱妇午夜福利| 99精品视频在线观看| 五月丁香久久网| 操逼巨乳91| 五月天亚洲综合网| 可以观看的AV| 五月婷婷丁香在线视频| 99热这里只有精品一| 九九综合精品| 久久99热这里只有精品23| 丁香六月激| 久久五月丁香| 亚洲无码另类| 综合色情网| 中美日韩成人在线| 激情婷婷丁香五月天| 丁香五月欧美色综合| 九九99热久久精品66中文字幕| 激情淫乱男女| 欧美性爱日韩性爱| 九九99热| 久久精品婷婷| 大香蕉啪啪啪| 五月丁香五月丁香| 开心五月丁香综合久久| 婷婷丁香五月激情中文字幕版| 美女婷婷六月色| 天天色五月| 欧美色色色| 99热这里只要精品免费| 少妇达人正片在线播放_ikun_福利吧| 色色性爱视频| 色色色婷| www.色婷婷.com| 婷婷久久五月天| 五月开心播播网| 久久久亚洲成人无码A片| 亚洲无码免费看| 丁香色成人| 六月丁香花婷婷| 激情久久天天| 婷婷五月激情视频在线| 亚洲人成色A777777在线观看| 婷婷五月天堂| 五月综合色| 男女啪啪视频久 9| 1024婷婷综合久久五月天| 99热最新网址| 婷婷成人丁香色情基地30| 五月天综合影院| 色玖玖综合| 99日韩| 婷婷综合在线网| 国产熟女大叫受不了| 婷婷色播色五月五色五月天色妇| 99视频精品全部免费观看| 色色性爱视频| 五月婷婷中字在线| 五月天婷婷丁香蜜桃91| 五月丁香六月婷婷无码| 欧美日朝成人| 五月激情四射网站| 激情久久久久久久久久| 玖玖伦理电影| 五月婷婷婷婷| 色色色色综合网| 色婷婷另类| 午夜丁香丁香婷婷| 色综合综合网| 在线观看中文字幕| 七七色综合| 99久久久| 天天做天天爱天天综合网| 91婷婷| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 亚洲综合在线播放| 99精品成人无码A片观看金桔| 激情婷婷视频在线| 这里只有精品日韩精品| 狠狠狠色激情综合适合| 国产毛片精品一区二区色欲黄A片| www99xxxx五月丁| 激情综合自拍五月婷婷色五月| 99无吗| 国产精品久久欧美久久一区| 婷婷久久免费| 丁香五月婷婷天| 日韩无码色色| 综合五月丁香97| 思思综合热| 久热九九| 97婷婷在线视频| 天天操天天谢| 五月天另类视频| 日韩视频女神99| 久久人妻系列| 亚洲精品视频在线播放| 五月间天堂综合| 亚洲狠狠狠| 国外亚洲成AV人片在线观看| 啊V视频在线观看| 99视频只有精品| 90色免费视频| 色色99色色| 国产成人+综合亚洲+天堂| 色色丁香色五月| 五月天激情综合10p| 99热伊人| 五月天激情综合在线| 人人综合久| 久草丁香婷婷五月天婷| 国语精品探花| 亚洲狠狠色丁香婷婷综合久久| 99热只有精品在线播放| 久久99操| 黄色一级影片| 可以看的av| 亚洲黄色av网站| 久久视频这里99| 激情综合网婷婷五夜| 天干干夜夜操| 国产精品人成A片一区二区| 91精品综合久久久久久五月丁香| 九九性爱网| 丁香五月最新网址| 99精品在这里| 玖色色综合| 天天插综合| 人人操大| 色无码| 影音先锋91| 999久久久国产精品| 碰碰操91| 婷婷六月综合基地| 亚洲婷婷婷| 久久婷.com| 色婷婷亚洲婷婷| 五月天狠狠| 五月色婷婷亚洲| 亚洲人妻av| 五月天亚洲最大成人| 粉嫩AV久久一区二区三区| 天天爽天天弄| 中文字幕视频色婷婷| 91小黄书网址在线观看| 久久久久久久久久久久久久久久一道本| 啪啪五月天啪啪| 我淫我色婷婷五月天激情四射| 欧美激情五月| 色情五月天导航| 五月婷婷AV| 99碰超| 狠狠五月天| 日日激情网| 99热在线观看99| 狠狠爱婷婷爱| 精a品a视a频| 亚洲天堂婷婷丁香| 国产色99| 麻豆雪千夏| 婷婷另类小说| 这里只有九九精品| www.精品久9| 婷婷五月综合激情| 26uuu亚洲色| 99热一本久道| 五月婷婷综合激情| 婷婷色天香| 久久久五月天婷婷成人网| www.99热在线观看| 日韩人妻无码一区二区| 激情6月| 久婷婷婷| 狠狠操天天操天天操| 五月婷婷久久爱| 99精品久久久久久久婷婷| www.sd-xiangsu.cpm| 综合五月激情| 激情丁香社区| 99色热视频| 色欲婷婷五月天丁香| 无码99| 国产午夜精品久久久观看| 人妻激情在线| 日本人妻伦在线中文字幕| 天天操人人干| 伊人春天av| 操比激情五月| 97人人超| 精品无吗va视频免费观看| 99免费成人网| 欧美六月婷婷| 色综合99| 五月婷在线| 亚洲无码成人性爰网| 久99热在线观看| 日本视频不卡123区| 丁香久久综合| 国产精品久久久久久五月天加勒比| 91免费看片| 久色精品| 久久激情视频| 这里只有精品免费| 婷婷五月天无码视频| 丁香五月婷婷亚洲色图| 夜夜嗨一区二区三区直播内容 | 99热欧美偷拍| 日韩专区五月天婷婷丁香| 99精品自拍视频| 看久久性爱视频| 深情六月婷婷综合久久| 日本WWW九九九| 两性婷婷丁香五月| 天天日天天爽| 色综合丁香婷婷| 欧美激情综合色综合| 色99亚洲| 丁香激情久久| 色色综合热| 国产成人AV| 开心激情婷婷| 综合色五月天| 26uuu成人网| 五月综合缴情网| 草美女在线观看视频在线播放| 9191avse| 丁香五月婷婷天堂大香蕉| 香蕉曰比| 538在线精品| 欧美精品999| 97操在线视频| 操日视频| 人人播| 色色色色av色色色色| 欧美97p| xx综合网| 这里只有精品视频在线观看免费| 天天搡日日搡aaaaⅩ| 九九99热久久精品66中文字幕| 97碰 在线视频观看| 超碰成人公开| 久久精品99国产精品日本| 丁香五月婷婷网| 色婷婷丁香五月天| 国产操碰| 99久在线观看| 色99色| 日韩在线观看亚洲| 先锋资源婷婷| 激情五月天天狠狠久久| 夜夜骑天天操| 国产三级秋霞| 青青草激情网| 五月婷婷无码| 色婷婷成人| 婷婷婷婷婷婷婷婷| 天天爽天天干| 九色啦蜜臀| 五月丁香婷草| 色五月激情| 超碰碰碰碰| 可以直接看的av| 五月丁香六月| 色激情五月天| 成人.在线日韩| 五月天操逼激情| 婷婷日韩| 操人精品| 九九AV在线| 国产乱码久久| 婷婷五月天天| 日日做夜夜爱| 婷婷狠狠干| 99riAV国产精品视频| 97人人干人人操| 久久久人妻| 成人做爰高潮A片免费视频| 大香蕉综合视频在线| 五月婷久久综合| 超级碰碰碰97免费| 国产亚洲在线观看| 五月情婷婷五月| 欧美激情-区二区三区| 亚洲色五月婷婷| 五月天激情图片| 九九在线视频| 婷婷五月天丁香综合网| 成人网站av免费网站推荐| 丁香花五月天激情| 色婷婷视频| 五月天婷婷婷| 激情综合婷婷| 做爰丰满少妇1313| 久久精99| 久久人人九九| 五月天堂婷婷| 婷婷五月激情图片| 日日天天干| 婷婷丁香18| 影音先锋91| 婷婷色无码| 99爱在线精品视频免费观看| 婷婷色五月激情强奸四射| 日本97久久久精品| 91精品久久久久| 最新亚洲色色网| 国产在这里只有精品| 日本99视频| 五月婷婷很很色| 色呦呦美女| 天天拍久久| www.henhenl| 欧美成人AAA片一区国产精品| 婷婷五月六月| 婷婷五月天视| 99热在线精品观看| 人人操av| 九九热最新| 色婷婷丁香六月| 99热精品免费| 欧美色骚婷婷五月天| 亚洲综合在线视频| 六月亚洲婷婷6月中文字幕| 99热在线观看免费精品| 亚洲小视频免费看| www狠狠| WWW.五月天9999| 99国产精品久久久久久久久久久| 色噜噜,噜噜色| 亚洲乱码日产精品BD| wwwxxx五月婷婷小说| www.婷婷com| 五月天成人在线播放丁香| 丁香婷婷久| 婷婷丁香五月色| 91热视频色网站| 五月婷婷久久综合| 婷婷五月中文在线| 国产精品99久久久久久久女警| 欧美性爱特黄一级aaaassss| 91麻豆国产三级精品福利在线观看| 欧美激情凹凸丁香网| 俺去婷婷 丁香| 日韩精品一区二区亚洲AV观看| 性视频久久| www五月| 五月丁香在线婷婷蜜桃| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 99re视频在线播放| 精品久色| 国产99久久久国产精品免费看| 婷婷五月天BBw| 五月婷婷六月丁香首页| 欧美日韩99| 狠狠干2007| 91伦| 人人操插| 99re在线观看视频| 日韩精品呦呦va| 日韩高清成人| 天天爽天天弄| 操碰99在线视频观看| 亚洲天堂啪啪| 成人片久久网站| 热婷婷av| 色婷婷香蕉| 天天色,天天操,天天射| 爱iii做iiii日日| 五月婷网| 综合五月天天天天天五月| 亚洲九九婷婷| 国内外色色色色色成人视频| 综合综合网| 99热综合在线| 老师的粉嫩小又紧水又多A片视频| 婷婷伊人五月天| 久热伊人| 婷婷亚洲在线| 99无码超碰| 婷婷涩五月天综合| www.色综合.com| 国产69久久久欧美黑人A片| 综合图片色色| 电影爱拉战争免费观看| 9 1 A v久久久| 五月丁香综合啪啪| 激情綜合W W W,激情五月天| 精a品a视a频| 五月婷综合激情| 国产精品国产成人国产三级|