色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
精品十八在线观看| 人妻素股| 免费人成毛片乱码| 屁股久久久久久久久| 韩国一级做a久久久久| 欧美18禁91| 亚洲av综合色区无码一| 伊人国产AV| 日日黄色三级网站| 天天爽夜夜操| 欧美特大黄一级片片免费| 五十路熟女在线不卡观看一区二区| SUV一区二区在线看| 热九九精品| 一级做a爰片性色毛片久久| 96国产精品| 成人热久久精品| 波多野结衣先锋影音| 97国产精品视频| 日韩综合97P| 日韩有码一区三区| AA特级绝黄| 色偷偷人人玩人人舔人人操人人摸人人爽 | 午夜精品久久一区二区| 一区二区三区在线日韩影院观看| 日韩熟妇二区| 色吧 综合| 精品人妻一区二区乱码一区二区| 长长久久曰曰夜夜成人网| 黑人娇小av在线播放| 97精品一区二区三区免费| 国模不卡一本二本三电影| 99欧美| 日本爽爽爽爽爽爽免费视频| 欧美色就是色| 国产精品视频自拍在线| 蜜臀99久久| 日韩午夜啪啪视频| 操逼国产免费| 亚洲五码一区二区三区| 免费?级毛片无码?∨蜜芽试看| 综合色欧美| 高清孕妇孕交 交孕妇| 91性生活久久久| 夂久色| 高清国产av无码| 久久一级无码精品毛片6| 操逼日批| 国产黄片精品在线| 亚洲熟女性高潮久久久| 久操操AV电影| 亚洲国产精品有声| 韩国黄片aaaa| 欧美激情中文字幕另类小说| 中国东北熟女老太婆内谢| 日韩免费在线观看不卡| 五月天综合网| 91狠狠色丁香婷婷综合久久精品| 激情五月天色色| 黄色av一区二区在线| 成人开心网在线视频| 天天内射| 99在线观看视频在线高清| 密臀成人视频久久久| 亚洲高清男人天堂| 78精品在线| 国产搭汕a级片| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 国产熟女精品区| 18禁久极品美女久久哦哟呀!| 淫妻综合网| 天天综合,91综合永久| www.久久| 人妻天天爽夜夜爽精品2| 日日天天久久啊啊aaa| 96免费视频在线| 久操视频免费观看| 亚洲电影中字一区二区| 久操网线| 91美女丝袜诱惑视频| 亚洲第一综合| 少妇高潮九九九九| 超碰人人操97碰| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 91丨豆花丨熟女| 国产精品麻豆免费视频| 久久99亚洲精品久久99果| 五月丁香啪啪啪| 看黑丝美女操逼青青网站| 欧美亚洲美少妇一区二区| 大但人体久久久久| 女一区二区| 爱射综合| 日韩欧亚中文在线| 久久日韩肥臀| 91操操操操| 人人玩人人添人人澡免费| 久久性生大片免费观看性| 欧美日韩黄片精品在线| 久久久久国产精品片区无码直播| 91超级碰碰| 欧美天天拍| 色y情视频免费看| 国产在线视视频有精品| 亚洲 欧美 天天| 日韩精品99久久久久久中文字幕| 亚洲精品 欧美97色色| 国产高清成人免费视频| 熟女人妻久久中文字幕一二区| 免费9 1久久| 99色骚| 久久久无码精品人妻二区| 曰韩中文人妻视频| 操逼网站视频漫画国产| 欧美日韩中国x| 欧美日韩久久精品爱爱| 国产亚洲日本精品在线| 四虎884a| 精品一区二区三区国产| 亚欧精品久久久久久久久久久| 亚洲情色1区| 精品大全99999| 翔田千里无码一区| 91精品黄在线观看| 超碰1997| 美国日韩黄色片| 极品欧美一区二区三区| 999岛国大片| 蜜桃久久精品一区二区三区| 婷婷婷婷婷婷久久久久| 天天插天天插| 插插综合网天天影视网| 一区二区三区精品视频| 亚洲精品人伦一区二区| 国产小u女在线观看| 一区二区精品更新提醒| 精品午夜福利导航| 日韩人妻资源网| 91情色在线| 亚洲欧洲国产综合av| 熟女网站最新| 开心激情婷婷| 国产精品视屏| 欧美 青青草| 92性色国产午夜福利在线661 | 亚洲女毛多水多21P| 日韩少妇无吗| 欧美少妇性爱网站| 熟妇高潮精品一区二区三区下载| 偷拍亚洲熟女视频播放| 免费?级毛片无码?∨蜜芽试看| 狠狠干狠狠干| 久久久久久久9| 狠狠色丁香| 少妇淫妇久久久久久久| 艳美熟妇先锋一二三区| 成年女人黄网站| 中文日韩欧美熟| 操操逼操操逼操操逼逼| 精品久久久久综合无码| 男女打扑克高清网站| 好色综合| 91色爽欧美| 亚洲免费成人在线高清无码视频 | 欧美日韩在线视频网站| 老熟妇综合| 高潮毛片无遮挡高清免费| 嗯嗯,好大,好爽,好骚 | 国产三级在线现体验区| 欧美色图小说综合| h在线看免费版在线看| 99re超碰| 日韩99神马视频片| 青青草一区二区三区四| 天天综合网一91网| 又大又长又粗又爽又黄| 国产第二页| 爱我干综合| 91欧洲国产成人久久精品网站| 情色av电影| 精品一区二区成人| 精品一级| 97天天综合网| 色婷五月| 中文字幕jul-617人妻熟女| 99rre在线精品99re8| 97WW精品| 激情综合网五月婷婷| 91操熟女| 九九人妻| 超碰在线成人| 一级特级aaaa毛片免费观看 | 色情综合网| 自拍内地三级在线观看| 蜜臀一二三区| 麻豆 亚洲 97| 青青草吊丝| 欧美性高潮| 欧美91色| 国产精品呦一区二区三区| 国产天天噜一噜久久久| 激情五月丁香五月| 极品尤物自安慰| 国产女人视频三四五区| 密臀成人视频久久久| 91色碰| 超碰色男人操熟女| 艳尻美人妻| 美女天天干| 九久9热| 熟女突然公开看18禁影片| 丰满人妻aA一区二区三区| 免费99精品国产自在在线| 久久久久性熟视频| 91色艳| 日韩免费在线视频观看| 国产黄色在线播放观看| 亚洲天堂中文字| 久久超碰网| 90后后入| 51一区二区三区| 亚洲精品不卡一二三区| 天天内射| 美女AV一区二区| 熟女天天干| 日韩偷拍色图| 久久久久密| 亚洲激情AV| 高清无码国产亚洲| 色综合色色| 国产精品成人无码av| 欧美顶级黄色大片免费| 操操逼视频| yw尤物av无码点击进入麻豆| 91人妻在线视频| 午夜精品久久久久久久久久久久久| 韩国嫰模上门援交视频| 极品一区二区三区免费| jk白丝没脱就开始啪啪| 亚洲国产综合图区中文字幕 | 一个国产在线综合网站| 最近的最新的中文字幕视频| 日日夜夜免费| 欧美性爱精品七区| 2021国产成人精品久久| 久久久神马影院| 亚洲淫乱骚妇AV| 久久国产精品,久久国产| 91亚洲不卡一区| 亚洲无套久久嗯嗯| 国产亚卅97| 麻豆2区1区天美| 九九热免费国产视频婷婷伊人五月| 志村玲子视频一区二区| 欧美色图亚州激情| 超碰98综合网| 亚洲无码一区成人免费午夜| 91 丝袜在线播放| 久久精品国产99精品亚洲蜜...| 成人性爱免费播放| 美中日韩无码| 日韩高潮一区| 黑丝日韩av丝袜av| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 九九人人操| 99这里都是精品| 亚洲男人的天堂一区二区| 丁香五月天久久精品视频一区二区三区| 国产精品熟女九九九| 国产99999久久精品| yazhououmeizongya| 超碰97 线线 在现| 午夜福利免费精品视频| 久久精品国产精品亚洲艾通辽熟妇 | 中文字幕在线2| 亚洲天堂少妇| 超碰色综合| 亚洲中字幕日本一区二区三区| 可能人人看人人摸| 色妺妺在线视频| 鸥美极品| 一本色道久久天天射天天干| 亚洲黑丝在线| 亚洲精品白丝| 97久久久| 狠狠久久亚洲欧美专区| 天天天操天天天爱| 国产多人在线观看视频| 丁香六月激情| 超碰97首页| 高潮精品| 农村妇女一级二级三级视频| 亚洲偷拍欧美激情| 亚洲一区操| 农村妇女一级二级三级视频| 97视频网站在线观看| 久久久久久裸体| 欧美97在线欧| 婷婷综合激情| 综合网 欧美| 最新啪啪视频| 少妇精品久久久八区九区| 无码人妻精品一区二区三区99不卡| 五月丁香激情综合网| 精品久久久久9999| 亚洲欧美日韩免费观看| 夜夜中出国产| www国产无码| 日本片日本片祼观看网站在线看中文版网页在线看 | xxx亚洲午夜天堂| 97视频播放| 日韩A优精品在线观看| 国产精品高潮久久AV| 久久久久九九九九| 夜色五月天| 99在线观看视频在线高清| 淫荡熟女乱伦网| 麻豆AV短剧| 欧美区亚洲区偷拍区 | 美女网站91| 五月婷久久| 色悠久久久av| 色欲Av人妻精品一区二| 夜夜騷av、一區二區| 大屁股人妻女教师撅着屁股| 久久亚洲熟妇在线视频| 久久欲| 区二区亚洲婷| 手机在线人成免费视频| 亚洲综合在线91| 丁香六月综合激情| 久久久性爱| 日日夜夜天天| 色欲Av人妻精品一区二| 日本国产二线女色| 啪啪啪精品视频| 午夜综合在线| 三级片网站在线播放| 国产丁香精品露脸视频| 99热最新| 夜色综合| 精品无码一区二区| 精品视频免费在线一区| 欧姜老司机| 国产精品青青草| 99这里只有精品国产| 国产热av| 麻豆天美国美国产| 乱论91| 欧美性少妇| 丰满人妻-区二区三区免费| 亚洲欧美国产中文视频| 超碰久久综合| 夜夜操天| 高清在线偷拍自拍视频| 草草草视频在线免费看| 污电影在线观看| 玖玖在线视频| 欧美色另类| 夜夜嗨一区二区| 欧美亚洲自拍另类人妻| 中文无线日韩一区| 亚洲情色1区| 熟女色综合久久| 亚洲黄色| 都市激情人妻一区二区青青操视频 | 国产男人又猛又粗又爽| 欧美在线天堂| 国产偷人妻精品一区二区在线| 日韩黄色片子| 懂色Av| 久久久久久99999国产精品| 91在线页| 色婷婷小说| 18禁止看精品中文字幕| 啪啪啪综合| 亚洲免费日韩在线一区二区| 五月婷婷综合网| 成人三一级一片aaa| 99久久久无码国产精品性啊聊| 婷婷色网| 美女人妻色网站| 99啪啪| 国产网红精品| 韩国三级一线观看久| 97这里有精品| 日韩猛交| 天天干人人乐| 台湾佬大香蕉| 这里只有97精品| 国产怡红院| 日韩av乱伦| 夜夜影视四色| 2019天天干天天操| 大香蕉视频一二三区| 欧美亚洲情色| 快灬快灬 一下爽蜜桃在线观看| 中亚黄色三级大片| 久久久111| 欧美日韩人人早| 综合色图区| 久久草在线综合视频| 日本东京热加勒比久久| 国产麻豆福利av在线播放| 欧美中文字幕日韩在线| 亚洲黄片免费在线播放| 乱伦一二三| 狠狠爱综合网| 91女色| 一区二区影视| 亚洲高清视频在线免费观看| 97精品久久| 日少妇视频| 夜夜爽夜夜高潮夜夜爽| 久久久久久久97| 97色色色| 少妇精品| 精品久久久av无码免费| 黄色大片免费在线| 99国产精品视频尤物| 日本免费人成视频播放120秒| 2017人人操,人人摸| 91色香| 亚洲a色| 人妻丝袜一区二区三区在线| 色姑娘综合网| 黄色片,com| 插日本熟女视频| 久久亚洲婷婷| 动漫片子网站3黄| 日韩人妻操B| 欧美色图色综合| 啊啊啊啊啊啊在线观看| 亚洲欧洲中文日韩女优乱码| 人人妻碰人人免费| 国产 亚洲 丝袜 制服| 一级性爱啪啪视频| 国产色呦呦| 综合熟女| 精品人妻一区二区乱码一区二区| 中文字幕乱偷人妻久久艾草网| 日本久久久精品电影| 亚洲人妻爽爽爽| 亚洲av性爱电影| 蜜桃视频成a人v在线| 久草视频在线视频在线视频在线观看| 色色五月天激情| 男人天堂.AB| 99福利社| 成人无码在线超碰网| 欧美网站免费| 欧美永久激情一区二区| 亚洲久久天堂| 韩三级a视频在线观看| 亚洲国产高清福利视频| 婷婷在线视频| 九七毛片九九毛片| 久久久久久加勒比| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 嗯嗯啊好大| 美女好片色日本| 视频一区二区免费在线| 91精品国产高清久久久久久,亚洲成人| 凹凸视频特色日本特黄| 青草香蕉网| 啊啊啊草死我| 99色在线观看| 97超碰逼| 秋霞 色色| 青操影院| 97超碰国产亚洲精品| 绯色一区二区三区不卡少妇| 亚洲黄色影视| 综合激情97| 欧美激情高清性猛交| 特级毛片特黄久久免费看| 色色色色色色色色色色色色色色综合| 人妻熟女一区二区| 亚洲阿v天堂无码z2018| 欧美v亚洲v日韩v最新在线二区 | 97资源制服丝袜| 综合熟妇一区二区三区| 国产午夜无码片在线观看影视 | 欧美色老汉| 久久亚洲中文字幕视频| 亚洲色图激情小说| 国产传媒一区二区三区| 国产农村一一级特黄毛片| 久草热制服丝袜在线观看| 国产在线综合网| 偷窥自拍亚洲色图| a亚洲欧美色欲| 按摩中文字幕| 啊啊啊免费| 五月激情天| 激情五月婷婷| 中文久久久| 久久久草成人网站久久久草成人久久久草久久久| 国内外毛片在线观看| www.亚洲成人一区| 97这里都是精品| 日夜伊人网| 中文字幕在线播放2中文字幕在线观看2| 青女偷拍网| 乱老女人一区二区视频| 91制服丝袜中文字幕| aaaa少妇高潮大片| 18+91网站| 欧美性爱1080p| 91网站18+| 97人妻碰碰中文无码久热丝袜| 五月天欧美色图| 377p欧洲日本亚洲大胆| 色哟哟精品1精品2| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 日韩欧美字幕亚洲一区二区 | 国产成人资源| 99热精品在线观看| 国产传媒日韩| 天天综合香 ld视频| 久操com| 嗯嗯啊啊啊好舒服| 久久国产性爱| 中文字幕一区二区三区蜜桃视频| 中日韩久久久| 中文字幕乱亚洲美女精品一区| 91女人的网站| 台湾一区国产高清在线| 精品综合久久久久久97| 婷婷五月天成人网| 91人人| 国产25页| 五月天婷婷小说| 我想要 啊 啊 啊| 1204av韩国| 柠檬AV导航| 尤物av网站免费在线播放| 欧美亚洲涩涩| 殴美性色a级欧美| 黄视频免费| 色色99| 噜噜噜无码AV一级一级久久影院| 91国产操逼视频| 熟妇一区,二区,三区。| 青青草吊丝| 国产成人自拍视频在线| 免费国产视频| 208天天久久九九九| 日本免费中文一区二区三区四区 | 激情干在线| 午夜小电影在线插入淫高潮| 久久九九精品一区二区| 久久天天躁日日躁狠狠躁| 国产精品探花视频| 日韩成人精品| 欧美日韩亚洲少妇寂寞影院正在播放 | 操人91| 大香蕉黄色一级片免费看| 国产三级片在线观看| 久欲AV| 精品无码久久久| 麻豆啪啪啪视频| 老熟女综合网| 屁股久久久久久久久| 亚洲aw毛茸茸在线| 久久,精品一二三| 亚洲囯产精品女人久久久| 97精品| 国产精品久久久久久久久久久久久久吹| 少妇色综合| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 亚洲精品国产精品乱码不卡| www.97在线| 黄色网址久久精品欧美喷水| 精品婷婷| 色小视频蜜乳| 婷婷啪啪| 亚州精品一区二区三区香中文字幕在线| 精品国产久热在线观看| 欧美日韩操操操| 免费一级黄色录像影片| 尤物网址| 日本熟女免费視颖| 亚洲 日本 国产 综合| 国产久久免费精品视频| 成人一道本免费视频| 久久在线观看免费视频| av一区二区三区不卡| 91一区二区三区蜜桃| 日韩无码视频黄色| 国产精品久久久久久高清无码免费看 | 天天影视综合网欧美精品| 久久女婷| 熟妇在线视频一区二区| 亚洲AV无码乱码在线观看性色| 人人看人人爰人人操| 免费啪啪av| 中国大陆国产高清AⅤ毛片| 国产传媒操逼视频| 欧美日韩性爱视屏免费看了| 91操碰| 亚洲最新a在线观看| 青娱乐久久艹| 色五月首页| 91精品国产综合久久久蜜臀| 成人网欧美风情| 日欧美色| 人人妻天天做天天爽| 一本大道青青| 农村女一级毛卡片| 欧美人黑A片无码免视费| AA级电影三区| 久久久久9999| 久艹伊人精品综合在线| 天堂亚洲精品久久老牛| 91超碰在线| 激情网色| 极品色社| 人妻内射一区二区在线视频| 美女性91| 国产一区二区欧美日本| 激激五月| 高清无码学生妹高潮| 翔田千里无码一区| 欧美性爱另类综合| 亚洲视频一二区| 中国91AV| 亚洲欧洲日韩国产自在线| 国产免费一区二区三区最新不卡| 国内操逼视频二区| 日本熟妇人妻一区二区三区| 亚洲欧美国产中文视频| 日日夜夜干| 91久久堂| J?P?NESEHD熟女熟妇伦| 日本色色色| 亚洲精品 欧美精品| 亚州色阁| 中文精品一区二去| 久久伊人在线五区| 女人香蕉久久毛毛片精品| 大香蕉视频一二三区| 一起草av| 偷拍片久久| 人妻9117c| 男人的天堂网免费| 天美av在线| 中文字幕交换人妻| 91国产大片| 999久久久| 97自拍视频在线| 九九九九免费视频| 午夜.DJ高清在线观看免费7| 偷窥自拍亚洲色图| 亚洲综合一| 涩涩这里只有精品视频| 亚洲欧美综合色| 精品无吗m| 日本中文字幕在线视频| 97超色| 日韩乱伦影音先锋| 国产青青美女玩逼视频| 九九九网站| 人妻天天操天天爽视频免费| 青娱乐91| 午夜精品久久久久久久99蜜桃一| 欧美97视频| a级免费在线观看| 18一区二区三区| heyZO天然素人无码AⅤ专区| 久久精品国产亚洲AV片多多| 亚洲精品亚洲人成在线麻豆| 破处bbq| 国产操操日韩三级黄| 欧美成人精品一区二区三区| 日韩中文字幕视频| 日韩紧密久久| 中文字幕精品免费一区二区| 欧美日日夜夜| 激情小说图片亚洲首页| 天堂射| 91人妻素女| 国产热av| 99视频自拍| 激情视频图片| 亚洲综合激情五月久久| 欧美丝袜中文字幕07在线| 婷婷导航| 另类图片天天影视| 久久9精品视频| 精品国产av一区二区三区四区入口| 国产高清1234区| 久久专区| 三级网站超变态精品| 亚洲1区2区三区高清中文字幕| 超碰到97情色| 亚洲天天做日日做天天谢日日| 嗯,啊。舔我逼| 免费看久久久性性| 九九九久久久| 久久久∴| 无码精品久久久天天影视| 97欧美色| 伊人影院在线理论播放| 亚洲精品国产无码高清| 久久久久久裸体| 97在线视频观看| 精品人妻一区二区三区四区石在线 | 国产美女自拍AV| 色阁阁AV综合网| 爱我干综合| 免费观看成人www精品视频| 国产十八禁视频| 黄色av一区二区在线| 久久久亚洲熟妇熟女| 日韩黄色小说| 91久久久久久久久久久| 操逼网免费无码视频| 亚洲欧洲激情卡通另类文学四射小说网站 | 欧美色97| 蜜臀久久久| 操操啪| 成人乱人伦一区二区| av2014 日韩在线中文字幕| 99re这里只有精品3| 国产一区二区三区导航| 啪啪综合网| 久久影视二区三区行押| 久久色一区| 六月丁香久久| 3d成人精品一区二区| 夜夜爽夜夜| 日韩人人精品| 日日黄色三级网站| 农村妇女一级二级三级视频| 亚洲AV无线| 丝袜人妻av一区二区| 久久精品国产亚洲av水密被窝| 亚洲吊色| 激情小说成人日本无码一| 黑人娇小av在线播放| 九九九偷拍| 欧美极品少妇| 国产一区二区三区,在线观看观看| 99热婷婷| 中文字幕av亚洲精品| 欧美亚洲中文字幕| 精品视频久久区| 爱啪精品一区| 精品久久久久瑟瑟| 婷婷日韩一区二区三区中文字幕在线| 果冻国产精品麻豆成人av| 色姑娘综合网| 91熟女网| 午夜久久久| 99热线麻豆| 蜜桃精品一区二区三区久在线| 亚洲图片 激情小说| 欧美日本天堂| 欧美情色男人的天堂| 嗯嗯嗯嗯啊啊啊好紧好大| 五月天大香蕉| 六月色色| 99精品在线播放| 婷婷丁香成人| 91精品黄在线观看| 亚洲av无码成人精品国产| 围产精品一区二区三区视频播放| 涩涩这里只有精品视频| 精品无码秘 人妻一区二区| 狠狠久久手机视频精品| 婷婷伊人五月| 国产传媒操逼视频| 人人妻人射| 第四色奇米影视777| 人人看人人插| 伊人久久综合影院| 亚洲蜜乳av| 乱欲一区二区| 婷婷中文网| 亚欧性爱无码| 人人操人人狠狠操| 很很干很很操| 国产农村妇女精品1区二区| 91久久午夜无码鲁丝片久久人妻| 九九热精彩视频| 色五月激情AV在线| 美日韩一二三区| 91精品操美女| 青青草好吊色| 青娱乐欧美激情一区二区| 无码高清专| 99热伊人| 久久色激情一区二区三区| 国产成人主播| 夜夜嗨TV| 国产免费一区2区3区| 懂色中文一区二区三区| 蜜乳AV色欲AVAV无码| 桃色五月天| 色九九九| 97欧美色综合| 国产不卡的视频| 国产精品精品系列在线观看| 97在线视频观看网站| 99亚洲精品| 污色区网站| 草草影院最新网址| 久久9视频| 少妇免费视频| 青操影院| 操一操摸一摸| 澳门特级毛片免费观看| 国产日本熟女顶级一区二区三区视频| 欧美熟女妇同| 性综合网| 国产精品自产拍在线观看社区| 日欧美色| 亚91网| 欧美亚洲尤物久久| 精品妇女一区二区三区| 粉嫩小泬久久久一区二区| 欧美亚洲手机在线| 国产在线综合福利网站| 凹凸视频特色日本特黄| 四虎免费看黄| 亚洲**2021在线观看| 丰满的三级少妇欧美久久久| 亚州综合AⅤ| 欧美日韩中文字幕人妻| 91午夜无码| 男人的天堂2018东京热啪啪啪| 亚洲天堂情色| 视频国产欧美在线播放| 操美女高潮抽搐白浆| 四季AV一区二区凹凸精品小说| 97干在线视频| 亚洲日韩成人性爱视频| 亚洲少妇激情视频| 99999亚洲另类| 伊人黄色视频免费观看| 99热在线不卡| 最新日本中文字幕| 欧美熟爽综合| 欧亚日韩一区在线| 五月天精品| 精品少妇99| 91人妻尻屄视频| 久久中文字幕女同性恋一区| 插穴性爱视频在线观看| 在线视频五十市| 一级毛片电影免费看| 蜜臀国产AV中文字幕| 欧美97av| 色色色色电影网| 亚洲精品久久一区二区三区蜜桃臀| 欧美性生活男人的天堂| 欧美永久激情一区二区| 天天上日日上日韩精品| 99热综合在线| 加勒比伊人| 国语人妻精彩刺激| 久久性爱视频免费看| 欧美一区91大爱| 区一在线观看| 亚洲精品久久久久毛片A片拉屎 | 啊啊啊好舒服视频在线观看| 中文字幕精品一区欧美| 亚洲欧美中日韩| 蜜臀久久99精品久久久久久-DVD原版全| 九九热视频在线观看| 欧美色蜜桃97| 97玖玖人妻| 91久久免费视频互動交流| 色超碰综合| 男人高清无码一区二区| 国产精品一二三| 久久五月综合| 中国一级αV| 色五月第四色| 女人高潮大叫一级毛片| 欧美九九九| 五月丁香综合激情| 久久久九九九| 一区二区激情国产熟女| 96久久久| 啊操爽品善一区二区三区| 天天躁日日躁xxxxx| 加勒比伊人综合| 亚洲Av无码成人精品国产| 天天看片青娱乐| 九九九九88| 国产精品自在自拍视频| 人妻熟女一区二区三区视频| 116美女午夜| 国产欧美另类久久久精品课程| 中文字幕av色| 免费一级特黄特色大片在线观看看| 欧美96交| 久久久久久午夜男人的天堂| 一级特黄aaa大片在线观看成人一级片在线观看| 自拍盗摄一区| 中文字幕 国产 精品| 久久这里只有精品9| 蜜桃一区二区三区| 午夜免费视频1000| 91快色色色色色| 欧美色图校园春色| 久久深夜无码| 996热| 涩涩涩综合| 久久久久女教师免费一区| 99999精品成人| 色乱二区| 18禁看网站一区| 四虎免费在线播放| 精爱久久| 99热精品在线| 乱伦Av网| 成人一二| 亚洲天天自拍| 麻豆国产第一| 伊人色综合超碰| 伊人色综合网电影| 强奸乱伦Av网| 日韩一级欧美一级国产一级台湾| 91天美免费| 加勒比人妻综合| 91精品丝袜久久久久久无码人妻| 99久视频| 99在线精品观看99| 温婉少妇玩3p| 久久久亚洲欧美综合| 亚州综合| 香蕉综合网| 久久精品无码不卡| 亚洲国产尤物yw在线观看| 97在线免费视频观看| 偷拍综合亚洲| 色爱欲亚洲| 大香蕉操久久| 啪啪啪综合网| 思思在线免费视频| 国产精品久久久久亚洲av | 秋霞午夜成人福利片片| 久久久无码精品人妻二区| 加勒比日本在线| 97中文字幕色| 97这里都是精品| 打av高清| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美论理片| 亚洲天堂第一页| 中文一区二区婷婷视频| julia高潮后不停追击中出| 亚洲av影音先锋| 国产精品爽爽v| 午夜操逼不卡| 国产精品com| 久久国产成人精品国产成人亚洲| 91啪啪| 一本色道熟妇| 欧美AB在线| 亚洲黄色电影| 色妇91| 久久久久元码视频| 加勒比av网| 91熟女视频网| 亚洲天堂男人网| 亚洲av青草久久一区二区| 91老熟女视频| 在线免费观看高清无码视频| 99久久久无码国产精品性啊聊| 亚洲色图 欧美| 天天色图| 日韩字幕一区| 国产白丝精品在线观看| 黄片免费日韩| 视频国产精品未满十八禁止在线观看| 校园春色综合网| 亚洲欧美国产va在线播放频| 熟女激情综合网| 国产操逼视频在线观看| 日韩中文字幕人妻视频| 亚洲成人福利电影免费| 亚洲免费人妻在| 九九在线视频| 婷婷丁香一区二区三区| Aa东京男人的天堂| 欧美97超碰| 中国AAAAAA黄色片| A片三级无码| 日韩啪啪啪啪啪| 亚洲欧洲精品成人| 综合网亚洲在线| 超碰在线91| 欧差乱伦二三| 日本操大逼| 亚洲综合97中文网| 东北老女人的激情视频| 亚洲色图片区| 精品久9| 亚洲97成人在线观看| 日韩在线观看字幕精品| 日产狠狠干| 天天综合影院91| 日日橹狠狠爱欧美超碰| 男生通女生屁股| 久久久久国色αv免费观看| 国产精品久久天天干| 深夜激情无码| 91jk色拍| 欧美色日本| 好涩综合| 在线观看无码三级少妇| 中日高清无码操逼视频| 五月天激情四射| 人人搡人人肉久久精品| 欧美第一页| 日本色色色视频| 香港成人一级视频在线青青草| 欧美96交| 国产精品日韩在线一区| 欧亚免费视频| 欧美综合在线91| 日韩97在线| 国产操伦| 99这里有精品| 少妇色综合| 日韩性爱小视频| 大香蕉五月天| 伦理日韩国产久久| 以及麻豆国产入口在线观看免费| 亚洲成人综合在线| 青青草原狼av| 97免费视频在线| 美女操逼福利视频| 久热精品色情| 91久久久亚洲| 天天插天天干| 伊人性在线视频| 中文字幕乱在线伦视频中文字幕乱码在线| 日本三级小说中文字幕| 91综合色| 天天插天天插| 日韩无码一区二区三区| 精品少妇一区二区三区在线视频| 欧美成人国产精品| 欧美一区二区日韩三区| 天天肏美女| 国产免费一区2区3区| 久久直播国产| 亚州男人的天堂| 99久国产精品午夜性色福利| 99色热| 日本幼女18+| 18禁超污无遮挡无码免费网| 9999亚洲精品| 高潮毛片无遮挡高清免费| 日欧毛片久久| 樱花蜜乳av| 日日夜夜模| 蜜臀久久久99久久久久 | 精品国产乱码久久久久久影片| 可乐操亚洲蜜911| 亚洲精品官网在线观看| 性欧美天天| 久久精品国产精品一区| 久久久艹艹艹| 屁股久久久久久久久久| 天天色粽合合合合合合合| 亚洲人妻久久| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 久久久久久中文字幕中文字幕最新| 亚洲精品99999| 99国产精品人妻人伦| 欧美亚洲国产91在线| 97爱亚洲综合色| 亚洲日本激情| 开心六月色| 琪琪精品免费一区二区三区| 久欲AV| 免费视频a级毛片免费视频| 国产精品丝袜在线| 超碰97起碰| 日韩黄色片子| 精品九九淫乱男| 性爱精品一区| 亚洲情色 自拍| 色嘟嘟人妻天堂网| 国产精品制服丝袜清纯唯美 | 日韩av在线精品观看| 日日干男人的天堂| 日韩av影片在线观看| 91综合色噜噜| 99色婷婷中文字幕乱色| 亚洲色诱惑| 亚洲欧洲日本精品中文a∨| 桃色人妻在线视频| 激情综合网激情五月天| 久久人妻| 九九九九九九九九九九精品视频| 五月天综合| 自拍偷拍第26| 美女t无毒不卡不卡| 富二代亚洲精品99| 亚洲日韩美国人妻| 久久六六| 亚州成人a∨| 国产99久久99热这里只有精品15| 亚洲AV不卡在线观看| 自偷自拍的亚洲视频| 欧洲欧美视频一区二区| 91亚洲丝袜| 性站| 91|九色|国产熟女| 四虎午夜影院| 亚洲精品国产日韩无码AV永久免| 蜜臀久久99精品久久久老,,| 秋霞无码av鲁丝片一区| 一区二区三| 九七人妻在线| 男人兔费天堂| 人人考人人摸人人干| 欧美激情视频在线一区| 欧美图片色五月天| 欧美一区二区传媒| 校园春色之综合网| 日本一区二区做爱的视频| 碰碰97| 麻豆91熟妇人妻中文字幕茄子| 欧美日韩99精品麻豆传媒| 在线播放中文字幕| 强奸乱伦中文字幕AV| 搡老女人911熟妇老熟女| 欧美亚洲手机在线| 九九久久国产精品怡红院| 吉川爱美亚洲二区在线 | 四季av一区二区凹凸精品小说| 婷婷尹人大香蕉免费| 亚洲阿v天堂无码z2018| 91狠狠| 国产久久久| 伊人国产AV| 中出后入| 一二三四视频在线社区中文字幕| 久久国产精品91| 超碰免费人人| 黑人白女精品一区| 亚洲国产综合视频| 欧美日韩久久精品爱爱| 亚洲大色鬼| 夜夜高潮夜夜爽| 97色爱| 小草精彩毛片| 免费一级毛片在线视频观看| 色牛牛AV| 99日精品欧美国产| 无码外流操逼视频|