欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

嵌入式入門路線:從STM32到FreeRTOS與Linux實(shí)戰(zhàn)

嵌入式入門路線:從STM32到FreeRTOS與Linux實(shí)戰(zhàn) 1. 嵌入式入門到底難在哪先搞清楚這件事很多人一提到嵌入式腦子里第一反應(yīng)就是“難”第二反應(yīng)是“我該從哪開始”。網(wǎng)上搜一圈有人說先學(xué)51單片機(jī)有人說直接上STM32還有人說要先啃C語言和數(shù)據(jù)結(jié)構(gòu)更有人勸你直接搞嵌入式Linux。信息一多人就懵了。我當(dāng)年也是這么過來的買了一塊開發(fā)板裝了個(gè)Keil點(diǎn)了個(gè)燈然后就不知道下一步該干嘛了。這篇文章想解決的就是這個(gè)問題給出一條從零到能干活、能出項(xiàng)目的嵌入式上手路線。不是那種“先學(xué)模電數(shù)電、再學(xué)微機(jī)原理、最后學(xué)操作系統(tǒng)”的學(xué)院派路徑而是從實(shí)操出發(fā)讓你在最短時(shí)間內(nèi)建立起對嵌入式的整體認(rèn)知并且能動(dòng)手做出東西來。適合的人群包括電子、計(jì)算機(jī)、自動(dòng)化相關(guān)專業(yè)的學(xué)生想轉(zhuǎn)行做嵌入式的軟件工程師以及工作中需要接觸硬件但沒系統(tǒng)學(xué)過的開發(fā)者。核心關(guān)鍵詞就幾個(gè)嵌入式、STM32、FreeRTOS、嵌入式Linux、C語言。這幾個(gè)詞基本涵蓋了嵌入式入門的主干。我會(huì)按照“先跑起來、再搞明白、然后做項(xiàng)目、最后進(jìn)階”的邏輯來展開每一步都告訴你為什么這么做、怎么做、踩過哪些坑。先說一個(gè)基本判斷嵌入式不是一個(gè)單一技能它是一個(gè)技能棧。底層是電路和芯片中間是驅(qū)動(dòng)和RTOS上層是應(yīng)用和通信協(xié)議。你不可能一口氣全吃下來但你可以沿著一條主線快速建立框架然后再往深處鉆。這條主線我建議從STM32開始因?yàn)樗馁Y料最豐富、生態(tài)最成熟、上手門檻相對低而且學(xué)完之后遷移到其他平臺(tái)比如GD32、ESP32、甚至嵌入式Linux都很順。2. 上手路線怎么選別在起點(diǎn)上糾結(jié)太久2.1 為什么是STM32而不是51或者樹莓派我見過太多人在起點(diǎn)上糾結(jié)學(xué)51還是STM32學(xué)STM32還是直接上Linux我的建議很明確如果你目標(biāo)是快速上手并能做實(shí)際項(xiàng)目直接上STM32跳過51。原因很簡單51單片機(jī)的架構(gòu)和開發(fā)方式跟現(xiàn)代嵌入式差距太大你學(xué)完51再轉(zhuǎn)STM32很多概念要重新建立。而STM32的HAL庫、CubeMX工具鏈、中斷系統(tǒng)、外設(shè)設(shè)計(jì)思路跟現(xiàn)在企業(yè)里用的主流方案是一致的。那為什么不直接上嵌入式Linux因?yàn)長inux的學(xué)習(xí)曲線更陡你需要先理解操作系統(tǒng)、文件系統(tǒng)、驅(qū)動(dòng)模型、交叉編譯等一堆概念如果沒有單片機(jī)基礎(chǔ)很容易卡在“連環(huán)境都搭不起來”的階段。STM32能讓你先理解“寄存器—外設(shè)—中斷—RTOS”這條線再去學(xué)Linux會(huì)順很多。至于樹莓派它更像一臺(tái)小型電腦跑的是完整操作系統(tǒng)適合做應(yīng)用層開發(fā)但不太適合理解底層硬件控制。所以路線建議是C語言基礎(chǔ) → STM32裸機(jī) → FreeRTOS → 通信協(xié)議和常用外設(shè) → 嵌入式Linux入門。2.2 最小可行學(xué)習(xí)路徑四周跑通第一個(gè)閉環(huán)我給自己帶過的人設(shè)計(jì)過一個(gè)“四周閉環(huán)”計(jì)劃實(shí)測下來對新手很友好第一周裝好開發(fā)環(huán)境Keil或者VSCodePlatformIO跑通GPIO點(diǎn)燈、按鍵輸入、串口打印。目標(biāo)是理解“代碼怎么燒進(jìn)芯片、怎么看到結(jié)果”。第二周搞定定時(shí)器、中斷、PWM、ADC。目標(biāo)是能控制電機(jī)、讀傳感器、調(diào)燈光亮度。第三周移植FreeRTOS創(chuàng)建兩個(gè)任務(wù)一個(gè)閃燈一個(gè)串口輸出。目標(biāo)是理解“多任務(wù)”到底是怎么回事。第四周做一個(gè)綜合小項(xiàng)目比如超聲波測距OLED顯示串口上報(bào)。目標(biāo)是走完“傳感器→處理→顯示→通信”的完整鏈路。這四周下來你基本就能看懂大部分嵌入式項(xiàng)目的代碼結(jié)構(gòu)了。后面再根據(jù)方向深入比如做物聯(lián)網(wǎng)就重點(diǎn)學(xué)MQTT、藍(lán)牙、WiFi做控制就重點(diǎn)學(xué)CAN、485、伺服電機(jī)。2.3 工具鏈怎么選Keil、CubeMX、VSCode各自扮演什么角色工具選型這件事新手最容易走彎路。我的建議是STM32CubeMX必裝。它幫你生成初始化代碼配置時(shí)鐘樹、引腳、外設(shè)省掉大量查手冊的時(shí)間。很多人覺得用CubeMX“不夠底層”但實(shí)際工作中效率優(yōu)先先跑起來再研究寄存器完全沒問題。Keil MDK經(jīng)典但收費(fèi)社區(qū)版有代碼大小限制。如果只是學(xué)習(xí)可以用。VSCode PlatformIO 或 STM32CubeIDE免費(fèi)跨平臺(tái)插件生態(tài)好。我現(xiàn)在更推薦VSCodePlatformIO配合STM32CubeMX生成的代碼體驗(yàn)很順。串口調(diào)試工具隨便一個(gè)串口助手都行用來打印調(diào)試信息這是你最重要的“眼睛”。注意不要一上來就追求“純寄存器開發(fā)”。那是等你已經(jīng)能跑通項(xiàng)目之后為了優(yōu)化或者排查問題才需要深入的東西。新手階段先用庫函數(shù)把功能實(shí)現(xiàn)建立信心和整體認(rèn)知。3. C語言要學(xué)到什么程度才夠用3.1 嵌入式C和普通C的差別在哪很多人問我C語言學(xué)完了能直接搞嵌入式嗎答案是看你學(xué)的是什么C。普通C語言課程重點(diǎn)在語法、算法、數(shù)據(jù)結(jié)構(gòu)而嵌入式C的重點(diǎn)在指針操作、位運(yùn)算、內(nèi)存布局、volatile、const、結(jié)構(gòu)體對齊這些跟硬件打交道的東西。舉個(gè)例子你在PC上寫int a 10;編譯器可能把它放在寄存器里也可能放在棧上你不用管。但在嵌入式里你經(jīng)常要直接操作某個(gè)地址的寄存器比如*(volatile uint32_t *)0x40021000 0x01;這時(shí)候volatile的作用就非常關(guān)鍵——它告訴編譯器“這個(gè)值可能被硬件改變不要優(yōu)化掉”。如果你不懂這個(gè)代碼可能編譯沒問題但運(yùn)行結(jié)果完全不對。再比如位運(yùn)算嵌入式里到處都是|、、^、~、、。你要能熟練地設(shè)置某一位、清除某一位、翻轉(zhuǎn)某一位而不是用一堆if-else去操作。這些在普通C語言課里可能只是一帶而過但在嵌入式里是天天用的。3.2 必須掌握的C語言知識點(diǎn)清單我整理了一份“嵌入式C最小必備清單”你可以對照檢查知識點(diǎn)為什么重要掌握標(biāo)準(zhǔn)指針與地址操作寄存器、傳遞緩沖區(qū)能看懂*(volatile uint32_t *)addr位運(yùn)算配置寄存器位能獨(dú)立寫出置位、清位、取位宏volatile防止編譯器優(yōu)化硬件訪問知道什么時(shí)候必須加const常量存儲(chǔ)、只讀數(shù)據(jù)知道const變量放在哪結(jié)構(gòu)體與聯(lián)合體描述寄存器組、協(xié)議幀能定義并訪問位域函數(shù)指針回調(diào)、驅(qū)動(dòng)接口能寫簡單的回調(diào)注冊內(nèi)存分區(qū)棧、堆、全局、常量區(qū)知道變量存在哪、棧溢出怎么回事預(yù)處理器宏定義、條件編譯能寫帶參數(shù)的宏、頭文件保護(hù)如果你對這些還不太熟建議先花一周時(shí)間專門補(bǔ)一下。不用學(xué)到“精通”但要能看懂、能寫出來。翁愷老師的C語言課程可以作為復(fù)習(xí)參考重點(diǎn)看指針和結(jié)構(gòu)體部分。3.3 從“會(huì)寫C”到“會(huì)寫嵌入式C”的思維轉(zhuǎn)變最大的思維轉(zhuǎn)變是你寫的代碼不再只是給CPU看的還是給硬件看的。在PC上你操作的是文件和內(nèi)存在嵌入式里你操作的是寄存器和外設(shè)。每一個(gè)外設(shè)都有一組寄存器你通過讀寫這些寄存器來控制它。比如你要讓一個(gè)GPIO輸出高電平本質(zhì)上就是往某個(gè)地址寫一個(gè)值。另一個(gè)轉(zhuǎn)變是資源意識。PC上內(nèi)存幾個(gè)G隨便用嵌入式里RAM可能只有幾十KB??臻g可能只有幾KB。你定義一個(gè)char buf[1024]就要想清楚它放在哪、會(huì)不會(huì)導(dǎo)致棧溢出。FreeRTOS里每個(gè)任務(wù)都要分配??臻g棧給少了會(huì)溢出給多了浪費(fèi)RAM。這些在PC開發(fā)里很少需要考慮。還有一個(gè)是實(shí)時(shí)性意識。嵌入式系統(tǒng)經(jīng)常要求“在多少毫秒內(nèi)響應(yīng)”比如電機(jī)控制、傳感器采樣。你不能在中斷里做耗時(shí)操作不能用阻塞式延時(shí)要學(xué)會(huì)用狀態(tài)機(jī)、非阻塞掃描、任務(wù)調(diào)度來保證響應(yīng)速度。這些思維轉(zhuǎn)變只有在實(shí)際寫代碼、調(diào)代碼的過程中才能慢慢建立。4. STM32上手實(shí)操從點(diǎn)燈到多任務(wù)4.1 環(huán)境搭建CubeMXKeil/VSCode的完整配置流程先說一下我的環(huán)境配置流程以VSCodePlatformIO為例安裝VSCode在擴(kuò)展商店搜索PlatformIO并安裝。安裝STM32CubeMX去官網(wǎng)下載對應(yīng)版本。在CubeMX里新建工程選擇你的芯片型號比如STM32F103C8T6。配置時(shí)鐘外部晶振8MHz系統(tǒng)時(shí)鐘72MHz。CubeMX會(huì)自動(dòng)計(jì)算分頻和倍頻參數(shù)。配置GPIO比如PC13設(shè)為輸出用于點(diǎn)燈。配置串口USART1波特率115200用于打印。生成代碼選擇PlatformIO工程格式。在VSCode里打開工程PlatformIO會(huì)自動(dòng)下載依賴。連接ST-Link下載器點(diǎn)擊上傳代碼就燒進(jìn)去了。如果你用Keil流程類似只是生成代碼時(shí)選擇MDK-ARM格式然后用Keil打開、編譯、下載。Keil的調(diào)試功能很強(qiáng)可以單步、看寄存器、看內(nèi)存建議至少裝一個(gè)。實(shí)操心得CubeMX生成代碼后你的用戶代碼要寫在/* USER CODE BEGIN */和/* USER CODE END */之間否則下次重新生成會(huì)被覆蓋。這個(gè)坑我踩過不止一次。4.2 GPIO與中斷第一個(gè)可交互的嵌入式程序點(diǎn)燈是Hello World但光點(diǎn)燈不夠你要加上按鍵中斷才算真正理解“輸入-處理-輸出”的閉環(huán)。配置步驟按鍵引腳設(shè)為GPIO_EXTI模式觸發(fā)方式選下降沿。在CubeMX的NVIC設(shè)置里使能對應(yīng)的EXTI中斷。生成代碼后在stm32f1xx_it.c里找到EXTIx_IRQHandler它會(huì)調(diào)用HAL_GPIO_EXTI_Callback。你重寫這個(gè)回調(diào)函數(shù)在里面翻轉(zhuǎn)LED引腳。void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if (GPIO_Pin KEY_Pin) { HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); } }這段代碼看起來簡單但背后有幾個(gè)關(guān)鍵點(diǎn)中斷服務(wù)函數(shù)要盡量短不能放延時(shí)按鍵要加消抖硬件消抖用電容軟件消抖可以在回調(diào)里加時(shí)間判斷中斷優(yōu)先級要配置好否則會(huì)互相打斷。4.3 定時(shí)器與PWM控制電機(jī)和調(diào)光的基礎(chǔ)定時(shí)器是STM32里最復(fù)雜但也最有用的外設(shè)之一?;居猛居腥N定時(shí)中斷、PWM輸出、輸入捕獲。以PWM控制LED亮度為例選擇一個(gè)定時(shí)器比如TIM2配置通道1為PWM Generation。設(shè)置預(yù)分頻器和自動(dòng)重裝載值決定PWM頻率。比如72MHz時(shí)鐘預(yù)分頻72-1重裝載1000-1得到1kHz PWM。在代碼里用__HAL_TIM_SET_COMPARE(htim2, TIM_CHANNEL_1, duty)來改變占空比??刂齐姍C(jī)也是類似原理只是頻率要求不同。舵機(jī)一般用50Hz直流電機(jī)用幾kHz到幾十kHz。步進(jìn)電機(jī)則要用到更復(fù)雜的脈沖序列比如五線四相步進(jìn)電機(jī)的八拍控制。注意事項(xiàng)PWM頻率不能隨便設(shè)。頻率太低LED會(huì)閃電機(jī)嘯叫頻率太高可能超出驅(qū)動(dòng)能力。一般LED用1kHz以上電機(jī)用8kHz到20kHz比較合適。4.4 串口通信與調(diào)試嵌入式開發(fā)的“眼睛”串口是你調(diào)試嵌入式程序最重要的工具。沒有串口你就像閉著眼睛修車。配置串口很簡單CubeMX里選異步模式設(shè)置波特率115200生成代碼后用HAL_UART_Transmit發(fā)送數(shù)據(jù)。但實(shí)際使用中我建議你重定向printf到串口這樣調(diào)試信息輸出會(huì)方便很多int __io_putchar(int ch) { HAL_UART_Transmit(huart1, (uint8_t *)ch, 1, HAL_MAX_DELAY); return ch; }然后在代碼里直接printf(count%d\r\n, count);。注意要加\r\n否則串口助手顯示不換行。串口還能用來跟其他模塊通信比如藍(lán)牙模塊、WiFi模塊、GPS模塊。很多物聯(lián)網(wǎng)項(xiàng)目就是通過串口把STM32采集的數(shù)據(jù)發(fā)給通信模塊再上傳到云平臺(tái)。巴法云這類平臺(tái)就支持MQTT協(xié)議STM32通過串口連WiFi模塊再走M(jìn)QTT上報(bào)數(shù)據(jù)是一個(gè)很典型的入門物聯(lián)網(wǎng)項(xiàng)目。5. FreeRTOS怎么學(xué)才不懵5.1 為什么裸機(jī)跑得好好的要用RTOS很多人學(xué)到一定階段會(huì)問我裸機(jī)寫得好好的為什么要上RTOS答案在于任務(wù)復(fù)雜度和實(shí)時(shí)性要求。裸機(jī)程序通常是一個(gè)大循環(huán)所有事情按順序做。如果某個(gè)任務(wù)耗時(shí)太長其他任務(wù)就會(huì)被耽誤。比如你在循環(huán)里做串口打印打印本身可能耗時(shí)幾毫秒這期間按鍵響應(yīng)就會(huì)變慢。RTOS的核心價(jià)值是任務(wù)調(diào)度你把不同功能拆成獨(dú)立任務(wù)每個(gè)任務(wù)有自己的優(yōu)先級和??臻g調(diào)度器負(fù)責(zé)在它們之間切換。高優(yōu)先級任務(wù)可以搶占低優(yōu)先級任務(wù)保證關(guān)鍵響應(yīng)及時(shí)。同時(shí)RTOS還提供了信號量、隊(duì)列、事件組等機(jī)制方便任務(wù)之間通信和同步。但RTOS不是銀彈。任務(wù)多了??臻g要分配好優(yōu)先級要設(shè)計(jì)好否則會(huì)出現(xiàn)優(yōu)先級反轉(zhuǎn)、棧溢出、死鎖等問題。我見過不少項(xiàng)目上了RTOS之后反而更不穩(wěn)定就是因?yàn)闆]理解這些機(jī)制。5.2 任務(wù)、隊(duì)列、信號量三個(gè)核心概念一次講透FreeRTOS的概念很多但最核心的就三個(gè)任務(wù)、隊(duì)列、信號量。任務(wù)一個(gè)獨(dú)立的執(zhí)行流有自己的棧和優(yōu)先級。用xTaskCreate創(chuàng)建任務(wù)函數(shù)通常是一個(gè)無限循環(huán)里面要有阻塞點(diǎn)比如vTaskDelay否則低優(yōu)先級任務(wù)永遠(yuǎn)得不到執(zhí)行。隊(duì)列任務(wù)之間傳遞數(shù)據(jù)的通道。比如一個(gè)任務(wù)采集傳感器數(shù)據(jù)通過隊(duì)列發(fā)給另一個(gè)任務(wù)處理。隊(duì)列是拷貝傳遞不是引用傳遞所以數(shù)據(jù)不能太大。信號量用于同步和互斥。二值信號量常用于中斷通知任務(wù)互斥信號量用于保護(hù)共享資源。QueueHandle_t xQueue xQueueCreate(10, sizeof(int)); xTaskCreate(Task1, Task1, 128, NULL, 2, NULL); xTaskCreate(Task2, Task2, 128, NULL, 1, NULL); void Task1(void *pv) { int val 0; while (1) { val; xQueueSend(xQueue, val, portMAX_DELAY); vTaskDelay(pdMS_TO_TICKS(100)); } } void Task2(void *pv) { int recv; while (1) { if (xQueueReceive(xQueue, recv, portMAX_DELAY)) { printf(recv%d\r\n, recv); } } }這段代碼創(chuàng)建了兩個(gè)任務(wù)Task1每100ms往隊(duì)列發(fā)一個(gè)數(shù)Task2阻塞等待接收。這就是最典型的RTOS任務(wù)通信模式。5.3 棧溢出與優(yōu)先級反轉(zhuǎn)新手最容易踩的坑棧溢出是FreeRTOS新手最常見的問題。每個(gè)任務(wù)創(chuàng)建時(shí)都要指定棧深度單位是word4字節(jié)。如果你在任務(wù)里定義了大的局部數(shù)組或者調(diào)用了深層遞歸棧就會(huì)溢出。溢出后可能表現(xiàn)為硬件錯(cuò)誤、任務(wù)跑飛、數(shù)據(jù)錯(cuò)亂。FreeRTOS提供了棧溢出檢測機(jī)制在FreeRTOSConfig.h里把configCHECK_FOR_STACK_OVERFLOW設(shè)為1或2然后實(shí)現(xiàn)vApplicationStackOverflowHook函數(shù)在里面打印出錯(cuò)任務(wù)名。這樣一旦溢出就能及時(shí)發(fā)現(xiàn)。優(yōu)先級反轉(zhuǎn)是另一個(gè)坑。假設(shè)低優(yōu)先級任務(wù)A持有互斥鎖高優(yōu)先級任務(wù)B等待這個(gè)鎖中優(yōu)先級任務(wù)C搶占了A導(dǎo)致B一直等不到鎖。解決辦法是用互斥信號量不是二值信號量FreeRTOS的互斥量支持優(yōu)先級繼承能緩解這個(gè)問題。實(shí)操心得任務(wù)優(yōu)先級不要設(shè)得太接近也不要把所有任務(wù)都設(shè)成高優(yōu)先級。一般建議中斷相關(guān)任務(wù)最高控制任務(wù)次之顯示和通信任務(wù)較低空閑任務(wù)最低。棧空間先給大一點(diǎn)跑穩(wěn)定了再優(yōu)化。5.4 FreeRTOS移植LVGL和實(shí)際項(xiàng)目中的任務(wù)劃分LVGL是一個(gè)輕量級圖形庫在STM32上跑LVGL是很多帶屏項(xiàng)目的標(biāo)配。移植LVGL的關(guān)鍵是給LVGL一個(gè)定時(shí)器心跳通常1ms在任務(wù)里調(diào)用lv_tick_inc和lv_task_handler。LVGL本身不是線程安全的所以最好放在一個(gè)獨(dú)立任務(wù)里其他任務(wù)通過隊(duì)列或消息通知它刷新界面。一個(gè)典型的STM32FreeRTOSLVGL項(xiàng)目任務(wù)劃分如下任務(wù)名優(yōu)先級棧大小職責(zé)GUI_Task21024LVGL界面刷新、觸摸處理Sensor_Task3256傳感器采集、濾波Comm_Task2512串口/WiFi通信、協(xié)議解析Control_Task4256電機(jī)/PWM控制Log_Task1256日志輸出、調(diào)試信息這個(gè)劃分不是固定的要根據(jù)實(shí)際項(xiàng)目調(diào)整。原則是實(shí)時(shí)性要求高的任務(wù)優(yōu)先級高耗時(shí)長的任務(wù)優(yōu)先級低任務(wù)之間盡量通過隊(duì)列通信減少全局變量。6. 嵌入式Linux要不要學(xué)什么時(shí)候?qū)W6.1 從單片機(jī)到Linux的跨越點(diǎn)在哪嵌入式Linux和STM32裸機(jī)/RTOS是兩個(gè)世界。STM32你直接操作寄存器和外設(shè)代碼跑在裸機(jī)或RTOS上嵌入式Linux你跑在一個(gè)完整的操作系統(tǒng)上通過驅(qū)動(dòng)和文件系統(tǒng)來操作硬件??缭近c(diǎn)在于你需要理解操作系統(tǒng)、進(jìn)程、文件、驅(qū)動(dòng)、設(shè)備樹、交叉編譯這些概念。什么時(shí)候?qū)WLinux我的建議是當(dāng)你已經(jīng)能熟練使用STM32RTOS做項(xiàng)目并且工作中需要跑更復(fù)雜的應(yīng)用比如網(wǎng)絡(luò)服務(wù)、圖形界面、數(shù)據(jù)庫時(shí)再學(xué)Linux。如果你連單片機(jī)都沒跑通直接上Linux會(huì)非常痛苦因?yàn)槟阋瑫r(shí)面對硬件、系統(tǒng)、工具鏈三座大山。6.2 根文件系統(tǒng)掛載與NFS調(diào)試的實(shí)操記錄嵌入式Linux開發(fā)中根文件系統(tǒng)掛載是一個(gè)關(guān)鍵環(huán)節(jié)。常見方式有三種從Flash掛載、從SD卡掛載、通過網(wǎng)絡(luò)掛載。網(wǎng)絡(luò)掛載NFS在開發(fā)階段非常方便因?yàn)槟憧梢灾苯釉赑C上修改文件開發(fā)板上就能看到變化不用反復(fù)燒錄。配置NFS掛載的步驟PC上安裝NFS服務(wù)配置/etc/exports導(dǎo)出根文件系統(tǒng)目錄。開發(fā)板內(nèi)核啟動(dòng)參數(shù)里設(shè)置root/dev/nfs nfsrootPC_IP:/path/to/rootfs。確保開發(fā)板和PC網(wǎng)絡(luò)互通。啟動(dòng)開發(fā)板內(nèi)核會(huì)通過網(wǎng)絡(luò)掛載根文件系統(tǒng)。注意事項(xiàng)NFS版本要匹配。有些開發(fā)板默認(rèn)用NFS v3有些用v4配置不對會(huì)掛載失敗。另外PC防火墻要放行NFS相關(guān)端口否則會(huì)卡在掛載階段。6.3 嵌入式Linux學(xué)習(xí)路徑與項(xiàng)目推薦如果你決定學(xué)嵌入式Linux我建議按這個(gè)順序Linux基礎(chǔ)命令行、文件系統(tǒng)、權(quán)限、進(jìn)程、網(wǎng)絡(luò)。交叉編譯在PC上編譯ARM程序理解工具鏈。BootloaderU-Boot的編譯、燒錄、環(huán)境變量。內(nèi)核移植配置內(nèi)核、編譯、設(shè)備樹。根文件系統(tǒng)BusyBox、Buildroot、Yocto。驅(qū)動(dòng)開發(fā)字符設(shè)備、平臺(tái)設(shè)備、設(shè)備樹。應(yīng)用開發(fā)網(wǎng)絡(luò)編程、多線程、數(shù)據(jù)庫。項(xiàng)目推薦從“網(wǎng)絡(luò)攝像頭”或“物聯(lián)網(wǎng)網(wǎng)關(guān)”入手。比如用STM32做傳感器采集通過串口發(fā)給嵌入式Linux開發(fā)板Linux板子跑MQTT客戶端上傳數(shù)據(jù)。這樣既能用到單片機(jī)又能學(xué)到Linux應(yīng)用開發(fā)。7. 常見問題與排查技巧實(shí)錄7.1 STM32下載失敗、串口亂碼、中斷不觸發(fā)怎么辦這三個(gè)問題幾乎是每個(gè)STM32新手都會(huì)遇到的。我整理了一個(gè)速查表問題可能原因排查方法下載失敗下載器驅(qū)動(dòng)、接線、芯片鎖檢查ST-Link驅(qū)動(dòng)、SWD接線、用CubeProgrammer解鎖串口亂碼波特率不匹配、時(shí)鐘配置錯(cuò)確認(rèn)兩邊波特率一致、檢查系統(tǒng)時(shí)鐘中斷不觸發(fā)NVIC未使能、優(yōu)先級配置錯(cuò)檢查CubeMX NVIC設(shè)置、確認(rèn)中斷標(biāo)志清除程序不運(yùn)行啟動(dòng)文件錯(cuò)、復(fù)位電路檢查BOOT引腳、復(fù)位電路、啟動(dòng)文件ADC讀數(shù)跳動(dòng)參考電壓不穩(wěn)、采樣時(shí)間短加濾波電容、增加采樣時(shí)間7.2 FreeRTOS任務(wù)跑飛、堆棧溢出、Flash寫入被打斷FreeRTOS項(xiàng)目里任務(wù)跑飛通常跟棧溢出、優(yōu)先級配置、中斷安全有關(guān)。如果Flash寫入被打斷可能是因?yàn)樵谥袛嗬镎{(diào)用了Flash操作而Flash寫入需要關(guān)閉中斷。解決辦法是把Flash操作放在任務(wù)里寫入前掛起調(diào)度器或關(guān)閉中斷。taskENTER_CRITICAL(); HAL_FLASH_Program(...); taskEXIT_CRITICAL();但注意臨界區(qū)不能太長否則會(huì)影響系統(tǒng)實(shí)時(shí)性。如果Flash寫入數(shù)據(jù)量大建議分塊寫入每塊之間讓出CPU。7.3 CAN通信突然連不上、藍(lán)牙配對失敗、ADC通道切換異常CAN通信突然斷掉常見原因是總線終端電阻不匹配、波特率不一致、節(jié)點(diǎn)地址沖突。用示波器看CAN_H和CAN_L的差分信號正常應(yīng)該有明顯的高低電平變化。如果信號幅度不對檢查終端電阻通常120歐姆。藍(lán)牙配對失敗先確認(rèn)模塊波特率和AT指令模式。很多藍(lán)牙模塊上電后需要先進(jìn)入AT模式配置好名稱、波特率、配對碼再切換到透傳模式。STM32通過串口發(fā)AT指令時(shí)要注意加回車換行并且等待模塊返回“OK”。ADC多通道切換時(shí)如果讀數(shù)不對可能是采樣時(shí)間不夠或者通道切換后沒有重新校準(zhǔn)。STM32的ADC在切換通道后建議丟棄第一次采樣值從第二次開始讀。8. 項(xiàng)目實(shí)戰(zhàn)從超聲波測距到物聯(lián)網(wǎng)網(wǎng)關(guān)8.1 超聲波測距OLED顯示串口上報(bào)完整實(shí)現(xiàn)這個(gè)項(xiàng)目適合作為STM32FreeRTOS的綜合練習(xí)。硬件清單STM32F103C8T6、HC-SR04超聲波模塊、0.96寸OLED、USB轉(zhuǎn)串口模塊。任務(wù)劃分Trig_Task每100ms觸發(fā)一次超聲波讀取回響時(shí)間計(jì)算距離。Display_Task接收距離數(shù)據(jù)刷新OLED顯示。Report_Task每1秒通過串口上報(bào)一次距離。超聲波測距原理Trig引腳給10us高電平模塊發(fā)出8個(gè)40kHz脈沖Echo引腳變高回響結(jié)束后變低。Echo高電平持續(xù)時(shí)間就是聲波往返時(shí)間距離時(shí)間×聲速/2。float get_distance(void) { uint32_t time; HAL_GPIO_WritePin(TRIG_GPIO_Port, TRIG_Pin, GPIO_PIN_SET); delay_us(10); HAL_GPIO_WritePin(TRIG_GPIO_Port, TRIG_Pin, GPIO_PIN_RESET); while (!HAL_GPIO_ReadPin(ECHO_GPIO_Port, ECHO_Pin)); time 0; while (HAL_GPIO_ReadPin(ECHO_GPIO_Port, ECHO_Pin)) { time; delay_us(1); } return time * 0.034 / 2; }注意事項(xiàng)超聲波測距有盲區(qū)一般小于2cm測不準(zhǔn)。測量周期不要小于60ms否則會(huì)收到上一次的回波。多個(gè)超聲波模塊同時(shí)用會(huì)互相干擾要分時(shí)觸發(fā)。8.2 STM32FreeRTOS巴法云物聯(lián)網(wǎng)網(wǎng)關(guān)搭建物聯(lián)網(wǎng)網(wǎng)關(guān)的核心是采集數(shù)據(jù)→處理→上傳云平臺(tái)。STM32通過串口連接WiFi模塊比如ESP8266WiFi模塊連上路由器后通過MQTT協(xié)議連接巴法云。巴法云MQTT接入流程在巴法云注冊賬號創(chuàng)建主題獲取客戶端ID和密鑰。STM32通過串口發(fā)AT指令給ESP8266配置WiFi和MQTT參數(shù)。連接成功后STM32把傳感器數(shù)據(jù)發(fā)布到主題。手機(jī)或電腦訂閱主題就能看到數(shù)據(jù)。這個(gè)項(xiàng)目涉及的知識點(diǎn)很多串口通信、AT指令、MQTT協(xié)議、JSON格式、FreeRTOS任務(wù)劃分。做完這個(gè)你對物聯(lián)網(wǎng)的整個(gè)鏈路就清楚了。8.3 嵌入式AI測試在MCU上跑輕量級神經(jīng)網(wǎng)絡(luò)嵌入式AI是最近的熱點(diǎn)。在STM32上跑神經(jīng)網(wǎng)絡(luò)通常用TensorFlow Lite Micro或者STM32Cube.AI。流程是PC上訓(xùn)練模型→轉(zhuǎn)換成C數(shù)組→集成到STM32工程→調(diào)用推理接口。實(shí)際測試中一個(gè)簡單的MNIST手寫數(shù)字識別模型在STM32F4上推理一次大概幾十毫秒。如果模型再大一點(diǎn)F4就跑不動(dòng)了需要F7或H7系列。嵌入式AI目前適合做關(guān)鍵詞喚醒、簡單圖像分類、異常檢測等輕量任務(wù)復(fù)雜的視覺和語音還是得上LinuxNPU。9. 學(xué)習(xí)資源與進(jìn)階方向9.1 開源項(xiàng)目怎么選、怎么讀、怎么改嵌入式開源項(xiàng)目很多但質(zhì)量參差不齊。我建議從這幾個(gè)維度篩選Star數(shù)、最近更新時(shí)間、文檔完整度、Issue響應(yīng)速度。推薦幾個(gè)方向STM32的HAL庫例程、FreeRTOS官方Demo、LVGL的STM32移植例程、RT-Thread的BSP包。讀開源項(xiàng)目的正確姿勢先跑起來再改參數(shù)看現(xiàn)象然后跟蹤調(diào)用鏈最后嘗試增加一個(gè)小功能。不要一上來就逐行讀代碼那樣效率很低。9.2 從會(huì)用到會(huì)做如何積累自己的代碼庫工作幾年后你會(huì)發(fā)現(xiàn)真正值錢的是你自己的代碼庫。我建議從第一天就開始積累GPIO操作、串口收發(fā)、定時(shí)器配置、FreeRTOS任務(wù)模板、常用傳感器驅(qū)動(dòng)、通信協(xié)議解析。每個(gè)模塊都寫成獨(dú)立的.c和.h文件接口清晰方便復(fù)用。我的代碼庫里有一個(gè)bsp文件夾放板級支持包一個(gè)drivers文件夾放外設(shè)驅(qū)動(dòng)一個(gè)middlewares文件夾放FreeRTOS、LVGL、MQTT等中間件一個(gè)app文件夾放應(yīng)用邏輯。這個(gè)結(jié)構(gòu)在多個(gè)項(xiàng)目中直接復(fù)制省了大量時(shí)間。9.3 嵌入式架構(gòu)師需要具備哪些能力從工程師到架構(gòu)師差距不在寫代碼而在設(shè)計(jì)能力。架構(gòu)師要能根據(jù)需求選型芯片、設(shè)計(jì)軟件架構(gòu)、劃分任務(wù)和模塊、定義接口、評估資源和風(fēng)險(xiǎn)。還要懂成本、功耗、認(rèn)證、量產(chǎn)。具體來說需要具備扎實(shí)的C語言和數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)、熟悉至少一種RTOS和一種Linux、懂硬件原理圖和PCB基本知識、會(huì)看芯片手冊和協(xié)議文檔、有多個(gè)完整項(xiàng)目的落地經(jīng)驗(yàn)、能帶團(tuán)隊(duì)和做技術(shù)決策。這個(gè)目標(biāo)不是一兩年能達(dá)到的但只要你沿著“做項(xiàng)目→總結(jié)→優(yōu)化→再做更復(fù)雜的項(xiàng)目”這個(gè)循環(huán)走五到八年是可以摸到架構(gòu)師門檻的。關(guān)鍵是不要停留在“只會(huì)點(diǎn)燈”的階段要主動(dòng)挑戰(zhàn)復(fù)雜項(xiàng)目主動(dòng)復(fù)盤和沉淀。我個(gè)人在實(shí)際操作中的體會(huì)是嵌入式入門最快的路徑不是看視頻而是買一塊板子定一個(gè)項(xiàng)目逼自己在兩周內(nèi)做出來。過程中遇到問題就查、就問、就試這種“問題驅(qū)動(dòng)”的學(xué)習(xí)效率比按部就班高得多。踩過的坑越多成長越快。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
六月婷婷色综合| 综合激情啪啪| 色五月激情五月天| 亚洲色网址| 色色色天堂网| 激情欧美婷五月| 日本成人噜噜噜| 精品亚洲国产成人A片在线鸭王 | 五月丁香影院| 婷婷久久网| 亚洲色就是色色色| 日日干五月天婷婷| 99热精品在线观看| 99re热精品视频国| www久| 色五月婷婷基地| 九九精品99| 91玖玖| 一起草av| 亚洲婷婷六月天| 五月丁香在线观看| 一本久久亚洲五月婷婷| 日本色婷婷五月天成人电影| 日韩综合久| 免费黄网不卡AV| 亚洲欧洲另类| 五月天大香蕉| 婷婷五月天论坛| 精品夜夜澡人妻无码AV| 一级A片天天操夜夜操| 欧美性生交A片免费看| 久久综合热17c| 亚洲AV成人在线| 婷婷五月天少妇| 三级毛片视频| 激情久久丁香| 色婷婷狠狠| 女人天堂av| 无码成人AAAAA毛片AI换脸| sewuyue第四色| 欧美精品在线观看| 色五月婷婷小说亚洲中文字幕组| 7777激情基地| 亚洲综合色婷| 最新av在线观看| 久久久久8888| 欧美精品999| sS丁香五月婷婷| 国产真实乱对白精彩| 99热在线观看| 久久激情五月婷婷| 六月丁香激情网| 91超碰人人操| 538任你爽视频不一样的| 亚洲妇女熟BBW| 五月丁香六月婷| 五月天成人网婷婷| 六月激情婷婷色| 亚洲99在线| 性做爰A片免费视频A片直播| 91啪啪视频| 婷婷五月综合激情免费视频| 97色色网| 99热天堂| 色综合婷婷| 九九热精品6| 五月丁香好婷婷姑娘综合网| 噜噜色五月| 色综合色色色色| 日韩在线看AV| 成年人丁香五月| 91碰| 国产成人av在线| 五月婷婷六月基地| 五月婷婷五月天激情网| 色 色 色综合com| 天天做天天爱天天玩| 激情文学五月丁香六月婷婷| 99爱视频在线| 日本丁香五月| 久久综合影院| 久久婷丁香五月| 这里只有久久精99| 色播婷婷五月天| 婷婷在线精品| 国产欧美精品AAAAAA片| 精品少妇人妻AV无码专区偷人| 天天射综合网站| 亚洲操操| 成人短视频免费| 狠狠色色综合| 情欲综合网| 六月婷婷狠狠色在线观看| WWW.99热| 97精品综合久久| 欧美大片免费观看| 九九伦子片| 色噜久| 五月丁香激情综合| 国产免费性爱| 免费人人操| 亚洲在线操| 天天综合网亚洲综合网| 免费婷婷| 大香蕉久久综合网| 伊人网欧美在线男人天堂五月丁香| 五月婷婷综合网在线播放| 影音先锋777xfplay色资源网站| 天天婷婷| 日本wwww在线| 亚洲五月天综合| 色五月婷婷很很操| 教师性爱毛片| 婷婷久久综合| 国产成人高清| 婷婷狠狠操| 久草x色在线观看99| 亚洲AV综合网| 开心婷婷中文字幕| 婷婷性爱综合| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 久久伊人婷婷| 91狠狠色丁香婷婷综合久久精品| 色婷婷狠狠干芒果TV| 97久久超碰| 久久99草五月婷婷| 婷婷四色五月| 97碰 在线视频观看| 五月天婷婷久久日| 超碰成人公开| 丁香五月丁香伊人| 久久AAAA片一区二区| 天天骑日日爽| 99精品自拍| 美女精品一级不卡视频| 区美毛片子| 色综合天堂| 可以看的av网站| 日韩艹比| 欧美色五月天| 无码髙清| 香蕉婷婷| 亚州精品久久久久AV无码| 少妇真实被内射视频三四区| 性生活久久朋友人妻| 色婷婷五月在线| 成人av在线电影| 热久久思思热思思| 婷婷色一二三区波多野结衣| 成人短视频在线| 91蜜桃婷婷狠狠久久综合9色| 久久婷婷伊人| 九九黄色网| 婷婷五月丁香六月| 狠狠干狠狠干狠狠干狠狠干| 天堂网色婷婷| 色色九九五月天 | 一婬一伦一区二区三区| 四川BBB搡BBB爽爽视频| 99青青草| 狠狠狠狠狠狠| 天天操天天插| 色三级色三级| 亚洲天堂婷婷| 五月婷婷久久综合| 99er热精品视频| 五月天婷婷基地丁香| 青青草99re| 色五月激情网| 日本超碰在线| 五月丁香激情四射| 99在线免费观看| 日韩无码人妻一区二区三区综合| 99热这里只有精品66| 丁香五月停停av| 天天操夜夜夜夜爽| 久热久| 婷婷五月精品中文| 国产九九一区二区三区| 六月婷婷香蕉| WWW.婷婷五月天.COM| 一区中文字幕电影| 五月天激情网图片| www五月婷婷| 国外亚洲成AV人片在线观看| 午夜丁香婷婷| 精品欧美性爱超级爽| 青草青草视频2免费观看| 九九成人视频| 亚洲激情| 这里只有精彩小视频视频网站| 久久99这里只有精品| 超碰免费在线| 丁香婷婷综合色五月激情国产基地| 丁香五夜激情四射夜夜夜| 香焦网五月天| 亚洲va日| 99无码黄色视频| 中文av网站| 婷婷久久久久| 少妇人妻丰满做爰XXX| 碰碰人人人| 久久婷.com| 色五月丁香总合网| 深夜A片| 成人五月天丁香婷| 黄网在线免费| www九九热| 色五月激情基地| 99热老网站| 激情98色婷婷五| 色婷婷久久天天性爱| 免费的日逼视频| 99视频精品在线| 操人91| 色婷婷成人| 人人摸人人澡人人| 任你弄在线视频免费| 99久久99热| 久久激情天堂| 99热色综合| 开心五月丁香啪| 婷婷五月花| BT综合在线视频观看| 天天做天天摸| 久久图色4| 日韩色情亚洲五月天婷婷| 久久婷色| 99re在线观看视频| 2050人人操免费工开爱 | 婷婷五月影院| 色久天| 日韩在线一级| 丁香五月开心亚洲| 99re热在线观看| 五月婷婷婷| 三级99热| 狠狠色色| 超碰人人艹| 精品久久久人妻| 91人人爽狠狠狠| 色色婷婷五月天| 色A网| 九九激情| 色情综合网| 99热无码首页| 成人视频九九| 偷拍91九色| 搡BBBB搡BBB搡18| 国产精品视频久久99| 在线视频激情网站| 欧美婷婷五月激情| 精品99在线观看| 色情五月丁香| 九九热啪啪| 婷婷久久六月费| 91超碰在线播放| 夜夜嗨一区二区三区直播内容 | 亚洲AV日韩无码| 伊人热在线大香蕉| 亚洲色综合| www.夜夜操.com| 五月婷婷 六月丁香| 五月丁香六月激情综合| 香蕉久久五月| 久久综合九色综合97婷婷| 激情五月婷婷五月丁香五月开心五月| 婷久看人爽| 欧美日韩99| 991精品在线视频| 91大操| 亚洲国产精品二二三三区| 综激情网| 五月婷精品| 天天干天天做| 韩国激情五月天综合网| 超碰成人av| 最近中文字幕在线中文视频| 五月婷婷激情综合av| 久久色五月天综合网| 色色com| 96丁香六月婷婷蜜桃综合久久| av婷婷丁香| 无码九九| 天天综合色| 99在线免费视频| www.99免费视频| 狠狠草婷婷| 亚洲综人色综网| 五月丁香久久综合| www.99视频| 激情婷婷五月天| 九色91视频| 精品久久66| 色婷婷亚洲综合网站| 中文字幕在线播放视频| 亚洲色激情| 国产91资源在线| 99爱爱| 久99| 五月激情婷婷丁香天堂| 五月天综合激情网| 大香蕉久久婷婷精品综合| 日韩av手机在线观看| 亚洲尤物在线| 开心五月婷婷综合在线精品素人| 夜夜爽天天干| 婷婷成人丁香色情基地30| 六月色婷婷| 91人妻视频| 免费看成人AA片无码视频吃奶| 色琪琪一综合久久激情五月视频| 亚洲av成人一区二区电影在线| 日韩欧美一区二区三区四区| 色婷婷五月综合色婷婷| 综合XX网| 夜夜噜夜夜奇| 欧美一线视频| 五月天精品| 午夜不卡成人一区二区| 天天色伊人| 开心五月婷婷| 毛片新网地| www.婷婷五月天,com| 婷婷99热| 激情亚洲网| 日日日,com| 影音先锋男人AV资源站| 91九色精品女同系列| 五月丁香六月色婷婷综合五月天| 97超碰欧美中文字幕| 国产精品天天狠天天看| 亚洲天堂99| 就要爱综合| 婷婷99视频在线| 强伦轩人妻一区二区电影| 玖玖精品视频| 一起草Av| 99综合网| 亚洲人人操BD| 成人精品一区二区三区四区五区 | 欧美噜一噜| 五月天色五月天| 99热都是精品| 天天插天天插天天日| www.com色播五月天| 激情五月婷婷| 日比视频91| 天天操天天插| 大香蕉九九| 99热欧美| 久久婷婷五月天| 午夜丁香综合婷婷| 国产精品色色| 9久久婷婷国产综合精品性色| 91婷婷色| 亚洲一级色电影| 激情碰碰碰| 五月天狠狠色| 插插网爽妇五月丁香| 99这里只有精品在线| 综合欧美五月婷婷| 国产1区2区3区| 操人久久| 97欧美在线| 久er免费视频| 狠狠色丁香99| 五月激情偷拍| 久久婷婷五月天懂色| AV在线资源| 97婷婷色| 五月天福利影院导航| 五月天婷婷色播综合在线| 97人人看一| 婷婷中文字幕| 人妻久久久久久久 | 97精品综合| 国产精品18久久久| 久久久99视频| 亚洲激情综合五月婷婷啪啪| 亚洲综合1024| 亚洲午夜在线视频| 丁香五月激情月| 狠狠操在线视频| 激情婷婷丁香| 七七色综合| 五月婷婷三级| 五月丁香婷婷成人综合网| 中文资源在线a| 99久高清视频| 五月色综合网欧美网| 99视频精品8 | 超pen个人视频97| 久久婷婷国产| 26UUU精品一区二区c〇m| 婷婷丁香人妻天天久久| 丁香六月天| 丁香五月天啪啪| 久久久久久天天日天天爱| 亚洲成人网站在线观看| 5月婷婷激情网| 超碰v| 欧亚色色| 国产精品日本一区二区在线播放| 五月婷婷啪啪啪| 婷婷欧美激情| 91精品婷婷国产综合| 五月丁香六月婷婷玖玖| 欧美一级色| 日韩ww| 337p午夜影院| 五月黄色婷婷| 91超碰人人操| 丁香五月花婷婷开心| 婷婷五月天在线观看免费| 亚洲在线免费成人| 五月婷婷丁香五月| 99久在线观看| 九九伊人网| 色亚洲无码| 殴美97色| 久久五月天网| av在线激情| 日日色综合| 99热精品在线| 免费无码毛片一区二区A片| 色综合久久伊伊婷婷五月| 激情五月天第四色| 五月天综合在线| 婷婷激情蜜桃玖玖丁香| 99精品高潮| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 激情婷婷99| 日韩色五月| 淫视馆aV二区一区| 亚洲成人av在线播放| 操九色| 2025天天爽天天摸| 色碰碰视频| 天天狠狠综合精区| 26uuu丁香婷婷五月| 99噜噜噜在线播放| 五月开心啪啪| 97日韩无套内| 日本99热| 色在线99| 九九久久视频| 婷婷丁香五月天狠狠| 婷婷 丁香 久久| 婷婷啪啪| 99热在线精品观看| 婷婷五月综合激情免费视频| 无码G高清天| 99re在线精品视频| 成人AV播放| 婷婷综合激情| 色婷婷五月天在线观看| 亚洲色爱综合| 亚洲亚洲永久无码777777| 久久丁香五月综合六月激情红杏视频| 91丨九色丨国产在线| 九九艹女| 超碰在线免费观看3 9| 伊人大香五月天| 日韩人人操| 亚洲五月六月婷婷| 五月丁香婷婷色播无码| 91色色色视频| 热久91| 天堂无码人妻精品AV一区| av亚洲国产小电影| 极品少妇XXXX精品少妇偷拍| 婷婷狠狠18禁久久| 五月天天天天天天天天天天天天天天天婷婷婷| 99热这里只有的精品视| 婷婷射丁香| 男人的天堂五月丁香| 五月社区婷婷激情| 99热只有这里才是精品| 久久伦乱| 九九精品热| 亚州操人在线视频| 青草青草视频2免费观看| 色婷婷基地 | 五月婷婷 自拍| 91oumei| 欧洲S级在线观看| 婷婷丁香熟妇综合网| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 色玖玖| ww亚洲ww在线观看| 26uuu国产| 久操婷婷| 99热全是精品| 91精品视频男人的天堂| 色综合com| 另类小说五月天综合网| 婷婷五月激情中文字幕| avh片在线观看| 色欲影香| 九九在线这里只有精品视频| 人妻久久久久久久 | 1024国产在线| 天天草天天舔| 九九在线精点品| 日韩ww| www久久99| 天堂在线9| 最新高清无码专区| 欧美三日本三级少妇三99| 国产精产国品一二三在观看| 亚洲天堂爱爱| 97碰在线| 超碰激情网| 中文字幕 久久9999| 五月丁香六月情| seuuu婷婷| 日本三级日本三级三级人妇四虎| 色久婷婷五月| 五月天色图| 丰滿爆乳一区二区三区| 欧美激情性做爰免费视频| 五月婷免费视频| 五月丁香中文字幕| 丁香五月激情网| 色五婷婷开心缴| 婷婷五月天淫荡| 极品人妻videosss人妻| 免费在线观看AV网站| 色婷丁香五月| 亚洲爆乳无码精品AAA片蜜桃| 色情久久久| 五月天激情亚洲| 99r久久这里只有精品| 狠狠久久婷五月| 婷婷色播婷婷| 粉嫩AV久久一区二区三区| 国产va在线视频| 丁香五月天堂网| 天天模,夜夜模夜夜爽| 色五月激情综合网| 草草视频91| 五月丁香综合激情| 超碰色天堂| 99久久6| 丰满少妇乱A片无码| 五月婷婷色丁香| αV电影| 97碰久久| www色五月天| 东北黄色一级| 人妻丰满精品一区二区A片| www.丁香五月| 婷婷在线操| 婷婷色情 | 曰日爽日日操| 99热免费精品热久久66| 婷婷五月天免费99| 五月婷色| 婷婷五月天激情开心网| 久久久久亚洲A∨成人乱码电影| 色色欧美色色| 婷婷九月丁香| 自拍盗摄 另类| 五月婷婷在线短视频| 五月婷三级片| 97色女人在线| 天天摸天天高潮天天爽| 精品色色网| 亚洲视频a| 国产精产国品一二三在观看 | 少妇搡BBBB搡BBB搡毛茸茸| 亚洲九九九九| 亚洲综合新99视频| WWW免费视频碰碰碰碰| 97干在线| 欧美日韩一区二区三区四区| 激情五月综合亚洲另类| 婷婷玖玖丁香| 国内自拍97在线| 亚洲精品又粗又大又爽A片 | 99热在线观看| 日韩欧美颜射| 碰碰91| 激情人妻综合| 色综合久久44| 亚洲av网站| 99人碰碰碰| 天天射综合网站| 日本社区五月天激情| 色亚洲中文| 日日干综合| 五月婷婷伦理| 色爱终和网| 超碰1999| 五月天婷婷社区| 丁香五月婷婷亚洲另类| 97涩涩丁香五月天| 国语精品探花| 日韩欧美成人片| 99人妻碰碰碰久久久久视| 五月涩涩网| 五月宗合激情网| 9精品在线| 综合久| 六月撸婷婷| 97在线精品| 欧美性生交XXXXX无码小说| 中字幕视频在线永久在线观看免费 | 国产精品18久久久| 色综合久久久综合久久网| 91免费看片| 色婷婷五月天av在线| 激情九月丁香婷婷| 丁香九色不卡aaa| 91chinese在线| 夜丁香五月婷婷| 狠狠色噜噜狠狠狠888了| 五月久久亚洲| 久久久这里有精品| 日韩黄在免| 天天综合91入口| 91狠狠综合久久久久久| 天天操夜夜操| 九月婷婷激情| 伊人狠狠操| 大香蕉五月天| 五月丁香六月婷婷的女人| 婷婷伊人激情婷婷| 日本99久久| 天天插天天干| 91丨九色丨东北熟女| 婷婷激情丁五月| 久久人妻精品| 久热 91| 五月天综合在线观看| 99精品国产在热久久| 91狠狠综合网| 五月色综合| 91日综合欧美| 色五月婷婷很很操| 大香伊人久色| 开心四月婷婷在线色播播| 欧美丁香婷婷五月天| 蜜桃人妻无码AV天堂三区| 97五月综合网| 久久Xx| 久久久精品视频79| 婷婷五月天色色| 99久久久久| 天天骑天天操| 狠狠色丁香婷婷久久综合| 韩国激情五月天综合网| 色婷婷AV久久| 亚洲成人AV在线播放| www久久久久久久| 婷婷五月六月激情| 九九99香蕉在线视频播放| 人人操99| 色五月天综合| 九九中文色色| 91九色国产| 日本99视频| 六月婷婷色综合| 人人人人人人人草| 免费看片在线观看| 婷婷五月激情欧美| 色婷婷综合中心| 超碰国产在线| 一区视频网站| 色婷婷深爱五月| 国产.亚洲.欧洲视频在线| 中文字幕 码精品视频网站| 婷婷五月在线视频| 婷婷爱综合| 伊人婷婷五月天| 99精彩视频| 99综合| 六月婷婷视频| 涩 五月 婷婷 狠狠| 天天干狠狠艹| 色婷| 国产超碰av| 成人av免费观看| www.99视频| 婷婷丁香成人| 国产色色小草视频| 五月婷婷中文字幕| 五月激情综合五月| 91狠狠色丁香婷婷综合久久精品| 亚洲亚洲人成综合网络| 三级黄网站| 婷婷久久丁香| 99视频在线精品免费观看2| 欧美黑人大吊| 五月丁香欧美综合| 婷婷噜噜| 色欲久久久久| 99这里| 色婷婷婷婷| 色情五月停停丁香| 亚洲五月婷天天操| 精品婷婷五月视| 欧日美女Va| 青青草99热久久精品国| 亚洲网站观看视频| 免费看欧美成人A片无码| 久久性爱视频网站| 伊人久久艹| 99热最新| 色五月婷婷丁香凹凸| 99热最新精品| 天天摸日日舔狠狠添婷婷婷| 第四色婷婷五月| 色噜综| 人人摸人人| 人人操人av| 婷婷五月天狠狠| 激情婷婷丁香色五月| 丁香五月 六月婷婷首页| 伊人丁香五月婷婷潮吹| 99在线看视频| 久婷婷色| 亚洲色五月天是什么| 丁香六月视频| 婷婷丁香六月| 国产亚洲99久久精品| 色天使色综合| √天堂资源在线人妻熟女| 婷婷丁香五月天影院 | 色播综合| 永久地址 色| 超碰人人干| 婷婷五月天基地| 熟妇内谢69XXXXXA片| 日韩欧美成人网| 天堂资源欧日浪女在线播放| 五月丁香激情四射| 婷婷丁香六月激情综合| 婷婷五月天激情小说| 日本三级中国三级99人妇网站| 婷婷五月婷婷| 国产激情综合五月久久| 亚洲第一成人AV| 97视频.干com| 激情小说五月天中文字幕| 97人人操人人干| 国内精品免费一区二区2009| 婷婷五月激情综合啪啪| 五月婷婷免费| 久热无码| 狠狠情色| 思思99精品视频在线观看| 99视频在线精品| 色色五月婷| 色五月天.con| 婷婷伊人久久| 秋霞性爱AV| 这里只有精品视频| 99ri6在线视频| 99热这里| 五月天丁香成人社| 2017人人操| 国产成人99久久亚洲综合精品| 色色网站| 五月丁香六月情婷婷久久| 五月丁香无码| 五月丁香婷婷婷激情爱爱| 玖玖婷婷色五月| 日婷婷| 色五月天电影| 婷婷伊人綜合中文字幕小说| 日本一级一片免费视频| 丁香婷婷啪啪啪| 五月天婷婷成人网| 日日操日日射| 欧美日本高清视频99| 日韩五月丁香| 色色色色五月天| 亚洲日韩一页精品发布| 五月婷婷人妻| 亚洲A片成人无码久久精品青桔| 久久久精品视频79| 亚洲国产精品VA在线看黑人| 丁香五月AV在线| 免费碰碰视频久| 午夜性爱影视一区77| 九九中文色色| 爱射综合| 天天射天天射一道本日本社区| 伊人丁香婷婷东京| 天堂五月婷婷| 色婷婷五月天在线观看| 99热销国产这里有精品| 青草视频在线播放| 婷婷五月婷婷| 色性综合| 婷婷色在线视频| 可以直接看的av| 五月丁香久久综合| 强奸幻女毛片| 这里有精品| 美女婷婷六月色| 五月天丁香成人| 日韩二区搞逼插逼毛片| 五月婷婷影| 第四色婷婷丁香五月| 婷婷五月亚洲综合| 久热99视频在线观看| 午夜69成人做爰视频| 久久99网| 亚洲激情电影五月天色婷婷丁香一起草| 日熟女| 欧美人与性动交CCOO| 欧美成人性爱网| 激情开心五月亚洲| 婷婷激情肏屄网| 日韩AV中文字幕在线| www.夜夜操.com| 欧美99热| WWW.婷婷| 亚洲色网络| www久久久久久久久久久| 天堂久久婷婷| 色啪影院| 99这里都是精品| 六月婷婷中文字幕| 这里只有精品9| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 天天擼久久擼在线| 99热精品6| 久久久er热| 色色色视频免费无码| 色V狠狠的干| 超碰91av| wuyuedingxiang99| anquye五月| 天天综合网在线| 99热这里只有免费| 天天碰天天插天天操| 天天干com| 久久久久久久久人妻| 色五月丁香伊人五月| 丁香五月骚喷水视频| 色色99| 九九热视频99| 中字幕视频在线永久在线观看免费| www.五月.com| 亚洲愉拍99热成人精品| 99热加勒比| 五月激情射| 人妻久久久久| 婷婷婷婷色| 亚洲激情婷婷| 国产美女无遮挡裸体毛片A片| 人妻aV在线| 丁香五月花婷婷开心| 欧美性猛交99久久久99| 五月综合六月丁| 婷婷久久丁香| 久久视频在线视频| av在线免费网站 | 久久狠狠干| 婷婷色情网| 婷婷五月天在线一区| 大香蕉伊人久久| 91丨九色|PRNY熟妇| wwW天天干| 婷婷色五月色| 人妻激情久久| 五月天色婷婷激情综合| 婷婷色网站| 性av| 伍月婷丁香婷| 婷婷久热| 婷婷精品综合| 第四色色六月色综合| 在线网黄| 黄色一级影片| 夜夜www| 五月丁香色综合| 亚洲中文字幕AV| 欧美99热| 丁香婷婷婷五月综合色情| 欧美婷| 久久久一级AAA| 99热无码精品| 涩婷婷五月天| 人妻五月天激情开心网| 18av天堂| 国外亚洲成AV人片在线观看| 热的国产,热的综合,热的有码| 天天肏在线观看| 精品久久9| 色五月成人| 亚洲 精品 综合 精品| 国自产拍偷拍精品啪啪一区二区| 亚洲99视频| 激情淫乱男女| a久久| 五月天丁香看婷婷| 这里只有精品久久| 播五月婷婷开心| 狠狠插.com| 婷婷瑟瑟五月天| AV大香蕉| 五月丁香操亭亭网| 五月丁香婷婷激情影院欧美| 色色色图| 丁香五月激情六月欧亚激情综合导航 | 国产AV一区二区三区最新精品| 青青福利网| 停停五月色宗合| 五月婷婷影院| 天天操天天日天天爽| 五月天丁香看婷婷| 91啪啪网| 丁香五月1页| 国产真人做爰视频免费| 精品久久艹| 97人人看| 97午夜一区二区| 日日操日日撸| 婷婷六月久久| 欧美色图45678| 情一色一乱一伦一91A| 色播五月| 91丨九色丨白浆秘| 丁香五月色色| 五月天丁香综合在线| 日本韩国视频在线观看社区免费的9| 色呦呦美女| 79色色| 天天日天天插天天操| 综合久久激情久久| 强壮公让我夜夜高潮A片视频| 婷婷五月天第三页| 综激情网| 亚洲成人无码免费| 色婷婷视频| 欧美内射AA| 九九热啪啪| 日韩 中文 欧美| 第2色五月婷| 搡BBBB搡BBB搡18| 五月激情小说网| 激情五月丁香亭亭| 思思久久青草热| 激情五月六月丁香| 亚州精品久久久久AV无码| 六月婷婷狠狠色在线观看| 九月婷婷久久| 色色色在线观看| 《久久综合九色综合97婷婷| 综合五月丁香六月婷婷| 国产特级毛片AAAAAAA高清| 欧美精品99| www.五月天| 婷婷色五月91啪啪| 99热色婷婷| 91九色精品女同系列| 久久无码激情视频| 丁香花五月天| 精品九九在线观看视频| 97久久视频| 日韩成人影片在线观看| pom538精品视频| 大香蕉啪啪啪| 丁香五月婷婷成人色区| 丁香五月综合网亚洲综合欧美狠狠| 《蜘蛛女》梁铮1995| 成人五月天丁香婷| 欧美69久成人做爰视频| 九月丁香八月婷婷久久综合久97| 91久久五月天| 色色色在线免费视频| 亚洲成人在线五月天| 91久久久久久| 国产精品18久久久| 日91高清无玛| 色色色色色网站| 天天干一干| 五月丁香自拍| 99爱精品视频| 99久.| 97操碰日本女人| 午夜九九电影| 涩五月婷婷| 激情六月婷婷| 婷婷五月天丁香社区| 色开心五月婷婷丁香HD| 五月丁香久久综合精品| 97人人操在线| 成年视频免费观看| 色五月丁香六月资源站| 久99| 中美月韩免费A片| 中文久久婷婷| 人妻激情视频| 欧美日韩aaa| 五月婷婷六月丁香玖玖玫瑰91| 大陆肏屄视频| 1024AV视频| 丁香婷婷激情五月色| 中文字幕 中文字幕明步| 97干免费视频| 亚洲无码99| www.激情五月天.com| 欧美肉大捧一进一出免费视频| 五月花综合网| 亚洲乱码日产精品BD| 五月婷婷久久内射| 噜噜噜狠狠色综合| 激情五月综合网| 天天干天天干天天| 99久热这里只有精品视频删减版| 婷综合| 丁香五月综合高清在线| 伊人在线视频| 婷婷中文字暮| 日本一毛片| 婷婷激情综合| 五月丁香香蕉| 婷婷激情综合| 色五月婷婷很很操| 91精品久久久久久久久久| 天天色官网| 欧美久久久中文字幕| 99热这里只有精品1| 97热视频| 熟女国产在线一区二区三区四区| 99综合| 亚洲一色色色色色色色色| 亚洲182在线观看| 五月天婷婷在线AN| 17.c黄色| 色噜噜伊人| 久色五月天| 国产午夜精品AV一区二区麻豆| 久久婷婷综合五月趴| 久久久婷| www.久久9| 97热这里只有精品| 色婷婷亚洲六月婷婷中文字幕| 天堂婷婷五月在线| 丁香五月婷婷亚洲另类| 成人精品在线| 超碰大香蕉网| 色色性爱视频| site:feetmall.com| CAoub青青超碰| 五月婷婷激情久久| 99精品免费欧美小视频 | 综合色综合| 久久人妻久久久久| 丁香五月天天| 99情色五月天| 天天日天天操心| 久久色情| 久久XX| 午夜成人网站在线观看| 狠狠五月天婷婷激情网。| 成人看片网站| 亚洲天堂九九九| 精品久久久91久久影视网| 久久久久久综合88| www,超碰| 五月婷天天搞视频| 婷婷丁香第一页| sesesesezonghe| 九九九九九九毛片| 9色资源在线| 91打屁股免费看| 图片区 小说区 区 亚洲五月 | 精品欧美性爱超级爽| 九九色网| 国产欧美日韩综合精品一区二区| 九九视频在线观看视频6 | 99热最新| 爱久久小说下载网| 色婷婷狠狠禁18久久| 99热每日| 成人av在线电影| 99热国产在| 五月丁香六月情婷婷久久| 人妻 性久久久久久| 日本五月天婷婷丁香| 97色天堂| 91五月天| 操比激情五月综合| 激情五月天婷婷直播| 丁香久色| 五月婷婷婷婷网| 国产成人+综合亚洲+天堂| 国产乱子轮XXX农村| 99热免费| 色婷婷久久久| 精品久久久久久久久久久久人妻| 丁香五月激情婷婷婷婷在线观看| 婷婷操逼| 综合99视频| 中文不卡一二三区| 色99视频| 97干在线看| 亚洲噜色| 久久综合五月天| 五月婷婷9| 这里只有精品99视频| 91偷拍视频| 超级97碰碰| 国产高清精品色| 在线看的免费网站| 九九RE视频在线精品| 丁香五月婷婷影院| 中文字幕操比影片| 色色婷婷综合网| 99日韩| 亚州激情在线视频| 亚洲网视屏| 亚洲av综合网| 久久在这里99| 婷婷激情四射网| 久久爱婷婷| 成人无码中文| 天天色天天色天天色天天色天天色| 欧美丰满熟妇BBB久久久| 久久久久久久综合狠狠综合| 婷婷丁香在线| 99re久久| 久草大| 日本久草福利| 操逼巨乳91| www.henhenl| 婷婷色五月天在线| 日日日日做夜夜夜夜无码 | www.成人婷婷综合| 欧美色色干| 婷婷在线视频| 婷婷五月69| 丁香六月婷婷缴情欧美| 婷婷综合五月色播| 91九色PORNY中文啦| 免费观看的av| 天久综合91综合首页| 天天色视频| 中文在线成人| 久99视频| 亚洲丁香五月| 超碰在线超碰| 一起草AV入口| 色婷婷社区| 六月婷婷激情| 亚洲午夜国产成人电影VA国产欧…| 激情深爱五月婷婷| 抽插特写| 99热这里都是精品| 可以看的av网站| wwW天天干| 婷婷五月丁香国产| 激情综合九月| 美国天天日天天操| 五月丁香色婷基地综合久久| 涩五月婷婷| 亚洲成人超碰| 九九婷婷五月天影视| 九艹在线| 99re资源在线视频导航| PORNY九色9l自拍视频成人| 色婷婷五月天视频在线| 激情性爱五月| 青柠影视免费高清电视剧| 中文字幕,综合,91| 天天日天天干天天天| 影音先锋 婷婷| 五月色视频| 国产毛片精品一区二区色欲黄A片| 婷婷的久久网站| 欧美Va在线| 婷婷开心综合人妻小说网址| 成人AV在线电影| 九月丁香欧美综合| 99情色五月天| 成人综合视频网址| 亚洲中文字幕在线观看| 国产精品一区在线观看你懂的| 97在线视频人妻九色| 日本色色网站| 亚洲精品色| 天天干天天干天天操| 五月天婷婷久久| 五月天色影院| 激情五月天com| 五月婷婷av| 久久98| 激情伊人五月天| 欧美婷婷丁香五月社区| 日本久久性| 亚洲成人AV在线播放| 97香蕉碰碰人妻国产欧美| 少妇人妻偷人精品无码视频新浪 | 狠狠做深爱婷婷久久综合一区| 色婷亚洲| 国产精品爽爽久久久久久| 激情床戏| 国产成人一区二区三区在线观看| 五月婷婷五月天| 色五月丁香五月| 丁香六月婷婷综合| 日韩av手机在线观看| 91亚洲免费片| 人人操人人看97干| 狠狠香婷婷五月| av网站中文| 伦乱美欧| 97性视频| 色播五月天激情| 天天影院色| 天天日天天做天天操| 色婷五月天| 国产视频色色色色色色色| 欧美婷婷综合网| 狠狠狠狠免费| 97在线综合| 色五月色开心开心五月| 九九色人| 亚洲射激情| 激情六月婷婷| 国产色网站| www,婷婷五月天,com| 九九RE视频在线精品| 丁香五月亚洲综合| 香焦网五月天| www.五月天社区| 激情深爱五月天| 色丁香久久| 婷婷中文字幕| av免费在线观看0| 免费久久这里只有精品99| 丁香五月自拍| 色婷婷久久综合| 五月天婷婷影院| 九九99热精品| 久久五月天激情婷婷| 九九热在线视频观看| 五月天丁香啪啪啪啪| AAAA网站| 一起操最新网址| 99热99色| 五月丁香婷婷激情影院欧美| 新激情五月天天在线网| 热99一二三| 99热这里有精力| 亚洲成人AV电影网| 大天天伊人| 九九热视频精品999| 国产综合网在线| 性爱五月婷婷| 五月婷婷久久久| 久热九九| 婷婷五月天综合网| 久久黄色免费视频| 日韩在线观看网址| 涩婷婷五月天| 97视频91| 日本欧美成人片AAAA|