日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
在线综合 亚洲 欧美中文字幕| 后入福利视频| 亚州欧美在线| 精品一区二区人妖| 日韩AV色图| 91宗合网| 26uuu欧美| 国产精品久久久久久久久久久久久久久久| 78精品| 熟妇xxxxx性春色| 日韩久久三区| 98福利在线视频| 污色区网站| 超碰人人色| 欧美色图天堂网m| 97这里有精品| 日韩熟女精一区二区三区不卡| 国产精品黄色三级av| 无码欧美有限公司| 久久狠狠色噜噜狠狠狠狠97| 久久9亚洲| 久久久久久九九九九| 国产AV高清AV无码| 少好三P| 亚洲性爱电影| 少妇一区二区三区在线观看| 另类图片综合| 打av高清| 免费人成?大片在线播放| 精品亚洲俞拍视频一区| 国产第25页在线观看| 亚洲情色1区| 日韩激情毛片一级久久久| 久久超碰亚洲人| 大象AV在线| 亚州操操穴网| CCYY草草影院地址入口| 男生女生啊啊啊啊| 吖在线不卡一区二区国产剧情| 亚洲瓯美色图| 日本一区二区三区四区免费观看| 欧美综合 站| 成在线人在线观看视频| 欧洲熟妇xxXx欧美老妇裸体| 超碰偷拍| 岛国小电影| 超碰美国| 粉嫩小泬久久久一区二区| 精品成人无码| 色偷偷男人的天堂麻豆| aaa一级黄片| 亚洲色图A| 超碰爽人妻熟女Av| 天天草夜夜草高潮片| www老逼91| 操逼操2| 秋霞福利网| 另类专区在线观看| a级免费在线观看| 久久久少妇诱惑精品视频| 天天做日日做天天欢。| 干美女人妻| 99热精品在线观看| 久久男人精品| 天天干1区2区在线| 六月丁操逼| 91精品无码人妻系列| 天天日骚逼熟女| 在线看片国产精品每日更新| 国产精品伦理| 欧美综合自拍成人自拍第二十页| 立川理惠被中出无码| 亚洲色图a| 青娱乐日韩无码| 中出人妻中文字幕91在线| 免费观看网黄| 亚洲高清自拍| 9 9无尺码天堂网| 六九九九| 一级特级aaaa毛片免费观看| 亚洲限制级| 色人久久| 少妇高潮对白在线观看| 97国产精品一区| 91久久久久久久久久久| 蜜桃av综合网发布| 一牛影视成人片免费| 天天躁狠狠躁av| 欧美页片| A男人的天堂| 国产一级做a爰大片免费久久| 欧美色偷偷| 欧美黑人91| 久久人妻丝袜一区二区三| 2020中文在线一区二区三区| 在线不欧美| 超碰到97情色| 97爱啪| 色av中文字| 国产区性爱在线视频秋霞豆| 色色毛片| 国产91 丝袜在线播放00-百度| 天堂涩涩| 中文字幕一区二区三区蜜臀| 97色色色综合网站| 日本理论在线| 亚洲中文字母在线播放| 欧美黄片免费在线观看视频| 亚洲日韩精品久久久久一区壹牛 | 另类亚洲图色| 二区熟妇韩日| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 色欧美天天| 99久久久er直播网址| 一级性爱视频免费观看 | 四虎午夜影院| 男人的天堂Va| 欧美曰韩国产精品| 欧美老妇女内射网址| 99熟女| 秋霞视频一区二区| www五月| 性色av网站| 九九久久一区二区伦理| 18禁超污无遮挡无码免费网| 1024人妻熟女一区二区三区| 中文字幕91页| 成人免费在线网站| 午夜人妻精品综合在线| 青娱乐av在线| 夜夜 中文视频rt| 亚洲AV不卡在线观看尤物| 亚洲天堂第一页| 91黑丝美女| 骚乳在线| 八人操人人摸人人看| 国产传媒午夜理伦精品| 天天操人人操狠狠插| 国产一级做a爰大片免费久久| 亚洲第一狼人丝袜美女另类| 丁香五月综合| 久久9久9久99久9久9| 亚洲高清内射| 亚洲AV永久无码精品成人调教| 日夜精品| 亚洲天堂一区二区久久| 这里只有精品视频在线| 久草资源在线视频官方总站日韩丝袜美腿| 亚洲污污网站| 国产探花日韩援交| 狠狠色色| 加勒比人妻综合| 欧美情色亚洲| 天天激情干| 狠狠色婷婷7777久| 天天做天天爱天天爽AV| 蜜臀久久99精品久久久| 色久桃花影院在线观看| 大胆91| 久久人体一区二区| 大JI巴好深好爽又大又粗视频| 日韩免费av片高清无码| 97av在线视频| 躁躁日曰躁2020| 大稥蕉免费视频这里只有精品| 日韩二三区| 人妻大香蕉| 青娱乐二区免费| 久久久久9| 91精品久久久久久77777| 中国人高清www色视频免费| 国产成人一级av88| 加勒比海成人视频网 | 五月婷在线| 60秒免费小视频| 亚洲欧美黄| 日本Xx性爱| 一二三啪啪专区| 就去色综合| 制度丝袜99| 丝袜制服字幕在线| 老熟女91视频| 激情看片网站| 欧美在线视频播放| 欧美国产精品| 99热aaa| 热99这里有精品综合久久| 日本操BAV| 大香网伊人久久综合网eew| 94色色电影网| 色色99| 国产精品一区在线播放| 996热| 韩日自拍| 91天堂| 亚洲成av人片色午夜乱码| 欧美少妇性乱| www.99中文字幕| 怡春苑东京热| 天天看天天在线精品| 亚洲色性情三级| 黄色无码高清黄色无码网站| 欧美夜夜狠| 中文字幕丝袜| 青青草九九九九九| 亚洲精品自拍| 淫乱图区| 丁香五月久久| 美女裸体无遮挡永久免费观看网站| www.zbzhongsen.com| 亚洲情色无码一区二区三区| 色区久久| 国产熟女无套内射| 久久久亚洲精品电影免费看| 99久久婷婷丁香| 91处女在线视频| 国内毛片国产专区二| 久久久久久久久久久久欧美日| 在线无码网站| 伊人久大| 欧美一二在线| 嗯嗯啊啊视频在线看| 亚洲久久天堂| 九九碰九九爱97| 欧美97超碰| 17c嫩草51久久91嫩草| 天天欧美色| 国产精品久久久吖| 国产视频小说| 久久婷婷六月综合| 亚洲中文字幕熟女| 情色五月天网| 青青草日韩无码| 欧美一级A一级a爱片久久| 久久成年精品| 亚洲AV成人在线| 999综合网| 97天天弄| 久久啊哟| 操逼操逼视频操逼| 香蕉视频精品亚洲一区二区三区在线播| 久久人妻视频网| 国产视频一区二区三区在线免费观看| 九九九九一级| 日本亚洲vr欧美不卡高清专区| www.伪伪| 99久久精品国产系列| 欧美A√综合网| 美国一区二区免费视频| 中国一级αV| 欧美日本不卡| 97高清啪啪| 欧美顶级黄色大片免费| 国产视频一区二区三区在线免费观看| 国产中午字一暮区| 热久久九九热| 日本国产亚洲一区在线观看| 大香交| 成人天天看站长推荐| 一区二区娱乐网站| 99在线免费公开视频| 嗯嗯嗯啊啊在线观看| 亚洲国产剧情少妇激情| 日韩性爱网址| 岛国在线一区二区三区| 色网站导航大全| 亚洲性高潮| 欧美日韩另类字幕中文| 97人人爱人人做人人乐| 精品精品精品| 热九九精品| 国产精品一区av在线| 午夜一区| 久9爱精品| 国产成人主播| 亚洲精品欧洲精品| 欧美九九99久久精品| 天天干人妇| 色色香蕉| 日本性爱网址| 强奸乱伦资源| 国产精品自拍欧美在线| 日韩卡一卡二卡三在线| 久久‘黄片视频| 国产精品亚洲无码| 国产精品一区av在线| 欧美成人免费在线观看| 日韩精品一二三| 久久精品导航| 欧美色图另类图片| 欧洲亚洲人妻无码久久三区四区| 性欧美精| 久久精品高清无码一区| 国产妇女精品视频青青草| 亚洲AV资源| 欧亚乱色熟一区二区三四区| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | julia在线观看久久| 精品人妻伦一二三区久久| www网站黄| 在免费jIzzjIzz在线视频| 日韩在线一区高清在线| 干干干天天| 国产亚洲精品美女久久久久久2021| 日韩欧洲操屄视频| 综合av社区| 亚欧毛片基地国产毛片基地| www.久久制服糖| 久久国产乱子伦精品免费女人| 最新日日夜夜天天干干| 91在线超高颜值国产| 欧美日韩免费性爱| 看日韩操逼| 99人人干| 亚洲国产欧美日韩人妻日中文| 男人天堂婷婷五月天校园春色| 一区二区 韩日AV| 久草视频制服诱惑| jiujiujiujingpin| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 丝袜亚洲91| 亚洲综合另类色图| 亚洲熟女av中文字幕| 超碰欧美| 欧美成人AⅤ大片在线观看| 国产三区免费在线观看| 婷婷久久综合| 久久久av爱| 精品成人女人久久| 囯产精品久久久久久久久久二区三区| 精品中文字幕第一页| 亚洲欧美精品福利在线| 亚洲综合影片| 欧美色图第一页| 欧美综合国产精品久久丁香| 久久久麻豆精品| 欧美色图天堂在线| 69精品人人人人| 久久久久久中文| 无码久久国产 | 91丨九色丨国产丨人妻在线| 手机看片1024你懂的国产| 人妻久久久| 亚洲国产精品久久久男人的天堂| 日本2020一区二区| 逼操网站| 婷婷成人久久久精品| 国产性爱欧美性爱在线| 国产捆绑一区| 手机看av网站在线看| 久久国产精品91| 欧美青青草视频| 高清有码一区二区| 你懂得91| 无码人妻精品一区二区三区九九 | 国产一| 天美精品原创av片国产| 日本道久久综合色色| 国产无遮挡| 欧美97se| 婷婷中文网| 青青草伊人久久| 91 丝袜在线播放| 99色视频| 中日韩久久久免费看| 激情五月天插| 人妻精品4K4K4K4K4| 风间由美日韩欧美久久| aaaa少妇高潮大片| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 婬女免费一二三区A片| 诱惑人妻欧美一区在线播放| 超碰97亚洲| 国产 日韩 另类 视频一区爱| 色av中文字幕| 人人操我人人干| 久久精品一区二区三区不卡| 欧成人在线| 色情乱伦AV| 97在线青| 日本操嫩b网| 久久视网78| 人妻精品视频一区二区三区| 人妻少妇色综合| 人伦四五区| 日韩精品永久在线观看| 嗯嗯嗯啊啊啊干死我吧| 18禁免费视频| 吉川爱美亚洲二区在线| 欧美日韩日产免费网站看| 欧美亚洲影视| 中文字幕精品一区欧美| 中文字幕伊人| 五月婷婷爱六月丁香色| 一级免费精品| 一区二区三区机械有限公司| 成人九九| 九九色色| 日韩三级伦理中文字幕| caopeng97人妻| 日韩无码精品综合久久| 伊人久久大香线综合无码| 在线岛| 久久久九九九九| 一,爱啪啪,在线免费视频| 91国产美女丝袜足交精品视频| 操操吧亚洲乱伦视频| 香蕉免费一区二区三区不读| 近亲乱伦一区二区| 97中文综合| 精品久久視頻在线| ji熟女.com| 天天摸天天舔天天操| 亚洲国产麻豆一区二区三区| 九九五月天| 91狠狠综合久久久久久| 亚洲第一狼人丝袜美女另类| 中文字幕1区2区| 亚洲天堂综合AV| 无码高清操逼网址| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 久久二| 超碰97男人| 欧美成人A天堂片在线观看| 欧美日韩中国x| 天天流夜夜操| 天天日天天搞天天干| 国产精品色约约| 色蜜AV| 日韩欧美成人午夜福利| 伊人欧美大香蕉视频| 九九九九热| 97 九色| 丁香九月激情啪| 1769成人国产精品视频| 成人久久久精品| 亚洲天堂电影精品一区| www.大香| 啊啊啊草死我| 97超碰中文字幕| 天综合中文| 人人妻人人狠人人| 国产精品麻豆免费视频| 国产成人精品网站| 色www精品视频在线观看| 五月丁香网站| 国产99久久99热这里只有精品15| AV乱伦国产| 啊啊啊啊,啊啊好多水| 旡码电影特区| 色五月综合| 日韩 欧美 另类 人妻| 亚洲天天操| 好爽要喷了| 97色诱| 夜夜爽爽爽| 91精品人妻电影| 亚洲无码成人精品| 人人弄人人摸| 91岛国动作片| 殴美性天天| 九热超碰| 青青草五月份天| 和协影院中文字幕三区| 成人女人国产| 97AV爱| 九九热在线精品视频| 99在线无码精品秘 入口黑人| 2024黄色视频| 亚洲人妻久久| 人人妻人人澡人人爽久久av| 人妻天天爽夜夜爽2| 日韩精品9999| 久久这里精品国产99丫e6| 天天操天天插| 亚洲激情网| 果冻国产精品麻豆成人av| 日本免费人成视频播放120秒| 国产精品人妻无码久久久老鸭窝 | 欧美国产有色电影| 午夜精品久久久久| 啊啊好多水| 性欧美天天| 日本精品一区三区| 91 手机在线播放 绯色| 欧美亚洲综合色| 99热免费| 色欲久久久久综合网| 99热这里只有精品18| 密臀在线视频| 男人的天堂免费| 97超碰欧美精品| www.91视频网| 亚洲欧美综合| se吧提供91精品国产91久久久久久| av激情亚洲五月天| 午夜福利一区二区影院| 成人日韩3| 中文字幕日韩人妻视频一区二区三区| 亚洲国产一级精品毛一级精品看免费视频 | 欧美精品精品一区二区| AV乱伦专区| 黄色视频60分钟| 91在线视频免费播放| 熟女乱伦A| 亚洲av无线观看| 狠狠色综合网| 97网址www| n1038 一二三区| 狠狠2050在线观看| 日本 情色 1区2区3区| 久久久涩| 亚洲av噜噜噜噜噜噜| 都市久久精品激情亚洲| 这里都是精品在线观看| 91xingse| 夜夜 中文视频rt| 欧美色亚洲色| 日本操逼无码| 久久精品国产免费观看99| 日本99久久| 蜜奶av| 激情情色五月天| 99rre在线精品99re8| 久久的免费性爱视频| 天天弄天天操| 很很干很很操| 亚洲天堂日本| 综合国产97| 欧美日韩亚洲电影| 色欧美亚洲| 日韩激情啪啪啪| 激情综合久久| 91丝袜在线视频| 九热中文字幕| 首页中文字幕中文字幕免费| 97 亚洲 日韩 欧美 在线| 午夜精品久久999热蜜桃介男人用| 99超碰碰| 欧美一级黄片视频在线| 91久久国产综合久久| 蜜桃丰满熟妇av无码区不卡| 亚洲欧美不卡线| 久久香蕉综合一本到3atv| 97久精品| 97日亚洲欧美| 亚洲古典另类欧美在线| 久久av网| 一级性爱网| 欧美在线播放aaaa| 亚州色阁| 一区二区三区高清天码| 日韩99999色| 99999久久精| 久久亚洲AV无码专区国产精品 | 91动漫操逼视频| 东北女人的毛片| 九九九九九精品| JIZZJIZZ国产精品喷水| 另类 综合 日韩 欧美 亚洲| 久久久97| 超碰人人乐97| 情侣开房子拍 日韩无码 女的很漂亮| 一区二区三区看视频| 日本99一区二区| 91久久久久久久| 99性爱在线观看| 一起草三级AV电影在线观看| 日韩国产成人自拍视频| 国产h小视频在线观看免费| 久久久精| 亚洲。天堂。日本在线观看| 欧美亚洲一区二区久久久婷精品大包诱| A片 AV一级在线播放观看免费| 思思久热在线精品66| 男人天堂2019| 日夜精品| 亚洲在饯| 男人午夜天堂| 国产久久久久久| 久久99国产精品| 91n欧美| 久久久亚洲熟妇资源| 女上位精品在线| 无卡一区=区| 九一国产精品| 成人草草视频| 亚洲少妇视频| 麻豆美女丝袜人妻中文| 人人弄人人摸| 成人一级性爱| 乱伦熟女区| 5月婷婷6月六月丁香| av天堂手机版追回| 日产狠狠干| 91人妻丝袜无码| 超碰中文字幕人妻草一区| 欧美性爱一区| 91日韩网站| 白丝AV| 无码黑人精品一区二区三区三| 欧美激情性爱视频网站| 凹凸视频特色日本特黄| 天天操av懂色| 久操| 国产日韩手机视频在线| 午夜啊啊啊| 青青草国产一区二区三区| 综合网少妇| 成人av在线播放| 五月婷婷激情综合| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 熟妇一区二区三区| 国产91丝袜 在线播放| 久久午夜鲁丝片| 操99| 日本天天干天天日一区| 欧美乱伦专区| 在线另类| 怡红院亚洲怡春院av| 午夜小电影在线插入淫高潮 | 在线观看日韩av不卡| 天操天操夜操夜月操月年年操| 亚洲女人毛茸茸91| 无码国产Av| 国产a级精品| 欧美综合91| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 日韩欧美国产一区二区三区四区| 婷色五月天| 超碰久久综合| 精品毛片久久久精品毛片| 超碰爽人妻熟女Av| 易易A毛视频| 欧美人人AAA| 国产精品午夜精品| 欧美大香蕉专区网| 亚洲AV色图一区| 国产精品制服丝袜清纯唯美| 偷拍在线观看视频| 国产精品极品美女视频| 成人欧美日超碰| 高清无码 国产精品| 狠狠亚洲| 一级啊性爱在线视频| 超碰视97中文| 91操碰| 亚洲欧美日韩激情不卡| 91视频观看网站| 亚洲成人在线高清| 天天摸天天舔天天操| 伊人五月天激情| 五月天精品| 在线天堂999| 91丝袜在线观看| 日韩av在线精品观看| 97色在线观看| 伦伦成年午夜免费视频| 亚洲天堂久久| 大香蕉综合| 人妻少妇被猛烈进入中| 亚州欧美另类| 少妇与黑人高潮在线| 看黄片视频免费| 九九九九国产| 天天日骚逼熟女| 96AV精品| 91小视频| 日韩成人精品| 97超碰久久| 208天天久久九九九| 婷婷国产精品九区| 9久久精品| 亚洲无码?第一页| 亚洲码在线中文在线观看| 精品一区二区久久| 日本一天色道久久久精品视频| 久久五月丁香| 人妻-91porn| 一区二区三区成人高清视频| 国产精品96| 97久久久久| 久草看看看| 九九九九九九综合| 人妻少妇无码| 激情文学亚洲| 国产精品一区二区麻豆| 色天使AV天堂| 久9无限国产| 伊人久久亚洲色欲综合网站| 另类av综合久久| 人人超碰在线观看黄| 色眯眯射| 精品二999| 少妇激情AV| 2019男人的天堂| 乱操9999| 欧美色图20P| 97亚洲资源| 亚洲中文人妻色| 久久久工口| 久久99操天天日| 志村玲子视频一区二区| 九九综合久久| 狠狠综合网| 九九碰九九爱97| 亚洲精品男人的天堂| 久久五月婷| 久jiu久神马影院| 射欧美综合| 97天天弄| 四虎精品亚洲| 摸奶性爱视频网站在线免费播放| 啊啊啊好湿久久| 伊人五月天| 亚洲男人的天堂一区二区| 色月天AV导航| 亚洲网污污污污| 99热精品在线观看| 久久精品熟妇丰满人妻99| 天天看少妇| 久婷婷一区| 91成人精品| 亚州免费啪啪视频| 久久久久久久人妻| 色情亚洲日本成人| 蜜臀网址在线| 成人无码在线视频网站| 久久性爱城| 色综合潮| 成人精品无码| 欧美在线播放aaaa| 美女毛片999| 国产精品久久久亚洲第一牛牛_在线观看| 少妇一区二区三区| 国产又操| 999九九九九国产动| 日韩熟女三十乱伦| 97人人模人人爽人人| 天操老女人| 国产老太乱伦一区| 嫖老熟女A片一二三区| 后入内射蜜桃臀| 91麻豆va国产精品| 亚洲激情色片| 欧美性爽xyxOOOO| 国产后入精品| 九九九成人| 免费操逼视频下载| 亚洲诱惑天堂 | 国产欧美日韩臀| 东京热双插| 五月丁香啪啪啪| 欧美人妻一区二区| 强免费黄色网址| 日本精品九九九| 天天插天天操| 俄罗斯及免费在线看| 色色色色综合网| 精品欧美乱码久| 亚洲男人天堂Av| 欧美日韩狠狠爱| 丁香激情五月天| 亚洲开心网| 激情露脸爱| 亚洲一区二区三区AV无码| 精久久久| 激情四射五月天| 97色网| 国产大片精久久久久久| 中国少妇XXXX做受| 久久精品视| www五月| 蜜桃视频一区二区三区在线观看| 99国产精品自在自在| 欧美一级在线观看成人| 你草精品在线视频| 中文字幕亚韩| 超碰在线欧美性爱激情| 桃色人妻在线视频| 91在线色综合| 天天干人人干天天日97| 欧美综合自拍亚洲综合图| 美女尤物福利视频| 天天干天天狼在线视频| 99re超碰| 欧美后入式| 中文字幕精品人妻丝袜| 亚洲中文日韩欧美大香蕉视频| 抽插一区二区视频| 97激情97激情| 99这里都是精品| 欧美日韩国产一区二区小黄片大全| 亚洲综合夜色| 久久超碰大香蕉| 色噜噜综合在线| 婷婷九月国产| 91女在线观看| 一本一道人妻久久一区二区三区 | 99国内精品| 97人人模人人爽人人| 国产精品久久久久中文字幕| 中文字幕精品探花视频| 三四中文字幕| 欧美同性恋 的搜索结果 - 91n| 欧美亚洲丝袜美女电影| 亚洲精品天天影视综合网| 亚洲综合五月天婷婷丁香| 国产又操| 啊视频在线| 男男H黄动漫啪啪无遮挡网站| 久久久久久久伊人精品| 日韩熟女三十乱伦| 国产在线观看一区二区三区| 人妻少妇精品视频一区二区三区| 精品人妻一区二区三区蜜桃视频| 日本中文字幕熟妇| 欧美丝袜亚洲| 欧美高清16| 日本加勒比无码专区| 91骚熟女| a片久久久久久久久久久久| 精品国产一区探花在线观看| www国产无码| 日本免费一级AAA大片器| 久久精品中文字幕观看| 成人网站 免费观看| 激情开心五月天| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久美女福利是上海美女| 日韩人妻丝袜美腿中文| 后入内射蜜桃臀| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 嗯嗯啊啊视频在线看| 91人妻超碰| 亚洲啪啪啪啪视香蕉| 少妇高潮九九九九九九九| 欧美AB在线| 亚洲 国产 精品一区| 精品久久視頻在线| 久久本道| 91天天综合日韩欧美| 日本日逼高清| 97干在线看| 丝袜美腿91| 国产色图乱伦| 97自拍视频在线| 蜜桃视频一区二区三区 | 四虎在线视频| 肉嘟嘟www视频在线观看高清| 欧美1727免费观看视频| 日韩一级二级三级免费看完整版国语版| 91模特在线观看| 亚洲第一狼人丝袜美女另类| 天堂av2019| 激情开心五月天| 男人的天堂日本东京热| 亚洲欧洲av影音| 日韩中文字幕在线视频观看| 国产视频小说| 蜜乳AV.COM| 国产男女无套97| 欧美亚洲| 2025亚洲男人天堂| 伊人久久综合影院精品久久久| 欧美色偷拍 | 91视频精品| 91人妻视频在线| 校园春色 欧美| 六六久久日韩不卡| 搡老熟女免费视频 | 玖玖综合视频| 亚洲无码99| 俞拍久久国应视频| 992这里有精品| 欧美综合网| 丝袜内射| 欧美日韩黄片精品在线 | 中文字幕国产| 99最新日韩偷拍视频| 国产无码一二三区| 欧成人精品一区二区三区| 奇米狠999| 欧美日韩亚洲少妇寂寞影院正在播放| 日本精品不卡一二三区| 国产小视频91| 97在线免费观看视频| 97se综合网| 日本一级二级三级网站| 嗯嗯啊啊啊好爽| 欧美色图中文字幕| 囯产乱伦一区二区三女 | 日韩性爱免费观看视频| 午夜啪啪片| 天天欧美| 国产极品久久久| 丁香五月激情综合| 美女t无毒不卡不卡| 日韩天堂av电影在线观看| www.黄色在线| 国产强奸乱伦欧美| 精品在线78| 激情终合网| 日本超碰在线国产一区| 亚欧国产无码精品在线| 精品无码一区二区三区色欲| 97综合久第一页| 国产大片精久久久久久| 97久久视频| 九九激情网| 亚欧Av| 精品久久久久av影院| 午夜小电影在线插入淫高潮| 亚洲熟女综合一区二区| 男人天堂站| 91色艳| 五月丁香婷婷综合| 无码视频黄色网战| 乱老女人一区二区视频| 中文字幕日韩人妻视频一区二区三区| 激情小说在线视频| 老熟女91| 秋霞一级鲁丝片A片| 国产天天骚| 人妻AV 中文字幕的| 91精品丝袜久久久久久| 97综合在线| 精品一区二区啪啪啪| 久久久A∨| 欧美午夜精品久久久久久3D| 偷拍欧美综合| 欧美 青青草| 怡红院成人av| 欧美综合网1| 欧美亚洲韩国视频十五区 | 老外又粗又长一晚做五次| 亚洲成人精品在线一区| 亚洲一级特黄大片在线播放91| 在线播放免费av福利片| 亚洲成?V人片在线观看福利| 亚洲一区二区三区AV无码| 韩国久久97| 97综合久第一页| 成人一级性爱| 亚洲制服aⅴ中文字幕| 中文字幕av乱伦| 大香蕉伊人久久| 人人澡综合涩| 97国产中文| 亚洲电影中字一区二区| 中文字幕第9页萱萱影音先锋| 一级岛国大片| www.国产高潮精品| 四虎AV无码| 欧美成97爱| 99亚洲精品| 亚洲欧美经典一区二区| 国产性刺激| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 六月婷婷五月丁香| 久久久久密臀一区二区| 亚洲第一页色网| 99re8超碰| 凹凸精品熟女在线观看| 九九九只有精品| 精品亚洲一区在线观看| 一二三区在线| 蜜臀久久精品久久久久视频| 肏逼视频日本| 九九热九九热| 91精品人妻一区二区三区蜜臀| 国产av波波国产精品| 99re3这里只有精品| 白丝AV| 91N欧美| 蜜臀AV一区二区三区| 五月丁香激情综合网| 天天综合网~91入口| 草草影院最新网址| 亚洲国成人情色好看电影| 美女视频尤物网在线看| 东北女人av| 蜜臀在线视频| 久久AV无码1区2区3区| 欧美区亚洲区偷拍区| 免费看污网站| 午夜a成v人电影| 激情五月天校园春色网| 国产偷拍自拍在线视频| 午夜福利在线合集| 成人 日韩欧美一区| 97Ai亚洲| 麻豆成人av| 色色丁香| 久久久99免费| 韩国嫰模上门援交视频| 日本高清电影欧美色图| 东京热一区二区中文字幕| www.高清无码诱惑一区.com | 18+91网站| 97舔舔| 大香蕉中文| 青青草在线视频欧美| 91精品无码久久久久久久 | 无码99| 无码精品一区二区三区潘金莲| 亚洲精品少妇| 一区二区不卡| 日韩无码专区| 肉嘟嘟www视频在线观看高清| 日日97| 2000亚洲男人天堂| 色色色综合网| 免费一级性爱久久| 久99在线免费观看视频| 欧美爆操91| 久久久com| 国产一区二区精品久久99| 国产精品一区二区密臀| 九九九九97| 美腿丝袜偷拍亚洲欧美| 久久熟女人| 夜夜爽爽爽| 激情五月天丁香社区| 精品一啪| 成人精品一区二区91毛片不卡| 国产精品3| 国产精品电| 秋霞福利网| 九草在线大香蕉| 干b在线性社区| 欧美性,色九九| 色爱综合网欧美| 亚洲人妻熟妇三十三区| 1区2区3区在线视频| 人妻精品综合中文字幕在线| 久久婷五月天| 91狠狠综合久久| 99热精品在线| 日本三级韩国三级99| 水澄无码AV| 欧美72网页| 1024手机看片欧美日韩| 九九九精品一区二区无码| 日本超碰色精品| 日本一区二区三区四区免费观看| 亚洲精品中文字幕一区在线视频| 日本免费专区| 久操热线| 人人摸人人干| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国产青青综合伊人| 男人的天堂视频精品乱在线| 久9精品| 成人av性爱电影在线观看| 特级特黄一级毛片免费| 亚洲AV无码成人精品久久| 丁香婷婷久久| 亚洲情色婷婷五月天| 亚洲男人的天堂网| 九久9精品| 国产网站在线播放| 9久综合网| 美熟女逼导航AV操逼| 日韩性爱一级片| 丁香五月天激情网站| 九九九综合精品| 一二视频神马久久传媒| 女性91网站| 18禁网站在线播放| 小草精彩毛片| 亚洲精品97p| 国产精品久久| 国产精品岛国片在线观看| 97精品一二区| 麻豆av一区二区| 婷婷激情五月天小说网| 九九英色视频| 91久久精品国产| 亚洲91射| 志村玲子视频一区二区| 国产超碰在线一区| A级片一区| 欧美 青青草| 国产精品久久久久久久久久梁医生| 男人的天堂2010| 久久亚洲一区二区色婷婷| 亚洲国产欧美中文永久| 超碰久在线天天做| 国产精品久久久久久片| 在线情色电影 91大| 最新国产亚洲精品精品国产亚洲综合| 亚洲狼狼干综合1| 亚洲欧美国产中文视频| 中文字幕88av在线| www.yeyecao| 日本999精品| 亚洲成人福利电影免费| 久湿久久 | 91女优在线观看 | 五月天婷婷综合网| 99精品无码| 丁香五月影院| 欧美精品庄| 老熟妇综合| 久久国内| 亚洲天堂五月天国产| 日日黄色三级网站| 人人爱操| 翔田千里爆乳巨臀无码| 狠狠干2020| 久久乐| 色网在线视频观看免费| 性高潮久久久| 国产SV一线| 久久艹逼视频| 九九九热| 欧美天堂在线| 先锋音影AV| 97人肏| 黄片www.| 国模私拍一区二区三区神乳| 99少妇内射| 五十路熟女工口 | 夜夜操老骚逼视频网站| 欧美亚洲尤物久久| 2019男人的天堂| 传媒免费一区二区三区| 91在线|亚| 人妻熟妇一区二区三区| 美女91在线观看| 口爆欧美91| 午夜精品一区二区三区三上悠亚| 日韩中文字幕视频在线观看| 国产真实子伦对白| 久久超碰网| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 亚洲精品中文字幕一区在线视频 | 久久人人妻| 另类在线| 久久久久骚| 无码99| 国产大学生高潮在线播放| 婷婷激情四射| 欧美色日| 热久久无毒不卡| 人人操人人射人人干| 综合九九| 综合大香蕉美。| 亚洲欧美国产精品久久久久久久| 久久综合久色欧美综合狠狠| 日本黄色天堂| 亚洲欧美91√| 亚洲女人91| 精品九九| 中文字幕91页| 日韩去日本高清在| 1区2区3区在线视频| 日日夜夜骚| 欧美最大综合网|