色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

STM32F407 U盤升級Bootloader實戰(zhàn):從Flash分區(qū)到跳轉(zhuǎn)細節(jié)

STM32F407 U盤升級Bootloader實戰(zhàn):從Flash分區(qū)到跳轉(zhuǎn)細節(jié) 簡介面向中高級嵌入式開發(fā)者的STM32F407 Bootloader U盤升級完整工程源碼包基于ARM Cortex-M4平臺并帶FPU無需硬件編程器即可通過U盤更新固件適合物聯(lián)網(wǎng)節(jié)點、工業(yè)控制器等場景的固件維護與產(chǎn)品迭代。壓縮包內(nèi)有1509個文件以C源碼、H頭文件、TXT說明、S啟動文件、Icf鏈接腳本及工程配置文件為主覆蓋USB設(shè)備驅(qū)動、FAT文件系統(tǒng)、Bootloader跳轉(zhuǎn)、CRC完整性校驗等關(guān)鍵模塊整體僅9.55MB。目前已有1843人學(xué)習(xí)/下載。該工程可直接在STM32CubeMX基礎(chǔ)上打開提供完整可編譯的Bootloader與App工程結(jié)構(gòu)源碼中包含CC936編碼轉(zhuǎn)換、多系列HAL庫驅(qū)動和鏈接腳本便于理解固件升級全流程同時包含啟動文件與中斷處理實現(xiàn)可幫助開發(fā)者掌握Bootloader的安全機制和用戶交互設(shè)計快速移植到實際產(chǎn)品。 搞嵌入式開發(fā)這幾年固件升級這件事幾乎繞不開。早期做產(chǎn)品一般用串口ISP或者JTAG/SWD仿真器燒錄設(shè)備量小的時候還能忍等到產(chǎn)品鋪出去、用戶手里有幾十上百臺機器的時候才發(fā)現(xiàn)沒有可靠的遠程或本地升級手段售后成本會直接把你壓垮。后來我給STM32F407的項目加了一個基于U盤升級的Bootloader用U盤拷貝固件、插上設(shè)備、按鍵觸發(fā)升級整個流程幾分鐘就能完成現(xiàn)場維護人員不需要懂任何嵌入式知識也能操作。這篇文章就把這套方案的完整設(shè)計思路和實操細節(jié)整理出來涵蓋Flash分區(qū)規(guī)劃、USB Host底層配置、FatFS文件系統(tǒng)移植、Bootloader跳轉(zhuǎn)App的關(guān)鍵細節(jié)、常見問題排查等內(nèi)容。適合正在做STM32F407產(chǎn)品開發(fā)、需要給設(shè)備增加升級能力的朋友參考無論是剛接觸Bootloader的初學(xué)者還是已經(jīng)寫過Bootloader但跳轉(zhuǎn)總出問題的老手這篇文章都能給你一些可直接落地的經(jīng)驗。1. 方案拆解Flash分區(qū)與整體架構(gòu)設(shè)計1.1 Bootloader為什么要獨立存在先說一個最基礎(chǔ)的問題Bootloader到底是干什么的。很多初學(xué)者容易把它理解成一個“引導(dǎo)程序”其實更準確地說它是一個運行在應(yīng)用之前的、專門負責(zé)固件更新的小系統(tǒng)。它和App應(yīng)用程序是兩個完全獨立的固件分別編譯、分別燒錄各自擁有獨立的Flash區(qū)域和中斷向量表。選擇讓Bootloader獨立存在核心原因只有一個升級失敗時不能把設(shè)備變成磚頭。如果App直接覆蓋自身所在的Flash區(qū)域一旦寫入過程中斷電、固件文件損壞或者地址錯誤設(shè)備就徹底無法啟動了。而Bootloader常駐在獨立的Flash區(qū)域App隨便怎么折騰都不會影響B(tài)ootloader本身下次上電Bootloader依然能跑檢測到固件異常就等待重新升級。這就像給設(shè)備裝了一個“恢復(fù)模式”是工業(yè)級產(chǎn)品的基本素養(yǎng)。1.2 分區(qū)表設(shè)計與地址計算STM32F407有最多1MB的Flash不同型號容量不同但分區(qū)思路完全一樣。以最常見的STM32F407VET6512KB Flash和探索者開發(fā)板這類環(huán)境為例我習(xí)慣這樣劃分分區(qū)起始地址大小存放內(nèi)容Bootloader區(qū)0x0800000032KBBootloader固件App區(qū)0x08008000448KB應(yīng)用程序固件備份區(qū)可選0x0807800016KB固件備份或參數(shù)存儲這里有兩個關(guān)鍵點需要解釋清楚。第一Bootloader分配32KB是經(jīng)過考量的。STM32F407的Flash扇區(qū)大小為16KB前4個扇區(qū)和64KB后面的扇區(qū)32KB意味著占用扇區(qū)0和扇區(qū)1兩個16KB扇區(qū)這個大小寫一個支持U盤升級的Bootloader完全夠用。不建議把Bootloader只放在扇區(qū)016KB因為USB Host協(xié)議棧加FatFS文件系統(tǒng)加上基本的外設(shè)驅(qū)動16KB會非常緊張后面想加功能比如增加協(xié)議校驗、日志打印就會很被動。第二App區(qū)的起始地址不是隨意定的它必須是扇區(qū)對齊的。0x08008000這個地址正好是扇區(qū)2的起始地址因為前兩個扇區(qū)各16KB加起來正好是0x800032KB。只有扇區(qū)對齊后續(xù)用IAP方式擦寫App區(qū)時才能用扇區(qū)擦除不會誤擦到Bootloader的數(shù)據(jù)。1.3 為什么推薦雙分區(qū)A/B升級如果你做的產(chǎn)品不允許出現(xiàn)“升級失敗需要返廠”的情況建議直接上雙分區(qū)A/B方案。所謂A/B分區(qū)就是Flash里放兩個App分區(qū)一個運行、一個備份。升級時把新固件寫入備份分區(qū)校驗通過后切換啟動標志下次啟動直接運行新固件如果新固件運行異常比如看門狗超時沒有被及時喂狗系統(tǒng)回滾到備份分區(qū)繼續(xù)運行。A/B分區(qū)的代價是Flash容量要翻倍F407的1MB Flash版本如STM32F407ZGT6可以這么玩Bootloader占32KBA區(qū)448KBB區(qū)448KB剩余空間存參數(shù)和升級標志。如果芯片只有512KB FlashA/B分區(qū)就比較捉襟見肘了。這種情況下我更推薦“單分區(qū)備份標志”的簡化方案Bootloader檢測到App區(qū)異常通過固定位置的標志字判斷直接進入U盤等待升級模式避免變磚代價是升級過程中斷電需要重新升級一次但不會損壞設(shè)備。2. 硬件鏈路與底層配置USB Host FatFS2.1 STM32F407的USB OTG FS硬件設(shè)計要點STM32F407自帶的USB OTG FS接口在F407上是一個完整的外設(shè)不是那種需要外部USB轉(zhuǎn)串口芯片才能用的“USB”。它支持Host模式和Device模式做U盤升級需要在Host模式下工作也就是由STM32F407主動枚舉U盤、讀取U盤中的文件。硬件上要注意幾個細節(jié)。第一F407的USB OTG FS引腳是PA11DM和PA12DP不需要外部晶振USB收發(fā)器使用芯片內(nèi)部的48MHz時鐘這個48MHz時鐘來自PLL的輸出。所以時鐘樹配置時必須確保PLL能輸出48MHz給USB否則USB外設(shè)根本跑不起來。如果你用的是STM32CubeMX生成的工程在Clock Configuration頁面要把USB Frequency設(shè)置為48MHz這個選項不是自動的經(jīng)常有人忽略導(dǎo)致USB枚舉失敗。第二VCAP引腳必須接2.2μF電容。F407內(nèi)部USB收發(fā)器需要穩(wěn)定的1.2V參考電壓VCAP1和VCAP2兩個引腳不同封裝引腳位置不同各接一個2.2μF低ESR陶瓷電容到地。這里有個容易被忽視的坑有些山寨開發(fā)板把VCAP電容省掉了或者用了錯誤的容值導(dǎo)致USB信號質(zhì)量差插上U盤時能偶爾識別但經(jīng)常掉線、讀寫不穩(wěn)定。如果是自己畫板子VCAP電容的位置要盡量靠近芯片引腳走線要短。第三關(guān)于供電。F407的USB Host口要對外提供5V電源給U盤但F407本身是3.3V器件不能直接輸出5V。一般做法是使用一個USB專用電源開關(guān)芯片比如MIC2026-2BM或者AP2822通過F407的GPIO控制USB口的5V輸出。這個細節(jié)在開發(fā)板上可能已經(jīng)做好了但自己做底板時特別容易遺漏。如果直接短接5V電源到USB口每次插拔U盤的瞬態(tài)電流沖擊都可能干擾系統(tǒng)供電嚴重時直接復(fù)位。2.2 USB Host枚舉與HAL庫配置細節(jié)我使用的是STM32CubeMX生成的基礎(chǔ)工程配合STM32CubeHAL庫開發(fā)效率高很多。關(guān)鍵配置如下// USB OTG FS Host模式配置CubeMX圖形化配置的對應(yīng)代碼含義 hUSBHostHandle.Instance USB_OTG_FS; hUSBHostHandle.Init.Sof_enable DISABLE; hUSBHostHandle.Init.low_power_enable DISABLE; hUSBHostHandle.Init.vbus_sensing_enable DISABLE; // 不使用VBUS檢測引腳 hUSBHostHandle.Init.use_external_vbus DISABLE;這里面vbus_sensing_enable這個參數(shù)很有講究。如果芯片的PA9引腳沒有連接USB的VBUS檢測信號有些開發(fā)板沒引出來必須把VBUS sensing關(guān)閉否則Host模式初始化會卡死在等待VBUS有效這個環(huán)節(jié)上現(xiàn)象就是程序運行到MX_USB_HOST_Init()之后再也不往下走了。Host模式的枚舉過程對很多人來說是個黑盒但你不需要完全理解USB協(xié)議棧內(nèi)部的每個狀態(tài)只需要知道插入U盤后HAL庫的HCD_Process回調(diào)會經(jīng)歷設(shè)備連接、復(fù)位、地址分配、配置選擇等狀態(tài)最終進入枚舉完成狀態(tài)。代碼里做U盤檢測的邏輯很簡單就是輪詢ApplicationState這個全局變量// 主循環(huán)中的U盤檢測邏輯精簡示例 if (USBH_Status USBH_OK AppState APPLICATION_START) { // U盤枚舉成功可以進行文件系統(tǒng)操作 if (f_mount(SDFatFS, SDPath, 1) FR_OK) { // 掛載U盤成功進入固件檢測流程 CheckUpdateFile(); } }2.3 FatFS文件系統(tǒng)移植與文件讀取的坑U盤存儲的文件系統(tǒng)通常是FAT32或exFATFatFS這個開源文件系統(tǒng)庫就是用來干這個的。從FatFS官網(wǎng)ELM-Chan下載源碼后需要修改ffconf.h配置文件里的幾個關(guān)鍵宏#define FF_USE_LFN 1 // 使能長文件名支持 #define FF_VOLUMES 1 // 卷數(shù)量只掛載U盤一個卷 #define FF_MIN_SS 512 #define FF_MAX_SS 512 // 扇區(qū)大小U盤一般為512字節(jié) #define FF_USE_MKFS 1 // 如果需要格式化功能則使能第一個FF_USE_LFN尤其重要。默認情況下FatFS只支持短文件名8.3格式如果你的固件文件叫firmware_v1.2.bin這種名字沒開啟長文件名支持的話文件根本讀不到。我一開始就栽在這個坑里排查了半天驅(qū)動問題最后發(fā)現(xiàn)只是文件系統(tǒng)庫的配置項沒打開。文件讀取的核心操作其實很簡單f_open打開文件、f_read按塊讀取、f_close關(guān)閉文件。但在Bootloader環(huán)境里讀取的文件是要直接寫入Flash的所以需要按扇區(qū)來設(shè)計讀寫流程。一個扇區(qū)是2KBSTM32F407的Flash最小編程單位我通常每次從U盤讀取2KB數(shù)據(jù)做CRC校驗后寫入App區(qū)當(dāng)前扇區(qū)然后地址加2KB繼續(xù)下一次讀取。這樣U盤讀、Flash寫的進度是同步的固件文件完整讀完也就意味著固件完整寫完。3. Bootloader核心流程與代碼實現(xiàn)3.1 主流程按鍵檢測→U盤掛載→固件校驗→跳轉(zhuǎn)Bootloader的主流程設(shè)計直接決定用戶體驗我經(jīng)過幾個版本迭代后形成了下面這個穩(wěn)定可靠的狀態(tài)機上電后初始化時鐘、串口、LED、按鍵和USB Host外設(shè)。檢查一個特定的GPIO引腳狀態(tài)比如板載KEY0如果按下進入U盤升級模式LED快速閃爍提示。如果按鍵未按下檢查App區(qū)起始地址的前兩個字是否合法棧頂?shù)刂吩赗AM范圍內(nèi)、復(fù)位向量在Flash范圍內(nèi)合法則直接跳轉(zhuǎn)到App。如果App不合法比如空白芯片自動進入U盤升級模式。升級模式下等待U盤插入并枚舉成功。嘗試掛載U盤文件系統(tǒng)查找固件文件固定文件名如update.bin。讀取文件頭部的固件信息結(jié)構(gòu)體校驗?zāi)?shù)和長度。按扇區(qū)擦除App區(qū)、寫入固件數(shù)據(jù)實時計算CRC32校驗值。全部寫入完成后校驗CRC32是否匹配匹配則更新App區(qū)的啟動標志。提示升級成功延時后軟件復(fù)位進入新的App。這個狀態(tài)機的好處是每一步都有明確的成功/失敗判定不復(fù)位循環(huán)卡死。用戶插上U盤按一下按鍵剩下的交給Bootloader自動完成。3.2 固件文件格式與校驗策略直接從bin文件讀取數(shù)據(jù)寫入Flash看起來很簡單但有一個隱患怎么確認這個bin文件就是給當(dāng)前設(shè)備用的怎么確認傳輸過程中文件沒有損壞我的做法是在固件bin文件的最前面增加一個自定義頭部結(jié)構(gòu)體App編譯時通過腳本自動插入這個頭部U盤升級時Bootloader先讀取并解析這個頭部確認關(guān)鍵信息匹配后才繼續(xù)寫入。// 固件文件頭部結(jié)構(gòu)體固定16字節(jié) typedef struct { uint32_t magic; // 魔數(shù)0xA5A5A5A5用于快速校驗 uint32_t firmwareSize; // 固件實際大小不含頭部 uint32_t crc32; // 固件數(shù)據(jù)的CRC32校驗值 uint8_t versionMajor; // 主版本號 uint8_t versionMinor; // 次版本號 uint8_t platformId; // 平臺標識防止刷錯固件 uint8_t reserved; // 保留 } FirmwareHeader;文件中先放這個16字節(jié)頭部緊跟著是真實的固件數(shù)據(jù)。寫入Flash時跳過頭部直接寫固件數(shù)據(jù)到App區(qū)起始地址。全部寫完后重新讀Flash里的數(shù)據(jù)計算CRC32和頭部記錄的CRC32比對一致才認為升級成功。CRC32的實現(xiàn)可以直接用FatFS源碼里自帶的f_crc32函數(shù)也可以自己寫一個查表法實現(xiàn)幾百行代碼的事情。我建議把這部分獨立封裝成crc32.c因為Bootloader和App都要用比如App在啟動時也可以自行校驗自身完整性。3.3 完整代碼框架參考核心的升級執(zhí)行函數(shù)大致長這樣static uint8_t ProcessUpdateFile(void) { FIL file; UINT bytesRead; uint32_t flashAddr APP_START_ADDR; uint32_t wroteBytes 0; uint8_t buffer[2048]; FirmwareHeader header; uint32_t computedCRC 0; // 打開固件文件 if (f_open(file, update.bin, FA_READ) ! FR_OK) { return 0; // 文件不存在或打開失敗 } // 讀取頭部 UINT hdrRead; if (f_read(file, header, sizeof(FirmwareHeader), hdrRead) ! FR_OK || hdrRead ! sizeof(FirmwareHeader)) { f_close(file); return 0; } // 校驗?zāi)?shù)和平臺ID if (header.magic ! 0xA5A5A5A5 || header.platformId ! PLATFORM_ID) { f_close(file); return 0; } // 擦除App區(qū)假設(shè)App區(qū)跨多個扇區(qū) EraseAppSectors(); // 循環(huán)讀取并寫入Flash while (wroteBytes header.firmwareSize) { if (f_read(file, buffer, sizeof(buffer), bytesRead) ! FR_OK) { f_close(file); return 0; } if (bytesRead 0) break; // 文件提前結(jié)束 // 寫入Flash if (WriteFlash(flashAddr, buffer, bytesRead) ! 0) { f_close(file); return 0; } // 邊寫邊算CRC computedCRC updateCRC32(computedCRC, buffer, bytesRead); flashAddr bytesRead; wroteBytes bytesRead; } f_close(file); // 最終校驗CRC if (computedCRC ! header.crc32) return 0; // 更新啟動標志指示App區(qū)已有有效固件 WriteAppValidFlag(); return 1; }這個函數(shù)基本能直接搬進項目里用實際工程中還要加一些Flash操作失敗的重試機制、進度指示等。不過核心邏輯就是上面這套打開文件→讀頭部→校驗→擦寫Flash→校驗CRC→置標志。4. 跳轉(zhuǎn)細節(jié)與App端裁剪配置4.1 中斷向量表偏移是跳轉(zhuǎn)的第一道坎Bootloader跳轉(zhuǎn)到App大多數(shù)人第一次都會在這遇到HardFault。根本原因就一條中斷向量表沒有跟著App走。App在0x08008000地址運行但Cortex-M4內(nèi)核的中斷向量表默認還指向0x08000000Bootloader的向量表一旦有任何中斷觸發(fā)CPU從Bootloader的向量表取中斷服務(wù)函數(shù)地址執(zhí)行的是Bootloader里的中斷處理邏輯而你此時運行的是App兩者不匹配直接崩潰。解決辦法是在App工程的main函數(shù)最開頭設(shè)置VTOR寄存器// App工程main函數(shù)第一行 SCB-VTOR 0x08008000; // 偏移到App區(qū)起始地址這一行代碼必須在任何外設(shè)初始化之前執(zhí)行因為一旦使能了中斷、開啟了外設(shè)中斷隨時可能來這個寄存器還沒設(shè)好就完蛋了。4.2 Bootloader跳轉(zhuǎn)前的“清場”操作跳轉(zhuǎn)成功與否除了VTOR還取決于Bootloader跳轉(zhuǎn)前是否把外設(shè)“清干凈”。很多人寫B(tài)ootloader時直接在main函數(shù)末尾調(diào)用函數(shù)指針跳轉(zhuǎn)結(jié)果App起來后各種奇怪問題串口數(shù)據(jù)亂了、USB枚舉失敗、看門狗不斷復(fù)位。這些大多是Bootloader的外設(shè)狀態(tài)沒有完全關(guān)閉所致。完整跳轉(zhuǎn)函數(shù)要做三件事// Bootloader跳轉(zhuǎn)函數(shù)Clang/GCC風(fēng)格的寄存器操作寫法 typedef void (*pFunction)(void); static void JumpToApp(void) { uint32_t appStack *(volatile uint32_t *)APP_START_ADDR; uint32_t appReset *(volatile uint32_t *)(APP_START_ADDR 4); pFunction jumpFunc; // 1. 確認棧頂?shù)刂泛戏ㄔ赗AM范圍內(nèi) if ((appStack 0xFFF00000) ! 0x20000000) { return; // 棧頂非法不執(zhí)行跳轉(zhuǎn) } // 2. 關(guān)閉全局中斷 __disable_irq(); // 3. 反初始化所有已打開的外設(shè) HAL_UART_DeInit(huart1); HAL_USB_DeInit(hUSBHostHandle); for (int i 0; i 8; i) { HAL_NVIC_DisableIRQ(i); } // 4. 將SysTick計數(shù)器清零并關(guān)閉 SysTick-CTRL 0; SysTick-LOAD 0; SysTick-VAL 0; // 5. 設(shè)置MSP為App的棧頂?shù)刂?__set_MSP(appStack); // 6. 跳轉(zhuǎn) jumpFunc (pFunction)appReset; jumpFunc(); }這里面步驟2和4最容易忽略。關(guān)閉全局中斷是基礎(chǔ)但SysTick如果不關(guān)App啟動過程中SysTick還會繼續(xù)觸發(fā)而此時App還沒完成VTOR設(shè)置會用Bootloader的SysTick_Handler來處理輕則產(chǎn)生異常重則進HardFault。4.3 App工程編譯鏈接配置如果你的App是直接在原來的單工程上改的不區(qū)分Bootloader和App那這篇文章講的所有Bootloader都是空中樓閣。App工程必須做以下修改MDKKeil工程中Target → Options → Target → IROM1的Start地址改為0x8008000Size改為0x70000。IROM1起始地址必須和Bootloader的App區(qū)起始地址完全一致。如果不改這個配置編譯器默認把代碼放在0x08000000App燒錄后會覆蓋Bootloader區(qū)域上次升級成功的Bootloader直接被廢掉。另外還有一個使用RTOS比如FreeRTOS時比較容易忽略的點FreeRTOS的堆地址一般是鏈接器自動分配的通常在RAM的起始位置。跳轉(zhuǎn)Bootloader后RAM的低地址區(qū)域可能殘留Bootloader運行時的數(shù)據(jù)App的Stack指針指向低地址區(qū)域時可能會踩到這些殘留數(shù)據(jù)。不過由于App啟動時堆棧指針被重設(shè)到App棧頂這個問題一般不會出現(xiàn)真正要注意的是App里用了非易失性RAM備份、RTC備份域等特殊功能時需要確保Bootloader不訪問這些區(qū)域否則跳轉(zhuǎn)后數(shù)據(jù)沖突。5. 實測問題庫跳轉(zhuǎn)異常、枚舉失敗、升級半路夭折5.1 跳轉(zhuǎn)App后立刻HardFault的排查思路這是Bootloader開發(fā)中最高頻的問題。我總結(jié)了一套三分鐘定位法第一步確認VTOR偏移已經(jīng)設(shè)置且在任何中斷使能之前。最簡單粗暴的驗證方式是在App的main函數(shù)第一行加個LED翻轉(zhuǎn)如果HardFault發(fā)生在LED翻轉(zhuǎn)之后說明問題不在VTOR在后面的初始化如果LED根本沒閃那問題大概率是VTOR沒設(shè)或者設(shè)晚了。第二步確認跳轉(zhuǎn)時的函數(shù)指針正確。打印App區(qū)的第一個字棧頂和第二個字復(fù)位向量對比編譯生成的.map文件確認和編譯結(jié)果一致。棧頂?shù)刂窇?yīng)該是0x20000000到0x20020000之間F407VE有128KB RAM復(fù)位向量應(yīng)該在0x08008000到0x0807FFFF之間。第三步檢查跳轉(zhuǎn)前是否關(guān)閉了全局中斷和SysTick。這一步很多教程沒提但我實測遇到過一個詭異現(xiàn)象跳轉(zhuǎn)后串口正常打印、LED正常閃爍但是USB完全無法工作反復(fù)排查發(fā)現(xiàn)是Bootloader在跳轉(zhuǎn)前沒有關(guān)閉USB Host中斷導(dǎo)致USB中斷狀態(tài)殘留App初始化USB時中斷標志異常永遠等不到中斷觸發(fā)。5.2 文件名讀不到先排查長文件和大小寫FatFS默認的FF_USE_LFN是0也就是不支持長文件名。如果你把固件文件命名為my_firmware_v2.0_2025.bin在Bootloader里f_open一直返回FR_NOT_FOUND。我建議在ffconf.h里把FF_USE_LFN改為2使用堆棧分配緩沖區(qū)同時把FF_MAX_LFN設(shè)為64。還要注意一個細節(jié)如果U盤是NTFS或者exFAT格式FatFS需要使能FF_FS_EXFAT?,F(xiàn)在新買的U盤出廠可能默認exFAT這是導(dǎo)致“U盤明明有文件卻打不開”的另一個常見原因。測試時盡量用FAT32格式的U盤如果必須支持exFAT記得在配置文件里打開對應(yīng)宏。這個我吃過一次虧給客戶演示時隨手拿了一個新U盤插上去掛載失敗場面一度非常尷尬。后來我把U盤都改成FAT32同時在Bootloader里加了exFAT支持雙保險。5.3 拔插U盤導(dǎo)致系統(tǒng)卡死或重啟U盤運行時電流波動很大如果你直接從LDO輸出給USB口供電讀文件時瞬間電壓跌落會觸發(fā)F407的BOR復(fù)位表現(xiàn)為升級過程中設(shè)備突然重啟。解決辦法是在USB口5V端增加一個220μF電解電容和0.1μF陶瓷電容并聯(lián)為U盤瞬態(tài)電流提供緩沖。另外如果USB口電源開關(guān)芯片的過流保護閾值過低U盤啟動時可能觸發(fā)過流保護導(dǎo)致電源被切斷。我用的MIC2026限流閾值是500mA普通U盤工作電流一般在100-200mA啟動瞬間可能到300mA左右余量是夠的但如果U盤本身有問題或者容量很大的機械U盤現(xiàn)在很少見了還是可能觸發(fā)保護。真遇到了就換一個品牌靠譜的U盤測試別在這個問題上死磕硬件。5.4 常見問題與對策速查表現(xiàn)象可能原因排查/解決方向上電后不進入U盤升級模式GPIO按鍵檢測邏輯錯誤App區(qū)標志判斷異常檢查按鍵GPIO配置和觸發(fā)電平檢查App區(qū)合法性判定邏輯USB枚舉失敗U盤燈不亮48MHz USB時鐘未配置VBUS檢測關(guān)閉不徹底硬件供電問題檢查CubeMX時鐘樹USB Frequency是否為48MHz檢查VBUS sensing配置測量USB口5V電壓f_mount掛載失敗U盤格式不支持FatFS配置不匹配確認U盤為FAT32或exFAT檢查FF_FS_EXFAT、FF_USE_LFN等配置固件寫入后跳轉(zhuǎn)失敗寫入的固件地址偏移有誤固件本身有CRC問題VTOR偏移沒設(shè)置核對App編譯鏈接地址檢查CRC校驗流程確認VTOR設(shè)置位置升級到一半斷電Flash數(shù)據(jù)不完整App區(qū)被標記為有效寫入完成后統(tǒng)一置“升級完成”標志使用雙標志寫完成校驗通過App運行中看門狗復(fù)位跳轉(zhuǎn)前看門狗沒有關(guān)閉跳轉(zhuǎn)前調(diào)用HAL_IWDG_Init并停止喂狗或者直接關(guān)閉IWDG時鐘5.5 關(guān)于“Device must be bootloader unlocked”的提示STM32F407在調(diào)試時如果使用ST-Link/J-Link直接燒錄Bootloader后再通過調(diào)試器連接App部分調(diào)試器會提示Device must be bootloader unlocked或類似信息。這通常是調(diào)試器的保護選項ReadOut Protection被開啟了。在STM32CubeProgrammer里做一次Full Flash Erase并關(guān)閉讀保護Level 0就能解決。這個和主題相關(guān)性不大但是很多人會同時遇到順手提一下。寫B(tài)ootloader最大的體會是硬件平臺千差萬別但設(shè)計思想是通用的。你在這套STM32F407方案里學(xué)到的分區(qū)規(guī)劃、跳轉(zhuǎn)時序、文件系統(tǒng)對接、校驗機制換到其他MCU比如STM32F103、GD32、甚至英飛凌的AURIX思路完全一樣。U盤升級只是眾多升級方式里的一種但它的可靠性、易用性和部署成本在中小批量產(chǎn)品中優(yōu)勢明顯值得每個嵌入式工程師掌握。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲av性爱电影| 欧美爆乳精品一区二区| 大鸡巴久久久| 激情情色五月天| 91亚洲色图| 天天干天天狼在线视频| 操死我了嗯嗯嗯| 国内一级精品| 97色亚洲| 一级乱伦网站| 内射白嫩美女| 日韩精品99久久久久久中文字幕 | 自慰白浆在线观看| 熟女熟妇伦久久影院毛片一区二区| 日韩无码一级黄色av片| 婷婷色色五月天| 综合情欲网| 脫衣舞一区二区三区| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 67194无码不卡| 日本506070| 成人在线视频网| 日韩中文9| 男人天堂欧美| 亚洲美乱| 国产呦精品系列在线观看| 婷婷丁香在线| 蜜臀99久久精品| 久久精品国产72国产精品福利| 亚洲综合小视频小说在线观看| 九九九九九精品视频| 天天做日日做天天欢。| 精品熟妇视频一区二区| 精品一区二区亚洲国产| 骚鸭AV| blacked精品一区国产| 久久久性爱视频| 国产精品黑人一区二区三区| 97AV爱| 啊啊啊啊啊在线| 99综合网| 国产精品久久久久久久免牛肉蒲团| 亚洲āv网址在线观看| 内射日韩大臀美女| 99久久久无码精品国产人| 色爱欲亚洲| 日韩图区 偷拍| 精品无码一区二区人妻久久蜜桃| 久久久婷婷婷| a片久久久久久久久久久久 | 亚洲激情综合| 欧美色网| 老女人碰碰在线碰碰视频| 综合色91| 亚洲色图a| 操国产逼| 亚洲的天堂网| wwwss在线观看| 婷婷丁香激情| 亚洲免费97免费| 日韩卡一卡二卡三在线| 手机在线免费看的av| 嫩草影院永久在线制服丝袜| 人人插人人搞人人操| 超碰 欧美| 欧美精品另类人妖xxxx| 成人网址在线观看| 秋霞曰韩R级| 久久超碰com| 亚洲欧洲偷拍一区| 日韩欧美大力操| 日本精品加勒比海一区| 久久嫩草国产成人一区| 性做久久久久久久| 91天天看| 99色热| 青娱乐亚洲热| 99综合| 99久久精品无码一区二区毛片免费| 伊人久久亚洲中文字幕不卡| 婷婷五月天激情网| 国产成人久久久精品免费AV| 久久久久久久久久精| 五月丁香啪啪网| 九九碰九九爱97超| 色777999综合| 在线观看A啊啊啊| 狠狠操狠狠爱| 五月激情视频| 操逼网免费无码视频| 久久亚洲日韩熟女精品| 碰超人人在线一区二区三区| 国产精品秘 福利姬在线观看| 欧洲精品一级二级精品综合视频综合 | 日韩综合97p| 亚洲精品国产av天美传媒| 骚逼高潮久久精品| 九九色精品| 成人a级高清视频在线观看| 加勒比99999| 欧美日韩国产人人| 男人的天堂色偷偷青青草视频婷婷网| 亚洲人妻一区二区三区| 九九黄色视频在线观看| 国产懂色精品国产av| 牛牛操视频逼| 日韩本不卡视频在线观看| 狠狠夜色午夜久久综合在线| 91av天美性媒精品视频| 欧美无圣光在线| 中亚av| 免费一级视频特黄色大片| 天天草天天日| 大香蕉久久| 日本欧美不卡| 日本二三四区| 日本一二区不卡| 天天综合~91| 亚洲春色一区二区三区| 天天伊人| 一区二区三区国产在线播放| 亚洲熟女综合网| 精品少妇99| 久久久青青草| 日日夜夜免费| 五月丁香久久| 欧洲综合视频| 加勒比海人人操超碰在线| 婷婷影院入口| 亚洲熟妇AV日韩熟妇在线| 国产av美女被艹的乱叫| 亚洲国产精品无石码久久| 色呦呦、国产精品| 国产精品干干干| 97资源免费视频| 每日更新AV| 日韩欧美水蜜桃人妻| 97精品国产| 中文字幕老熟妇黄色视频| 啊啊啊啊好疼视频| 射 色综合| 少妇久久久久久| 中文字幕 一区二区 亚洲无码| 99中文字幕| 蜜臀一二三| 91高清无码下载| 超碰免费欧美7| 岛国片在线观看视频亚洲| 一本色道久久综合精品婷婷| 艳尻美人妻| www国产天美久久久| 91亚洲黄色网| 欧美十八禁在线看| 亚洲AV无码翔田千里网站| 精品成人av一区二区三区在线| 99热免费| 日韩中文字幕二区| 51一区二区三区| 黄页网站成人免费| 婷婷五月天久久精品视频一区二区三区 | 久久五月天婷婷丁香中文字幕| 999精品久久久久久久| 超碰夫妻97| 国产小视频91| 国产成人无码久久精品| 爽 好舒服 无码刺激久久| 国产主播福利| 91视频综合网| 97久久久久| 久久久久网站-538在线视频-欧美永久乱码| 久久久久久AV无码免费网站| 国产对白刺激视频| 中文字幕欧美日韩三级| 久久久久久久久久久精| 狠色婷婷久久一区二区三区_| 69AV女优男人的天堂| 大香蕉97久久| 久久中出在线| 黄久久| 久久久久成人网| 无码人妻精品一区二区中文| 91亚洲欧美激情| 啊啊啊啊好疼视频| 伊人9| 精品无人区麻豆乱码久久久| 色盈盈影院| 美女诱惑1区2区| 国模精品一区二区三区苹果色戒| 欧美精品久久久久久久久88| 91色婷婷综合久久中文字幕二区| 国产A v无码专区| 青娱乐福利99| 日本精品网站在线中文| 91在线精品一区二区三区| 天久久久噜噜噜久久国产精品爽爽| 婷婷伊人一区| 亚欧美综合网。| 91九色丰满高潮| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 精品视频一二三中文| 亚洲91色| 狠狠狠狠狠干| 欧美中文字幕男人天堂久久精品 | 亚洲天堂久久久久久粉红视频| 国产精品美女久久久久久网站| 先锋激情∨在线视频播放| 日本欧美一区二区三区免费| 亚洲天堂女优在线| 天天在线91| 绯色一区二区三区不卡少妇 | 日本123区操B视频| 新97国产超碰| 亚洲国产一级黄色视频| www久久久| 综合激情一一91| 大鸡巴久久| 日韩黄色片子| 亚洲久热| 33044男人的天堂深夜备| 91青青草| 六月婷婷五月丁香| 欧美综合色综合| 国产精品片| 园内精品自拍视频在线播放| 99RE在线视频精品,这里只有精品| 大学生美女口爆| 午夜久久一区二区无码中出| 精品视频在线观看精品| 国产成人亚洲精品自产在线| 新怡红院| 日本日逼视频网| 九九人妻| 97欧美性爱| 亚欧美综合网。| 国产多人在线观看视频| 日韩人妻网站| 国产一国产一级毛片古装| 欧美狠狠狠| 久久久网站| 亚洲欧美另类图片| 91成人久久| 先锋精品av色鲁| 久久亚州精品成人Av无| 亚洲熟女乱色一区二区三区久久久| 久久成人国产| 91熟女网| 在线 亚洲 网爆 自拍| 久久av无码| 夜夜爽爽夜夜精品视频| 免費人妻夜夜爽天天爽爽一区| 加勒比av网| 九九成人视频| 国产精品极品美女视频| 97精品视频| 亚洲棕合电彰| 亚洲熟女av日韩熟女| 极品出轨视频网站| 亚洲AV无码| 婷婷久久五月天| 亚洲一区二区三区播放在线| 91久久青青草原精品| 欧美亚洲高清晰| 大香蕉琪琪日本女优不卡| 国产视频一区二区在线观看| 亚洲中文字母在线播放| av网站免费线看| 色网亚洲人| 超碰97首页| 色婷婷蜜臀av| 中文字幕日韩精品一区二区三区| 91国产精品在线看| 欧美v亚洲v日韩v最新在线二区 | av凤凰久久久| 丁香五月综合| 97综合在线观看| 夜夜 中文视频rt| 无遮挡h肉动漫在线观看| 国产精品无码久久久久2025| 欧美中文字幕日韩在线| 成人一二| 国产精品久久aV| 97超碰碰| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 久久亚洲av成人无码国产| 在线视频 亚洲精品| 日韩av无码网站| 一区操逼| 3D污黄视频在线观看| 亚洲αv一区二区三区| 嗯啊抽插大香蕉网页| 亚洲国产成人福利在线观看| 国产日韩在线播放av| 日韩三级在线观看网站| 麻豆天美AV传媒第一页| 大香蕉淫人| 亚洲在线欧美| 亚州男人天堂| 亚洲成人激情小说视频| 国产精品视频精品一二| 亚洲色图加勒比| 无码九九| 欧美性爱www免费版| 天天插天天射| 青操影院| 亚洲天天做日日做天天谢日日| 国产又黄又爽又刺激久久久久久| 中文字幕一区电影在线观看| 亚洲色图大香| 欧美日韩人妻少妇 一区二区三区| 97免费视频在线观看视频| 日韩精品系列| 免费试看60秒| 色综合久| 91亚洲最新在线| 人人贴人人摸| 久久久久久久久久久久黄色| 在线播放成人高清免费视频 | 亚洲性爱乱操x| 久久色人体 | 成人欧美日超碰| 欧美色图第一页| 999岛国大片| 日本高清一本二本免费不卡| 三级片网站在线播放| 欧美在线啊啊啊| 欧美天天综合在线| 亚洲欧美在线观看2021 | 性爱免费视频成人| 超碰97在线中文| 亚洲免费成人精品电影| 亚洲熟妇自偷自拍另欧美| 黑人精品久久97| a片自拍直播视频| 久久精品国产免费观看99| 麻豆一区在线| 亚洲暴力强奸AV| 香蕉久久精品| 国产一区二区三区免费视频在性观看 | 蜜臀av中字字幕网站| 岛国999| 欧美操逼熟女| yazhououmeizongya| wwwss在线观看| 天天躁日日躁狠狠狠躁| 日韩中文字幕视频在线观看| 欧美在线视频播放| 日逼视频日本| 亚欧美无遮挡| 亚洲少妇色| 99中出在线| 九九超碰综合网| 五月天亚洲网| 久久久蜜桃臀无码视频| 久久久久久亚洲Av无码| 97任你吞精| 免费国产视频| 永久免费发布性爱网| 激情文学网伊人| 色婷婷婷五月天激情四射| 中国黄色特级精品一区二区三区片| 97综合久第一页| 亚洲第一综合| 狠狠亚洲| 午夜精品久久一区二区| 在线强奷到舒服的无码视频 | 久久久久无码| 大香蕉性欧美| 岛国激情视频软件| 成人AV素股で擦久久| 粉嫩av一区二区三区四季| 91亚洲欧美| 日韩人成网站在线播放| 超碰99热中文字幕| 欧美AB在线| 国内精品久久人妻性色av| 99热在线观看| 久久9999| 女人喷水视频在线观看| 色鬼在线综合| 国产又长又大又粗的视频| 欧美91精品国产自产| 日韩乱伦视频| 日本加勒比无码专区一二三| 波多野结衣AV无码一区| 狠狠色伊人亚洲综合网站色| 凹凸 69堂 在线播放| 天天操夜夜操狠很操| 国产人伦a片信息免费片| 九九精品美女高溯喷水| 日韩精品午夜操呦呦不卡影院| 国产毛片片精品天天看视频| 丁香五月影院| 超碰在线91| 欧亚性爱视频免费看| 情色五月天网| 91伊人久| 青青草精品| 97精品一区二区视频| 亚洲日韩一区电影| 性欧美精| 久久久久国产精品喷潮免费观看臀| 日逼五月天| 亚洲人妻精品一区二区| 玖玖视频在线资源一区二区三区| 五月天婷婷社区| 亚洲欧洲综合视频在线| 欧美亚州综合网图片| 大伊香蕉在线视频免费| 91美女看B| 国产一区二区三区视频在线看| 伊人大香蕉在线| 福利视频合集| 亚洲91亚洲| 精品无码一区二区三区色欲| 大香蕉欧美伊| 国产特级毛片AAAAAA高潮流水 | 大屁股国产在线视频| 久久社区一区二区三区| 日日躁狠狠躁天天躁精品| www.人人cao| 欧色网址| 欧美色图片91| 99国产精品视频尤物| 午夜福利在线合集| 国语精品内射在线观看| 欧美瑟综合| 男人的天堂2010| 无码不卡亚洲成?人片| 91老熟女逼| 五月亭亭六月丁香| 亚洲黄色网址| 久久天堂婷婷网| 久久伊人最新网址视频| 亚洲射综合网| 成人无码影片视频在线| 日韩啪啪视频| 久久綜合很很很| Av手机版天堂网| 天天情欲宗合网| 强奸xx国产| 91天美| 中美日韩毛片| aaa一级黄片| 超碰97欧美| 日韩av色图| 色啪网| 日本精品一级二级三级| 啊啊啊啊啊啊啊在线| 国产一区二区三区精品观看啪| 中出在线视频| 成人AV素股で擦久久| 青娱乐欧美激情一区二区| 亚州精品人妻一二三区| 天天弄欧美| 91麻豆va国产精品| 久久午夜鲁丝片| 毛片99-全集电影手机免费观看完整-B029AV | 九九热免费视频| 亚洲小电影免费涩涩成人在线高清| 亚洲图片偷拍欧美| 亚洲人在线成线成人| 97在线精品观看视频| 中文字幕精品三级久久久| 蜜桃久久综合视频| 色yeye成人免费视频| 国产久久久久久| 亚洲美女黄色| 欧美97日韩| 日韩久久三区| site:sinbotex.com| 美女淫穴| www鬼畜国产男人的天堂| 女人双腿搬开让男人桶| 免费黄色片。| 美女天天干| 国产精品久久久亚洲第一牛牛_在线观看| 无码人妻丰满熟妇奶水区毛片| 日欧操屄视频| 秋霞无码av鲁丝片一区| 日本精品五区| 精品人妻一区二区三区不卡断 | 天无日色综合| 丁香五月激情啪啪| 影音先锋中文字幕日本好一区二区| 操碰97| 91精品人妻一区二区三区蜜臀| 亚洲熟女乱综合一区二区三区| 日韩丨制服丨中文|在线| 欧亚韩国999| 草伊人高潮喷水超碰| 色噜噜狠狠色综无码久久合欧美| 欧美日韩 强奸乱伦| 国产强奸91| 日韩一级久久毛片| 免费视频一二三区| 91在线丝袜| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国语精品内射在线观看| 国产AV毛片| 日韩 欧美 另类 人妻| 天天插夜夜操| 国产三级在线现体验区| 粉嫩av久久一区二区三区| 一二三区操逼国产91| 国产精品高潮久久久无码| 亚洲九九九| 电家庭影院午夜69久久夜色精品国产69乱| 九九九九精| 94色色电影网| 国产肏逼网站| 一起草视频在线| 久久久久久久| 欧美Ⅴ性爱| 屁股久久久久久久| 欲香欲色| 黄色激情电影在线观看| 手机在线播放国产福利| 中文字幕交换人妻| 婷婷五月天影院| 色婷婷久久| 色妹子A V| 麻豆久久久久久久久丝袜| 一区二区精品更新提醒| 国产日韩人人| 国产女主播视频在线观看| 97美日韩视频| 无码人妻精品一区二区三区99不卡| 日韩精品在线视频在线观看| 五月丁香六月综合缴清无码| 嗯啊抽插大香蕉网页| 女人爽到高潮潮喷18禁网站| 亚洲综合九九| 国产农村妇女精品1区二区| 丰满翘臀美女影院视频| 欧美亚洲日韩16色| 91狠狠狠| 被男人吃奶很爽的毛片| 国产精品麻豆视频网站| 婷婷啪啪| 91天美传媒在线观看| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 日韩欧美中文字幕搭讪巨乳美人妻视频| 操老熟女AV| 男人的天堂2018| 性爱免费视频成人| 26uuu欧美| 2000亚洲男人天堂| 外站AV在线| 天天插夜夜操| 九九色热| 性爱AV天堂| 色图四区| 久久久久国产精品喷潮免费观看臀| 婷婷丁香六月| 偷拍五区| 日韩一级二级三级| 九月丁香婷婷色| 欧美性天天影视| 国产美女激情| 日韩熟女三十乱伦| 91操碰| 亚洲成人妻日韩在线| 欧美日韩中文字幕人妻| 麻豆国产视频精品观看| 亚洲少妇喷视频看| 少妇熟女视频一二三区| 男女国产精品| A 天堂在线观看视频| 色老汉色| 国产精品人妻免费精品| 丁香色色网| 91精品又粗又猛又爽| 欧美岛国精品在线观看| 黄色电影在线播放综合网站| 国产大片精久久久久久| 骚女天天综合网| 国产懂色精品国产av| 欧美韩国你懂得在线| 久久少妇| 天天操夜夜操| 碰超人人在线一区二区三区| 国产精品高清2021在线| 99国产在线绯色一区| 九九九九精品精| 大香蕉久操| 东京热大香焦| 人人人摸人人| 丝袜综合| 欧美日韩大香蕉| 德国一二三不卡| 日本视频在线中文字幕| 色999人与兽| 超碰97护士| 日韩欧美国产高清视频| 无码九九九九| 在线性黄高清免费视频| 黄站在线免费观看| 亚洲精品成人激情在线| 亚洲天堂少妇| 久久思思热| 伊人午夜福利视频| 国产精品久久成人免费| 亚洲中亚日激情视频| 成人无码影片视频在线| 天天天堂影视日韩亚洲91| 20cm女自慰在线日韩欧美| 久久9精品视频| 1769一区| 国产久久一区二区| 综合久久欧美| 天堂成人网| 99啪| 人妻丰满熟妇一区二区三| 美日韩在线不卡人妻| 国产亚洲深夜激情| 天堂伊人久久| 女人爽到高潮潮喷18禁网站| 亚洲欧美在线丝袜| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 亚洲国产一级黄色视频| 国产丰满少妇久久久精品影院| av天堂精品久久| 欧美一品道| 久久九九99| 免费无码婬片AAAA片直播色戒| 日韩懂色网| 久久无码电影| 男人精品区| 麻豆性爱视频在线播放| 最新精品久久蜜桃| 一类av片在线看| 岛国天天午夜影院传媒网| 久久,精品一二三| 自拍偷拍第26| 中文字幕免费在线观看| 人妻日日夜夜精品| 亚洲αv一区二区三区| 免费成人在线熟妇网| 亚洲色欲天天人妻无码系列专区| 黄色成年| 九九亚洲精品| www.色99| 九月丁香婷婷色| 97色香蕉| 91欧美性| 丁香五月天啪啪| 天天狠操| 校园春色五月天| 天天综合香 ld视频| 国产九九九九九九九九| 久9精品| 中文字日本乱码| 激情五月天丁香社区| 日本性感人妻91| 91艹| 黄色高清久久无码依人| 亚洲色啪| 国产麻豆福利av在线播放| 免费簧片在线观看| 美女黑人91神马| 97欧美色综合| 亚洲综合有玛| 久久久久9| 性色av蜜臀av色欲aV| 白丝一区| 中文熟女五十乱码在线| 美女97超碰| 亚洲欧美大香蕉| 被体育老师抱着c到高潮| 国产成久久综合片| 亚洲另类色综合网站| 97精品97| 欧美色图天堂在线| 曰韩av中文字幕专区| 9久在线视频只有精品| 日本黄页视频在线观看| 婷婷五月天成人网| 手机看av网站在线看| 高清无码一区二区三区| 国产午夜精品理论片一二三区区 | www.久久制服糖| 亚洲欧美色图| 91欧美亚洲| 99精品九九九九九九| 91爰爱欧美| 久久蜜桃综合网| 国产激情av女片自拍| 91爱网| 欧美亚洲丝袜人妻制服中文99| 中文字幕在线2| 亚洲国产精品久久久男人的天堂| 日韩三级在线观看mp4| 国产视频一区二区在线| 91狼人| 中文字幕在线高清男人的天堂| 亚洲av综合伊人久久| 欧美18老人禁| 黄视频免费| AA级电影三区| 亚洲一区二区三区不卡国产欧美| 懂色av一区二区三区天美传媒| 亚洲欧美内射| 中文字幕第95页| 狠狠做深爱婷婷久久二区| 国产精品suv一区| 麻豆性爱视频在线播放| 顶级少妇BT天堂| 麻豆九九九| 国产乱弄免费在线视频。 | 四虎国产精品永久地址入口| 色就色综合| 久久激情亚洲精品无码?V| 国产高清成人mv在线观看| 亚洲AV操| 涩五月婷婷| 欧美男女午夜啪啪| 中文字幕五区| 日本女厕偷拍| 九热超碰| www亚洲欧美| 亚洲欧美高清无码| 中文字幕91页| 51一区二区三区| 性爱乱伦视频免费| 乱伦系列一区二区| 密桃99999| 97国产亚洲中文在线| 亚洲欧洲久久天堂| 欧美日韩天堂| 麻豆熟妇乱妇熟色A片在线看| 美女久久久| 国产精品亚洲天堂网址| 免费操逼视频下载| 花野真衣| 金典av| 国产熟女一区二区| 91色人妻| 人妻99p| 天美精品av| 美女主播色欲91抠b在线播放| 亚洲涩图欧美| 久久亚洲AV无码白度| 色欲天天综合久久久无码网中文| 欧美黄色大片在线观看| a在线观看| 台湾佬激情综合| 东京热熟女亚洲视频网站| 久久久亚洲精品中文字幕人妻| 日本性感人妻91| 一级啊性爱在线视频| 欧美少妇大量自拍视频在线观看| 超碰97在线色男人??| 一起草在线视频| 久久国内| 日韩国产十八禁| 日日骚一区二区三区| 男人天堂黄片| 91蜜臀熟女| 欧美日韩精品青青| 操人人| 久久精品小视频| 天天天天天天天天综合| 精品少妇999| 99久久国产精品免费高潮| 熟女突然公开看18禁影片| 久久精品72| 久久9精品| 国产AV高清AV无码| 1024亚洲中文字幕久在线看片你懂的 | 国产三级在线现体验区| 亚洲AV无码国产精品久久久久| 大香蕉综合| 啊啊啊啊好多水| 人人操人人色人人摸| 亚洲色久| 天天色综合影视网| 欧美亚洲日本视频久久久 | 国产丝袜啪啪| 国产福利av精彩对白| 九九热精彩视频| 99这里只有精品国产| 久久久久久久久久久久久久久性生活视频| 狠狠躁日日躁夜夜躁A| 欧美性爱第一页久久| 国产欧美第五页| 97伦乱| 伊人影院综合是一个与深夜成人在线| 欧美一二在线| 免费看黄片现成| 成人精品在线观看| 亚洲深夜福利| 思思热在线视频精品| 蜜臀99久久精品久久久久久| 日本亚洲熟女视频| 青草伊人久久| 999岛国大片| 黑白配性爱AV成| 欧美色视频在线| 天天摸夜夜操视频| 日韩福利综合一区| 99超碰色| 日韩国产精品人妻无码久久久| 99丝袜福利在线播放| 女性91网站| 少妇毛片久久| 美女操逼A A| 亚洲男人的天堂在线看| 日本国产亚洲一区在线观看| 欧美色图天堂网m| 成人无码在线超碰网| 岛国人妻少妇av在线观看| 97手机日韩| 九九九九九九九九九九九免费国产| 91亚洲网| 国产美女高潮叫床视频| 蜜臀va69| 美女被艹尤物视频| 女上位精品在线| 色噜噜精品一区二区三| 亚洲国产福利视频| 狠狠五月天| 青青久草| 素人美腿视频网站| 一个国产在线综合网站| 欧美与日韩97| 天天日夜夜爽| 精品无码一区二区三区色欲| 色眯眯射| 国产日韩在线播放av| 尤物视频偷拍免费| 在线人人人人人人精品超| 日本中文字幕一区| 国产又爽又黄| 人人澡人人澡人人| 国产一区96在线| Sekablack无码一区| 综合性视频99| 青娱乐亚洲热| 日韩激情电影中文字幕| 亚洲 欧美 小说| 欧美日产国产在线成人第一区| 91国产大片| 国产成人精品日本视频| 日本99一区二区| 五月婷婷激情综合| 少妇一区二区三区| 色老久久| 久久欧美按摩999| 秋霞网无码| 热久日综合| 17c嫩草51久久91嫩草| 男人的天堂日韩| 91蜜臀在线久久久久| 性色av蜜臀av色欲aV| 亚州综合色| 极品少妇久久久久| 亚洲综合99999| a一区二区三区乱码在线| 人妻激情在线视频| 欧美人妻精品| 99热99在线播放激情| 欧在线一二区| 欧洲精品区| 色色国产| 亚洲古典另类欧美在线| 人人看黄色视频| 91宗合网| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 插欧洲美女欧美精品| 免费精品无码一级毛片牛牛影视| 欧洲大香蕉| 嗯啊不要在线观看嗯啊| 日本www操操操| 91老妇女| 中字一区| 麻豆天美久久91| 99国产在线 精品 视频| 无码天堂| 久久人妻熟女一区二区| 亚洲激情 欧美色图| 69人妻精品一区二区绯色| 欧美国产伊人久久久久| 强奸国产精品视频| 欧美日韩午夜精品一区二区三区 | 超碰日韩人妻| 激情小说亚洲| 天天日天天干少妇日| 美女上床网站| 国产精品久久久视频| 开心激情婷婷| 国产欧美日韩在线不卡第一页| 亚洲制服aⅴ中文字幕| 天天综合-91入口| 大屁股熟女一区二区三区| 亚洲区限制级| 97精品国产手机| 熟女日韩| 久久精品中文字幕无码l| 亚洲一区二区三区播放在线| 99999国产精品| 欧美亚洲高清晰| 婷婷三区| 大香蕉免| 男人天堂久久日韩| 久草视频制服诱惑| 78p欧美| 激情五月天网站| 乱伦日本色图AⅤ| 国产亚洲日韩欧| 人人 操人人 操人人| 草草电影院| 欧美精品精品一区二区| 不卡码视频| 日韩视频精品在线观看| 成人小说另类在线| 岛国黄片网站| 一级二级三级黑人无码| 翔田千里AⅤHD无码| 亚洲日本激情| 久久夜黄色无码A级大片| 久久精品中文字幕无码l| 成年人黄色小视频网站| 国产精品69人妻无码久久久| 久久久久九九九| 日韩精品一区的| 精品久久一区二区三区四区五区| 猛交交| 亚洲精品天天影视综合网 | 福利视频一区二区微拍| 久99热| 亚州乱码中文字幕综合久久久| 中文字幕第23区| 易易A毛视频| 日韩操逼性鲍| 婷婷深爱五月| 宅男91视频在线播放| 偷拍综合亚洲| 91n处女在线观看| 中文字幕后石码四区五区| 探花视频免费观看国产专区| 亚洲黄片免费在线播放| 青椒国产97在线熟女| 99久在线精品99re8| 久草综合京东| 日本九九久久99| 久久蜜桃一区二区| 伊色久人大在线| 婷婷色综合欧美日韩| 日本一级特级毛片视频| 天天摸夜夜添无码小视频| 国产精品色片一区二区| 口爆综合网| 欧美97视频| 精品无码久久| 欧美日韩另类在线播放| 国产亚州日韩欧美看片| 久久不卡一区二区| 今日头条成人一区二区三区四虎精品| 色香综合天天影视综合| 一本一道久久综合久久| 成人小说另类在线| 国产色精品午夜大片| 国产乱码久久| 久久草视频污视频| 男人的午夜天堂| 爱我干综合| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | www…国产操逼| 亚洲中文电影| 日本影视久久免费| 婷婷五月av| 大香蕉在线SuP| 最新av网站在线观看| 日韩草久视频| 久久大香蕉97| 日韩人成网站在线播放| 330Dv国产女人终合视频极品人与兽| 天天日天天干少妇日| 亚洲精品久久久久久久蜜桃臀| 97碰碰日本乱偷人妻中文的| www.av家庭乱伦| 女优免费一区二区永久| 中文字幕第7页| 久久久精品无码亚免费| 亚洲青色欧美| 婷婷av在线中文字幕| 国产欧美美女免费观看视频| 亚洲Av诱惑| 2018色综合天天操| 伊人久大| 免费综合亚洲中文| 久久影视二区三区行押| 精品亚洲黄色片 国产精品导航一区二区| 色老汉色| 久久精品人人做人人看| 亚洲国产剧情少妇激情| 亚洲九九九| 欧美三级一级| 亚洲本色精品一区二区久久| 欧美不卡在线美女| 黑人娇小av在线播放| 蜜臀久久99精品久久久老,,| 亚洲欧美另类小说| 色爽爽文学| 精品国产Av无码久久久伦古装| 欧美日韩性感| 十八禁啪啪视频| 福利风月五月天影院| 亚洲欧美国产中文视频| 一区二区三区国产精产| 国产无码三级视频在线观看| 玖玖综合色| 九九综合久久中文字幕| 久草在| 丝袜美腿制服人妻二区中文字幕 | 久久久久78| 色综合av男人天堂| 亚洲极品| www.色婷婷.com| 超碰免费97| 台湾大香蕉99热| 国产成人一级av88| 国产AV线| 九九九九久久久| 亚洲 无码 偷拍| 1204av韩国| 无码乱人伦中文视频| 综合亚洲网| 91美女在线精品视频| 都市久久精品激情亚洲| 大香蕉琪琪日本女优不卡| 亚洲欧洲国产综合av| 97干在线视频| 久久久av爱| Blackedraw视频一区二区| 青青草依人大香蕉| 精品.99999| 国产自产一区视频在线| 久久亚洲日韩熟女精品| 白嫩嫩一区| 日韩高清黄片| 久久久无码精品人妻二区| 日本天天吊| 成人a大片在线观看| 精品美女少妇一区二区| 国产自产91区13区| 日本视频在线观看污污污| 日韩精品一二三| 麻豆AV96熟妇人妻| 成人黑料社久久| 99久久无码| 欧美人妻熟女在线| 嗯嗯啊啊操死我| 国产在线视视频有精品| 男女无套 免费网站| 人人操人人射人人干| 激激五月| 国产精品制服丝袜清纯唯美| 欧美美女视频| 人妻激情在线视频| 97超碰69| 干婷婷综合网| 中国AV美女| 东京热毛片调教| 亚洲第一二区另类图| 天天射影院| 嫩草一区二区在线观看| 国产精品九九九| 精品久久久久成人码免| 天色综合网| 五月丁香婷婷色| 老熟女乱子伦中文字幕一区二区| 91狠狠综合久久久久久| av一区二区三区四区| 天天久久| 久久久9 9 9精品| 少妇69中文| 精品超碰中文在线| 1769精品一区二区三区| 免费αV在线视频| 亚洲开心网| 欧美色图另类图片| 日韩精品国模| 国产九区| 性色高清在线| 亚洲天堂色图| 欧美一级色| 国产精品成人蜜臀AV在线| 久久久久久久伊人精品| 97超碰超碰| 上床啊啊啊| 啊啊啊轻点在线观看| 使劲用力艹少妇视频一区二区 | 免费一级视频特黄色大片| 污污汅18禁网站在线永久免费观看| 欧洲久久一二线| 国产在线激情视频| 国产福利合集| 夜夜欧美| 91青青在线| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | dy888午夜老子影视达达兔| 久区视频| 中文字幕熟女人妻丝袜丝| 一本色道久久综合熟妇| 国产精品高潮久久AV| 国产夜夜艹| 天天看天天综合成人网| 麻豆天美国美国产| 亚洲日韩一区电影| 精品久久一区二区三区四区五区| 99热这里是精品| 91蜜桃婷婷狠狠久久综合9色| 国产AV高清AV无码| 日本午夜久久电影| 激情五月婷婷综合| 激情综合五月天| 五月天婷婷欧美三区| 欧美亚州手机在线| 韩国久久97| 无码99| 久久久久久中文字幕中文字幕最新| 久久五月份| 国产精品小视频一区二区三区| 狠狠躁AV| 国产高清不卡视频| 五十路二区在线| av久日| 小电影欧美91| 欧美精品庄| 国产性爱强奸乱伦大全| 玖玖爱在线视频免费观看| 国产第12页| 久久亚洲AV无码专区国产精品 | 黄色免费网| 秋霞成人一级在线观看| 亚洲第2页| 97色色婷婷| 婷婷成人久久久精品| 一区二区三区四区姦女| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美日韩精品久久久久久久久东北老熟妇| 人人妻人人爽| 无码一区免费在线不卡| 高清无码一区二区三区| 亚洲古典另类欧美在线| 九九激情网| 亚洲综合码| 久久偷偷色综合蜜桃| 熟女少妇视频| 天天射天天操天天干天天吃2018 | 国产精品九九九| 久久国产性爱| 免费一级视频特黄色大片| 玖玖97综合| 乱子伦一区二区三区国产精品| 九九九偷拍| 欧美人与动性人交a| 黄色av片三级三级三级免费看| 五月天婷婷色|