日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
日韩综合色图| 国产激情视频在线观看| 综合久久久久久久久91| 天天天天天天天天天天干美女| 明星性猛交ⅹxxx乱大交| 加勒比伊人综合| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 久久精品电影| 91美女小视频| 国内精品嫩模A∨私拍小视频| 亚洲色婷婷久久91| 黄片www视频免费| 97爱爱| 少妇一区二区三区| 欧美性爱无码一区二区三区| 丁香婷婷啪啪| 色香综合天天影视综合| 免费观看日本操逼视频| 久久99午夜精品一区人妻| 亚洲综合另类小说色区亚洲成av人片在www | 亚州男人天堂| 操逼逼福利视频| 亚洲欧美综合| 亚洲国产第一页综合视频| 精品小视频在线| 日韩欧视频| 大香蕉黄色一级片免费看| 久久久精品视频免费观看| 91neishe| 日韩一级性爱无码| 国产99 中文字幕日韩小视频| 精品一区二区啪啪啪| 亚洲精品久久久久久| 天天亚洲| a网站免费观看| 一本久久精品中文字| 97亚洲中文| 99综合网| 极品色综合| 91精品丝袜在线观看| 天天影视网色欲色香| 思思热er精品视频| 91精品国产91熟女| 曰本精品久久久| 日本欧美一区二区三区视频麻豆| 日韩精品影视| 色爱综合网| 亚洲在线91| 国产又色又爽又舒服的三级视频| 91网站18+| 91快色色色色色| 国产情色第一第二页在线观看| 久久综合资源一区二区| 久久久极品| 色妺妺在线视频| 豆花视频操逼网址| 欧美亚洲韩国视频十五区| 99自拍视频| 精品妇操一区二区三区| 色墦五月丁香| 日本 色 导航| 一级做a爰片久久毛片图片| 欧美少妇色综合| 被男人吃奶很爽的毛片| 久久九九97| 美女露胸露奶头| av日韩在线观看电影| 丝袜美腿91| 大香蕉 222| 婷婷啪啪| 91狠狠色丁香婷婷综合久久| 91AV入口| 成年人黄色视频免费| 熟女激情综合网| 蜜臀va69| 日本二三四区| 欧美亚洲| 日韩成人精品| 中日韓欧美高清| 久草综合视频| 亚洲av热热色| 欧美97在线观看| 午夜欧美J进J出白浆流出久久久 | 欧美激情精品| 极品色综合| 热久久无毒不卡| 操人妻逼91| 蜜伊人色综合97| 天堂蜜桃无码视频一区二区| 91成人精品在线播放| 国产在线激情视频| 亚洲乱码国产乱码精网站| 老司机午夜精品视频| 久久男人的天堂| 天天看片青娱乐| av三级电影在线播放| 久操91视频| 中文人妻av高清一区| 一级毛片电影免费看| 午夜成人爽爽爽爽A片李冰冰| 无码一区免费在线不卡| 在线色导航| 不卡av免费在线网址| 久久久久九九九| 91综合网| 日韩精品一二三四| 婷婷美人网| 后入人妻无码| 在线综合色| 国产高清精品福利| 99re不伦| 爱丝福利| 婷婷激情五月天小说网| 色五月综合| 亚洲精品黑丝| 久综合国内精品自在自线| 一本色道无码DVD中文字幕| 国产色呦呦| 99.色网| 日韩青久久| AV和黑人在线播放| 偷拍片久久| 亚洲国产中文字幕| 丁香九月 婷婷| 国产一区二区啪啪视频| 在线一区| 人人摸人人叼| 亚洲高清在线se| 欧美加勒比| 热99这里只有精品| 加勒比人妻综合| 极品国产内射| 啊啊啊啊视频免费| 亚洲国产综合图区中文字幕| 另类综合另类| 伊人网青青| 中文乱码99| 国产精品精品系列在线观看| 中文久久一区| 国产精品69人妻无码久久久| 999 久久久| 久久久久久精品免费看A级| 天操天操夜操夜月操月年年操| 亚洲色图欧美激情| 91爱欧美| 天天操女人| 亚洲超碰97| 蜜桃视频精品一区二区三区| 一级特黄aaa大片在线观看成人一级片在线观看 | 91N综合在线| 一类av片在线看| 久久精品黄色| 五月天久久婷婷亚洲| 日逼视频日本| 天天综合,91入口| 9999久久久久| 老司机射| 粉嫩av在线| 亚洲大胆人体av| 91色碰| 国产人伦a片信息免费片| 老女人碰碰在线碰碰视频| 伊人久久大香大香线蕉中文| 无码高清少妇久久| 狠狠躁伊人中文字幕| 97这里都是精品| 亚洲系列第一页| 97精品免费视频网站| 91狠| 99综合免费视频| 国产成人久久久精品免费AV| 日韩卡一卡二卡三在线| 免费观看成人www精品视频| 久久后入制服| 67914在线兔费成人视频| 啊啊啊啊视频免费| 偷拍网站久久男女男| 一区二区三区四区免费视频| 人人妻人人爽 97人人看碰人免费公开视频 | 黄色不卡视频| 性交一区二区在线播放| 97av,com| 51一区二区三区| 九九九九免费视频| 亚洲精品黄码久久久久| 亚洲丝袜二区在线| 久久久久久久唑| 亚洲另类综合欧美| 一级成人性爱| 久久人妻办公室视频| 亚洲婷婷综合网| 狠狠躁日日躁夜夜躁A| 超碰亚洲97| 乱伦av.com| 国产精品福利资源在线尤物| 久久日韩肥臀| 97少妇人妻中文字幕久久| 情侣开房子拍 日韩无码 女的很漂亮| 特级毛片特黄久久免费看| 色妇综合网| 少妇蹲下买菜露大唇0| 97天天操天天干| 国产久久一区二区午夜| www.91久久| 女人精品内射国产99| 色九色久| 97在线视频观看免费| 最新欧洲欧美日本激情网站| 久久久久性熟视频| 久99热| 玖玖爱在线视频免费观看| 丰满人妻一区二区三区四区| 天天伊人| 快灬快灬 一下爽蜜桃在线观看| 曰韩少妇无码| 大香蕉伊然在亚洲91| 亚洲男人的天堂AV| 中文字幕黑人大片| 清柠毛片| 麻豆天美电影一区二区| 无码99| 91麻豆天美国产欧美| 五月婷婷大香蕉| 男女一级A片大黄,一进一出| 国产成人无码a| 九九精品99| 亚洲免费成人在线高清无码视频 | 强奸乱伦大香蕉网| 日本护士高潮| 成人欧美一区二区三区黑人一| 秋霞视频一区二区| 亚州国产精品乱| AV天堂男人的天堂| 99国产精品免费| oumeizonghese,www| 99色婷婷中文字幕乱色| 免费成人在线熟妇网| 激情婷婷丁香| 亚洲素人综合| 亚洲天堂欧美| 国产黄色在线播放观看| 亚洲成人美女无吗| 99热综合| 欧美天堂日韩三级国产传媒| 97就爱干| 久久久久国产精品久久久| 成人羞羞视频国产| 少妇无码av专区线| 国产无马av| 91久久精品蜜臀| 色老汉色| 很狠操| 日韩性爱小视频| 又大又长又粗又爽又黄| 亚洲综合五月天| 大香蕉碰| 亚洲极品| 日本精品一级二级三级| 日本福利二区视频| 日本伦理一区二区| 哈哈操 大香蕉| 思思热在线视频免费| 99精品成人免费看| 黑丝少妇麻豆| 超碰吊日色| 欧美人与动性人交a| 欧美劲爆视频一区二区| 天天操天天射青青草| 中文字幕AV片| 伊人超碰97| 国产亚洲精品农村妇女| 91爽啪| 日本97久久久精品| 蜜臀久久99精品久久久久久成人小说| 乱伦一区二区三区‘| 免费观看欧美日韩操逼视频| 综合激情一一91| 懂色Av| a在线观看| 91撸色网 玖玖网 欧美| 天堂性色| 伊人色综合网电影| 天天干夜夜肏| 中文字幕久热视频在线| 青青草十区九区爱夜| 亚洲图片 欧美电影| 日韩精品碰碰| 91天堂视频| 国产丝袜美女在线一区| 婷婷五月天补不补| 中国特猛少妇色xxx| 精品亚洲国产成人精品| 欧美激情色婷婷花野真衣一区二区| 搡老女人老熟女91老熟女综合网| 精品人妻1区| 欧美男人一区| 淫淫综合网| 国产成人www免费人成看片| 色在线69堂| 伦激情人妻另类人妻| 午夜精品99久久久久传媒| 欧美九九九| 日本在线播放不卡一区| 欧美精品欧美精品系列| 国产成人手机视频激情| 91激情综合| av在线免费一区二区| 日逼五月天| 日B操| 久热伊人99re| 极品销魂美女一区二区| 中文字幕精品人妻丝袜| 日韩av无码网站| 国产九九久久久精品| 美女黄网| 欧美精品第四五页中文字幕在线观看| 男女猛烈无遮掩视频免费软件| 激情婷婷| 国产三级日产三级韩国三级 | A级在线视频| 91 国产丝袜在线放观看| 电家庭影院午夜69久久夜色精品国产69乱 | 欧洲综合视频| 92一区二区| 美日韩一卡二卡三卡免费人妻精品| 丰满少妇一区二区三区免费看| 夜夜一区二区| 国产精品视频91久久| 国产精品高潮久久AV| 欧美一区二区三区入口| 97超碰影音| 激情自拍 校园春色| 日韩三级伊人| 狠狠爱夜夜干| 婷婷日韩一区二区三区中文字幕在线| 综合伊人网12色| 日本精品免费一区二区三区四区| 婷婷丁香五月天亚洲天堂网| 欧美97在线欧| 江都AV在线| 青青操综合网| 青娱乐休闲视频在线观看| 69人妻精品丰满熟女区| 无码抄逼网| 精品亚洲| 99国内熟女露脸视频| 色色五月天激情| 3PAV乱伦视频| 2019男人的天堂| 五月色丁香| 99久久久无码精品国产人| 亚洲情色综合网| 日本熟妇熟色97一本在线观看| 国产女人与拘做受视频免费| 日韩一级二级三级| 97超碰精品成| 欧美操逼熟女| 国产久久男人天堂| 日韩偷拍一区二区三区| 精品白丝一区| 久久婷婷欧美| 99啪啪| 韩国黄色片精品久久久| 丰满人妻一区二区三区四区| 女人久久久| 久久成人精品| 天美传媒AV国产在线| 欧美乱色| 亚洲天堂99| 国产性爱乱伦AV| 亚洲伊人成综合成人网| 欧美另类丝袜熟女| 在线五区| 国产性爱欧美性爱在线| 物尤视频一区二区| 久九九九九九九热| 国产少妇肉丝在线观看| 日本天天操| 免费中文在线| 欧美日韩性爱无码| 亚洲中文一区二区三区| 色激情综合网站| 大香蕉人妻久久| 国产外初女出血视频| 玖玖爱一区在线| 青娱乐av在线| 青青草密桃在线播放| 99在线免费视频| 99九九久久| 日韩乱伦影音先锋| 日美免费黄片| 亚洲乱码国产乱码精网站| 亚洲激情综合另类男同| 丁香九月婷婷| 国产精品国产自产高清AV| 97在线免费视频| 久久这里只| 亚洲资源吧| 亚洲高清男人天堂| 一区二区亚州激情久婷婷欧美| 99抽插| 婷婷色香| 青青草日本中文字幕| 色综合加勒比四四季| 九九无码久久精品视频| 97色插| 97超碰天天爱天天爱| 天天综合精品| 99啪啪| 欧洲与亚洲欧美精品中文字幕| 亚洲欧美日韩有码| 岛国999| 97se综合| 97天堂| 日逼视频日本| 裸体美女国产免费久久久网站| 天天干2区3区| 久久久久久裸体 | 在线观看av区| 国产亚洲 中文欧美久久| 欧美|91色综合| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 国产伦精品一区二区三区视频女| 96超碰网| 国产在线观看一区二区三区| 去干网最新版| 欧美成人亚洲精品| 少妇高潮喷水无套久久久久久| 国产白丝在线| 久热伊人| 久久黄色视频一区二区三区| 99视频精品| 六月激情网| 大香蕉国产中文自拍| 免费99精品国产自在在线| 男人的天堂com| 91精品国产91久久青草| 美国一区二区免费视频| 成人av动漫在线观看| 蜜桃成人1区2区3区| 91挑色欧美| 中国特猛少妇色xxx| 久久久久亚洲三级电影| 天天爽天天| 神马久久69| 91在线丝袜| 日韩兔费看黄片| 日本黄 R色 成 人网站| 欧美综合网1| 日韩成人精品| 91色黑人少妇| 深夜福利黄片| 日韩亚洲美女一区久久| 中国91AV| 色老汉玖玖爱| 久久国产精品m码| 日本高清一区二区在线| 日韩精品人妻中文字有码在线| 国产午夜精品理论片一二三区区| 激情婷婷丁香| 91精品国产91熟女| 99只有精品| 超碰4A| 国产超碰| 熟妇人妻精品一区二区| 色婷五月| 国产精品乱码久久久久| 婷婷五月天网| 精品人妻av区天天看片| 亚洲欧美激情另类色图| 香蕉视频欧美一卡二卡| 男人亚洲91首页在线| 九久精品| 国产青一二三| 成人精品久久久午夜福利| 九九热免费在线国产视频伊人五月| 91天堂网| 好看的91视频| 多毛小伙内射老太婆| 国产99999久久精品| 午夜偷拍久久熟女| 极品人妻少妇综合| 欧日韩不卡视.频| 97超碰久久| 亚洲天堂自拍| 一级啊性爱在线视频| 国产91丝袜在线播放蜜月| 91热爆在线| 97综合国产| 欧美在线啊啊啊| 五十路三级片| 97se亚洲综合自| 色一射色一射| 国产 无码 一区二区| 久久久久久久久9| 九九色逼| 成人26uuu| 1024午夜激情男人的天堂| 免费综合亚洲中文| 欧美色999| 九一精品牛牛一区二区| 男人的天堂一区三区| 熟女人妻一区二区三区免费看 | 国产在线能看的你懂的| 免费成人在线熟妇网| 极品极品色影院| 思思久热在线精品66| 国产乱码精品久久久久久| 五月天黄色激情视频| 97免费在线观看| 久久久18禁| 欧美一区二区亚洲天堂| 成人av在线播放| 老鸭窝在线视频播放| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 91久久国产综合久久| 国产精品永久免费10000| 天天干夜夜操一区二区| 精品国产污一区二区三区| 午夜精品探花| 久久久精品91八戒| 91亚洲综合在线| 少妇99| 熟妇熟女一区二三区| 国产激情在线观看| 黄色av网站在线播放| 人人妻人人爽| av日韩中文字幕| 97久久免费| 黑丝91视频| 99色在线视频| 国产激情片在线观看| 久久69精品久久久久久久| 中国91AV| 久久久久幕乱码| 91欧美另类| 嗯嗯啊啊用力视频免费| 久久人妻丝袜一区二区三| 欧美日韩激情无码专区| 涩综合导航| 不卡日本一区二区| 亚洲色图A| 欧美极品色| 肉动漫无遮挡h在线观看| 欧美性少妇| 午夜福利在线合集| 亚州中文字幕超碰97| 厕所偷拍在线| 91丝袜美女| 99热超碰| 国产人伦精品一区二区三区| 超碰 另类 欧美 | 亚洲黄片免费在线播放| A 天堂| 亚洲中文字幕在线视频一区二区| 亚洲毛片基地专区| 久久超碰97| 久久久四区| 天天噜| 国产性爱强奸乱伦大全| 天天插网| 久久草草亚洲蜜桃臀| 亚洲精品 欧美精品| 夜草欧美| 亚洲九九视频在线观看| 密臀成人视频久久久| 欧美色道啊| 欧美性第1页| 懂色AV网| 丁香七月婷婷| 日韩熟女操逼| 亚州免费啪啪视频| 日本肏逼视频在线观看| 国产67194| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 天天α片| 天天日美女的B| 久久久久久久久久久精| 密臀在线一区尤物| 国产91福利小视频在线观看 | 久久色一区二区| 性交一区二区在线播放| 日日骚av| 一起草三级AV电影在线观看 | 97综合国产| 一二三四视频中文字幕在线看| 国内精品久久人妻性色av| 性开放中文AV高清无码免费看| 亚洲成人性爱在线观看| 91粉芽高清在线一区二区| 少妇毛片久久| 国产精品乱码久久久、久久| 不卡视频一区蜜桃视频| 日韩美脚一区二区网站| 亚洲无线观看久久| 口爆欧美91| 亚洲精品久久一区二区三区蜜桃臀| 夜夜操夜夜高潮夜夜爽国产精品区| 国产又粗又长又大的视频| 91美女网站| 亚洲成人无码影院| 97天天搞在线| 丝袜色综合| 欧美成人一级麻豆| 亚洲一区二区三区欧美日韩| 丰满人妻一区二区三区在线| 欧美九一精品久久久熟妇| 美女啊啊啊啊pc| 国产精品suv一区| 加勒比人妻综合| 精品国产一区二区三区香蕉欧美| 都市久久精品激情亚洲| 97一区二区蜜臀| 国模精品一区二区三区苹果色戒| 日韩乱中文| 亚洲成人精品在线一区| 亚洲系列欧美| 涩爱AV在线| 大香蕉日亚洲日本亚大| 亚洲密乳AV| 久久久久13| 伊人在线大香蕉二。| 欧美福利视频啊啊啊啊| 大香蕉综合网| 国内成人圈中文字幕无码视频| 无码高清操逼| 五月丁香激情综合| 女人香蕉久久毛毛片精品| 国产女人与拘做受视频免费| 91女网站| 91亚洲在线| 超碰av在线| 91精品婷婷国产综合久久| 国产在线视频二区| 日本不卡码黄色| 特色a在线上| 乱色视频中文字幕| 欧美线天码中字| 强奸乱伦Av网| 夜夜爽爽夜夜精品视频| 国产日逼视频| 日韩人妻无码精品系列| 欧美特大AA级黄片| 一区=区三区视频| 日本一级真人黄色性爱视频| 人妻久久久久久久久久久久久久久| 久久久久久免费电影| 丰满少妇乱子伦精品无| 青青青草伊人精品| 人人天天干干| 久久成人东京热人妻| 婷婷AV一区二区三区| 久热99999| 日韩乱伦影音先锋| 97精品网站| 亚洲AV无码国产精品久久久久| 91色综合色| 成人免费在线网站| 色网亚洲人| 婷婷五月天av| 日韩97| 看黑人AV不卡| 激情小说日韩无码| 噜噜噜久久亚洲精品色情| ,成人免费啪啪视频| 精品亚州18| 国产中文字幕曰本毛片| avav青青草久久夜| 91oumei| 久久亚洲中文字幕视频| 激情终合网| 蜜臀操逼黄色视频操的好爽| 色黄污美女啪啪啪免费网站| 96免费视频在线| 最新的亚洲无吗| 国产日韩中文字幕欧美| 热久久这里只有精品| 国产真实子伦对白| 国产亚洲日本| 亚洲天堂久久| 内射夫妻三片| 素人伊尹大香蕉免费下载视频| 天天拍天天操| 精品国产91av一区二区三区| 亚洲天堂少妇| 真实高潮91| 不卡一区二区日本视频| 97亚洲中文| 求求你操操我| 成人短视频在线观看| 17c嫩草51久久91嫩草| 狠综合网| 丁香五月激情网| 黄片免费视频2019| 超碰97综合在线| 欧美精品偷拍| 婷婷激情啪啪| 性色av蜜臀av色欲aV| 91老女人| 青青草国产一区二区三区| 97资源超碰| 超碰成人国产| 一二三四视频中文字幕在线看| 视频在线97| 操操操操操操| 69超碰综合| 久久久久国产精品片区无码直播| 欧差乱伦二三| 亚洲一区二区中文字幕| 97 九色| 日韩乱码Av| 午夜电影在线观看无码专区| 日韩av无码网站| 麻豆一区二区三区在线看 | 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 国产人妻天天干精品| 无码操逼视频一下| 久久老女人| 综合亚洲欧美| 久久久96精品| 久久偷偷色综合蜜桃| 国产亚洲欧洲在线观看| 日本91白丝| 色优久久| 日本女人操逼| 成人午夜小视频手机在线看| 99国产在线 精品 视频| 国产午夜福利专区综合| 蜜臀99久久| 久久久人妻| 欧美性性性| 91精品人妻一品二品三品| 日韩电影免费网站麻豆视频| 日本熟妇精品九九| 欧美一级专区免费大片| 日韩精品99久久久久久中文字幕| 人妻在线臀日韩| 亚洲情色婷婷五月天| 五月激情综合网| 91碰碰碰| 亚洲另类综合欧美| 黄污污污污| 欧美国产日韩清纯唯美| 五月婷婷五月天| 丁香激情网| 99九九久久| 成功精品影院| 玖玖综合.com| 国产精品对白内射| 97内射偷拍| 亚洲精品国产av天美传媒| 国产久久一区二区| 日韩 女同 综合| 五十路成人在线视频二区三区| 91在线国产后入风骚翘臀美女素人| 亚洲少妇色图自慰直播| 在线小视频| 97chaopenrihan| 午夜操一视频一区| 999综合网| 1769成人国产精品视频| 在线观看亚洲成人精品| 无码天天操| a级理论午夜日本| 五月丁香| 黄色成品网站| 999熟女精品| 欧亚三区动漫| 思思视频免费看网站| 国产99精品一区二区三区免费| 肉嘟嘟www视频在线观看高清| 久久激情视频| av在线浏览| 亚洲有码第一页| 亚洲a色| 性色av大全| 思思性爱| 黄色成品网站| 四虎免费视频| 日韩精品在线视频,日韩精品……| 人人妻人人爽 97人人看碰人免费公开视频| 日韩 欧美 视频 在线 一区| 99热精品在线观看| 91撸色网 玖玖网 欧美| 国产精品一区二区麻豆| 无码人妻精品酒店| 乱伦Av网| 毛片视频白嫩| 5252色欧美在线男人的天堂| 日韩AV无码网站| 激情久久av一区av二区av| 混色激情av| 欧美丝袜美女电影一二三四区| 成人国产二区三区在线,男女精品。| 国产成人拍国产亚洲精品| 男人的天堂一区三区| 爱干爱射网啊啊啊| 精品在线78| 2017人人操,人人摸| 日韩精品区二区三区不卡| 东北女人操比视频| 亚洲国产综合图区中文字幕| 久久久无码av精| 爱欲AV| 精品对白久久不卡| 亚洲欧美日韩精品久久久一区二区 | 天天干2019| 91男人综合| 超碰无码加勒比| 五月天丁香欧洲日韩| 久久99干一本高清| 懂色av色欲av蜜臀av| 99.色网| 欧美姓爱综合网| 美女操逼福利视频| 97爱b| 久久国产在线一区二区| 免费夜夜爱黄色视频毛片| 国产日产欧产美韩系列麻豆免费| 免费观看性欧美一级| 老鸭窝亚洲毛片| 欧美亚洲手机在线| 99久久婷婷国产综合| 国产麻豆一区二三区| 久久久久久电影| 99综合自拍| 欧州一区二区三区四区| 日韩欧美女优电影| 一本久道久久综合狠狠爱一密臀精| 日韩中文字幕在线视频观看| 99re99视频在线免费观看| 国产无码精品成人| 日本高清电影欧美色图| 日本 情色 1区| 亚洲激情在线| 日韩大香蕉AV影片| 九九热视频在线观看| 日韩97超碰| www99热| 欧洲视频在线| 六月丁香啪啪| 狠狠爱夜夜| 国产后入精品| av三级电影在线播放| 日韩乱码Av| 日本淫乱女一区二区三区视频| 天堂av2019| 三男一女不戴套的A片| 黑丝少妇麻豆| 国产精品盗摄 偷窥盗摄| aaa淫乱视频| 久久久久亚洲三级电影| 国产精品久久久九九九| 日韩国产乱子伦App| 少妇高潮喷水无套久久久久久| 97欧美性爱| 久草毛片| 青青网三级视频| 九九九九精品| 动漫区日韩区欧美区| 色成人Www精品永久观看| 大干人妻| 97人妻色| 韩国一级婬片A片无码天美| 最新9久久久9免费视频| 色欲久久综合| 成人精品在线免费视频| 欧美视频激情久久久久久| 日韩亚洲Av人人夜夜澡人人爽| 亚洲精品九九九九九九| 亚洲不卡AV在线| 蜜乳视频网站| 国产熟女自拍| 日韩免费人妻色情网站| 自拍偷拍草一草| 狠狠97| 亚洲中文字幕乱码无码一区二区| 国产中文大片资源中文字幕| 日韩本不卡视频在线观看| 欧美日韩国产中文精品字幕自在自线,| 人人贴人人摸| 狠狠色五月亚洲91| 久久一留热品黄| 九月丁香综合网| 男人天堂电影院| 色婷婷淫色网| 天天日日舔舔| 中文字幕精品资源在线| 秋霞色色影院| 色97国产69香蕉| 操人妻逼91| 久久婷婷伊人| 免费观看国产不卡av| 精品人妻一区二区三区视频在线| 日日黄色三级网站| 色婷婷电影网| 一区二区三区黄色片a| www.男人的天堂| 狠操91,com| 亚洲91色在线| 人妻少妇一区二区| 国产尤物AV尤物在线观看不卡| 中文乱码字幕观看| 骚妻少妇精品性色无码四色A V| 三级片大波波| av九九| 午夜黄色免费在线观看| 亚洲欧洲自拍图片专区满春格| 精品美女少妇一区二区| 国产欧美成人精品| 歐美一級亂黃99在綫精品| 俺去也婷婷| 91小视频| 看一级特黄a大一片| 1000部熟女视频在线观看| 综合色区偷拍| 精品无人区麻豆乱码1区2区图片| 欧美性生活内射| 亚洲第一页欧美| 综合网,亚洲,欧美| 啊啊啊啊嗯嗯嗯用力好爽 | 亚洲乱熟女一区二区三区大香蕉| 亚洲性爱电影| 精品久久无码午夜福利| 91欧洲国产成人久久精品网站| 伊人国产AV| 九色 蝌蚪 熟女自| 十八禁电影伊人网| 欧美高潮| 亚洲情色综合网| 色情婷婷久久五月天| 欧美后入视频| 性性欧美| 天天激色| 色呦色呦色精品| 欧美影音在线| 久久伦理视频久久大香蕉视频| 蜜桃在线观看一区二区三区| 宅男午夜在线视频| 性色中出| 91亚洲欧美色图| 97大色网| 久久久久一本一区二区青青蜜月| 成人影 天天操 亚洲| 欧美少妇大量自拍视频在线观看| 日本特黄f c2| 91亚洲精品青草| 性色乱AV一区二区| 欧美激情一区二区| 夜夜骑天天燥| 国产精品久久久久久9999| 国产精品午夜福利视频| 日韩精彩视频| 国产精品午夜福利| 91亚洲人| 黄片www视频免费| 夜夜草我| 亚乱色| 婷婷丁香五月激情啪啪| 九九Av| 极品丝袜无码| 麻豆人妻少妇在线免费观看| 日本好吊色视频| 精品二区久久| 色欲av国内精品久久久久久| 亚欧高清| 丰满人妻一区二区三区大胸懂色| 性爱av在线免费观看| 中文字幕精品一区二区精品| 丝袜六区| 国产亚洲日本| 最新国产精品久久精品| 伊人久操| 久久免费精彩视频| 麻豆天美国美国产| 中国小夫妻勾搭露脸淫荡对白| 天天操天天日天天干| 大逼色网站| 免费看黄片现成| 人人看人人摸人人色| 人妻啊啊人妻啊啊| 中文字幕久久精视频久久大全| 91精品操美女| 私人尤物在线精品不卡| 日本操逼视频导航| 青青草视频这里只有精品| 中文字幕-区二区三区四区视频中国 | 97国产精选| 最新日本中文字幕| 色爱三区| 女一区二区| 九九九不卡| 天天躁日日躁成人字幕aⅴ| 91在线无码精品秘 软件| 成年男人的天堂| 国产91丝袜 在线播放| 不卡中文字幕aⅴ在线| 97综合在线| 蜜臀AV成人精品蜜臀| 女优大全 - 91n| 国产一级作爱毛片| 亚州成人A√| 色综合大香蕉| 国产精品极品美女视频| 在线女人91| 大茄子熟女AV导航| 免费精品人妻一区二区三| 超碰日本97美女人妻人人玩人人爱| 欧美影音在线| 三级日本一区二区三区| 色999亚洲人成色| x97av| 国产成人99久久亚洲综合| 天天干美少妇一区| 亚洲欧美视| 爽极品影院| 大香蕉 222| 精品999一区二区| 囯产乱伦一区二区三女| 99色婷婷中文字幕乱色| 9久在线视频只有精品| 99这里只有精品| 一区二区三区四区五区久久久久久| 久久中文字幕一区不卡| 亚洲中文字幕有码视频一区二区三区| 91制服丝袜| 人人色人人操在线| 风骚少妇视频中文字幕| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 欧美白嫩女HD| 国产精品亚洲色婷婷久久久| 亚洲国产欧美日韩人妻日中文| 99re6在线视频播放免费精品| 亚洲av影院在线观看| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 亚洲成人AB| 亚洲日韩精品在线播放| 蜜桃臀一区二区三区久久| 欧美顶级黄色大片免费| 大香蕉综合在线| 一区二区影院| 国产高清在线自在拍69| 国产高清MV操逼视频| 人人摸人人舔一区二区| 日韩欧美午夜视频在线| 国产AB视频| 日本欧美国内在线| 国产91丝袜 在线播放| 五月丁香婷婷色| 黑人在线91| 国产又粗又又黄又猛| 蜜臀99久久精品久久久懂爱| 欧美男女午夜啪啪| 97超碰人人模人人拍人人| 婷婷国产精品九区| 大二网站亚洲| 天美传媒AV国产在线| 欧美极品性爱天天射| 欧美草草| 欧美色图天堂在线| 天堂v无码免费视频| 丝袜天堂| 久久99午夜精品一区人妻| 久久伊人东京热| 裸体美女免费看网站青草| 亚洲欧洲成人在线电影| 97资源免费视频| 亚洲欧洲日韩国产自在线| 伊人国产AV| 天堂av2019| 日韩综合成人免费视频| 欧美性综合| 国产av尤物| 桃花色综合影院| 日本黄页视频在线观看| 午夜丁香| 国产视频一区二区三区在线免费观看 | 欧美日韩另类字幕中文| 91精品国产麻豆国产自产在| 欧美第二页| 超碰碰激情97+久| 色色五月婷| 亚洲A曰本VA欧美VA视频| 97国产精品久久久久| 极品色社| 欧美大香蕉同搞| 成人小电影网站tex| 青青操在线亚洲视频观看欧美在线 | 欧美亚洲美少妇一区二区| 成视频在线观看免费看| 国产午夜在线观看| 亚洲AV不卡在线观看| 97亚洲一区| 无码抄逼网| 思思热在线视频免费| 精品少妇高潮久久| 91日日| 性爱久久| 无码国产精品久久久久| 国产1024在线播放| 深夜激情| 久久99草| 日本不卡三级网在线播放| 精品亚洲国产成人AV制服丝袜 | 97AV爱| 日韩中文字幕二区| 亚洲AV秘无码一区..| 中文字幕一区二区三区人妻不卡 | 最新日产中文在线麻豆| 国产 日韩,欧美 自拍| 日韩97超碰| 91精品又粗又猛又爽| 91成人在线| 亚洲精品819| 三级三久久线久久99久目本WW| 一本久道在线综合视频| 白丝AV| 久久久久久久久久久久97| 国产情色在线| 久久精9| 四虎AV无码| 亚洲天堂,男人| 超碰在线国产| 天天色播亚洲综合网站| 狼狼色丁香久久婷婷综合五月| 中日韩免费看男女操逼大全| 男人天堂新| 综合亚州欧美| 婷婷激情五月综合| 97超碰这里只有精品| 天天伊人| 日韩欧美成人性爱在线| 国产91精品在线免费| 日本大香蕉综合网红本杳社区| 久久 久久国内精品亚洲| 麻豆 亚洲 97| 97视频620| 91总综合网| 日韩激情视频| 久久免费精品96| 91中文精品日韩欧美在线| caopeng97人妻| 久久超碰亚洲人| 欧美狠狠弄| 久久av色| 绑缚麻绳人妻寝取完整版| 日本不卡二三区| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 日韩成人私密一级精品av| 亚洲综合第一页| 丰满熟女一区二区三区在线播放| 亚欧美色| www.av家庭乱伦| 影音先锋每日最新资源在线观看 | 内射白嫩美女| 欧美性猛交美女自慰91| 人人澡人人爽人人精品| 在线综合 亚洲 欧美中文字幕 | 青青草影视蜜久久| 96超碰网|