久久亚洲成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
返回資訊列表
超碰 国产熟女精品一区| 日韩综合第八区国产精品| 青青草久久| 中文字幕免费在线观看| 人人操人人摸avav| 色综合av男人天堂| 中文字幕55555| 精品网站99999| 天天亚洲| 超踫中文字幕| 99精品无码| 在线岛| 熟妇熟女一区二三区| 国产精品97视频| 综合欧美激情网| 日韩99999色| 欧美黑人与女人91| 91久久99久久91熟女精品| SUV一区二区在线看| 久久 国产 无码| 亚洲色图激情小说| 天天影视综合色| 视频国产成人精品日本亚洲18| 激情专区综合| 亚洲91大片| 97精品一区二区视频| 欧美1727免费观看视频| 亚欧美综合| 探花熟女,姿勢到位,體驗感也到位| Julia在线播放亚洲久久| 久久骚| 国产精品免费日韩| 午夜九九| av资源在线播放天堂| 丝袜色综合| 欧亚在线视频| 久久久999国产| 婷婷久热| 亚洲乱妇p22| 男人的天堂2010| 色九久| 大香蕉色十月| 日韩黄片影院| 有码人妻系列| 欧美一级久久久丰满| 日韩激情视频| 成人一道本免费视频| 91大神电影天堂| 粉嫩av平台| 好湿好紧好爽 视频| 亚洲成人帖图| 91亚洲人电影| 亚洲乱码国产乱码精网站| 91女优在线观看| 亚洲一本大道中文字幕无码在线| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 双插在线| 国内精品久久久久影院亚洲| 久久人| 99久久这里只有精品| 日韩欧美性爱电影在线观看| 伊人一区二区三区| 亚洲天堂 视频你懂的| 超碰97欧美日韩| 怡红院一区二区熟女人妻| 国产成人五月天丁香花| 91天天c| 亚洲天堂7777| 久久久免费高清中文视频| 人妻AV 中文字幕的| 国产女同在线观看视频| 日本高清加勒比| 日韩精品中文字幕二区| 国产中出内射一区二区| 欧美九九九| 91精品电影18| 国产精品4p在线观看| 粘花网06av视频| 夜夜影视四色| 国产av强奸美女| 加勒比aⅴ| 丁香婷婷激情五月天无毒不卡 | 一二三卡欧美日韩人妻免费精品| 天天干天天操天天拍| 麻花传媒免费网站在线观看| 九九九久久久| 欧美综色欧| 99自拍B亚洲| 大香蕉人妻| 色九久| 青青伊人久久| 夜夜操天天肏| 色色色色电影网| 东京热一区二区中文字幕| 在线情色电影 91大| 婷婷久草一区二区三区| 日韩在线观看字幕精品| 97久久国产| 欧美一品道| 久久仑合| 美中韩AV综合网| 特级毛片特黄久久免费看 | 成人国产精品三级A片| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 精品国产99| 一区二区偷拍拍视频| 手机在线观看不卡无码av| 人妻偷拍一区二区三区| 一区二区免费电影久久| 国产日本一区二区三区蜜臀在线观看| 人妻久久| 97欧美综合网| 国内一级精品| 校园春色美腿丝袜| 久啪视频| 亚州,欧美在线| 超碰综合色| 91在线页| 天堂av2019| 鲁鲁色综合网| 大香蕉宗合网在线| 99精品无码| 久久九九99| 日韩国产欧美伦理在线| 日韩肏逼视频| 四虎午夜影院| 天堂а√在线最新版在线| 国产精品久久久久久亚洲色欲| 狠久久| 欧美综合亚洲| 清纯唯美第一页| 九九伊人网| 日本成人电影资源网| 91夜色| 麻豆天美在线| 99久久99久久免费精品蜜臀| 日韩精品一区二区高清| 天堂俺去俺来也www久久婷婷| 性爱综合一区二区| 免费一级a毛片久久久久久鸭绿欲| a一区二区三区乱码在线| 欧美日韩制服| 91制服丝袜| 中国和日本人色哪个不下载能放| 97超碰伊人| 国产精品动态一区二区三区四四| 热G综合热G中文| 91白虎| 国产深夜福利| 亚洲va有码在线天堂| 强奸乱伦大香蕉网| 婷婷久久大香蕉| 丝袜AV一二三区| 91在线色| 亚洲91射| 天天影视色香欲综合网小说| 极品综合| 色情综合网| 国产伊人自拍| 超碰超碰欧美| 久久丝袜| 色综合天天| 99在线精品观看99| 97干色天堂| 男人的天堂无码| 亚洲成成熟女人综合一区二区| 热99re69精品8在线播放| 91欧美亚洲| 日韩性爱1级片视频| 精品人妻美妇91job| 偷拍欧美激情| 中文字幕免费看| 亚洲91色| 人妻一区视频| 密桃99999| 欧美 亚洲 综合 制服| 97er欧美性| 美女网站91| 手机在线人成免费视频| 大鸡巴久久久| 午夜欧美精品久久久| 乱伦一二三区| 欧美图片偷拍| 国产又粗又长视频| 一级AV性爱| 你懂得91| 欧美日韩免费专区在线| 日韩天天综合| 亚洲啪啪视频一区二区| yazhousetuoumei| AV有码在线| 欧美专区日本专区| 日韩精品国模| 国产精品无码av在线| 男人天堂站| 色臀AV| 亚洲 欧美日韩 另类| 佐山爱中文字幕| 91丝袜人妻| 日韩无码黄色片| A V少妇特黄三级| 2020天天色综合| 激情 欧美 亚洲 小说| 综合五月天| 伊人久久蜜月| 人人做天天爱| 色诱avtt| 91P0RNY大屁股人妻| 狠狠五月天| 羞答答AV中文字| www.99中文字幕| 91亚洲黑人| 亚州,欧美在线| 久久东京国产精品视频| 久久99干一本高清| 亚洲无码免费看| 另类视频在线| 人妻乱仑一区二区三区| 伊人在线大香蕉视频久久| 啪啪啪东京| 久久久性爱视频| 9国产超碰| 动漫片子网站3黄| 另类图片欧美激情综合| 夜夜高潮夜夜爽| 欧美Ⅴ性爱| 日本熟妇熟色97一本在线观看| 一区二区播放| 五月天丁香网| 亚洲日韩美女丝袜美腿人妻视频| 天美av在线观看| 97超碰碰| 欲色啪| 丰满人妻大屁一区二区| 亚洲999综合| 人妻日日干| 韩日自拍| 日本三级网页| 99热这里只有精品18| 91在线美女| 国产v片在线免费观看| 麻豆AV短剧| 欧美性爱中文字幕无线码| k频道色撸撸| 国产日韩欧美三级片| 亚洲精品91| 91在线免费观看处女| 强被迫伦姧在线观看无码网站| 久久久∴| 丁香五月天激情| 好湿好紧视频| 爱干爱射网啊啊啊| av资源在线观看少妇| 超碰在线一区二区| 欧美熟妇亚洲版| 国产中文字幕曰本毛片| 夜夜精品视频| 亚洲吊色| 精品超碰国产| 无码操逼天堂| 91美女网站| 国产精品 久久久精品一牛| 色九月综合| 国产第25页在线观看| 成人一区二区三区四区| 99久久精品国产高潮| 99re黄| 国产偷仑| 亚州国产精品乱| 国产亚洲深夜激情| 婷婷五月天色网| 亚洲情色一区三区| 伊人AAA| 蜜臀无码视频在线观看| 伊人国产AV| 99热免费精品| 婷婷五月天激情网| 强免费黄色网址| 极品销魂美女一区二区| 久久久久久久久久9| 激情四射五月天| 欧美亚性天堂| 大香蕉五月天| 2019久久久久久久久福利| 九热中文字幕| 97在线播放| 成人十八禁日韩欧美一二三| 蜜臀AV一区二区三区激情综合| 视频国产欧美在线播放| 校园春色 亚洲| 99国产精品在线观看| 韩国一级做A片免费的| 大香蕉一区二区在线观看.| 精品久久97| 日日妻色网| 岛国AV一区二区电影| 99热这里只有精| 乱伦系列一区二区| blacked精品一区国产| 亚洲欧美色图小说| 久久久久久精| 欧美综合网| 97精品一区二区三区免费| 国产精品高朝久久久久久久| 蜜桃丰满熟妇av无码区不卡| 91偷拍欧美亚洲| 麻豆久久视频在线地址| 91在线欧色| 精品一区二区三区蜜桃臀赵总| 日韩黄色电影网站| 久久久激情| 日本三级R| 久久久亚洲欧美综合| 精品毛片av一区二区| 日韩成人精品| 激情五月天插| 国产精品熟女九色九色蜜臀| 日小BB小视频| 操逼视频亚洲| 久久久久久久国产视频| 国产成人bd在线观看| 免费中文在线| 综合网色| 夜色五月天| 欧美亚洲日本视频久久久| 欧洲亚洲国产综合在线| 色就色综合| 性爱免费视频成人| 亚洲强奸乱伦影视网| 麻豆黄色五月天| 亚洲色电影在线| 97精品一区| 热热热热日日漂亮永久永久国产日| 欧美无圣光在线| 久久亚洲不卡一区二区三区 | 999热日韩精品| 青青草原香蕉日本Ap| 高清孕妇孕交 交| 操国产高清| 黑人精品XXX一区一二区| www.久久制服糖| 一级特级aaaa毛片免费观看| 色色五月丁香| 1024香蕉视频| 欧美熟女妇同| 香蕉精品二区二区| 强乱老妇中文字幕| 亚洲国产成人精品999| 97超碰超碰| 眼镜人妻101.com| 思思热影视| 99色| 人妻插插人妻人| 欧美亚洲综合999| 色九久| 中文字幕一区二区三区字幕| 大香蕉啪啪啪| 青青伊人加勒比海| 丰满少妇一区二区三区免费看| 亚洲日韩精品久久久久一区壹牛 | 97超碰免费人人性爱| 91欧美少妇| 天美av在线| 日本媚薬中文字幕在线| 乱伦图av| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚 | 美腿丝袜高跟网免费视频免费视频| rivers-china.com| 一级毛片电影免费看| 国产在线观看91精品一区| 天天摸夜夜添无码小视频| 色欲天天综合网| 女同在线视频一区| 国产亚洲精品玖玖玖在线观看| 欧美日韩国产另类综合| 蜜桃久久一区二区三区| 嗯阿好爽好紧| 亚洲色交| 美女91网站| 国产 丝袜 欧美中文 另类| 亚洲欧美爆| 97在线视频免费看| 日本一区二区三区四区免费观看| 激情久久av一区av二区av| 久久五月天婷婷| 天美欧美国产| 美女操逼A A| 大香蕉手机在线视频| 欧美亚洲涩涩| 欧美精品97| 亚洲中文一区二区三区视频| 久欲AV| 波多野结衣一级视频| 最新加勒比丝袜在线| 日日玩天天干| 黄色av片三级三级三级免费看| 国产又大又粗又长视频在线| 久久无码一区二区二三区性色| 嗯嗯啊中文字幕| 婷婷五月天色网| 粉嫩绯色AV一区二区在线| 无码人妻精品一区二区三区九九| 亚洲最大成人a毛毛片| 色五月69夫妻| 国产精品嫩草影院午夜两性| 97se综合网| 亚洲成人激情小说视频| www.狠狠干.coom | 亚洲熟女综合| 激情天天视频| 国产传媒一区日韩| 亚洲好看强奸乱伦| av情色影音| 一道α片欧美| 亚洲第一页色网| **一级毛片国产| 91精品无码人妻系列| 91精品91久久久中77777| 性爱1区| 欧美性高潮| 色九区| 大香蕉日韩| 99re视频在线观看这里只有精品| 人妻丝袜美腿中文字幕| 99久久久无码| 操逼逼一区视频| 久久久久一本一区二区青青蜜月| 91搞逼视频| 51国产午夜精品视频| 福利伊人玖玖国产| 欧美 日韩第一性色| 日韩精品资源| 亚洲少妇综合在线播放| 看一级特黄a大一片| 神马九九| 日本九九久久99播| 精品国产一区二区三区四区在线看| 裸体1区| 六月婷婷综合| 九九热精品在线| 在线人妻熟女一区二区三区四区五区| 色婷婷丁香五月| 综合久久欧美| 日韩AV一起草| 欧美色网| 嫩草影院永久在线制服丝袜| 免费a在线播放v| 蜜桃臀av一区二区| 91精品成人www| 少妇久久久久久| 99久在线精品99re8a| 99热这里| 日本视频一区二区三区| 老熟女搡BBBB搡BBBB视频| 国产黄色 A 片免费看| 国产区91柔拿会所技师| 色色97爱| 69久久久久久久久久久久久| 亚洲色图大香| 欧美精品日韩久久久九| 日韩无码一区二区三区| 色悠久久久av| 精品国产一区二区久久| 日本午夜福利影院| 日韩免费高清大片在线| 欧美色图校园春色| 超碰天天操| 嗯啊不要在线| 日韩av影片在线观看| 少妇久久久久久久| 亚洲图片视频小说| 啊啊啊啊啊好舒服视频| 香一区二区三区| 日韩黄色成人性爱| 亚洲熟女性高潮久久久| 久久久性爱| 呦女网站| 丝袜视频一区二区在线播放国产中文 | 日本一区视频在线观看| 加勒比中文av| 18+91网站| 久久久111| 熟女一区二区| 精品99999久久久久久| 一区二区娱乐网站| 少妇干B| 午夜.DJ高清在线观看免费7| 91精片| 91色插| 亚洲天天自拍| 深爱伊人影院| 国产suv精品一区二六| 欧美 亚洲 另类 综合| 99这里有精品视频| 久久人妻视频| 五月天综合| 岛国片在线观看视频亚洲| av日韩国产一区二区| 免费观看网黄| 性爱网站一区二区| 九九热av| 亚洲无码日韩电影| 欧美激情视频一区二区| 久久97精品久久久久久久不卡| 久久中文字幕人妻熟av女蜜柚| 福利大香蕉| 亚洲国产蜜臀系列在线观看| 97精品中文字幕| 国产欧美成人精品| 国产精品色约约| 中出20p| 激情文学亚洲| 91综合无码| 青青草大香蕉视频| 香蕉人欧美综合| 曰韩人妻中文字幕在线 | 美女啪欧美一区| 亚洲激情天堂网| 99蜜桃臀久久久欧美精品网站| 亚洲性少妇| 欧美色日本| 亚洲国产亚洲天堂| 亚洲骚逼少妇| 久久精品一区二区一8| 高清无码久操视频| 成年女人黄网站| 日韩成人大片在线观看| 亚洲AV小说| 97欧美精品综合| 日韩精品怡红院| 久久久久久裸体| 亚洲资源一区| 亚洲在线网站| α√在线| 91美女视屏| 韩国三级三级BD在线| 久久99草| 丝袜AV一区二区三区| 亚洲无码视频免费在线观看网址!| 亚洲高清无毛一区二区| 97国产成人精品免费视频| 婷婷月色| 麻豆国产成人精品| 青娱乐黄色录像| 欧美十八禁视频| 國產尤物AV尤物在線觀看| 丁香六月婷婷久久综合| 久久天天躁日日躁狠狠躁| 四虎影视永久在线观看精品免费网站| 好吊色综合| www亚洲免费| 精品久热| 91在线/欧洲| 蜜桃臀av一区二区| 国产亚洲精品激情| 女优免费一区二区永久| 丝袜色综合| 国产综合久久久麻桃个 | 香港成人一级视频在线青青草| 人人摸人人舔一区二区| 精品国产Av无码久久久伦古装| 亚洲第一狼人丝袜美女另类 | 91久久青青草原精品| 黄色网址在线免费观看| 7月婷婷综合| 日本亚欧爱爱| 欧洲亚洲国产综合在线| 99热免费| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场| 性色AV网站| 丁香婷婷大香蕉| 日日夜夜模| 国产高清视频无码在线| 嗯啊不要啊在线| 中出在线视频| 天天色黄色影院天天操| 真实高潮91| 久久久久久久九九九九| 久久亚洲婷婷| 97久久天天综合色天天综合色电影| 美女裸体无遮挡永久免费观看网站| www.91久久| 韩国嫰模上门援交视频| 色欲无码人妻日韩欧美精品| 啊啊啊好湿国产一二| 国产日本顶级一区二区三区| 在线色导航| 亚洲av热热色| 高清无码久操视频| 一区二区三区男女操逼黄色小电影| 久操国产在线| 大奶啊啊好爽| 国产精品久久久久久久久久久久久久| 丁香五月天堂网| 青青青草原| 精品黑人一区二区| 91美女国产在线| 亚洲 国产 精品一区| 亚洲人久久久网| 伊人久久在线视频观看| 夜夜福利| 自拍偷拍 高清无码| 大香蕉啪啪啪啪在线| 国产AV色黄看到爽| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 成人网欧美风情| 尤物网站91| 四虎影视在线| 青青青国产手线观看视频2| 男人天堂站| 大奶的诱惑| 九九热九九热| 国产丝袜美女在线一区| 久久人爽| 久久性爱免费送| 加勒比aⅴ| 电影69乱码96| 欧美一级黄色免费专区| 99青青草国产视频| 久操网线| 欧美日韩色| 久久人人妻| 热思思免费视频| 亚洲情色婷婷五月天| 无码高清少妇久久| 亚洲一区亚洲天堂| 91九色首页| 超碰95| 人妻少妇色综合| 国产日韩欧美亚洲精品95| 欧亚韩国999| 中文字幕大片三级狠狠干| 亚洲欧洲av影音| 精品无码一二三四区| 麻豆啪啪啪视频| 欧美高清色| 欧美久久婷婷| 在线v中文字幕一区二区三区| 嗯嗯啊啊的视频| 玖玖色综合| 日韩欧美午夜一区二区| 91模特在线观看| 天堂日本亚洲欧美| 日本人人操人人操| 人妻三级在线中文字幕| 国产高清不卡视频| 亚洲精品视频在线| 岛国片在线播放| 日本精品一区二区不卡| www.高清无码诱惑一区.com | 在线观看亚洲成人精品| 日骚逼视频| 国产99999久久精品| 欧美成人精品一区二区三区| 99精品网| 日韩精品一区二区三区色欲| 久久人人爽爽人人爽人人片αV| 九月伊人中文字幕| 风间由美日韩欧美久久| 99热18这里只有精品| 97硬碰| 少妇无码太爽| 中文字幕五区| 强奸少妇AV导航网| 亚洲综合在线视频| 日本精品成人无码| 亚洲av影院在线观看| 国产av强奸美女| 人人操人人插 - 百度 - 百度| 上特色A在线| 久热伊人| 精品人妻少妇| 久久久久久久久9| 99最新日韩偷拍视频| 亚洲天堂美臀在线| 亚洲天堂日本| 日韩欧亚中文在线| 久久久中文版| 婷婷精品国产一区二区三区日韩| 丝袜综合色图| 二对二中文字幕。| 天天碰操中国年青熟妇| 亚洲日韩青青草色月| 久久精品免费| 国产大片精久久久久久| 日本中文字幕高跟| 久久男人网| 亚洲一本色码中文字幕| 美女主播色欲91抠b在线播放| 黄总AV色图| 国产精品视频播放| 国产精品丝袜久久亚洲不卡| 亚洲精品人伦一区二区| 97免费视频在线观看视频| 丰满丝袜少妇AV| 亚洲久久东京热一二三四五区视频| 欧美在线中M| 肉丝中文无码高清| 久久香蕉国产线看观看亚洲女人 | 亚洲日产专区婷婷| 亚州欧美综合| 久久久久女教师免费一区 | 欧美久久久| 亚洲麻豆18发?| 亚春色色| 国产精品久久| www亚洲免费| 欧美精品久久久久久久久88| 首页亚洲国产高跟丝袜诱惑视频| 艳美熟妇先锋一二三区| 大香蕉一人在线| 中文字幕无码不卡啪啪| 狠狠爱大香蕉| 以及麻豆国产入口在线观看免费| 精品亚洲国产成人av网站| 婷婷久月| 狠插 制服 自拍| 欧美精品,四区。五区| 啪啪自拍九九综合| 国产又黄又爽又刺激久久久久久 | 日本欧美中文字幕| av强奸乱轮| 五月丁香激情综合| 日本免费不卡二区| 久久高清无码夜夜操| 丰满人妻-区二区三区免费看| 蜜臀无码视频在线观看| 久久久久久久国产视频| 男人兔费天堂| 情侣操 逼视频99| 精品97久久| 欧美一区二区福利在线| www.99色| 欧美亚洲厕所精品偷拍91| 久热这里只有精品9| se吧提供国产乱老熟视频胖女人| 亚洲偷拍自拍在线视频| 亚洲综合影视| 欧美春色| 免费一级特黄特色大片在线观看看| 丁香五月影院| 国产噜噜噜噜噜久久久久久久久| 夜夜躁狠狠躁日日躁av| 丝袜剧情| 亚洲精品国产AV天美传媒| 久超碰这里只有精品| AⅤ片水多多| 激情第四色| 97欧美色综合| 91AV入口| 韩日精品四区| 亚洲中文字幕一区| 国产精品探花色| 少妇超碰在线| 91亚.色| 无码国产Av| 久久嫩草国产成人一区| 欧美激情区| 欧美性爱在线无码| 国产亚洲日本| 亚洲精品一区二区精品| 日韩人妻操B| 成人三级片一区二区三区视频| 国产日韩欧美亚洲精品95| 精彩国产视频播放1区2区| 啊啊嗯嗯好爽| 曰韩精品九九无码| 美女黄色91| 国产一区二区在线电影| 99re这里| 强奸乱伦大香蕉| 欧洲乱码视频| 国产精品福利资源在线尤物| 97中文超碰| 91少妇人妻| 五月婷婷色| 中日韩久久久免费看| 亚洲无吗在线视频| 91爱看| 99国产在线 精品 视频| 亚洲色资源| 欧 美 自 拍 偷 拍| 99热精品国产| 日韩黄色av中文字幕| 69视频福利导航| 国产精品一区二区手机看片| 亚洲AV资源| 在线免费观看高清无码视频| 欧亚洲精品有视频| 天天澡天天爽日日AV| 青草青青久久久久久国产| 91网站18禁| 91N欧美| 91无码西班牙视频在线| 天天摸夜夜摸| 两女互慰AV高潮喷水在线观看| 日韩欧美被操黄免费观看| 人妻丰满熟妇一区二区三| 骚熟女吞| 激情综合二| WWW美腿丝袜香蕉中文| 欧美视频中文字幕区| 国产人妻久久精品一区二区三区| 久久激情网| 久久久久99999| 九色 人妻 大香蕉| 色黄污美女啪啪啪免费网站| 91nbbbbbb| 免费在线观看国内色片网站网址| 亚洲脚交| 五月丁香激情综合网| 精品久久久久久久| 青青草黑寡妇男人天堂| 淫荡少妇免费| 91精品91久久久久77777| 天天插天天插| 天天干天天舔| 啊啊啊好疼| 丁香五月激情啪啪| 成人毛片免费| 天天色踪合| 国产这里只有精品| 国产精品高清2021在线| 天天草AV| 性欧美另类高清| 国产最新小视频在线播放下载 | 久久久9品一区二区三区| 国产亚洲精品无码三区| 无卡一区=区| 美女尤物福利视频| 国模不卡| 丰满人妻一区二区三区免费| 久久久久9999妇女| 九色婷婷| 国产视频一区二区三区在线免费观看| 色哟哟AV| 精品国产网站| 天堂8在线新版官网| 国产精品久久久啊| 美女网站黄页| 精品夜夜澡人妻无码| 中国zzijzzijzzwww精品| 96久久久久久久| 97日视频| 国内外色色色色色成人视频| 8x福利精品第一福利视频导航| 91国产丝袜白虎| 精品久久9| 久久精品国产亚洲AV无码做| 97久久精品不卡| 欧美日韩m| 黄片无码在线制服| 福利视频香蕉免费一区二区在线| 熟女熟妇一区二区三区视频| 国产污视频麻豆传媒一区二区| www.色综合| 九月丁香婷婷色| 试看60秒 爽| 蜜臀网址在线| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 哑洲在线| 青青草字幕AV| 91在线限制级| 中文字幕 码 自拍 视频 区| 日韩探花精品在线视频| 视频一区二区三区精品| 神马午夜久久| 久久久久久人体| 九一国产精品| 北京美女一区二区| 超碰在线974| 欧美亚洲丝袜人妻制服99| 午夜久久无码1000合集| 亚洲熟女人妻中文字幕一区二区| 久久婷婷六月综合| 欧美综合色站| 日本Xx性爱| 在线综合色| 亚洲欧美另类激情小说| 亚洲天堂男人天堂网| 亚洲天堂男人天堂| 91婷婷伊人狠人| 国产免a费看黄片在线| 男人天堂毛片| 第二页中文字幕| 久久婷婷综合国际产色怕| 国产婷婷一区| 久久婷色| 丁香五月激情综合| 开心五月深爱五月| 丁香五月电影| 久久丁香| 亚洲少妇色| 久久久久免费少妇| 黑操B| 亚洲国产欧美日韩人妻日中文| 日本91白丝| 久久亚洲影院一区二区| 九久9热| 青青操少妇| 嫩草影院永久在线制服丝袜| 91精品婷婷国产综合久久竹菊| 欧美日本天堂| 素颜老阿姨乱情色| 人妻少妇久久中文| 一区超碰一区| 蜜臀AV一区二区三区| 精品欧美乱码久| 男人的天堂2018| 国产精品人妻无码久久久互動交流 | 神马视频久久久久久| 日本天天人人狠狠在线日美女| 尤物av网站| 天美欧美国产| 国内外毛片在线观看| 天堂亚洲欧美| 高清国产精品福利网站| 7777奇米影视久久| 操逼网站视频漫画国产| 99re在线观看| 精品一区二区三区最新| 老熟妇综合| 亚洲欧美天| 97免费在线观看| 五月天久久综合网| www色日本| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 蜜臀久久99精品久久久久久婷婷| 九草九九九| 男人天堂 天天射| 再深点灬舒服灬太大了好硬好爽| 综合色图亚洲欧美| 伊人国产视频| 后入人妻无码| 插老姨肥穴| 天堂种子在线www网资源| 日本熟妇人妻中出视频| 国产精品一级片在线看| 国产美女mm131爽爽爽爽| 精品成人亚洲午夜电影| 国产乱伦亚洲| 国产成年免费大片黄在线观看| 色色网91| 国产精品免费日韩| 日韩A优精品在线观看| 欧美性爱1080p| 中文字幕aⅴ在线视频| 国人欧美精品一区二区| 日韩少妇无码| 最新岛国大片| 色婷婷五月天| 国内毛片欧美香蕉精品| 久久久日本电影| 色噜噜狠狠色综无码久久合欧美| 欧美老妇综合网| 性欧美| 国产传媒午夜理伦精品| 婷婷色网| 丝袜亚洲91| 99热国产| 91美女片在线| 欧美色图色综合| 欧美人人操人人插| 操高情无码| 成视频在线观看免费看| 男人天堂2019亚洲| 日本亚洲vr欧美不卡高清专区| 大香蕉在线86| 婷婷久久综合久| 大香蕉伊人在线成人AV在线观看| 亚洲欧美碰碰| 女人双腿搬开让男人桶| 欧美久久婷婷| 电家庭影院午夜69久久夜色精品国产69乱| 色婷婷九月天天综合| 中文字幕久久精品一区| 美女被啪到深处抽搐视频| 久久伊人大香蕉| 超碰精品人妻狠狠干| 91精品久久久久五月天精品| 四月丁香婷婷| 欧美亚洲手机在线| 色综合色欲色综合色综合色综合| 国产第11页| 老司机深夜18禁污污网站| 校园春色制服丝袜中文字亚洲 | 天天综合麻豆视频| 78m啪啪啪| ,成人免费啪啪视频| 乱伦熟女区| 欧美色九九九| 国产精品69久久久久久久| 精品九九| 日本精品一区二区中文字幕| 九一综合精品视品av| 97国产精品久久久久 | www.色婷婷色综合| 区一二区日韩亚洲乱码av电影| 骚熟女AV网| 日韩福利综合一区| 欧美不卡在线一区二区| 人妻密肉在线观看| 天天看夜夜看日日干| 精品久久99| 亚洲国产综合视频| 116美女午夜| 日韩免费中文字幕视频| 亚洲AV资源| 日韩av免费一级电影| 台湾大香蕉99热| 中文字幕久热视频在线| 久久一区二区加油站| 黑丝自慰喷水网站| 蜜臀在线网站| www.99热| 东京热男人的天堂| 成人日本精品九区| 一区久久久二区| 人澡逼| 国产视频一区二区三区在线免费观看| 中文字幕五区| 伊人嫩草| 3P乱轮视频| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧洲乱码视频| 人人操欧美风骚| 91大学精品激情戏| 四虎av在线| 天堂种子在线www网资源| 久污| 国产精品一区二区三区,亚洲综合| 男女性感激情网站| 久久女女| 麻豆AV一区二区| 国产精品3| 日韩免费在线观看不卡| 欧美少妇大量自拍视频在线观看| 欧美精品黑人猛交高潮| 操逼日韩无码| 综合熟妇一区二区三区| 日亚韩精品视频二区三| 国产精品高朝久久久久久久| 色乱二区| 欧美精品亚洲精品日韩传电影| 围产精品一区二区三区视频播放| 久久久久久久久久久久久久久久9| 国产精品蜜臀久久久久无码AV| 国产精品久久久鸭无码的功能| 亚洲影视高清第一页| 久久国产99精品72福利| 综合久久久久久久综合网| 国产91美女视频| 91丝袜激情在线| 欧美日韩99| 欧美日韩另类在线| 九九九九精品视频| 色婷婷久久综合超碰| 五月激情综合网| 国产精品91ai| 欧美激情另类一区二区| 99蜜桃臀久久久欧美精品网站| 顶级丝袜熟女一区二区三区| 疯操AV| 黑操B| 2019精品国产无码成人| 久操在97| 久久老子无码午夜伦不卡| 欧美精品一二三| 九九玖玖精品| 污污汅18禁网站在线永久免费观看| 岛国不卡超碰护士AV在线播放| 亚洲一区日韩| 久久无码精品| 91伊人影视综合| 久久国内| 校园春色亚洲| 97天天操天天干| 国产精品午夜高潮呻吟久久av| 亚欧美综合网| 五月天综合网| 亚洲黄网在哪免费看| 亚洲97在线| 大香蕉男人的天堂| 超碰在线成人| 中文字幕人妻资源在线| 久久高清无码夜夜操| 这里只有精品久久| 手机在线免费看的av| 超碰97综合网| 亚洲中文字幕乱码无码一区二区 | 国产天美传媒精品| 日本片日本片祼观看网站在线看中文版网页在线看 | 亚洲无码视频免费在线观看网址!| 中文字幕精品乱码| 国产这里只有精品| 先锋激情∨在线视频播放| 欧美日韩亚洲少妇寂寞影院正在播放| 欧美最婬乱婬爆婬性视频 | 热热色AV| 日日干夜夜操视频h| 中文字幕在线高清男人的天堂| 日本爽爽爽爽爽爽免费视频| 91模特在线观看| 人妻人人澡人人爽人人| 天天干,夜夜爽| 美女尤物人人操| 亚洲综合91| 欧美瑟综合| 人人噜夜夜操| 大香蕉色十月| 99久久久无码国产精品性男| 蜜乳视频网站| 久久东京热久久| 日本最新1区2区3区| 最新亚洲风情电影| 志村玲子视频一区二区| 久久久久久精品免费看A级| 日本一区二区亚洲综合| 殴美色网| 四虎精品一区| 麻豆一区二区三区精品| 国产成人亚洲精品自产在线 | 91新在线欧美| 丝袜美腿欧美| 狠狠综合| 日本精品不卡一二三区| 人人 操人人 操人人| 99婷婷一区二区| 偷拍 亚洲 欧美| 哈哈操 大香蕉| 天天天堂影视日韩亚洲91| 欧美色天堂网在线视频| 亚洲精品一二三四区| 久久久久成人蜜桃精品| 91精品综合久久久久久五月丁香| av日韩在线观看电影| 日韩Va亚洲va欧美Ⅴa久久| 日韩av电影成人在线| 电家庭影院午夜69久久夜色精品国产69乱| av橘色网站| 999狠狠综合| 热九九精品| 国产无套粉嫩白浆在| 日韩一区二区三区四区五区 | 97公开久久| 粉嫩AV输入| 97超碰超欧美。| 60秒免费视频| 国产热av| 久草毛片| 色97欧美| 伊香蕉综合久久久久久久噜噜噜| 伊人网在线点播| 国语精品av| 中文字幕一区二区无码成人 | 亚洲最大91网| 91久久国产综合久久| 久久久999网站| 亚洲综合影片| 久操网在线|