久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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亚洲v日韩v欧美v片另类| www.久久| 人人做天天爱| 2017,超碰| 亚洲精品97在线| 13小男生GAY自慰脱裤子| 91九九九小逼| 99精品久久| 日韩性爱一级片| 丁香7月婷婷| 97人妻色| 人摸人人操人| 久草网站免费在线观看| 国产成人久久精品蜜臀| 91久久久久| 99国产精品人妻人伦| 秋霞一级鲁丝片A片| 国产一区二区三区,在线观看观看| 成人精品在线观看| 亚洲精品一区二区三区在线播放| 国产一区在线观看无码AV| 蜜臀久久99精品久久久久久酒店 | 亚洲综合20p| 久久大线蕉一区| 午夜男人一级A片7777| 操逼逼一区视频| 亚洲天堂男人天堂网| 欧亚揄拍偷拍精品视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 日本丝袜人妻内射| 一本色道久久天天射天天干| 男人天堂新在线| 操淫穴亚洲五月丁香 | 国产日韩无码一区二区三区久久区| 欧美爱国产综合、| 91处女在线视频| 男人天堂站| 五月天婷婷基地| 国产亚州高清国产拍精| 91爽啪| 欧美一区二区三区日韩| 99在线无码精品秘 入口黑人| 国产精品一区二区手机看片| www亚洲免费| 在线视频亚洲无码| 国内毛片国产欧美拍| 欧美色人| 性videos欧美熟妇hdx| 中文字幕在线免费观看2| 欧亚日韩一区在线| 国产高清无码一区三区二区| 睡产熟女乱伦| 六月色色| 国产丰满熟夫69mpp| 爽爽爽免费视频| 91嫩草欧美| 裸体1区| 97在线亚洲| 欧美日韩久久精品爱爱| 亚欧成人一级片在线播放| 91精品久久久久| 欧美色图亚洲激情| 日韩国产精品人妻无码久久久| 国产精品香蕉| 国产www色在线观看| 综合影视国产无码| 偷拍欧美综合| 禁十八久久| 亚洲精品1区| 91大香蕉伊人| 国产偷拍网站| 岛国AB视频| 亚洲熟女中文字幕在线| 久7色| 国产偷仑| 国产在线播放成人免费| 18禁美女裸体无遮挡啪啪| 国产高清成人传媒影视| 天堂伊人久久| 台湾一区国产高清在线| 91干熟女| 性色av一区二区| 日本97久久| 三上悠亚在线毛片91| CCYY草草影院地址入口| 婷婷导航| 蜜臀网址在线| 亚州一区二区成人片免费| 国产动漫操逼视频| 国产91精品久久久久久久网曝门| 久久视频,这里只有精品| 老女人综合网| 免费操逼视频下载| 日韩美女久久一区二区三区| 精品人妻伦一区二区三区久久| 欧日韩一二三f区| 无遮挡男女激烈动态图| 女人高潮大叫一级毛片| 欧美视频第二页| www欧美91| 伊人五月天婷婷| 欧美懂色综合网| 国产免费久久精品99re韩国| 少妇极品熟妇人妻无码| 久久久九精品| 国产毛片在线| 99综合自拍| 久久久神马影院| 亚洲天堂欧美| 后X久久| 大屁股熟女一区二区三区| 国产精品高潮久久久无码| 福利在线黄片| 91中出在线| 成人性爱AV在线免费观看| 精品一区二区三区蜜桃臀赵总| 熟女网站最新| 国产成人五月天丁香花| 91|九色|国产熟女| 欧美黑人168页欧美黑人167| 日逼逼免费看| 欧美丝袜激情| 老司机深夜18禁污污网站| 涩五月婷婷| 麻豆a'v电影| 久久透逼视频| 青青草吊丝| 97国产|免费| 国产三级日产三级韩国三级| 综合激情一一91| 操逼国产免费| 熟妇人妻一区二区三在线| 9久9久9久9久视频网站| 巨爆乳肉感一区二区三区竹菊影视 | 久久91| 97干日韩| 欧美激情视频在线一区| 加勒比人妻综合| 无色无码| 男人的天堂久久| 久操精品网| 国产少妇内射| 久99| 黄片qw| 精品一区二区三区蜜桃臀www| 国产h片在线观看视频| 热久日综合| 岛国成人av在线播放网址| 91黑丝操| 五月综合色| 国产97在线 | 亚洲| 天天干一区二区| 日本黄色精品专区网站| 亚洲一区制服诱惑| 亚洲春色欧美激情自拍| 欲香欲色天天天综合和网| 亚洲欧美在线观看免费| 国产伊人精品在线| 妇人噜噜| 色色色热| 日本黄色精品专区网站| 五十路熟女工口 | 综合网97| 老鸭窝亚洲毛片| 免费av在线播放二区| 夜夜操一区二区| 蜜桃无码AV一区二区| 青青草大香蕉视频| 亚洲色图国产另类| 丝袜美腿制服人妻二区中文字幕| 91GD.COM| 97av在线观看| 韩国毛片一区二区三区| 一二三区在线| 日逼视频日本| 91少妇人妻| 天天看高清麻豆| 久久98| 伊人一级免费黄片| 国产精品久久久午夜夜伦鲁鲁| 清柠毛片| 日韩乱伦视频| 一区二区免费电影久久| 精品国产AV一区天美传媒| 天天澡天天爽日日av| 91久久久久久久久18| 精品人妻免费观看| 99色热| 日韩精品人妻中文字幕久久久| 五月天激情婷婷| 欧美性生活免费网| 亚洲第一免费视频| 欧美一区二区男人天堂| 爱爱动态60秒| 伊人骚琪琪亚洲天堂网站| 久久99精品九九久久久婷婷| 久妇网| 天天插天天操| 天堂中文日本在线观看| 日韩乱伦AⅤ| 男人天堂2030| 精品少妇一区二区| 快播久久人人aV| 好爽,再快点啊哈嗯嗯嗯嗯| 色色99| 深田咏美亚洲精品福利社| 69少妇一区二区| 可免费观看的av毛片中日美韩| 丰满熟妇大乳做爰| 亚洲中字慕不卡| 天天夜夜久久| 午夜福利在线合集| 日本顶级天天操狠狠操夜夜操中文字幕| 麻豆久久久久久久久丝袜 | julia国产在线| 日韩欧美资源| www.acm成人黄色毛片| 亚洲精品一卡二卡三卡福利视频网站 | 亚州免费啪啪视频| 天天看天天在线精品| 精品欧美А∨无码黑人大荫蒂 | 国语av最新自产拍在线观看| 亚洲色图欧美色图日韩色图| 911av网站免费观看| 亚洲精品国语在线播放| 1769一区| 啪啪啪东京| 亚洲精品国产熟女| 深夜国产一区二区三区在线看| 欧美中文字幕日韩在线| 26uuu国产日韩综合在线观看| 北约熟女超碰| 视频分类 国内精品| 网页导航五月天免费一二三区 | 五月天婷婷欧美三区| 99在线无码精品秘 入口黑人| 欧美日韩一区二区三区四区蜜桃| 亚洲AV无码国产精品久久久久| 国产 无码 一区二区| 90后性网国产欧美| 国产婷婷一区| 国产人人干| 欧日韩一二三f区| 91综合网站| 午夜啪| 26uuu最新| 日本免费中文字幕在线| 久99热| 老鸭窝亚洲毛片| a人欧美综合天堂麻豆| 东北操逼| 久久精品熟妇丰满人妻99| 肏逼视频日本| 免费一级视频特黄色大片| 一区二区三区在线资源| 伊人色综合欧美| 亚洲干B| 岛国1区2区3区在线观看| 激情无码日韩| 混色激情av| x97av| 欧美国产婷婷久久| 久久精品亚洲成a人天堂| 超碰国产在线| 亚洲性少妇| 嗯嗯不要 视频| 欧美色另类| 国产在线能看的你懂的| 女人爽到高潮潮喷18禁网站| 国产久久久久影院老熟女| 蜜桃久久一区二区| 日韩AV熟女乱伦| 人妻精品综合中文字幕在线 | 欧美九9 9 9| 伊人 俄罗斯 a v| 人人操人人摸超碰| 日韩av影片在线观看| 美女尤物福利视频| 日本2020一区二区| 99久久精品无码一区二区| 超碰亚洲97| 情色大香蕉| 国产高清无码一区三区二区| 无码9区| 久久华人网| 香蕉国产精品麻豆亚洲欧美日韩| 精品人妻伦一二三区久久| 欧美天堂第二区| 伊人天天久久动态图| 亚洲五月婷| 少妇人妻激情四射| 波多野结衣先锋影音| 熟女色图在线| 人人看人人插| 夜夜高潮夜夜爽| 日日不卡av| 凹凸视频特色日本特黄| 日本熟妇色熟妇在线视频播放| 青娱乐休闲视频在线观看| 亚洲AV永久无码一区仙野| 蜜臀久久久国产| 亚洲一区二区在线观看91| 国产精品一二三区福利| 亚洲在线91| 中文字幕 码精品视频网站| 91AV天美在线视频| 强奸乱伦中文字幕AV| 加勒比五月天| 激情啪啪拍91| 亚洲色天堂九9| 综合欧美日韩在线观看| 黄久久| 天堂种子在线www网资源| 亚洲欧美综合网站| 91婷婷| 欧美性性性| 殴美牲| 久久久96| 青青草色插素人| 在线观看亚洲专区| 国产AV天美传媒一区二区三区 | 国产馆极品诱惑| 啊啊啊想要| 国产伊人自拍| 日本东京热加勒比久久| 国产精品午夜精品| 久久极品一区二区| 大黄片做爱的大的| 国产97av| 欧美少妇一区二区三区| 艹比视频国产精品| 这里都是精品| 人妻日日夜夜精品| 久久久久久AⅤ无码免费肉站| 欧洲一区二区三区四区在线观看| 农村妇女一级二级三级视频| 久久久久亚洲熟妇熟女| 国产精品丝袜久久亚洲不卡| www激情| 欧美亚洲图片| 亚洲情色无码一区二区三区| 九九热免费国产视频婷婷伊人五月 | 射丝袜高跟鞋99| 国产成人自拍视频视频| 78精品在线| 性色高清在线| 亚洲av强奸乱伦| 看全色黄大色大片免费视频| 性交一区二区在线播放| 欧洲天天在线| 91成人在线免费视频| 猛猛干| 久久久久78| 婷婷色色五月天| 熟妇的味道HD中文字幕| 夜夜夜爽www精品视频| 在线天堂999| 日韩av影片在线观看| 大香蕉综合网| 国产黑白丝在线| 日本天堂网| 色99在线| 欧美强奸乱能| 一级做a爰片性色毛片久久| 蘋果手機免費看成人Av| 国产久久久9999| 久久毛卡| 国产精品久久久久久久无码AV| 色综合1991| 67194无码不卡| 久久老子无码午夜伦不卡| 成人一道本免费视频| 淫纸中9区| 91路www| 夜夜操91744565| 一区二区 韩日AV| 五月天婷精品激情| 欧美 日韩 亚洲 春色| 91丝袜美女视频| 色色青青久久| 久久久久久久久久久999| 国产精品小视频一区二区三区| 亚洲制服欧美另类内射| 377p欧洲日本亚洲大胆| 一级做a爰片性色毛片久久| 丰满人妻一区二区三区免费| 揉揉揉夜夜| 精品无码产区一区二| 青娱乐大香蕉| 亚洲网污污污污| 天天综合网久久ww| 五月天色图| 亚洲最大黄网| 九九热免费在线国产视频伊人五月| 99自拍视频| 亚洲欧洲国产综合av| 18禁精品网站在线看| 1级黄色夫妻对换性交免费看| 欧美日韩1234| 中文字幕,人妻,日韩| 婷婷色色五月天福利| 久久久久久97| 飘花国产午夜精品不卡| 国产乱码精品一区二区三区四川| 天天干夜夜一操| 国内毛片国产专区二| 日本色色色视频| 五月天婷精品激情| 亚洲久热| 啊嗯好大视频在线观看| 99在线视频播放| 91女优在线观看 | 91老熟女老女人国产老太| 亚精品无码毛片一区二区三区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 丝袜喷水在线| 操91| 97欧美日韩| 人人爱人人乐人人操| 青娱乐国产剧情av一区| aaaa黄片| 超碰在线看| 毛片17S| 九九热在线精品视频| 久草视频制服诱惑| 97超碰热线| 久久99手机免费视频| 中文字幕AV片| 亚州综| 性久久久| 丁香色五月 97干| 蜜色网色哟哟| 一级黄碟| 午夜啪| 亚洲精品乱码久久久久久蜜桃麻豆| 国产亚洲国产超碰| 另类图片五月| 色呦呦、国产精品| 日韩欧美资源| 青青草国产欧美非洲黑人| 国产午夜福利专区综合| 看一级黄色视频| 色九月综合| 日本高清一本二本免费不卡| 国产成人91一区二区三区| 日韩欧美字幕亚洲一区二区| 欧美亚洲玖玖玖| 操少妞在线视频| 99re9| 人、人、摸,人、人、草| 久久久久性熟视频| 麻豆视频一区二区| 国产av美女被艹的乱叫| 成人五月天色网| 91中文字幕制服丝袜免费视频| 可以免费看黄片的视频| 中文字幕一区日韩精| 亚洲欧美综合区自拍另类| 欧美在线伊人色| 国产二区三区粉嫩在线| 超碰97最新人妻| 超碰吊日色| 午夜人人操| 秋霞怕怕片| 久久五月综合| 日本久久久久久久久久| 日韩亚洲精品一区二区| 欧洲射精91| 欧美天天综合网版| 亚洲无码99| 国产视频小说| 色官网色综合| 亚洲精品一区二区免费在线观看| 国产精品无码成人精品| 99国产精品人妻人伦| 999 久久久| 综合国产影视三级| 综合 青草 伊久久 影院 综合| 日韩一级二级三级| 五月丁香六月婷| 五月天精品| a在线视频免费观看| 2026国产精品视频| 国产熟女乱论| 久久99干一本高清| 色婷婷电影| 国产又粗又长的视频| 在线啊v一区| 夜夜 中文视频rt| 欧美日韩性爱无码| 午夜久久久| 一线黄色免费性爱片| 黑人精品久久97| 无色无码| 伊人操| 国产精品经典一卡久久久| 在线αⅴ| 国产成自自拍在线观看| 岛国艾薇凹凸视频天堂| 国产AV中文| 人妻久热在线| 国产精品盗摄 偷窥盗摄| 超碰1997| 99亚洲天堂| 思思热一热婷婷热一热| 色五月亚洲| 女性91网站| 大香蕉宅男伊人| 男人a天堂手机在线版| 色女免费在线观看视频网址| 国产激情视频在线观看| 亚洲国产另类在线中文| 夜夜 中文视频rt| 亚洲四虎熟女精品| 亚洲一级黄色毛片| 欧美日韩97在线| 久久国产视频性吧 | 色综和网| www.超碰| 一本久道在线综合视频| 熟妇人妻精品一区二区| 大鸡吧尹人在线| 日韩性爱免费视频在线网站| 亚洲美女精品九九视频| 国产熟女精品区| 五月丁香综合| 美国人人操人人操| 日韩精品人妻一区二区| 新精精品久久精品| 青娱乐av在线| 狠狠激情综合狠狠操中文字幕| 91综合网| 97伊人超碰| 超碰 av 女人天堂| 性爱久久| 欧美日韩操操操| 日本中文字幕不卡视频| 999精品女人| 熟妇激情| 久久久久亚洲一区女同性恋中文字幕| 久久激情视频| 大香网站| 人人做,人人操,人人摸| 久久久蜜桃臀无码视频| 夜夜春夜夜操| 超碰无码五月97| 欧美 青青草| 婷婷导航| 日本一级一级一级一级| 新婚人妻扶着粗大强行坐下| 亚洲国产精品无码AV久久久| 国产精品操| 国产精品另类一区大香蕉| 在线观看午夜婷婷久久久久清性观看| 久久久久久久少妇| 亚洲国产高清福利视频| 亚洲黄色视频在线观看视频| 日本精品999| 亚洲偷91色| 久日91在线| 91色艳| 亚洲一区二区麻豆影院| 色五月综合网| 大香蕉丝袜一级片| 欧美视频在线视频免费va| 亚洲精品人妻在线| 日韩一性一交一A片俄罗斯| 熟妇xxxxx性春色| 99亚洲精品| 自拍内地三级在线观看| 亚洲欧美日韩免费电影| 久久精品国产亚洲AV高清演员表| 欧美天天射| 亚洲欧洲自拍| 亚洲精品久久久久毛片A片拉屎 | 91老司机在线| 欧洲射精91| 丁香五月激情综合| 美中韩AV综合网| 怡红院视频在线| 婷婷日韩一区二区三区中文字幕在线| 色五月婷婷在线| 久久99操天天日| 亚洲精品一区中文字幕乱码| 久久婷婷一区二| 欧美 青青草| 人妻在线大香蕉| 乱子伦一区二区三区国产精品| 91嫩草在线| 肉丝无码中文高清| 97色欧洲| 大肥女高潮bbwbbwhd视频| 欧美成人免费在线观看| 亚洲伊人a线观看视频| 欧美日本中字另类在线| 熟女六十路| 国产精品一二三免费网站| av在线人气| 2026国产精品视频| 欧姜老司机| 一区在线精品中文字幕| A 在线网址| 动漫爆乳3D奶水一区在线观看| 99只有精品| 最新一二三区视频| 亚洲极品| 校园春色亚洲色图| 久久久久国产精品久久久| 九九九免费视频| 奇米四色网| 乱伦图一区| 91狼人| 久久鲁干| 五月婷婷色| 欧美A√综合网| 91国产丝袜白虎| 国产在线综合福利网站| 国产精品视频精品一二| 91超碰人人| 欧美九一精品久久久熟妇| 中文字幕欧美丝袜07资源| 隔壁邻居波多野结衣中文字幕| 天天草天天干天天日| 啪啪视频mP4| 久久久无码精品人妻二区| 在线免费观看高清无码视频| 中字乱伦AV| 久久久久久久久久久999| 亚洲图片视频小说| 三级特黄60分钟播放| 久热伊人99re| 强奸熟女一区二区三区| 久热一区二区| 国产99 中文字幕日韩小视频| 九热大香蕉| 欧美一级二级三级| 日韩一级成人毛片免费观看| 97久久超碰国产网站| 91高潮| 国产一在线观看| 天天摸夜夜摸| 亚春色色| 91free福利| 国产精品午夜福利视频| 7777奇米影视久久| 人妻精品综合中文字幕在线| 人人妻人人爽一区二区三区| 果冻国产精品麻豆成人av| 日本男人插女人的逼黄色| 午夜性生活av免费在线看| 99热啪啪| 久久青娱乐| 亚洲欧洲日韩国产自在线| 天美欧美国产| 久久这里是精品| 台湾肥佬网一区二区三区| 午夜精品久久一区二区| 欧美嗯啊……在线观看视频免费| 超碰碰97资源站| 久久露脸国产老熟女| 亚州高清AV| 在线观看日韩av不卡| 91熟女.com| 99性爱在线观看| 97国产精品久久久久| 激情视屏国产乱伦强奸| 久久久久久久久国产| 黄片色区软件| 一摸二插三插| 国产高潮AA片免费看| 亚洲综合草草| 亚洲综合另类| 欧美精品黑人猛交高潮| 人妻啊啊人妻啊啊| 国产强奸乱伦欧美| 亚洲国成人情色好看电影| 国产美女口爆吞精视频| 极品久久久久久久久久久久久久| 无码日韩人妻av一| 97久久久久久久久久| 五月大香蕉| 人人么人人操| 加勒比AV天堂| 色在线亚洲视频www| 91九色丰满高潮| 婷婷综合网| 婷婷色综合欧美日韩| 粉嫩国产精品久久久| 人妻无一区二区三区| 亚洲高清少妇| 综合一区中亚洲国产成人综合精品| 中文字幕第23区| 国产成人精品亚洲日本| 欧美九九九| 亭亭丁香激情| 国产亲戚伦亲在线| 中文字幕三四五区| 久久爽爽精品| 又黄又爽在线观看视频| 免费观看性欧美一级| 天天日熟妇| 六月婷激情福利天堂69| 强奸乱伦大香蕉| 国内毛片四区| 视频二区美腿丝袜制服人妻欧美 | 亚洲乱码国产乱码精网站| 欧美日韩亚洲天堂| 躁躁日曰躁2020| 九九色热| 伊人久久大香线蕉无码| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 一级日本牲交大片好爽在线看| 91女优在线观看| 国产11页| 丰满人妻av一区二区三区| 亚洲一区日韩精品中文字幕| 加勒比久久av| 熟女中出视频| 99无码| 粉嫩av在线一区二区| 干b网| 美日韩在线不卡人妻| 丰满欧美少妇| 国产成人精品日本亚洲语言| 久久久久久九九九九| 啊啊啊不要好疼视频| 乱伦av麻豆| 亚洲无码偷拍| 欧美激情精品| 热G综合热G中文| 欧美亚州综合图片| 99r九九| 丁香五月AV| 亚洲二区精品在线观看| 高清国产成人无码| 午夜福利国产欧美日韩夜夜| 91宗合网| 色偷偷男人的天堂麻豆| 熟女天天干| 国产极品999| 水澄无码AV| www.99热| 九九热九九| 日本操BAV| 亚洲一级黄色毛片| 99久久99久久免费精品蜜臀| 国产精品欧美在线观看| 久久青娱乐| 极品少妇久久久久| 蜜臀99久久精品| 欧美性Fer办公室秘书| 亚洲图片欧美在线视频| 日韩精品免费高清视频在线| 亚洲欧美另类图片| 色香av| 亚洲天天操| 国产精品乱码久久| 懂色Av| 另类图片五月天| 欧美亚洲色的图| 亚洲综合色在线| 久久中文字幕女同性恋一区| 亚洲性感丝袜诱惑在线观看| 免费超碰97久久| 99热国产| 日韩精品怡红院| 欧美综合网1| 亚洲天堂资源| 国产超碰97| rion磁力链接| 国产91福利小视频在线观看| 老熟女乱伦一区| 超碰国产精品久| 黑人无码一区二区| 久综合国内精品自在自线| 密乳AV免费观看| 第一高清av中文字幕| 久久香蕉网| 久久25| 91美女色视频亚洲| 清纯唯美综合亚洲| 亚洲国产综合图区中文字幕| 超碰97人妻免费在线| 精品国产乱子伦一区二区三区,精品一| 麻豆天美一区二区| 丰满美女一级毛片在线播放| 中文字幕91页| 日韩人妻精品久久久久| 亚洲欧美另类少妇精品| 亚洲欧美91√| 国产传媒日韩| 欧美日韩日产免费网站看| 日韩欧美成人午夜福利| 亚洲少妇综合在线播放| 激情小说五月天| 免费看污网站| 亚洲激情欧美色图 | 中国熟女网站| 欲香欲色综合天天伊人| 成人精品无码| 日韩人妻一二三区视频| 97人人操人人干| 日日AV加勒比| 男人的天堂99| 丰满美女一级毛片在线播放| **一级毛片国产| 在线综合 亚洲 欧美中文字幕 | 啪一啪免费视频| 性欧美另类高清| 蜜臀久久精品久久久久视频| 久久专区| 综合久久婷婷| 黑人精品久久97| 久久狠狠色噜噜狠狠狠狠97| 熟妇xxxxx性春色| 日韩欧美国产高清视频| 天天添天天干电影| 久草男人天堂| 96久久久久| 色欲天天综合久久久无码网中文| 免费福利视频中文字幕| 在线观看国产黄色| 国产成人主播| 亚洲综合第一页| 久久亚洲av成人无码国产| 久久香蕉超碰97国产精品| 最近二区三区视频大全| 狠狠激情综合狠狠操中文字幕| 日本不卡二三区| 蜜臀视频网站| 黄污污污污| 天天久久久久久| 午夜福利免费福利视频| 精品十三区| 人人操,人人液| 屁屁影院一区二区三区国产| 91成人国产综合久久精品蜜月| 美欧色综合| 亚洲成人免费电影| 欧美,日韩,中文,另类| 最新三级网址| 日本九九久久99| 一级片在线观看高清无码| 北条麻妃99精品青青久久| 麻豆av一区二区| 五月丁香六月婷| 国偷自 一区| 亚洲无码久久久久久久| 色情亚洲日本成人| 白丝一区| 久久亚洲不卡一区二区三区| 婷婷伊人五月| 快点操死我| 搡老熟女免费视频| 91暧暧| 99999精品| 婷婷久久综合久| 外国免费性情大片| 五月综合久久| 91熟女丨老女人| 色婷婷五月天| 国产偷拍网站| 嫩草 人人网精品| 婷婷av在线中文字幕| 久久久久久久久久久999| 日韩乱伦AⅤ| 欧美激色| 五月色综合| 天天色图| 超碰99热中文字幕| 看一级特黄a大一片| 在线 欧美 亚洲| www.色五月| 蜜臀无码视频在线观看| 鸥美插入视频| 干婷婷综合网| 欧美在线啊啊| 91色综合激情| 玖玖爱免费观看视频| 亚洲少妇视频| 综合国产97| 国产日产精品久久快鸭的功能介绍| 色综合99999| 亚洲精品视频在线播放| 啊啊啊啊网站| 91丝袜激情在线| 国产免费一区在线观看| 久久国产乱子伦精品免费女,网站| 免费看污网站| 亚洲天堂7777| 天天看天天日| 99日免费视频中文字幕| 久久久一级| 超碰97欧美| 麻豆精品A片免费观看| 黄色视频特级毛片| 丰满人妻区一区二区三| 九九九九免费高| 丁香六月婷婷久久综合| 黄视频免费| 老熟乱一区二区三区四区| 亚洲一二三四区机械| WWW黄片COM| 熟妇xxxxx性春色| 日日骚一区二区三区| 欧美熟妇人体| 婷婷激情五月天小说网| 妇女乱色二区| 操我啊啊啊啊啊| 麻豆国产免费影片| 黄色人人| 色99999| www被窝色com| 欧洲免费一区二| 嫩草影院在线观看精品| 亚洲日韩av专区无码| 韩日欧亚a级| 久久久久久久久久精| 91蜜臀在线久久久久| 亚洲欧洲国产综合av| 国产精品4p在线观看| 久久99国产精品| 国产丰满熟夫69mpp| 99热这里都是精品| 91人妻尻屄视频| 久久久久久电影| 蜜臀一区二区三区在线| 色图四区| 九九九九九九综合| 人妻五十路在线| 国产熟妇一区二区| 国产精品小视频一区二区三区| 色婷网| 中国探花熟女| 操逼网站视频漫画国产| 岛国爱情动作片在国产AV无码专区亚洲AV漫画 | 无码 黑人一区二区三区| 国产精品视频在线观看| aV中文麻| 热热色青青草| 欧美大色交| 少妇同性| 操b网站亚洲无码| 啊啊啊啊啊啊好湿好爽视频| 91亚洲精品青草| 久久五月份| 无码国产精品午夜不卡(| 欧美色视频在线| 制度丝袜99| 久久美女国产| 福利视频一区二区微拍| 国产熟女完整版中字| 少妇一区二区三区精选| 欧美大波激情xxxx| 日本三级A片网站com| 综合影院永久入口国产| 亚洲少妇视频| 欧美翘臀视频网站一区二区三区| 啊啊啊啊啊啊啊在线| 狠色婷婷久久一区二区三区_| 青青草字幕AV| 欧美日韩人妻少妇 一区二区三区| 97一区二区三区视频| 成人一区二区三区四区| 久久伊人网视频一区二区三区| 超碰99在线| 久久五月婷| 亚洲图片欧美91N| 热天堂一区二区| 六月丁操逼| 亚熟hd视频在线| 亚洲自拍一区夜夜操| 加勒比海成人视频网| 嗯嗯啊啊好疼| 亚洲91综合| 好湿好紧视频| 三久久久四久久久久| 人妻一区二区三区四区视频| 亚洲色图一区二区三区| 国产精品久久久啊| 女人被男人桶爽视频网站| 天天日天天干天天整| 我爱大香蕉| 亚洲熟妇丝袜在线观看| 色婷婷久久综合超碰| 欧美啪啪天堂| 麻豆美女丝袜人妻中文| 亚洲,日韩,欧美,成人播放| 丝袜美腿制服人妻二区中文字幕| 久久草大香蕉| 亚洲影院小综合| 999熟女精品| 97视频免费播放| 免费岛国一级片| 无码日韩人妻av一| 亚洲AV成人在线| 日韩精品熟妇| 久久青娱乐| 久久性爱视频免费看| 无码乱人伦中文视频| 日本狠狠干| 色综合超碰超| 男人成人黄色视频在线观看免费下载| 欧美 亚洲 第一页| 国产精品免费1区2区视频| 日韩乱伦影音先锋| 亚洲国产综合久久天堂| 999熟女精品| 日本一区二区亚洲综合| 91干熟女| 久久、1234| 日韩欧美传媒一区国产| 无码最新| 中文字幕在线观看AV| 欧美肥臀在线| 欧美日韩亚洲一区二区在线观看| 亚洲黄色a级片| 成年女人18级毛片毛片免费观看| 加勒比大香蕉视频在线| 啊啊啊啊啊啊啊网址在线观看| 大肥女高潮bbwbbwhd视频| 最新日产中文在线麻豆| 东北女人被操| 天美传媒AV在线播放| 国产成人精品日本亚洲语言| 国产成自自拍在线观看| 久热一区二区| 超碰99在线| 国产欧美日产一区二区三区 - 国产欧美日| 青娱乐国产剧情av一区| 国产粉嫩出水在线播放| 六月激情婷婷| 呻吟 欧美 日本 中出| 亚欧免费| 欧美在线官网| 日逼97| 欧美黄片视频在线观看免费 | 人妻 中文 日韩| 欧美图片偷拍| 九九九九热只有精品| 去干网最新版| 破处bbq| 久久免费精品视频免一| 日本一久是| 欧美日韩日产免费网站看| 亚洲男人天堂2019| 色97干| 亚洲综合小说另类图欧美视频激情小说色五月天 | 综合久久中文字幕综合日韩精品| 麻豆精品三区视频| 自拍偷拍亚洲熟女妇人精品| 黄色高清久久无码依人| 操b在线观看| 在线 亚洲 网爆 自拍| 欧美精品69性爱| 色九月综合| 中国国产精品一区视频| 蜜屁Av| 美中日韩无码| 久草毛片| 日本狠狠干| 欧美成人性活片| 中文字幕精品人妻丝袜| 日韩一级欧美一级国产一级台湾| 1024亚洲中文字幕久在线看片你懂的 | 人妻久久久久久| 97伊人网| 99国产精品在线观看| 91精品亚洲内射孕妇| 欧美日韩国产电影| 中文字幕一区电影在线观看| 91成人在线| 91精品国产日韩欧美综合| 天天爱综合网| 看日韩操逼| 狠狠躁伊人中文字幕| 久操99| 欧美精品日韩久久久九| 曰韩少妇无码| 久久女婷| 巨乳特殊服务按摩| 色好看av| 久久一级无码精品毛片6| 97久久综合网| 精品久久久av| 亚洲精品无码久久AV| 亚洲欧美国产精品久久久久久久| 亚洲精品成人激情在线| 亚洲加勒比久久日本道| 狠狠干综合| 五十路熟女人妻一区二区三区四区五| 亚洲熟妇丝袜在线观看| 91人精品妻入口| 99这里都是精品| 亚洲 图片 综合91| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 97精品在线| 亚州乱码中文字幕综合久久久| 久久亚洲影院一区二区| 丰满人妻一区二区三区四| 激情小说五月天| 精品四五区| 亚洲三级网址久久最新| 美女人妻色网站| 超碰97最新人妻| 91亚洲丝袜| 99这里只有精品| 哈哈操电影| 性色av大全| 亚洲色图欧美视频| 亚洲国产欧美中日韩成人综合视频| 柠檬AV导航| AAAA级日本片免费视频| 成人三级片一区二区三区视频| 男人天堂免费| 亚洲日韩狠狠撸视频| 大茄子熟女AV导航| 色欲日韩欧美在线一区| 日本欧美不卡| 日韩色欲久久一二三四区| 青青伊人久久| 久久亚洲不卡| 亚洲97成人在线观看| rivers-china.com| 麻豆伊人网| 国产久久久9999| 无码国产精品午夜不卡( | 亚洲熟女国产综合另类| 999国产精品999| 樱花蜜乳av| 97干在线| 日夜精品| 激情小说亚洲图片| 熟女性视频| 婷婷六月色| 欧美久久伊人| 国产不卡免费在线视频| 影音先锋每日最新资源在线观看| 78m成人视线| 超碰在线在公开超碰在线在公开| 国产乱码久久久久久| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 欧美内射少妇| 亚州伊人色综台| 另类在线| 久久99网站| 亚洲国产欧美中文永久| 日韩黄片影院| 97国产精品久久久久| 国产第11页| 亚洲天堂日本| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 国产AV天美传媒一区二区三区 | 国产精品老熟女一区二区| 欧美日韩亚洲高清不卡一区二区三区| 爆操无码| 这里只有精品视频在线观看麻豆| 91在线精品一区二区三区|