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

ARTICLE DETAIL

資訊詳情

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

STM32F407 U盤升級Bootloader實戰(zhàn):從Flash分區(qū)到跳轉(zhuǎn)細節(jié)

STM32F407 U盤升級Bootloader實戰(zhàn):從Flash分區(qū)到跳轉(zhuǎn)細節(jié) 簡介面向中高級嵌入式開發(fā)者的STM32F407 Bootloader U盤升級完整工程源碼包基于ARM Cortex-M4平臺并帶FPU無需硬件編程器即可通過U盤更新固件適合物聯(lián)網(wǎng)節(jié)點、工業(yè)控制器等場景的固件維護與產(chǎn)品迭代。壓縮包內(nèi)有1509個文件以C源碼、H頭文件、TXT說明、S啟動文件、Icf鏈接腳本及工程配置文件為主覆蓋USB設(shè)備驅(qū)動、FAT文件系統(tǒng)、Bootloader跳轉(zhuǎn)、CRC完整性校驗等關(guān)鍵模塊整體僅9.55MB。目前已有1843人學(xué)習(xí)/下載。該工程可直接在STM32CubeMX基礎(chǔ)上打開提供完整可編譯的Bootloader與App工程結(jié)構(gòu)源碼中包含CC936編碼轉(zhuǎn)換、多系列HAL庫驅(qū)動和鏈接腳本便于理解固件升級全流程同時包含啟動文件與中斷處理實現(xiàn)可幫助開發(fā)者掌握Bootloader的安全機制和用戶交互設(shè)計快速移植到實際產(chǎn)品。 搞嵌入式開發(fā)這幾年固件升級這件事幾乎繞不開。早期做產(chǎn)品一般用串口ISP或者JTAG/SWD仿真器燒錄設(shè)備量小的時候還能忍等到產(chǎn)品鋪出去、用戶手里有幾十上百臺機器的時候才發(fā)現(xiàn)沒有可靠的遠程或本地升級手段售后成本會直接把你壓垮。后來我給STM32F407的項目加了一個基于U盤升級的Bootloader用U盤拷貝固件、插上設(shè)備、按鍵觸發(fā)升級整個流程幾分鐘就能完成現(xiàn)場維護人員不需要懂任何嵌入式知識也能操作。這篇文章就把這套方案的完整設(shè)計思路和實操細節(jié)整理出來涵蓋Flash分區(qū)規(guī)劃、USB Host底層配置、FatFS文件系統(tǒng)移植、Bootloader跳轉(zhuǎn)App的關(guān)鍵細節(jié)、常見問題排查等內(nèi)容。適合正在做STM32F407產(chǎn)品開發(fā)、需要給設(shè)備增加升級能力的朋友參考無論是剛接觸Bootloader的初學(xué)者還是已經(jīng)寫過Bootloader但跳轉(zhuǎn)總出問題的老手這篇文章都能給你一些可直接落地的經(jīng)驗。1. 方案拆解Flash分區(qū)與整體架構(gòu)設(shè)計1.1 Bootloader為什么要獨立存在先說一個最基礎(chǔ)的問題Bootloader到底是干什么的。很多初學(xué)者容易把它理解成一個“引導(dǎo)程序”其實更準確地說它是一個運行在應(yīng)用之前的、專門負責(zé)固件更新的小系統(tǒng)。它和App應(yīng)用程序是兩個完全獨立的固件分別編譯、分別燒錄各自擁有獨立的Flash區(qū)域和中斷向量表。選擇讓Bootloader獨立存在核心原因只有一個升級失敗時不能把設(shè)備變成磚頭。如果App直接覆蓋自身所在的Flash區(qū)域一旦寫入過程中斷電、固件文件損壞或者地址錯誤設(shè)備就徹底無法啟動了。而Bootloader常駐在獨立的Flash區(qū)域App隨便怎么折騰都不會影響B(tài)ootloader本身下次上電Bootloader依然能跑檢測到固件異常就等待重新升級。這就像給設(shè)備裝了一個“恢復(fù)模式”是工業(yè)級產(chǎn)品的基本素養(yǎng)。1.2 分區(qū)表設(shè)計與地址計算STM32F407有最多1MB的Flash不同型號容量不同但分區(qū)思路完全一樣。以最常見的STM32F407VET6512KB Flash和探索者開發(fā)板這類環(huán)境為例我習(xí)慣這樣劃分分區(qū)起始地址大小存放內(nèi)容Bootloader區(qū)0x0800000032KBBootloader固件App區(qū)0x08008000448KB應(yīng)用程序固件備份區(qū)可選0x0807800016KB固件備份或參數(shù)存儲這里有兩個關(guān)鍵點需要解釋清楚。第一Bootloader分配32KB是經(jīng)過考量的。STM32F407的Flash扇區(qū)大小為16KB前4個扇區(qū)和64KB后面的扇區(qū)32KB意味著占用扇區(qū)0和扇區(qū)1兩個16KB扇區(qū)這個大小寫一個支持U盤升級的Bootloader完全夠用。不建議把Bootloader只放在扇區(qū)016KB因為USB Host協(xié)議棧加FatFS文件系統(tǒng)加上基本的外設(shè)驅(qū)動16KB會非常緊張后面想加功能比如增加協(xié)議校驗、日志打印就會很被動。第二App區(qū)的起始地址不是隨意定的它必須是扇區(qū)對齊的。0x08008000這個地址正好是扇區(qū)2的起始地址因為前兩個扇區(qū)各16KB加起來正好是0x800032KB。只有扇區(qū)對齊后續(xù)用IAP方式擦寫App區(qū)時才能用扇區(qū)擦除不會誤擦到Bootloader的數(shù)據(jù)。1.3 為什么推薦雙分區(qū)A/B升級如果你做的產(chǎn)品不允許出現(xiàn)“升級失敗需要返廠”的情況建議直接上雙分區(qū)A/B方案。所謂A/B分區(qū)就是Flash里放兩個App分區(qū)一個運行、一個備份。升級時把新固件寫入備份分區(qū)校驗通過后切換啟動標志下次啟動直接運行新固件如果新固件運行異常比如看門狗超時沒有被及時喂狗系統(tǒng)回滾到備份分區(qū)繼續(xù)運行。A/B分區(qū)的代價是Flash容量要翻倍F407的1MB Flash版本如STM32F407ZGT6可以這么玩Bootloader占32KBA區(qū)448KBB區(qū)448KB剩余空間存參數(shù)和升級標志。如果芯片只有512KB FlashA/B分區(qū)就比較捉襟見肘了。這種情況下我更推薦“單分區(qū)備份標志”的簡化方案Bootloader檢測到App區(qū)異常通過固定位置的標志字判斷直接進入U盤等待升級模式避免變磚代價是升級過程中斷電需要重新升級一次但不會損壞設(shè)備。2. 硬件鏈路與底層配置USB Host FatFS2.1 STM32F407的USB OTG FS硬件設(shè)計要點STM32F407自帶的USB OTG FS接口在F407上是一個完整的外設(shè)不是那種需要外部USB轉(zhuǎn)串口芯片才能用的“USB”。它支持Host模式和Device模式做U盤升級需要在Host模式下工作也就是由STM32F407主動枚舉U盤、讀取U盤中的文件。硬件上要注意幾個細節(jié)。第一F407的USB OTG FS引腳是PA11DM和PA12DP不需要外部晶振USB收發(fā)器使用芯片內(nèi)部的48MHz時鐘這個48MHz時鐘來自PLL的輸出。所以時鐘樹配置時必須確保PLL能輸出48MHz給USB否則USB外設(shè)根本跑不起來。如果你用的是STM32CubeMX生成的工程在Clock Configuration頁面要把USB Frequency設(shè)置為48MHz這個選項不是自動的經(jīng)常有人忽略導(dǎo)致USB枚舉失敗。第二VCAP引腳必須接2.2μF電容。F407內(nèi)部USB收發(fā)器需要穩(wěn)定的1.2V參考電壓VCAP1和VCAP2兩個引腳不同封裝引腳位置不同各接一個2.2μF低ESR陶瓷電容到地。這里有個容易被忽視的坑有些山寨開發(fā)板把VCAP電容省掉了或者用了錯誤的容值導(dǎo)致USB信號質(zhì)量差插上U盤時能偶爾識別但經(jīng)常掉線、讀寫不穩(wěn)定。如果是自己畫板子VCAP電容的位置要盡量靠近芯片引腳走線要短。第三關(guān)于供電。F407的USB Host口要對外提供5V電源給U盤但F407本身是3.3V器件不能直接輸出5V。一般做法是使用一個USB專用電源開關(guān)芯片比如MIC2026-2BM或者AP2822通過F407的GPIO控制USB口的5V輸出。這個細節(jié)在開發(fā)板上可能已經(jīng)做好了但自己做底板時特別容易遺漏。如果直接短接5V電源到USB口每次插拔U盤的瞬態(tài)電流沖擊都可能干擾系統(tǒng)供電嚴重時直接復(fù)位。2.2 USB Host枚舉與HAL庫配置細節(jié)我使用的是STM32CubeMX生成的基礎(chǔ)工程配合STM32CubeHAL庫開發(fā)效率高很多。關(guān)鍵配置如下// USB OTG FS Host模式配置CubeMX圖形化配置的對應(yīng)代碼含義 hUSBHostHandle.Instance USB_OTG_FS; hUSBHostHandle.Init.Sof_enable DISABLE; hUSBHostHandle.Init.low_power_enable DISABLE; hUSBHostHandle.Init.vbus_sensing_enable DISABLE; // 不使用VBUS檢測引腳 hUSBHostHandle.Init.use_external_vbus DISABLE;這里面vbus_sensing_enable這個參數(shù)很有講究。如果芯片的PA9引腳沒有連接USB的VBUS檢測信號有些開發(fā)板沒引出來必須把VBUS sensing關(guān)閉否則Host模式初始化會卡死在等待VBUS有效這個環(huán)節(jié)上現(xiàn)象就是程序運行到MX_USB_HOST_Init()之后再也不往下走了。Host模式的枚舉過程對很多人來說是個黑盒但你不需要完全理解USB協(xié)議棧內(nèi)部的每個狀態(tài)只需要知道插入U盤后HAL庫的HCD_Process回調(diào)會經(jīng)歷設(shè)備連接、復(fù)位、地址分配、配置選擇等狀態(tài)最終進入枚舉完成狀態(tài)。代碼里做U盤檢測的邏輯很簡單就是輪詢ApplicationState這個全局變量// 主循環(huán)中的U盤檢測邏輯精簡示例 if (USBH_Status USBH_OK AppState APPLICATION_START) { // U盤枚舉成功可以進行文件系統(tǒng)操作 if (f_mount(SDFatFS, SDPath, 1) FR_OK) { // 掛載U盤成功進入固件檢測流程 CheckUpdateFile(); } }2.3 FatFS文件系統(tǒng)移植與文件讀取的坑U盤存儲的文件系統(tǒng)通常是FAT32或exFATFatFS這個開源文件系統(tǒng)庫就是用來干這個的。從FatFS官網(wǎng)ELM-Chan下載源碼后需要修改ffconf.h配置文件里的幾個關(guān)鍵宏#define FF_USE_LFN 1 // 使能長文件名支持 #define FF_VOLUMES 1 // 卷數(shù)量只掛載U盤一個卷 #define FF_MIN_SS 512 #define FF_MAX_SS 512 // 扇區(qū)大小U盤一般為512字節(jié) #define FF_USE_MKFS 1 // 如果需要格式化功能則使能第一個FF_USE_LFN尤其重要。默認情況下FatFS只支持短文件名8.3格式如果你的固件文件叫firmware_v1.2.bin這種名字沒開啟長文件名支持的話文件根本讀不到。我一開始就栽在這個坑里排查了半天驅(qū)動問題最后發(fā)現(xiàn)只是文件系統(tǒng)庫的配置項沒打開。文件讀取的核心操作其實很簡單f_open打開文件、f_read按塊讀取、f_close關(guān)閉文件。但在Bootloader環(huán)境里讀取的文件是要直接寫入Flash的所以需要按扇區(qū)來設(shè)計讀寫流程。一個扇區(qū)是2KBSTM32F407的Flash最小編程單位我通常每次從U盤讀取2KB數(shù)據(jù)做CRC校驗后寫入App區(qū)當(dāng)前扇區(qū)然后地址加2KB繼續(xù)下一次讀取。這樣U盤讀、Flash寫的進度是同步的固件文件完整讀完也就意味著固件完整寫完。3. Bootloader核心流程與代碼實現(xiàn)3.1 主流程按鍵檢測→U盤掛載→固件校驗→跳轉(zhuǎn)Bootloader的主流程設(shè)計直接決定用戶體驗我經(jīng)過幾個版本迭代后形成了下面這個穩(wěn)定可靠的狀態(tài)機上電后初始化時鐘、串口、LED、按鍵和USB Host外設(shè)。檢查一個特定的GPIO引腳狀態(tài)比如板載KEY0如果按下進入U盤升級模式LED快速閃爍提示。如果按鍵未按下檢查App區(qū)起始地址的前兩個字是否合法棧頂?shù)刂吩赗AM范圍內(nèi)、復(fù)位向量在Flash范圍內(nèi)合法則直接跳轉(zhuǎn)到App。如果App不合法比如空白芯片自動進入U盤升級模式。升級模式下等待U盤插入并枚舉成功。嘗試掛載U盤文件系統(tǒng)查找固件文件固定文件名如update.bin。讀取文件頭部的固件信息結(jié)構(gòu)體校驗?zāi)?shù)和長度。按扇區(qū)擦除App區(qū)、寫入固件數(shù)據(jù)實時計算CRC32校驗值。全部寫入完成后校驗CRC32是否匹配匹配則更新App區(qū)的啟動標志。提示升級成功延時后軟件復(fù)位進入新的App。這個狀態(tài)機的好處是每一步都有明確的成功/失敗判定不復(fù)位循環(huán)卡死。用戶插上U盤按一下按鍵剩下的交給Bootloader自動完成。3.2 固件文件格式與校驗策略直接從bin文件讀取數(shù)據(jù)寫入Flash看起來很簡單但有一個隱患怎么確認這個bin文件就是給當(dāng)前設(shè)備用的怎么確認傳輸過程中文件沒有損壞我的做法是在固件bin文件的最前面增加一個自定義頭部結(jié)構(gòu)體App編譯時通過腳本自動插入這個頭部U盤升級時Bootloader先讀取并解析這個頭部確認關(guān)鍵信息匹配后才繼續(xù)寫入。// 固件文件頭部結(jié)構(gòu)體固定16字節(jié) typedef struct { uint32_t magic; // 魔數(shù)0xA5A5A5A5用于快速校驗 uint32_t firmwareSize; // 固件實際大小不含頭部 uint32_t crc32; // 固件數(shù)據(jù)的CRC32校驗值 uint8_t versionMajor; // 主版本號 uint8_t versionMinor; // 次版本號 uint8_t platformId; // 平臺標識防止刷錯固件 uint8_t reserved; // 保留 } FirmwareHeader;文件中先放這個16字節(jié)頭部緊跟著是真實的固件數(shù)據(jù)。寫入Flash時跳過頭部直接寫固件數(shù)據(jù)到App區(qū)起始地址。全部寫完后重新讀Flash里的數(shù)據(jù)計算CRC32和頭部記錄的CRC32比對一致才認為升級成功。CRC32的實現(xiàn)可以直接用FatFS源碼里自帶的f_crc32函數(shù)也可以自己寫一個查表法實現(xiàn)幾百行代碼的事情。我建議把這部分獨立封裝成crc32.c因為Bootloader和App都要用比如App在啟動時也可以自行校驗自身完整性。3.3 完整代碼框架參考核心的升級執(zhí)行函數(shù)大致長這樣static uint8_t ProcessUpdateFile(void) { FIL file; UINT bytesRead; uint32_t flashAddr APP_START_ADDR; uint32_t wroteBytes 0; uint8_t buffer[2048]; FirmwareHeader header; uint32_t computedCRC 0; // 打開固件文件 if (f_open(file, update.bin, FA_READ) ! FR_OK) { return 0; // 文件不存在或打開失敗 } // 讀取頭部 UINT hdrRead; if (f_read(file, header, sizeof(FirmwareHeader), hdrRead) ! FR_OK || hdrRead ! sizeof(FirmwareHeader)) { f_close(file); return 0; } // 校驗?zāi)?shù)和平臺ID if (header.magic ! 0xA5A5A5A5 || header.platformId ! PLATFORM_ID) { f_close(file); return 0; } // 擦除App區(qū)假設(shè)App區(qū)跨多個扇區(qū) EraseAppSectors(); // 循環(huán)讀取并寫入Flash while (wroteBytes header.firmwareSize) { if (f_read(file, buffer, sizeof(buffer), bytesRead) ! FR_OK) { f_close(file); return 0; } if (bytesRead 0) break; // 文件提前結(jié)束 // 寫入Flash if (WriteFlash(flashAddr, buffer, bytesRead) ! 0) { f_close(file); return 0; } // 邊寫邊算CRC computedCRC updateCRC32(computedCRC, buffer, bytesRead); flashAddr bytesRead; wroteBytes bytesRead; } f_close(file); // 最終校驗CRC if (computedCRC ! header.crc32) return 0; // 更新啟動標志指示App區(qū)已有有效固件 WriteAppValidFlag(); return 1; }這個函數(shù)基本能直接搬進項目里用實際工程中還要加一些Flash操作失敗的重試機制、進度指示等。不過核心邏輯就是上面這套打開文件→讀頭部→校驗→擦寫Flash→校驗CRC→置標志。4. 跳轉(zhuǎn)細節(jié)與App端裁剪配置4.1 中斷向量表偏移是跳轉(zhuǎn)的第一道坎Bootloader跳轉(zhuǎn)到App大多數(shù)人第一次都會在這遇到HardFault。根本原因就一條中斷向量表沒有跟著App走。App在0x08008000地址運行但Cortex-M4內(nèi)核的中斷向量表默認還指向0x08000000Bootloader的向量表一旦有任何中斷觸發(fā)CPU從Bootloader的向量表取中斷服務(wù)函數(shù)地址執(zhí)行的是Bootloader里的中斷處理邏輯而你此時運行的是App兩者不匹配直接崩潰。解決辦法是在App工程的main函數(shù)最開頭設(shè)置VTOR寄存器// App工程main函數(shù)第一行 SCB-VTOR 0x08008000; // 偏移到App區(qū)起始地址這一行代碼必須在任何外設(shè)初始化之前執(zhí)行因為一旦使能了中斷、開啟了外設(shè)中斷隨時可能來這個寄存器還沒設(shè)好就完蛋了。4.2 Bootloader跳轉(zhuǎn)前的“清場”操作跳轉(zhuǎn)成功與否除了VTOR還取決于Bootloader跳轉(zhuǎn)前是否把外設(shè)“清干凈”。很多人寫B(tài)ootloader時直接在main函數(shù)末尾調(diào)用函數(shù)指針跳轉(zhuǎn)結(jié)果App起來后各種奇怪問題串口數(shù)據(jù)亂了、USB枚舉失敗、看門狗不斷復(fù)位。這些大多是Bootloader的外設(shè)狀態(tài)沒有完全關(guān)閉所致。完整跳轉(zhuǎn)函數(shù)要做三件事// Bootloader跳轉(zhuǎn)函數(shù)Clang/GCC風(fēng)格的寄存器操作寫法 typedef void (*pFunction)(void); static void JumpToApp(void) { uint32_t appStack *(volatile uint32_t *)APP_START_ADDR; uint32_t appReset *(volatile uint32_t *)(APP_START_ADDR 4); pFunction jumpFunc; // 1. 確認棧頂?shù)刂泛戏ㄔ赗AM范圍內(nèi) if ((appStack 0xFFF00000) ! 0x20000000) { return; // 棧頂非法不執(zhí)行跳轉(zhuǎn) } // 2. 關(guān)閉全局中斷 __disable_irq(); // 3. 反初始化所有已打開的外設(shè) HAL_UART_DeInit(huart1); HAL_USB_DeInit(hUSBHostHandle); for (int i 0; i 8; i) { HAL_NVIC_DisableIRQ(i); } // 4. 將SysTick計數(shù)器清零并關(guān)閉 SysTick-CTRL 0; SysTick-LOAD 0; SysTick-VAL 0; // 5. 設(shè)置MSP為App的棧頂?shù)刂?__set_MSP(appStack); // 6. 跳轉(zhuǎn) jumpFunc (pFunction)appReset; jumpFunc(); }這里面步驟2和4最容易忽略。關(guān)閉全局中斷是基礎(chǔ)但SysTick如果不關(guān)App啟動過程中SysTick還會繼續(xù)觸發(fā)而此時App還沒完成VTOR設(shè)置會用Bootloader的SysTick_Handler來處理輕則產(chǎn)生異常重則進HardFault。4.3 App工程編譯鏈接配置如果你的App是直接在原來的單工程上改的不區(qū)分Bootloader和App那這篇文章講的所有Bootloader都是空中樓閣。App工程必須做以下修改MDKKeil工程中Target → Options → Target → IROM1的Start地址改為0x8008000Size改為0x70000。IROM1起始地址必須和Bootloader的App區(qū)起始地址完全一致。如果不改這個配置編譯器默認把代碼放在0x08000000App燒錄后會覆蓋Bootloader區(qū)域上次升級成功的Bootloader直接被廢掉。另外還有一個使用RTOS比如FreeRTOS時比較容易忽略的點FreeRTOS的堆地址一般是鏈接器自動分配的通常在RAM的起始位置。跳轉(zhuǎn)Bootloader后RAM的低地址區(qū)域可能殘留Bootloader運行時的數(shù)據(jù)App的Stack指針指向低地址區(qū)域時可能會踩到這些殘留數(shù)據(jù)。不過由于App啟動時堆棧指針被重設(shè)到App棧頂這個問題一般不會出現(xiàn)真正要注意的是App里用了非易失性RAM備份、RTC備份域等特殊功能時需要確保Bootloader不訪問這些區(qū)域否則跳轉(zhuǎn)后數(shù)據(jù)沖突。5. 實測問題庫跳轉(zhuǎn)異常、枚舉失敗、升級半路夭折5.1 跳轉(zhuǎn)App后立刻HardFault的排查思路這是Bootloader開發(fā)中最高頻的問題。我總結(jié)了一套三分鐘定位法第一步確認VTOR偏移已經(jīng)設(shè)置且在任何中斷使能之前。最簡單粗暴的驗證方式是在App的main函數(shù)第一行加個LED翻轉(zhuǎn)如果HardFault發(fā)生在LED翻轉(zhuǎn)之后說明問題不在VTOR在后面的初始化如果LED根本沒閃那問題大概率是VTOR沒設(shè)或者設(shè)晚了。第二步確認跳轉(zhuǎn)時的函數(shù)指針正確。打印App區(qū)的第一個字棧頂和第二個字復(fù)位向量對比編譯生成的.map文件確認和編譯結(jié)果一致。棧頂?shù)刂窇?yīng)該是0x20000000到0x20020000之間F407VE有128KB RAM復(fù)位向量應(yīng)該在0x08008000到0x0807FFFF之間。第三步檢查跳轉(zhuǎn)前是否關(guān)閉了全局中斷和SysTick。這一步很多教程沒提但我實測遇到過一個詭異現(xiàn)象跳轉(zhuǎn)后串口正常打印、LED正常閃爍但是USB完全無法工作反復(fù)排查發(fā)現(xiàn)是Bootloader在跳轉(zhuǎn)前沒有關(guān)閉USB Host中斷導(dǎo)致USB中斷狀態(tài)殘留App初始化USB時中斷標志異常永遠等不到中斷觸發(fā)。5.2 文件名讀不到先排查長文件和大小寫FatFS默認的FF_USE_LFN是0也就是不支持長文件名。如果你把固件文件命名為my_firmware_v2.0_2025.bin在Bootloader里f_open一直返回FR_NOT_FOUND。我建議在ffconf.h里把FF_USE_LFN改為2使用堆棧分配緩沖區(qū)同時把FF_MAX_LFN設(shè)為64。還要注意一個細節(jié)如果U盤是NTFS或者exFAT格式FatFS需要使能FF_FS_EXFAT?,F(xiàn)在新買的U盤出廠可能默認exFAT這是導(dǎo)致“U盤明明有文件卻打不開”的另一個常見原因。測試時盡量用FAT32格式的U盤如果必須支持exFAT記得在配置文件里打開對應(yīng)宏。這個我吃過一次虧給客戶演示時隨手拿了一個新U盤插上去掛載失敗場面一度非常尷尬。后來我把U盤都改成FAT32同時在Bootloader里加了exFAT支持雙保險。5.3 拔插U盤導(dǎo)致系統(tǒng)卡死或重啟U盤運行時電流波動很大如果你直接從LDO輸出給USB口供電讀文件時瞬間電壓跌落會觸發(fā)F407的BOR復(fù)位表現(xiàn)為升級過程中設(shè)備突然重啟。解決辦法是在USB口5V端增加一個220μF電解電容和0.1μF陶瓷電容并聯(lián)為U盤瞬態(tài)電流提供緩沖。另外如果USB口電源開關(guān)芯片的過流保護閾值過低U盤啟動時可能觸發(fā)過流保護導(dǎo)致電源被切斷。我用的MIC2026限流閾值是500mA普通U盤工作電流一般在100-200mA啟動瞬間可能到300mA左右余量是夠的但如果U盤本身有問題或者容量很大的機械U盤現(xiàn)在很少見了還是可能觸發(fā)保護。真遇到了就換一個品牌靠譜的U盤測試別在這個問題上死磕硬件。5.4 常見問題與對策速查表現(xiàn)象可能原因排查/解決方向上電后不進入U盤升級模式GPIO按鍵檢測邏輯錯誤App區(qū)標志判斷異常檢查按鍵GPIO配置和觸發(fā)電平檢查App區(qū)合法性判定邏輯USB枚舉失敗U盤燈不亮48MHz USB時鐘未配置VBUS檢測關(guān)閉不徹底硬件供電問題檢查CubeMX時鐘樹USB Frequency是否為48MHz檢查VBUS sensing配置測量USB口5V電壓f_mount掛載失敗U盤格式不支持FatFS配置不匹配確認U盤為FAT32或exFAT檢查FF_FS_EXFAT、FF_USE_LFN等配置固件寫入后跳轉(zhuǎn)失敗寫入的固件地址偏移有誤固件本身有CRC問題VTOR偏移沒設(shè)置核對App編譯鏈接地址檢查CRC校驗流程確認VTOR設(shè)置位置升級到一半斷電Flash數(shù)據(jù)不完整App區(qū)被標記為有效寫入完成后統(tǒng)一置“升級完成”標志使用雙標志寫完成校驗通過App運行中看門狗復(fù)位跳轉(zhuǎn)前看門狗沒有關(guān)閉跳轉(zhuǎn)前調(diào)用HAL_IWDG_Init并停止喂狗或者直接關(guān)閉IWDG時鐘5.5 關(guān)于“Device must be bootloader unlocked”的提示STM32F407在調(diào)試時如果使用ST-Link/J-Link直接燒錄Bootloader后再通過調(diào)試器連接App部分調(diào)試器會提示Device must be bootloader unlocked或類似信息。這通常是調(diào)試器的保護選項ReadOut Protection被開啟了。在STM32CubeProgrammer里做一次Full Flash Erase并關(guān)閉讀保護Level 0就能解決。這個和主題相關(guān)性不大但是很多人會同時遇到順手提一下。寫B(tài)ootloader最大的體會是硬件平臺千差萬別但設(shè)計思想是通用的。你在這套STM32F407方案里學(xué)到的分區(qū)規(guī)劃、跳轉(zhuǎn)時序、文件系統(tǒng)對接、校驗機制換到其他MCU比如STM32F103、GD32、甚至英飛凌的AURIX思路完全一樣。U盤升級只是眾多升級方式里的一種但它的可靠性、易用性和部署成本在中小批量產(chǎn)品中優(yōu)勢明顯值得每個嵌入式工程師掌握。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月婷婷爱六月丁香色| 久久久久国色αv免费观看| 久操网视频| 欧美在线电影| 91久久堂| 青青草在线视频欧美| 亚欧Av| 亚洲欧美综合| 日韩无码服务区| 99热97| 操一区| 亚熟在线| 91久久久久久| 免费看A片毛毛片在线播| 91操熟女| 97se亚洲综合自| 蘋果手機免費看成人Av| 丰满少妇高潮无码| 精品久久久无码| 日韩AC| 色屁屁影院www国产| 超碰色图| 色噜噜人妻av中文字幕| 欧美综合色综合| 97视频在| 蜜桃色院一区久久| 国产九九久久久精品| 91黑人无码激情在线| 女人被男人桶爽视频网站| 熟女91网站| 香蕉国产97| a人片中文字幕一区二区| 97国产天堂岛| 啊啊啊啊啊啊啊啊啊啊在线观看| 夜夜騷av、一區二區| 97人人干| 操碰97| 亚洲图片91| 啊啊啊啊免费视频| 欧美碰碰综合色| 蜜桃午夜视频一区二区| 欧美色欧美| 国产日韩人人| 蜜臀久久久国产| 麻豆天美制片厂网站视频| 无码人妻一区二区一牛影视| 蜜臀久久99精品久久综合| 精品区9| www.久久久久| 亚洲色图欧美色图制服丝袜| 久久综合久色欧美综合狠狠 | 东京热不卡视频| 老汉网| 欧美老妇女内射网址| 午夜福利在线合集| 自拍亚洲综合| 久久日韩肥臀| 国产家庭乱伦表演| 久久91视频| 欧美视频一区二区在线| 牛黄色久午久| 亚洲激情 欧美色图| av婷婷色网| 一起草欧美| 操逼片国产| 国产吞精a级片激情电影| 日韩性爱网址| 美腿丝袜高跟网免费视频免费视频| 9999九九九久久久| 日韩一级二级三级| 国产精品毛片?v一区二区三区| 五月婷婷丁香六月丁香| 美女黄频a美女大全免费皮| 妺妺跟我一起洗澡没忍住| 黑操B| 久久性爱视频| 久湿久久 | 久久婷综合| 91欧美偷拍| 五毛骚逼极品美女怕怕| 97免费视频在线| 日熟女| 日本中文字幕在线视频| 大香蕉在线免| 国产精品农村妇女| 亚洲啪啪视频一区二区| 久久超碰亚洲人| 亚洲色图第一页| 97极品无码| 殴美大黄片| 青青草好吊色| 久久久久97| 全免费a敌肛交毛片免费| 日韩婷婷| 国产精品一二三| 97超碰人人模人人拍人人| 国产成人一级av88| 欧美色图片91| 欧美AB在线| 亚洲乱码尤物193YW| 中文字幕免费观看| 思思热一热婷婷热一热| 亚洲drav色图| 日本在线观看网址| 国产精品交换一区二区| 日本不卡中文| 欧美日韩中文亚洲v在线综合| 用力操死我| 亚洲少妇免费视频\| 天天做日日做| 极品内射| 国产精品成人无码a v毛片| 欧美成人9797| 欧美美女视频| 精品区9| 东北女人操比视频| 亚洲日韩精品一区视频在线| 青青草视频久久久久| 97超碰色色| 五月婷婷激情综合| 久久久青青草| 大香蕉宅男伊人| 色波多| 六六久久日韩不卡| 看日韩黄片| 国产农村妇女一区二区| 人妻少妇精品| 九九九久千久久激情蜜桃在线看 | 操b在线观看| 日本免费不卡二区| 日韩欧洲操屄视频| 亚洲国成人情色好看电影| 国产又粗又大硬免费色网视频| 思思99热| 9久9久| 丁香五月自拍| 国产综合色精品在线观看| 久久e6只有精品| 国产毛片片精品天天看视频| 欧美大香蕉97| 大香蕉伊人久久| 懂色Av| 中文在线久久字幕| 日韩欧美经典在线观看| 资源新线在线天堂| 欧美 传媒 麻豆 日韩 偷拍| 国产绿奴视频在线观看| 日日干日日摸| 尤物av网站| 精品久久久久久久| 丝袜内射| 岛国视频免费在线观看| 舔足天天操天天射| 330dv亚洲成年视频网| 国产亚洲国产超碰| 国产精品免费1区2区视频| 精品亚洲俞拍视频一区| 亚洲成A∨人影院在线欢看| 99少妇| 精品女人999| 欧美 日韩 亚洲 春色| 久久人妻一区二区三区高清| 欧美午夜精品久久久久久超碰| 日韩操啪| 亚洲爽图| 亚洲人综合| 亚洲国产欧美中文永久| 精品三级在线专区| 国产乱码久久久| 精品无码一区二区| 全免费a敌肛交毛片免费| 亚洲综合第一页| 天操老女人| 精品久久視頻在线| 377p欧洲日本亚洲大胆| 亚洲久久久久| 亚洲乱熟女一区二区| 欧美色图亚洲色图成人在在线| 日本三级网页| 91啦人妻| 波多野42部无码喷潮在线观看 | 老熟女91视频| 亚洲色图片区| 青青欧美| 91黑丝美女| www久久久| 秋霞久久亚洲精品成人| 精品无码欧美三级| 97鸡把在线视频| 夜夜福利| 欧亚第一综合网| 亚洲中文字幕妇伦久久| 久无码| 丁香成人五月天| 午夜a成v人电影| 久久夜夜| 操一操摸一摸| 国产精品99精品视频网站| 亚洲猛交| 一区二区乱码福利| 性色AV蜜色av色欲av| 天天射日日干| 国产精品久久泡妞网站| 亚洲少妇视频| 清纯唯美亚洲| 欧美色图色综合| 98久久超碰| 日韩欧视频| 国产乱不卡| 午夜天天碰综合视频| 日本免费亚洲欧美| 久久精品色欧美aⅴ一区二区| 老熟妇一区二区三区…| 国产精品久久99日日| 老子午夜伦不卡影院| 美日韩男女操屄视频| 97超碰人人模人人拍人人| 97久久久久久久久久| 日本精品久久久久久久| 欧美97色| 青草一区二区| 中日韓欧美高清| 国产三级片在线观看| 国产嫩草精品A88AV| 欧美 亚洲| 蜜臀中文无码午夜| 香港久久久| 91色伦| 老熟妇一区二区三区| 啊嗯嗯啊好大好爽| JuliaAnn丝袜熟女系列| 亚洲有码视频二区| 啪啪啪精品| 国产精品99精品视频网站| 无码区蜜乳| 亚洲国产av中文字幕久久| 69少妇一区二区| 黄片免费久久久久久久| 三级三久久线久久99久目本WW| 日韩亚洲Av人人夜夜澡人人爽| 色婷婷五月综合激情中文字幕| www久| 美女露胸露屁股| 97蜜桃综合| 人妻AV在线| 午夜精品99久久久久传媒| av绯色| 黑丝少妇| 9热9热综合网| 日本黄色精品| 老司机福利青青草| 开心五月激情网| 欧美少妇熟女| 国模久久在线| 麻豆久久一区二区三区| 国产精品无码在线| 欧美极品女人的天堂| 成人AV素股で擦久久| 超碰性爱97| 老熟女区| 天天综合~91| 在线不欧美| 亚洲无码精品AV久久久| 激情综合二| 欧美综合骚| 成年人免费观看网站| 超碰欧美| 久久久com| 99re9这里只有精品| 97精品全部| 无遮挡一级毛片视频免费的| 91 刺激在线| 蜜桃狠狠色伊人亚洲综合 | 精品人妻一区二区三区四区不卡在| 成人97人人超碰人人| 日韩成人大片在线观看| 好舒服视频| 激情看片网站| 四虎精品永久在线观看| av一区二区三区 中文| 91高跟美女在线播放| 日韩一级二级三级| 情色AV电影| 欧美综色欧| 黄色性爱网网| 国内成人圈中文字幕无码视频 | 久久久久久久国产| 天天夜躁日日躁狠狠2002| 国产精品香蕉热久久新品| 亚州欧美一区| 久久黄片国产一区二区| 嗯啊啊啊轻点视频 | 在线日韩视频| 91欧美网| 岛国小电影| 狠狠久久手机视频精品| 偷拍欧美激情| 18禁在线视频| 午夜成人福利影视| .精品人妻一区二区三| 天天综合91在线| 9丨久久九九九| 天干天干天干天天做| 亚洲高清国产理伦片| 精产国品一区二三产品| 欧美专区日本专区| 欧美的精品的视频| 长长久久免费视频| 九九九九热| 五月天色图| 亚洲无码超碰免费| Aa东京男人的天堂| 色成人Www精品永久观看| julia ann久久| 久久6热视频免费观看| 亚洲精品一卡二卡三卡福利视频网站| 玖玖玖玖精品国产剧情| 91热色| 激情网五月天| 日本国产欧美一区三区二区| 无码九九九九| 97天天爽| 岛国1区2区3区在线观看| 亚洲天堂日本| 久久激情五月| 欧美日韩精品一区二区三区高清| 插入粉嫩少妇视频| 欧州色图区| 四虎影视国产精品| 暖暖精品二区三区观看| 无码一区免费在线不卡| 欧美偷| 口爆吞精在线观看| 污色区网站| 日本久久网| 亚洲97| 九九九九免费高| 日韩丝袜二区| 伊人操你| 日本布卡一区二三区| 亚洲,欧美,春色,另类| 波多野42部激情无码喷潮| 欧洲精品一二三在线| 丁香六月激情综合| 粉嫩不卡一区二区性爱| 午夜精品久久99蜜桃的功能章节| 激情视频一二三| 日韩久久三区| 依人大香蕉| 欧美激情视频在线一区| 亚洲欧美洲综合| 亚洲色图在线视频| 在线性黄高清免费视频| 国产精品高潮久久久无码| 97人人中文网| 3571色综合一区二区二区| 2025年A片视频精品| av橘色网站| 欧美美女在线高潮999| 99在线观看| 日日插夜夜| 曰韩人妻中文字幕在线| 国产精品伦理| 色噜噜人妻av中文字幕| 九九九九免费高| 天天操女人| 亚洲日韩精品一区视频在线| 日本伦乱九九九综合| 美女高潮国产高清| 精品国产乱码久久久| 亚洲综合图片在线| 狠狠搞 亚洲91| 男人的天堂2010| 人妻-91porn| 秋霞蝌科网日本一区| 久操91视频| aa片毛片| 在线a亚洲视频播放在线| 96麻豆精品一区二区三区| 岛国999| 欧美 亚洲 综合 制服 另类| 欧美日韩天堂| 四虎影视 亚洲无码| 欧美熟女妇同| 91强在线播放| 久久久久婷婷精品av电影| 中文在线久久字幕| 97视频在线免费看| 国产久久一区二区三区野外在线| 亚洲综合网图| 亚洲网自拍| 日han少妇无码| 久久久久久久 九九九九九九九| 九九Av| 啪啪综合网| 亚码激情| 日韩影片中文字幕一区二区三区| 自拍盗摄一区| 成 人片 黄色大片| 91碰超| 91在线视频观看国产| 1禁看欧美黄片免费看| 亚洲激情综合另类男同| 乱伦系列一区二区| 亚洲AV无码乱码在线观看性色| 日本黄 R色 成 人网站| 亚洲精品aa久久伊人| 欧美日韩中文亚洲v在线综合| 久精品无码av一区二免费国产在线观看 | 91人妻人人澡人人爽人人精品| 午夜男女爽爽大片免费观看| 九九探花视频在线观看| 国产精品视频精品一二| 国产有码一区| 久久网亚洲| 99中文字幕| 综合久久少妇中文字幕| 国产三区免费在线观看| 亚州色图第三区| 丰满少妇高潮无码| 久久久久久91香蕉国产| 国产后入式在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 使劲用力艹少妇视频一区二区| 亚洲综合骚逼| 97国产超碰| 一个人免费视频观看在线WWW| AV不卡在线| 激情四射五月天| 情色日播放AV| 搡老熟女国产1000部| 日韩综合色图| 黄色激情电影在线观看| 久久久蜜桃一区二区三区| 91美女视频在线| 亚洲干B| 欧洲亚洲国产综合在线| 欧美精品日韩一区二区| 91熟女综合| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 永久免费av无码网站国产app| 蜜臀AV网站| 成人色女网| 人人妻人人爽人人精品| 精品久久久久av影院| 久色网| 亚拍在线| 中文字幕一区二区日韩网| 欧洲色色| 亚洲少妇自拍中文字幕懂色| 欧美gv在线观看| 超碰调教97| 色偷偷综合91久久噜噜| 色哟哟511老熟女| 91在线视频免费中出| 国产一二三福利视频网| 亚洲AV永久无码一区仙野| 东北女人| 看免费的黄片| 天天看特黄的免费网站| 日韩福利综合一区| 日韩影片中文字幕一区二区三区| 日本精品五区| 99在线免费观看| 玖色av| 国产熟女完整版中字| 国产小炒后入式| 四虎精品永久在线观看| 婷婷五月天成人网| 91九色丨风韵犹存| 青青草中文-久久青草精品一区二区三| 十八禁电影伊人网| 嗯啊抽插大香蕉网页| 久久同城AV| 蜜乳AV免费观看| 精品十三区| 久久性爱视频免费看| 亚洲中文字幕乱码无码一区二区 | 亚洲色人妻综合| 综合久久97| 久久超碰爱| 欧美性爱第1 页| 神马视频久久久久久| 国产精品国产精品国产| 黑人中出21连凳花野真衣| 伊人操| 国产久久视频| 秋霞操逼片| 日本新免费二区三区| 超碰色男人操熟女| 天天影视之亚洲综合网| 亚洲精品99| 久久区| 96AV久久久| 大屁股人妻女教师撅着屁股| 欧美在线干| 免费看一级a性色生活片久久无| 久久亚洲一区女同性恋中文字幕| 久久激情视频| 久操91视频| 亚洲熟女乱色一区二区三区久久久| 26uuu性| 99rre在线精品99re8| 色一色综合网| 起碰97| 99啪啪| 国产无码一二三区| 老司机福利青青草| 国产又长又大又粗的视频| 91久久国产综合久久| 另类亚洲一区二区三区| 果冻传媒A片一二三区| 亚洲丝袜二区| 女人 A一级| 人妻娇喘 激情视频| 一二三啪啪专区| 欧美日韩另类在线播放| 成人精品久久| 岛国999| 亚洲色图大香| 亚洲成A∨人影院在线欢看| 国产精品噜噜噜日日日| 欧美青青草视频| 欧美日不卡| 操比国产| 奇米四色网| 欧美宗合色| 91色堂| 怡红院视频在线| 国产成人精品日本视频| 久草尤物| 爱爱啊啊啊| 亚洲天堂久| 亚洲色91C| 亚洲情色电影网| 亚洲情色中文字幕一区| 狠狠操官网| 校园春色综合网| 国产一区二区精品久久久不卡蜜臀 | 爱丝福利| 欧美一品道| 9热9热综合网| 91久久精品国产| 五月婷丁香| 日韩AC| 中国AAAAAA黄色片| 人人爱人人乐人人操| 欧美综合天堂| 亚洲欧美综合网站| 天天噜| 中文字幕色AV| 色天天野狼综合社区| 久九9精品| 人人摸人人干| 久草视频制服诱惑| 久久大香蕉手机高清| 五月婷婷深深爱| 久久 国产精品 一区| 久久精品国产亚洲AV无码电影| 激情五月天插| 成人免费视瓶| 成 人片 黄色大片| 俄罗斯一区二区视频在线观看| 操啊国产| 精品九九九九| 中日韩免费看男女操逼大全| 蜜臀无码视频在线观看| 91社区伊人| 欧美精品精品一区二区| 亚州成人A√| 久草资源在线视频官方总站日韩丝袜美腿| 宗合情欲网| 东北老女人的激情视频| 色五月第四色| 天天做天天爱天天爽AV| 乱码熟妇人妻久久久| 97在线青| 国产乱码久久久| 久久香蕉国产线看观看亚洲女人 | 熟妇人妻一二三区免费| 欧美日韩制服| 国产精品999aaa| 午夜国产综合视频在线观看| 欧美老妇曰批的视频| 国产av又色又爽又黄| 久久久久久AⅤ无码免费肉站| 亚洲精品成人| 国产精品91一样| 日韩啪啪啪视频| 精彩久久中文| 亚洲欧洲激情卡通另类文学四射小说网站| 大香蕉免费3| 日韩精品碰碰| 丁香久久| 色情亚洲日本成人| 四虎影视国产精品| 久久久久9| 97超碰超| 手机在线播放国产福利| 国产激情综合五月久久| 青青操在线亚洲视频观看欧美在线 | 熟妇女伦乱视频视频| 亚洲丝袜诱惑| 成人网站 免费观看| 色婷婷99| 国产白丝在线| 久久人| 欧美亚洲另类在线蜜桃| 天美国产精品| 日韩精品影视| 日韩中文字幕国产| 97香蕉碰碰人妻国产欧美| 97人人中文网| 精品人妻一区二区三区四区| 久久成人午夜精品影院| 熟女啪啪视频| 亚洲天堂久久| 国产一级内射无挡观看| 91人妻PORNY九色大屁股| 91丝袜美腿网站| 9 1果冻精品视频| 亚洲成人在线高清| 亚洲一二三精品久久网| 男人天堂无码| 激情视屏国产乱伦强奸| 99在线视频播放| 综合色91| 99操视频| 久久精品一区二区三区蜜桃臀| 乱性AV| 欧美黑人猛交春色影视大全| 青草园大香蕉| 亚洲精品xxx| 美国美女AV在线| 欧美日韩色| 十八禁视频网站| 一本一首道人妻少妇免费久久| 中文字幕在线观| 久操热| 97日韩欧美亚洲| 中国国国产一级特黄毛片| 欧美亚洲丝袜美女电影| 亚洲国产一级黄色视频| 国产黄a三级三级三级av在线看| 91天堂丝袜美腿| www.色婷婷色综合| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 精品午夜福利| 操碰91| 国产精选视频| 亚洲另类综合欧美| v91av| 91九九| 亚洲色悠悠久久88| 亚洲囯产精品女人久久久| 人妻在线大香蕉| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 逼逼逼逼操操操操操操操操操午夜剧场| 久久综合18p| 亚洲一区操| 久久亚洲熟妇在线视频| 日韩精品在线观看观看| 人妻天天爽夜夜爽2| 美女操逼福利视频| 男人的天堂99| 曰韩成人免费视频| 欧美激情专区| 日本精品网站在线中文| 北京美女一区二区| 日韩不卡a级视频专区| 经典丝袜一区| 五月丁香网站| 好爽视频在线观看视频| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 国产强奸乱伦第1页| 麻豆蜜桃视频在线观看| 激情小说日韩无码| 美女91av| 大香蕉久久| 91bbb| 人妻精品一区二区全免费| 上海一级黄片| julia国产在线| 真实高潮91| a v网站在线播放| 欧美在线55555| 插欧洲美女欧美精品| 中文字幕一区二区三区50路| 欧美性暴力猛交XXXX | 屌逼传媒| 熟女人妻精品一区二区视频| 99re8超碰| 天天肏夜夜肏| 国产一区二区三区免费视频在性观看 | 中文字幕在线高清男人的天堂| 国产精品熟女一区二区三区| 啊啊啊在线观看免费视频| 久热9| 久久久久久久| 国产第二页| 97网址www| 中文字幕中文字幕一区二区| 日本天天干天天操一区| 亚洲色图第一页| 私色综合网| 青娱乐亚洲自拍| 欧美91精品国产自产| 亚洲天天精品| 日本不卡码黄色| 欧美人人AAA| 影视综合无码少妇| 中文字幕免费在线观看| 神马午夜久久久| 91婷婷伊人狠人| 亚洲 欧美日韩 另类| a片自拍直播视频| 色淫网站优优视频| 九七毛片九九毛片 | 亚洲综合九| 天天干天天操天天拍| 男男H黄动漫啪啪无遮挡网站| 91精品人| 国产久久天堂资源| 四虎精品一区| 秋霞鲁丝午夜无码一区二区三| 伊人网av| 五月天伊人| 国模私拍一区二区三区神乳| 久久免费9| 女生看匆91网站| 天天干1区2区在线| 啊啊啊啊啊好大好舒服想要| 免费一级毛片在线视频观看| 樱花蜜乳av| 一区二区三区在线美女| 97在线免费观看| 久久粉色| 日韩av电影网站| 综合久欧洲| 啊啊啊啊啊啊在线看| 骚逼高潮久久精品| 99操| 日本特黄f c2| 久久人妻四季| 亚洲图片欧美91N| 嗯嗯,啊啊,国产精品| 97色在线观看| 荡小穴在线观看| 免费农村成人少妇人妻Aa一区二区视频| 草草影院在线视频| 人人天天欧洲| 婷婷情色综合网| 天天干一区二区| 大香蕉 222| 欧洲中文字幕| 久久綜合很很很| 亚洲欧美日韩电影网站一区 | 人人妻碰人人免费| 人妻啪| 天天射天天操天天干天天吃2018 | 欧美亚综合色图| 欧美激情超碰777| 天美传媒在线一区| 国产1727欧美| 中文字幕av一区二区三区人妻少妇| 啊啊啊操死我了| 欧美日韩久久精品爱爱| 日本精品999| 久久精品国产AV一区二区三区| 国模不卡| 超碰99在线观看| 国产又粗又又黄又猛| 日韩 欧美 校园一区| 91欧美另类| 9美女超碰在线免费观看| 欧美国产成人在线| 日韩综合第八区国产精品| 天天cao在线| 国产在线综合福利网站| 乱伦图一区| 天天干美少妇一区| 91九九九逼| 蜜臀aV午夜一区二区三区| 青青草一区二区高清无码视频| 婷婷色综合欧美日韩| 国产精品自拍xxxx| 国产精品99久久久www| 色蜜AV| 国产免费一区| 人妻少妇久久中文字幕一区二区 麻豆| 激情熟女12P| 正在播放国产精品一区| 亚洲中文字母在线播放| 性欧美另类高清| 欧美色图97| 91视频伊人| 亚洲乱熟女一区二区三区大香蕉| 色呦呦、国产精品| 欧美同性恋 的搜索结果 - 91n| 亚洲男人的天堂va亚洲男人社| 免费中文综合精品| 久久精品人体AV| 久日综合网| 亚洲精品91| 风流老熟女一区二区三区l| 九九久久九九久久| 国产丁香精品露脸视频 | 亚洲AV永久无码一区仙野| 日韩99神马视频片| 天堂亚洲欧美| 亚洲一区二区久久久久| 国产无遮挡| 啊啊啊啊啊好多水| 免费看欧美美女黄色大片| 男人天堂.AB| 天天肏视频| 手机看片1024你懂的国产| 热久日综合| 亚洲日本大香蕉1| 国产一区二区三区视频在线看| 91久久国产综合久久| 97色欧洲| 岛国视频免费在线观看| 无码人妻精品一区二区三区九九| 肏逼视频日本| 国产乱码久久| 婷婷10月天青娱乐| 欧美视频在线视频免费va| 中文字幕AV片| 精品一区二区综合熟妇| 久久九九一区二区三区成人| 人人妻人人澡人人爽人人精品浪潮| 日韩人妻无码专区| 日本2020一区二区| 亚洲综合中文字幕有码| 欧洲精品区| 激情啪啪拍91| 五十路人妻在线| 欧美少妇性爱网站| 熟妇激情| 男男H黄动漫啪啪无遮挡网站| 天综合网欧美| 极品尤物女神在线观看| 日韩电影天堂视频二区三区| jk白丝没脱就开始啪啪| 嫩草影院永久在线制服丝袜| 可以免费看黄片的视频| 色噜噜人妻丝袜AV资源| 欧美日韩日产免费网站看| 青青草大香蕉在线视频| 亚洲乱色熟女一区| 欧美成人国产精品| 国人欧美精品一区二区| 91碰碰| 影音先锋乱| 色99久草| 色色激情五月天| 蜜臀99久| 女人天堂AV五区在线| 呦呦一区| 97硬碰| 精品少妇人妻av久久免费| 国产青青美女玩逼视频| 曰本人妻人人澡人人夹| 国产精品色约约| 国产超碰人人操| 亚洲黄a三级三级三级看三级| 69少妇一区二区| 亚洲熟妇熟在线电影视频| 欧美人与性动交a美精品| 色眯眯av| 亚洲天堂热| 懂色av一区二区三区天美传媒| 蜜桃中文字日产乱幕4区| 91社操逼| 精品国产乱码久久久久久久| 中文字幕一区二区三区蜜臀| 亚洲精品乱码线路中文字幕 | 午夜亚洲WWW湿好大| 天天操人人操骚逼网站| 久久综合婷婷| 久久超碰国产一区二区三区| 国产精品粉嫩福利在线| 操91| 亚洲国产成人福利在线观看| 夜夜 中文视频rt| 激情av| 亚洲蜜乳av| 日本女人久久久| 日日黄色三级网站| 蜜乳AV色欲AVAV无码| 日产操逼| 日夜尻逼网| 国产精品乱码久久久久久久久久久久| 二男一女成人A片| 欧美激情精品久久久| 色97| 男人的天堂一区三区| 亚洲成人贴图| WWW美腿丝袜香蕉中文| 蜜桃传媒一区二区亚洲| 欧美刺激色黄片免费看| 黄片免费日韩| 蜜区区视频79| 99热这里只有是精品10| 日韩 人妻 精品| 色99视频| 91在线视频观看国产| 18禁在线视频| 超碰97 线线 在现| 999久久芭蕾| 综合激情一一91| 国产欧美一区二区| 国产精品交换一区二区| 欧美很很操视频| 无码免费精品高清| 人人操 欧美| 亚洲一区二区在线观看91| 欧美天天影院| 人妻天天爽| 好舒服视频| 蜜臀精品1区2区| 九色 人妻 大香蕉| 日本污ww视频网站| 亚洲精品国产精品乱码不99| 在线综合 亚洲 欧美中文字幕| 91欧美经典| 久久久九九| 伊人96在线| AV色五月| 九九九九九九九九九九精品视频| 啊啊啊用力在线观看| 成人综合色网| 亚洲有码 视频一区| 亚洲激情综合| 天天摸,夜夜摸| 亚洲日韩一区电影| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 男人a天堂手机在线版| 东京热视频网| 午夜视频好爽啊| 欧美在线永久天堂| 婷婷国产精品一区二区| 国产激情在线| 国内一区二区免费| 黑人猛交| 亚洲色图欧美一区二区不卡| 日韩电影在线观看网址| 成年人黄色视频免费| 精品夜夜澡人妻无码AV| 亚洲同性aV综合| 日韩欧美女求操每天更新| 青青五月天| 97在线视频免费看| 久久九色| 欧美不卡五十路| ji熟女.com| 手机在线中文字幕国产| 日日碰狠狠添天天爽超| 97人人射| 很很干很很操| 最新亚洲风情电影| 啊啊啊啊啊啊啊啊啊在线观看| 国产热av| 老熟女综合网| 欧美激情区| 无码一区二区精品视频久久久春药 | 无码WWW免费视频网站| 啪一啪免费视频| 无遮挡猛进视频免费无限观看| 亚洲婷婷五月天| 久久视网78| 久久色情| 免费看美国人人爽,人人操| 日韩av色图综合| 色网亚洲人| 97香蕉网| 免费1级a做爰片观看| 日韩性爱网址| 97视频在线观看高清资源| 精品999日本| 97美日韩视频| 九九九精品成人免费视频小说| 大香网站| 精品超碰中文在线| 60秒免费视频| 夜夜躁狠狠躁日日躁av| 影音先锋每日最新资源在线观看 | 天天天天天干夜夜夜夜夜操| 中文字幕一区av| 老鸭窝黄色视频网站| 色九久| 国产又黄又爽又刺激久久久久久| 日韩av乱伦| 91在线限制级| 免费看污网址| 一区二区三区四区理论片| 秋霞久久亚洲精品成人| 国产丝袜视频| 97网址97| 亚洲人妻中文在线视频| 99碰碰| 91男同| 男女啪啪网站免费视频| 极品美女福利在线观看| 亚洲欧美另类少妇精品| 欧美亚洲首页| 99久久婷婷丁香| 91色黑人少妇| 日韩欧美麻豆| 综合欧美激情网| 91精品人妻| 青娱乐国产盛宴视频| 久久久久久久久九九久孕交| 日本熟妇色熟妇在线视频播放| 色妇综合网| 91一起操| 久9综合在线| 日本操逼二区| 天天看人人操屄犊摸阴| 综合久久2017| 五月天激情国产综合婷婷婷| 男人成人黄色视频在线观看免费下载| 亚洲国产另类在线中文| 七久久久| 亚洲色图 91| 久久久久久久九九九九九九| 欧美少妇一区二区三区| 国产91 丝袜在线播放00-百度| 日本在线激情一区二区三区 | 日韩精品人妻一区二区| 婷婷丁香成人| 青青草公开在线免费不卡视频| 国语精品内射在线观看| 亚洲天堂综合AV| 超碰99在线| 中文字幕一区av| 97在线免费公开视频| 性一交一乱一交A片久久四色| 精品女同一区| 1024人妻熟女一区二区三区| 亚洲欧洲久久天堂| 操操操日本的逼| 日韩 欧美 国产 麻豆| 亞洲久久直播| 久久视频,这里只有精品| 无码操逼网| 是还免费视频1727我| 夜夜影视四色| 欧美人妻另类在线| 97啪啪| 大香蕉久久| 开心五月婷婷激情| 黄色十八禁| 成人午夜无码视频| 97超碰色色| 国产精品2020| 国产成人欧美一区二区三区的国产| 精久久久91| 91社区拍啪人妻| 啊啊啊啊,啊啊好多水| 婷婷五月天基地| henhen91| 日本 免费 一区二区三区 久久香蕉| 日本在线观看网址| 欧洲精品久久| 多乙久久久久久| 国语少妇精| 97超碰逼| 国产精品免费视频人成| 亚洲色图欧美色图在线播放| 小少妇| 国产精品熟女九色九色蜜臀| 国产女主播视频在线观看| 色婷婷影院| 少妇久久久久| 久久大陆| 久热免费视频| 又大又长又粗又爽又黄| 欧美精品,四区。五区| 蜜臀久久一区二区| 日本中文字幕不卡视频| 亚洲se电影| 一块操欧美性爱| 男女啪啪啪18禁网站| 99999这里都精品| 国产成人亚洲精品自产在线| 亚洲一区二区三区在线激情| 国产极品久久久| 五月婷丁香| 一区不卡在线观看av| 午夜噜噜噜| 青青草原狼av| 人人摸人人添人人操| 美女91AV| 91成人久久| 亚洲AV无码| 操逼网站视频漫画国产| 国产精品无码成人精品| 破处bbq| 女生自91网站| 精品国产片亚洲一区| 国产对白刺激视频| 久久老女人| 99这里只有精品| 欧洲中文字幕| 日韩精品一区的| 国产日逼视频| 99久久国产精品免费高潮| 91日韩网站| 超碰国产情侣自拍网| 日韩欧美亚洲一区二区三区影院| 亚洲国产成人精品久久久国产成人一区二区| 欧亚日韩综合精品国产| 九月AV| 久操婷婷| 久久一级无码精品毛片6| 欧美色九九| 啊啊啊啊在线观看网址| 国产一区在线免费播放| 日韩AV无码网站| 日本媚薬中文字幕在线| 欧美久久久15P| 另类综合另类| 91黑人无码激情在线| 91影库| 亚洲做性| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国产精品肉丝自拍| 91狠狠综合久久| 国产树林里野战在线看| www.伪伪| 国产在线强奸视频| 日韩电影在线观看网址| 啊啊啊不要啊啊受不了了视频在线 | 国产精品夜夜夜| 新视频sss国产| 久久综合超碰| 欧美性爱网97| 97久久超碰国产网站| 国产传媒1234区| 久久久久久久少妇| 久久超碰亚洲人| 日韩熟女精品无码专区一区二区| 亚洲精品97在线| 亚洲精品一二三四区| 91在线欧色| av婷婷色网| 人妻天天爽夜夜爽精品2| 1024亚洲中文字幕久在线看片你懂的| 人妻天天夜夜爽一区二区| 久99热| 情色AV电影| 日韩性色b| AV高清一区| 日本超碰色精品| 97超碰超欧美。| 蜜桃臀一区二区三区久久| 天天日天天干天天摸天天操| 99久久99九九99九九九|