日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
日韩精品三级| 97看操| 一块操欧美性爱| 很很干很很操| 九一国产精品| 波多野42部激情无码喷潮| 图片区小说区| 97精品国产精品免费观看| 一本大道青青| 精品亚洲黄色片 国产精品导航一区二区| 红杏大香蕉| 青青操在线亚洲视频观看欧美在线 | 日本天天操| 最新av在线| 无遮挡男女激烈动态图| 国产精品乱人伊人网| 91男人天堂网| 国产精品一区二区校花| 中文字幕日韩精品一区二区三区| 91大神精品长腿在线观看网站| 草莓精品视频| 偷拍99| 精品高清一区二区三区三州| 亚洲欧美中文日韩视频中国语| 99爱久久视频频| 精品人妻中文字幕高清| 一区中文字幕二区日韩| 91天天看| 欧洲精品欧洲精品| 丁香五月性| 91老熟女91老女人| 国产久久久久久久久一区二区| 蘋果手機免費看成人Av| 久草看看看| 午夜人人操| 久久久久久久久久久久久久久性生活视频| 国产精品久久久亚洲第一牛牛_在线观看| 欧美日韩在线国产在线| 欧美在线干| 精品人体无圣光凹凸| 超AV色女| 9久久精品| 国产91丝袜在线播放蜜月| 狠狠爱夜夜| 五月丁香六月婷| 日韩av熟女一区二区三区成人| 欧美性夜| 国产亚洲精品自在线亚洲情侣| 天美传媒Av在线| 伊香蕉综合久久久久久久噜噜噜| 99re3这里只有精品| 密臀在线一区尤物| 丝袜制服字幕在线| 国产精品熟女九色九色蜜臀| 伊人96在线| 日韩中文字幕视频在线观看| 中文字幕一区二区三区四五区| 97人人干人人操| 美女久久久| 台湾佬中文娱乐自偷自拍| 97综合| 麻豆AV一区二区| 91精品久久久久五月天精品| 97伊人超碰| 天天色播| 国产av强奸美女| 超碰 欧美| 91人妻视频在线| 97天天日| 亚欧美无遮挡| 东北女人的毛片| 可能人人看人人摸| 天天躁日日躁狠狠躁| 久久久九九九九| 亚洲福利中文字幕在线| 成人夜夜| 亚洲色综合| 成人线上超碰| 精品久操| 色香在线| 国语人妻精彩刺激| 日本操大逼| 亚洲 欧美 色图| 天天享受天天看| 欧美黄片免费在线观看视频| 91这里只有精品| 亚洲色图第四色| 亚洲综合色婷婷| 亚洲色天| 欧美三四五区| 二级久久网| 99热66| 三级精品三级在线观看| 精品视频一区二区| 丁香五月久久| 国产精品麻豆成人av| 国产一区二区三区久久精品太古里| 中文一区在线视频| www.久久制服糖| 黄色成年| 日日嗷| 久久超碰、| 亚洲国产成人7777| 校园春色 欧美| 91操人| 夜夜高潮夜夜爽| 变态乱伦伪娘灌肠一区二区| 97免费视频在线观看| 涩涩久久精品| 欧美亚洲中文字幕| 精品超碰国产| 久草视频观看视频在线| 国产黄色视频久久| 国产中出内射一区二区| 国语少妇精| 亚洲在钱| 日韩欧美蜜桃精品久久中文字幕久久| 手机在线A片| 欧美日韩中文视频播放| 九九九九九精品视频| 亚洲精品蜜桃久久久| 色偷综合| 青青操视频在线| 亚洲美女 晚间男人天堂 | 国产高清自拍| 亚洲激情视频| 午夜成人爽爽爽爽A片李冰冰| 另类欧美色| 亚洲猛交| 啊啊啊啊啊啊在线| 免费成人自拍视频在线| 天天综合~91| 国产h小视频在线观看免费| 91爱| 色五月婷婷在线| 大香蕉在线视频15| 91精品91久久久中77777| 中文字幕av亚洲在线| 色狠狠 - 百度| 日本成人免费一区二区三区| 人人潮人人摸| 综合婷婷| 精品一区96| 野狼激情网| 丰满人妻一区二区三区四| 欧美激情亚洲色图| 日韩在线97| 玖玖资源中文字幕制服丝袜| 91男同| 中文字幕女同在线| 亚洲欧美日韩激情不卡| 国产成自自拍在线观看| 国产操逼逼网| 人妻少妇蜜桃视频欧美一区| 九九九久久久| Av色五月| 91看黄片| 四虎精品永久在线观看| 日本人体九九九九九九| 丰满人妻aA一区二区三区| 97人人干| 日韩视频中文字幕| 亚码人妻| 亚洲免费看片| 国产黄色视频久久| 大吊色| 色婷婷六月丁香七月婷婷| 日韩操呦呦影院在线观看| 欧美色视频在线| 在线中文AV| 图片区小说区| 成人羞羞视频国产| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 国产熟女精品区| 神马久久久久久伦理片| 天天日天天干天天摸天天操| 欧美大香蕉97| 一级性爱aaaa| 操婢日韩| 亚洲精品电影| 天操老女人| 中国东北熟女老太婆内谢| 欧美色图自拍| 亚洲精品天天影视综合网 | 91熟女综合| 99re公开精品免费视频| 国产传媒日韩欧美| 加勒比色99999| AV天堂电影网| 婷婷久久五月天| 妇女性内射冈站HDWWWCOM| 日韩青久久| 精品射1999| 91三级理论片播放器| 91丝袜| 久久精品视频一区三区小泽玛利亚| 91chinese在线| 日韩欧美大片免费高清啪啪| 男人天堂新在线| 人人超碰在线观看黄| 国内精品久久久久影院亚洲| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 青青草导航在线视频| 亚洲色图91欧美日韩| 男人高清无码一区二区| 极品销魂美女一区二区| 欧美+日产+中文| 加勒比久久av| 精品久久九| 97天天搞在线| 色婷婷亚洲婷婷| 首页中文字幕中文字幕免费| 操高情无码| av网站免费线看| 97 国产精品| 97久久精品国产| 粉嫩国产精品久久粉嫩| 老女人爆菊| 九色PORNY9l原创自拍| 色欲蜜臀AV| 最新岛国大片| 伊人黄色视频免费观看| 嫩草一区二区在线观看| 久久精品国产亚洲5555| 国产在线综合网| 九九九免费视频| 国产一区二区精品久久久不卡蜜臀| 做爱福利视频一区二区| 97在线观看免费| 9 1超碰九色| 97精品视频在线| 久久妇| 999 久久久| 精品一区二区三区四区外站| 日本免费不卡二区| 蜜桃视频一区二区三区在线观看| 欧美中文字幕男人天堂久久精品 | 黄页| 亚州国产成人精品女人久久| 亚洲国内精品成人不卡| 人妻天天爽夜夜爽2| 天天综合网视频91| 国模91| 欧美97av| 欧美天天弄| 三上悠亚在线毛片91| 男人的天堂 在线一区| av天堂加勒比| 婷婷av在线中文字幕| 无码外流操逼视频| 乱伦3P视频| 欧美色色色| 1956日韩精品| 色偷综合| 最新无码国产| 丝袜剧情| 天天干天天干天天| 亚洲色图美腿丝袜| 老鸭窝成人| 成人久久久| 国产精品久久久久久亚洲色欲| 秋霞网—男女啪啪亚洲免费体验区 | 中日韩欧美精品无码AⅤ一区二区| 粉嫩绯色AV一区二区在线| 日韩一级欧美一级在线观看| 超碰人人乐97| 亚洲精品国产熟女久久久| 亚洲色电影在线| 涩综合导航| 五月婷婷AV| 日本精品人妻少妇一区二区| 91制服丝袜| 国产肏逼网站| 综合色播| 天堂综合| 日韩欧美午夜一区二区| 日日夜夜天天| 人澡逼| 中国AAAAAA黄色片| 开心激情站| 亚洲影院小综合| 青青草五月天| 日本色日夜干| 熟女人妻一区二区三区| 国产精品 午夜福利| 久射吧| 乱性AV| 91九色网| 日韩无码服务区| 亚洲av无码国产精品字幕| 91丨九色丨大屁股| 日本黄页视频在线观看| 一级@啪啪视频| 91麻豆天美国产欧美日| 国产熟女二区| 八戒午夜福利理论片| 激情六月天| 啊啊啊轻点在线观看| 北约熟女超碰| 人妻熟女一区二区三区在线| 99re免费视频精品全部| 国产天美欧美| 极品出轨视频网站| 日韩精品区二区三区不卡| 黑人综合色| 欧美另类综合久久| 熟女一区二区三区四区| 亚洲色图欧美色图日韩色图| 国产日韩中文字幕欧美| 国产精品免费美女视频| 老女人老91妇女老热女| 久草视频观看视频在线| 人妻熟女一区二区三区在线| 日本熟女不卡视频| 人妻一区久久二区三区色播| 久久天天艹| 青青国产在线拍揄自揄拍| 久久伊人亚洲AV无码网站| 99re这里只有精品3| 极品销魂美女一区二区| 九九玖玖精品| 男人的天堂99| 久久久99免费| 久久夜嗨| 国语精品av| 97人人模人人爽人人| 欧美性五月| 操逼操操操91| 亚洲视频精选| 深夜激情无码| 偷拍精品一区二区三区| 久久天天躁日日躁狠狠躁| 日本乱人伦片中文三区| 日韩精品大香蕉伊人在线| 国产女乱淫真高清免费视频| 91美女视频电影| 日本3级一区二区免费| 玖色av| 国产11页| 草草影院最新网址| 欧色网址| 亚洲色图综合网| 操啊国产| 色亚洲欧美| 夜夜夜久久| 性色生活片久久毛片婬片免费放女人一级毛片 | 蜜乳性色无码专日粉嫩骚逼AV| 亚洲人久久久网| 亚洲aV性爱| 亚洲图片激情小说| 加勒比海成人视频网| 国产精品午夜高潮呻吟久久av| 欧美 亚洲精品首页| 欧美精品偷拍| 99热只有| 免费A V在线播放| 五月天亚洲色图| 99re6国产精品99re在线| 操B视频日韩无码| 变态另类专区| 另类 综合 日韩 欧美 亚洲| 免费观看的av| 国产h片在线观看视频| 射久久| 亚洲,欧美,春色,另类| 亚洲天堂一区二区久久| 大JI巴好深好爽又大又粗视频| 久啪| 日韩一区二区熟女| 国模精品一区二区三区苹果色戒| 丁香色五月 97干| 91亚洲人| 欧美第五页| 美女主播色欲91抠b在线播放| 亚洲成?V人片在线观看福利| 强奸乱伦中文字幕AV| 9久9久| 97超碰资源网| 国产午夜福利视频在线| 啊啊啊啊嗯嗯嗯用力好爽 | 天天做日日做天天欢。| 51国产午夜精品视频| 日韩人妻无码不卡网站| 黄页网站成人免费| 玖玖爱视频网站| 99久在线精品99re8热视频在线| 蜜桃久久久久久久| 天天欧美欧美亚洲网| 免费一级毛片在线视频观看| 中文字幕在线观看二区三区| 亚洲av影音先锋| A片大香蕉在线| 97网址97| 日日干夜夜操视频h| 内射白嫩美女| 亚洲天堂99| 5月婷婷6月六月丁香| 国产福利小视频高清在线观看| 少妇人妻好深太紧了vr91| 亚洲一区日韩精品中文字幕| 中文字幕av亚洲精品| av网站免费看| 亚洲av国产av综合av卡| www亚洲免费| 天天躁日日躁AAAAXXXX国产| 强奸乱伦亚洲第一页| 爱妃国产亚洲视频中文字幕| 在线日韩日本亚洲国产| www.久久制服糖| 中文字幕国产| 日韩性爱高清免费视频| 亚洲天堂,男人| 黄色片大香蕉| 精品久久在线区一区| 青青草日本无码| 国产成人亚洲精品自产在线| 91肏屄网| AV在线播放网址| 亚洲脚交| 久久m| 久久机热| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 青青操在线亚洲视频观看欧美在线| 亚洲精品天天影视综合网 | 综合自拍| 日本一卡二区在线| 色激情综合网站| AV天堂国产| 日韩极品无码B| 精品人体无圣光凹凸| 成年女人18级毛片毛片免费观看| 爽爽淫人网| 中文字幕十五区| 2020中文字幕在线| 久久久精品视频免费观看| 国产精品分类在线观看| 乱伦图一区| 在线只有精品| 伊蕉97蜜桃97狠狠综合干| 亚洲日韩久久精品一区| 亚洲美女精品九九视频| 天天懆天天日| 操操啪| 蜜桃精久三区| 亚洲高清欧美总合| 精品亚洲| 色欲蜜臀AV| 91在线页| 国产美女精品| 亚洲综合20p| 一类无码操逼视频| 亚洲色图久久精品蜜| 伊人久久亚洲中文字幕不卡| 不卡在线观看视频| 无码免费精品高清| 蜜桃不卡一区二区| 少妇被c 黄 免费观看| 欧美日韩国产中文精品字幕自在自线 | 婷婷伊人一区| 丝袜 中出 制服 人妻 美腿 中文字幕| 国产精品日韩在线一区| 天天添天天干电影| 久久日本熟妇熟色高清| 国产成人91一区二区三区| 麻豆国产免费影片| 美女黑人91神马| 国产一级内射高清视频 | 色色亚洲| 国产超碰97| 亚洲中文字幕久久人妻| 久久久111| 粉嫩av在线| 夜夜爽爽爽| 欧美性第1页| 国产99久久99热这里只有精品15| AV99热18这里只有精品| 岛国片在线视频网站| 天天日B狠狠操| 极品肉射| 久久精品人体| 欧美性性性| 一区二区三区高清天码| www.婷婷五月天| 中文字幕免费在线观看| 国产18精品亚洲精品| 久久久国产精品人妻丝袜| 精品欧美老熟女一二区| a男人的天堂| 人人操人人色网| 玖色AV| 日韩射精| 国产四虎在线| 蜜乳AV免费观看| 330Dv国产女人终合视频极品人与兽| 亚洲本色精品一区二区久久| 99自拍B亚洲 | 国产一区二区在线播放量| 日韩成人大片在线观看| 国产精品久久久久9999小说| 亚洲av淫乱| 亚洲自拍青操视频| 开心五月婷婷| 日韩一级久久毛片| 少妇色综合| 久久久久婷婷| 欧美人妻少妇| 精品视频97| 亚洲欧洲成人在线电影| 欧美综合网1| 99日精品欧美国产| 超碰在线综合97| 天天干天天做| 色九久| 另类天堂| 成人精品久久久午夜福利| 国产午夜视频| 伊人久久婷婷| 欧美精品久久久久久久丰满| 久草久日| 欧美熟爽综合| 18禁精品网站在线看| 亚洲熟妇乱女区二区三区| 久操视频资源站公开| 中文字幕乱妇免费视频| 一区二区三区网站日日骚| 久久久久久一日韩字幕无码| 超碰4A| 免費人妻夜夜爽天天爽爽一区| 国产二区视频在线观看电影| 久久97视频| 99www.bibizy香蕉资源国产一区二区三区高清 | 中文字幕 国产 精品| 精品日韩| 蜜臀一二三区| 亚洲AV高潮| 偷窥自拍亚洲天堂网爆| 亚洲图片日本AⅤ欧美在线| 欧美色图第一页| 2021国产成人精品久久| 俞拍自拍| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 人妻美腿丝袜日韩| 日日日啊啊啊| 日本欧美成人片AAAA| 色欲av一区二区三区蜜芽| 操操操操操操| 人人操天天爽| 人妻中文字幕精品无码| 久久久久久中文字幕中文字幕最新| 男人下部插入女人下部| 99久在线精品99re8蜜桃| 五月天色色网站| 全国男人天堂网| 黄片色区软件| 久久蜜桃一区二区| 欧美色图亚洲色图成人在在线| 亚洲成人一二三区| 99re6国产精品99re在线| 亚洲码专区| 91艹| 欧美在线播放| 欧美天堂日韩三级国产传媒| 91c色| a男人的天堂久久一级A毛片 | 精品无码不卡视频| 色九久| 九九超碰综合网| 亚洲操逼网| av爱爱爱| 欧亚日韩中文在线| 新怡红院| 性性久久| 成人在线视频二区| 自慰白浆在线观看| 99老司机精品视频在线观看| 四虎免费视频| 日日做夜狠狠爱欧美黑人| 一区二区激情国产熟女| 97人人射| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 日本三级久| 伊人专区一区二区三区| 久久超碰日韩精品| 久久久久久久9| 久久99干一本高清| 久久精品超碰| 加勒比海色香蕉婷婷| 97综合在线| 人人操人人爽人人操人人| 国产精品婬乱一级毛片彝族| 日韩一级二级| 伊人久久婷婷| 色婷婷成人| 91色艳| 国产十八禁视频| 国产成人天堂| 精品十三区| 91五月天| 91制服丝袜中文字幕| 亚洲欧美另类图片| 精品国产一区二区三区四区在线看| 日韩97在线| 国产色产精品在线观看| 操逼啊啊啊91| 日韩美一区| 日韩人妻精品| 久久国产在线一区二区| 精品一区二区三区蜜桃臀赵总 | 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 东京热精品97综合网| 人妻一区二区三区熟女| 亚洲天堂资源网| 国产成人自拍视频视频| 亚洲欧美精品91| 青青伊人久久| 国产精品国产自产高清AV| 日本三级久| 欧美中文综合| 2019天天干天天操| 樱花草社区www中国| 久久大香蕉手机高清| aaaa少妇高潮大片| 狠狠色狠狠色狠狠五月| 97啪啪| 久久骚少妇| 日韩欧美亚洲自拍偷拍| 日本人妻A片成人免费看片| 精品无码人妻一区二区免费蜜桃| 91色狼| 91在线美女| 一二三卡欧美日韩人妻免费精品| 国产原创精品| 欧美se综合| 色婷婷蜜臀av| 久热影视| 青青爽| 欧中美三级一区二区三区| 丁香九月 婷婷| 超碰综合97在线| 亚洲国产第一页综合视频| 91久久青青草原精品| 九九99精品| 精品国产72| 日韩三级伊人| 最新亚洲风情电影| 久久久久亚洲Aⅴ无码| 午夜性刺激视频免费观看| 男人的天堂.com| 国产不卡中文字幕免费avi| 欧美超碰97| 第四色色综合91| www.av在线观看| 日韩久草| 久久婷婷一区二| 人妻精品一区一区三区蜜桃91| 久久免费看高潮毛片韩国| 亚洲成人性爱网站在线播放| 久久线上视频免费看| 十八禁黄色成人网站观看| 亚洲男人电影天堂| 久久偷偷色综合蜜桃| 曰韩欧美国产传媒麻豆第一区| 欧美综合网| 18禁久极品美女久久哦哟呀!| 日本高清_区二区三区| 欧美亚洲厕所精品偷拍91| 国产综合久久久麻桃个| 日韩激情中文字幕有码| 天天日日舔舔| 思思热久久成人| 亚洲综合九| 亚洲另类久操网| 五月天综合网| 亚洲精品819| 岛国小电影| 国产黄a三级三级三级av在线看| 国产一级αv免费看片| 日韩人妻制服丝袜av| 天美国产三级传媒| 在线观看精品国产免费| 国产剧情AV不卡在线观看| 综合影视国产无码| 影音先锋国产精品| 亚洲AV资源| 久久久久久中文字幕中文字幕最新| 翔田千里AⅤHD无码| 国产精品久久泡妞网站| 日1区2区3区2020| 欧美偷| 揉揉揉夜夜| 丝袜高跟澳门91视频| 综合天天网| 青青操视频在线| 欧美热图99| 超碰人妻久久| 98人妻精品一区二区色欲| 色哟哟AⅤ| 亚洲1区2区三区高清中文字幕| 亚洲天堂男人网| 日本好吊色视频| 六月婷激情福利天堂69| 亚洲AO在线| 懂色Av| 欧美日韩亚洲国产中文永久天天看| 亚洲色吧网| 蜜桃久久综合视频| 久草精品热视| 久久久一区二区| 亚洲 欧美 第一页| 亚洲无码免费看| 做爱福利视频一区二区| 人妻大相焦在线| 在线日韩精品一区二区三区| 成人片在线播放| 97精品国产97久久久久久| 99国产天美| 亚洲精品97p| 韩三级a视频在线观看| 日本123区操B视频| 久久精9| 放黄片放3级黄片没穿衣服| 精品视频在线观看精品| 狠狠中文字幕| 欧美色交| 久久怡红院| 久久精品国产免费观看99| 亚欧高清v| 热G综合热G中文| 青青青青草av在线观看| 亚洲色阁| 久久夜黄色无码A级大片| 丁香六月综合激情| 后入式999| 美國A片| 91麻豆一二三区| 亚洲综合在线第一页| 五月丁香啪啪网| 人人操人人插人人摸人人干| 欧美超碰9798| 诱惑网综合| 99国产在线绯色一区| 久久无码成人| 日韩欧美传媒一区国产| 亚洲综合网图| 亚洲AV无码秘 蜜桃臀国精产品| 五月丁香婷婷综合| 偷拍盗拍亚洲色图图片| 五月婷婷综合网| 日本久操视频| 国产精品久久99日日| 国产熟女| 色婷婷五月天| 亚洲国产ⅴ高清在线观看| 少妇激情AV| 91亚洲精品青草| 欧美 亚洲 综合 制服| 欧美激情中文字幕另类小说| 日欧毛片久久| 日韩无码黄色片| 亚洲色图欧美色图制服诱惑| 性色av婷婷久久一区二区点复制| 四虎AV在线播放| www.色五月| 亚洲第一精品在线视频| 激情另类激情| 抽查国产福利主播| 三上制服丝AV| 一区二区你上我| 亚洲国产精品99久久久| 欧美在线91| 操操操五月天婷婷丁香影院| 亚洲加勒比久久日本道| 欧美96交| 欧美日韩国产人人| 啊啊啊啊二区好大| 国产成人精品必看| 日本超碰在线国产一区| 91干熟女| 亚洲国男人的天堂| 亚洲国产日韩欧美熟妇在线| 亚洲 91 在线| 噜噜噜无码AV一级一级久久影院| 超碰国产精品久| 亚洲无无码αⅴ每日更新| 精品国产乱码久久久久久蜜臀| 亚州综合色图| 啊啊啊97视频| 91色噜噜狠狠| 国产一区二区三区,在线观看观看| 青青草五月天| 亚洲少妇激情视频| 亚洲黄a三级三级三级看三级| 啊啊啊要高潮了| 91劲爆| 精品无码秘 人妻一区二区| 91丝袜美女视频| 亚洲一本色道中文无码aV天美| 综合激情二| 无码国产Av| 欧美福利视频啊啊啊啊| 伊人青青草久久| 国产懂色精品国产av| 国产精品天美传媒| 超碰97男人| 91美女色视频亚洲| 中文字幕av片| 伦理第一页| 免费一级性爱久久| 蜜乳AV色欲AVAV无码| www.91色综合| 中国黄色特级精品一区二区三区片| 91麻豆天美国产欧美高潮| 老司机深夜18禁污污网站| 日本精品一区二区中文字幕| 快点操死我| 超碰97护士| 中文字幕二区日韩天堂| 殴美性天天| 成人一级二级| 美国精品国产精品| 亚洲天天艹| 欲色综合| 99热这里是精品| 嗯嗯,好大,好爽,好骚 | 欧美第38页| 96精品久久久久久久久| 欧美日韩 强奸乱伦| 国产67194| 亚洲骚男同com| 久久久久99精品成人片蜜臀| 日本成人A片免费看| 亚洲 图片 综合91| 欧美色综合网| 国产精品第一区第一页| 婷婷伊人綜合中文字幕小说| 日天天九九天堂666| 欧美性色综合网| www.男人的天堂| 亚洲日本成人动漫| 国产乱色国产精品免费视| 另类av综合久久| xxxx网站亚洲精品| 欧洲精品一区二区三区| 日韩精品一区二区日韩| 精品无码久久久| 亚洲欧美日韩中文播放| 亚洲 欧美 另类 日韩 人妻一区| 男女啪啪啪18禁网站| 韩国久久97| 干B网| 美女的肌被草喷水视频| 天天草夜夜草高潮片| 欧美日韩亚洲少妇寂寞影院正在播放 | 黑丝内射一区二区三区| 欧美日韩插逼视频| 狠狠入| 97超碰逼| 26uuu欧美| 精品久久久久久中文| 91黄站| 欧美少妇性乱| 九月丁香| 亚洲乱码国产乱码精网站| 亚洲成人日韩小说| 精品一区二区三区丰满熟女-亚洲欧美一区| 亚洲最大的黄色电影网站。| 自拍偷拍 日韩无码| 懂色Av一区二区三区| 亚洲欧美啪啪| 亚洲偷拍欧美激情| 久久精品人妻一区二区| 丝袜av一区二区三区| 中文字幕精品一区欧美| 淫荡网址| 久草老司机| 中文子幕一二三| 久久妇| av2014 日韩在线中文字幕| 老司机久久| 色阁阁AV综合网| 热热色国产一二区AV| 超碰综合97在线| 蜜臀99久| 欧美日韩黄片精品在线| 91三级理论片播放器| 极品尤物女神在线观看| 亚洲无线码一区国产欧美国| 久久久久久久一级黄色打同平台| 国产高清在线观看欧美| 人妻夜爽夜夜爽| 大香久久| 日韩在线一区二区| 99视频自拍| www.99视频| 99自拍B亚洲 | 男人的天堂成人的社区| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 欧美躁死她一区二区| 中文字幕丝袜人妻| 91爱看| 日韩精彩视频| 青春草莓视频在线观看网址| 成人无遮挡毛片免费看| 免费毛片在线播放| 日本一片一区| 老熟女网站| 人人看人人爰人人操| 亚洲av乱伦色图网站| 97天天操天天干| 操逼无码操逼| 熟妇女人妻呻吟久久AV| 精品玖九九久| 久久五月婷| 欧美桃色网| 秋霞一级视频在线观看免费| 岛国小电影| 人妻丝袜肏逼| 做爱A级亚欧| 亚洲交换| 婷婷丁香久久| 蜜臀AV午夜精品久| 色五月激情网| 色爱综合网| 玖日综合网| 综合一区中亚洲国产成人综合精品| 亚州精品丝袜-不卡成人免费| 91免费看中出视频| 人人天天干干| 997色在线| 97香蕉碰碰人妻国产欧美| 天天干夜夜| 天天日天天插| 欧美爱爱97| 精品国产99| www.久久最新地址| 91天天日| 精品九九国产无码| 国产风韵犹存熟妇三区| 亚洲偷拍自拍在线视频| 亚洲精品欧洲色| 自拍盗摄一区| 成人免费在线网站| 超碰91在线| 亚洲男人的天堂一区二区| 国产一区二区在线播放量| 亚洲国成人情色好看电影| 久久成人午夜精品影院| 桃色六月天| 超97在线精品视频| 超碰九7免费| 国产精品视频在线播放| www.色五月| 中文字幕丝袜国产第一页不卡| 97热视频在线观看| 欧美久久婷| 日本久久99| 97超碰色色| 综合五月天| 岛国不卡超碰护士AV在线播放| 东北夫妻性偷拍| 啊啊啊好爽快点啊啊啊嗯嗯| 激情国产乱伦Av| 人妻少妇精品久久久久久久| 黄站在线免费观看| 欧美日韩大陆黑人少妇99| 中文字幕在线日亚州9| 风流老熟女一区二区三区l| 搡老女人老熟女91老熟女综合网| 九九久久首页| 日本99一区二区| 亚洲色图综合网| 久久久久78| 国产精品不卡一区二区三区| 嗯啊啊啊轻点视频 | 欧美色图小说综合| 久久精品日韩专区免费观看| 91国产大片| 精品女同一区二区三区| 一本色道久久综合精品婷婷| 电影69乱码96| 九九九九免费| 91亚洲最新在线| 97久久国产亚洲精品超碰热| 好屌色综合| 久久华人网| 欧美偷拍| 日韩精品资源专区二区| 亚洲日韩精品久久久久一区壹牛| 一级乱伦网站| 亚洲天堂欧美| 草草影院最新网址| 亚洲日韩精品在线播放| 大香蕉黄色一区| 少妇诱惑视频| 国产人妻精品一区二区三区秋霞 | 色噜噜狠狠色综无码久久合欧美| 国产精选视频| 人人么人人操| 视频国产精品未满十八禁止在线观看| 日本性爱不卡视频| 久久欧美按摩999| 日韩综合97P| 欧美亚洲涩涩| 欧美日韩精品国产91| 久久国产精品一区二区| 91深夜夜| 大香蕉99999| 免费日韩黄片| 亚码激情| 91天堂| 天天日天天干天天整| 91高跟美女在线播放| 久久精品熟妇丰满人妻99| 午夜电影在线观看无码专区| 一本道综合色图| 中文字幕版| 啊啊啊啊啊啊在线观看| 人妻-91porn| 韩日自拍| 免费看A片毛毛片在线播| 欧美一二在线| 婷婷av在线中文字幕| 欧美性暴力猛交XXXX| 成人精品无码| 99亚洲精品| 97chaopenrihan| 97人肏| 97精品一区二区视频| 五月天色五月| 资源新线在线天堂| 91爱综合| 美欧色综合| 性爱AV天堂| 国产欧美岛国精品一区| 欧美激情一| 成人欧美一区二区三区黑人一| 亚洲在线91| 青娱乐 成人娱乐在线| 欧美性爱免费短视频| 一区 欧美 日韩 麻豆| 国产成人自拍视频视频| 77777亚洲蜜臀精品久久综合蜜臀| 免费看欧美美女黄色大片| 玖玖无码超碰| 97se综合网| 欧亚在线视频| 日韩无码人妻| 91久久久老司机| 精品久久久久黄少妇| 欧美v亚洲v日韩v最新在线二区| 亚洲国产综合图区中文字幕 | 老熟女乱伦片| 亚洲在线观看| 狠狠躁天天躁日日躁| 大香蕉丝袜一级片| 日本护士高潮| 懂色Av| 人妻丰满熟妇av无码区蜜桃| 国产精品制服丝袜中文字幕日韩一区二区三区 | 无码人妻精品一区二区三区九九 | 国产视频大全| 麻豆 欧美 日韩| 久久五月丁香| 国产综合在线视频网站| 久久少妇| 久久97| 欧美最大综合网| 婷婷伊人綜合中文字幕| 亚洲欧美天| AV99热18这里只有精品| 超碰在线974| 蜜桃臀av在线观看| 90后性网国产欧美| 8050无码八戒| 国产免费操逼| 99国产在线 精品 视频| 亚洲欧美国产va在线播放频| 女优大全 - 91n| 神马麻豆福利院| 久久9精品| 好爽免费视频| a男人的天堂久久一级A毛片| 大色综合| 被窝影院午夜看片无码| 综合伊人激情| 亚洲免费成人在线高清无码视频| 国产性爱在线视频一区二区| 亚洲囯产精品女人久久久| 国产91av在线播放| 性饥渴少妇av无码毛片| 2020中文字幕在线观看| 亚洲色图欧美色图日韩色图| 粉嫩不卡一区二区性爱| 国产操逼逼网| 丁香五月偷拍| 99久久无色码| 欧美综合狠| 久久神马| 久久久国产成人一区二区三区在线| 国产精品秘 福利姬在线观看| 黄页大片在线观看| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 91美| 8050午夜少妇无码| 亚州乱码中文字幕综合久久久| 18精品一二区| 一起草日韩| 亚热日本熟女| 欧美日韩国产黄色片| 亚洲综合性感在线| 偷拍精品一区二区三区| 久久怡红院| 麻豆色99999| 久久综合婷婷| 在线五区| 欧美激情综合网| 亚洲 日韩 欧美 国产综合体| 国产精品3| 国产精品久久久久久 百度| 骚女高跟AV在线| 亚洲欧美日韩精品久| 欧美第一页| www.99热| 亚欧色图在线激情| 精品97精品97| 国产精品极品美女视频| 天天干夜夜操一区二区| 97色色婷婷| 激情一区二区三区在线观看| 91少妇香蕉久久精品| 影视综合无码少妇| 欧美色图97| 人妻熟女午夜精品在线| 色在线视频导航| 午夜久久一区二区无码中出| 国产福利精品98视频| 无码人妻丰满熟妇奶水区毛片| 亚州免费啪啪视频| 情色五月天久久久| 手机不卡视频不卡在线一二三区| 97欧美日韩| 国产精品九9| 中文日本免费高清| 天天综合网在线| 91一起操| 日本1区2区不卡视频| 亚洲图片 激情小说| 最新国内自拍av免费| 妇女乱色二区| 色性荡荡荡荡视频| 一本大道不卡一二三区| 亚洲污污网站| 大香蕉一人在线| 激情丁香婷婷| 国内偷自视频区视频综合| www.男人天堂| 91啪9色| 中国一区二区亚洲人妻| 亚洲麻豆av一区二区| 一起草视频在线|