亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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
返回資訊列表
日韩乱伦影音先锋| 另类欧美综合| 一区二区久久天天干狠狠| 精品午夜福利国产一区二区在线观看| 69XX一中文字幕人妻91| 啊v在线观看视频| 色拍偷亚洲| 中文无码一二三区| 大香蕉久久| 亚洲码专区| 日韩一区二区高清在线观看的| 在线观看国产黄色| 国产美女裸体秘 永久无遮挡| 久久中出| 亚洲无无码αⅴ每日更新| 在线洲亚线| 综合激情一一91| 欧美熟女妇同| 伊人久久久日韩一区| 伊人97色天使| 蜜臀久久久国产| 久久久草成人网站久久久草成人久久久草久久久 | 亚洲少妇色| 成年人性爱日韩| 最新av网站在线观看| 亚洲男人天堂网| 精品91日日夜夜超清资源| 91狠狠狠| 干B网| 人妻激情视频| 老鸭窝成人免费毛片视频 | 国产精品青草综合久久| A片 AV一级在线播放观看免费| 91av熟女人妻| 日本人妻伦在线中文字幕| 91久久九九精品国产综合| 好属操| 超碰97人妻在线| 丰满人妻一区二区三区免费 | 97摸视频| 日韩乱码Av| 日韩三级一区 | 1956日韩精品| 麻豆区久久久久亚| 国产丝袜一区二区三区| 白丝一区| 韩国午夜理伦三级好看| 亚洲日韩精品在线播放| 激情综合五月| 九九九综合精品| 日日干夜夜操视频h| 老师充足的奶水小说| 亚洲综合另类欧美久久久| 嗯嗯啊啊操死我| 人妻五十路在线| 老熟女乱子伦中文字幕一区二区| 一级二级在线观看| 啊啊啊啊二区好大| 欧美亚洲日韩16色| 天天综合站| 97国产|免费| 日躁天天爽爽| 隔壁邻居波多野结衣中文字幕 | 日韩在线观看中文字幕视频| 伊人网av| 熟女欧美日韩综合婷婷| 国产欧美日产一区二区三区 - 国产欧美日 | 激情干在线| 五月天婷精品激情| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 91九九九馒头| 91爱欧美| 免费αⅴ在线观看| A啊啊在线观看| 蜜臀网址在线| 亚洲āv网址在线观看| 中国大陆国产高清AⅤ毛片| 国产精品青草综合久久| 成人无码专区精品视频| 99久在线精品99re8| 91视频综合网| 91色艳| 91欧美美女日韩国产婷婷| 色阁阁AV综合网| 91精品无码久久久久久久| 国产高清成人mv在线观看| 亚洲图片欧美在线视频| 久热精品在线| 黄色片,com| 深爱五月婷婷| 97爱综合| www99热| 色天堂在线观看| 日本不卡一区| 亚洲成av人片色午夜乱码| 91天美传媒精品| 日日夜夜骑| 中文字幕一二区二三区人妻专区| 日本天堂网| 亚州性色| 综合久| 久久婷婷欧美| 国产福利电影| 日本天堂网| 78m成人视线| 中国国产精品一区视频| 91中文精品日韩欧美在线| 东京热男人的天堂| 亚洲 欧美 另类 综合 偷拍| 搡老女人老91二区| 亚洲另类在线观看| 超碰4A| 精品毛片久久久精品毛片| 亚州 综合 色图| 亚洲一区日韩精品中文字幕| 日韩AV电影网站| 蜜桃臀av一区二区| 91精品国产综合久久久蜜臀| av网站在线看| 男人天堂.AB| 国产欧美另类久久久精品课程| 啪啪免费| 天天久久久久久| 欧美日韩岛国大片在线观看| 国产在线激情| 18一区二区三区| 淫荡网址| 国产大片精久久久久久| 天天做天天爱夜夜爽毛片试看| 亚洲色图超碰在线| 精品免费视频国产一区| 精品国产国产AV| 一区操逼日比视频| 丰满少妇精品一区二区| 日本熟女中文| 伊人91| 99热综合在线| 免费一级a毛片久久久久久鸭绿欲| 亚洲天天艹| 综合久久久久久久久91| 亚洲综合性网址| 久久婷婷热| 天天日夜干| 丝袜美腿欧美| 国产强奸乱伦xd| 使劲用力艹少妇视频一区二区| 激情抓乳插进去啪啪啪日韩| 997色在线| 啊好大好舒服| 3d成人精品一区二区| 国产AV线| 秋霞男人网| 亚洲精品啪视频| 91女色| 亚欧美天堂在线| 久久久亚洲Av| 伊香蕉综合久久久久久久噜噜噜| 久久久久久久久九九久孕交| 国产日本久久免费精品| 亚洲高清自拍| 屁股久久久久久久久| 久久曰曰| 操逼免费视频无码国产| 精品午夜福利| 欧美综合中文| 亚洲一二三| 玖玖色综合| 国产精品人人爽人人做可爱福利| 亚洲第一视频 欧美风情 日韩| 亚洲丝袜B诱惑| 人人妻人人狠人人| 日韩字幕一区| 女人综合网| 亚洲伊人久久精品影院| 啊啊啊好湿久久| 女人喷水视频在线观看| 另类图片欧美激情综合| 色妺妺AⅤ| 欧美亚洲清纯| 噜噜噜亚洲精品| 丰满翘臀美女影院视频| 日韩操人| 欧美性爱五月天| 99精品视频在线观看免费| 97AV在线观看| 亚洲男人天堂2017| 人妻少妇无码 | 日韩一级欧美一级国产一级台湾| 亚洲欧洲日韩中文字幕一区| 天堂资源站| 一区二区三区日韩欧美| 香一区二区三区| 欧美日韩99| 日本激情免费大片| 日韩在线性爱免费视频| 丰满少妇乱子伦精品无| 欧美性爱www免费版| 国产精品亚洲无码| 亚洲成a人在线观看久| 97超碰人人模人人拍人人| AV中亚| 欧美 色 亚洲| 中日韓欧美高清| 久久久久久中文| 久久偷偷色综合蜜桃| 超碰97久久观看| 日日夜夜青青草母狗| 欧美图片偷拍| 伊人综合色网| 四虎影视在线| 日本日日色视频| 精品人妻1237| 精品九九九九九九九| 操逼精品视频| 中文字幕精品亚洲熟女| 久久线上视频免费看| 人伦四五区| 理论久久婷婷网8| 97伊人超碰| 97se亚洲综合自| 国产成人五月天丁香花| 无码国产精品96久久久久孕妇| 97在线看| 奇米四色网| 黄色av网站在线播放| 久久黄色性爱视频| 欧美精品1区2区3区| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 天天做天天爱天天爽AV| 欧美91网站| 91国产伊人大香蕉| 色吧91| 东京热视频网| 亚洲国产一级精品毛一级精品看免费视频 | 久久久影院| 啊啊啊不要啊啊受不了了视频在线| 久久亚洲人妻| 九九九九一区| 成人精品久久久午夜福利| 欧美探花网| 亚洲欧美日韩精品久| www激情| 熟女啪啪视频| 亚洲欧美综合网站| 成人五级久久| 超碰人人干| 嗯啊啊啊轻点视频 | 欧美97日韩| 激情五月天校园春色网| 日韩欧美日韩| 亚洲欧美国产其他二区| 蜜屁Av| 色逼综合| 久久久久久AⅤ无码免费肉站| 欧美天天插| 亚洲图片在线| 日本精品中文字幕视频| 国产高潮AA片免费看| 天天舔九色婷婷| 欧美色97| 国产AV久久久蜜爱影集| 国产精品国产自产拍高清AV| 综合亚洲网| 97jingpin| 牛牛AV人人夜夜澡人人爽| 人人妻人人狠人人| 黑人与人妻| 天天噜| 亚洲精品啪视频| 日少妇亚洲版| 亚洲精品久久久久毛片A片拉屎 | 天美传媒av一区二区| 国产精品久久久| 激情五月天色色| 和协影院中文字幕三区| gogogo免费高清看中国国语| 日日夜夜精品视频| 麻豆久久精品亚洲精品88| 少妇高潮对白在线观看| 黑人精品久久97| 翔田千里无码一区| 91狠狠综合久久久久久| 国产色图乱伦| 久久久久9久久久久| 巨乳特殊服务按摩| 久热免费视频| 久久黄人人爽视频| 天天综合网站| 免费人成毛片乱码| 欧美色图亚洲色图成人在在线| 国产丁香精品露脸视频 | 九九热精彩视频| 91精品亚洲内射孕妇| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 五月天色综合| 天天爽天天操啊啊啊| 超碰在线成人| 色臀AV| 日韩一级二级| 秋霞网无码| 手机不卡视频不卡在线一二三区| 免费成人自拍视频在线| 欧亚乱色熟一区二区三四区| 操国产高清| 日本三级日本三级三级人妇四虎| 久久精品国产亚洲妲己影视| 天综合网欧美| 国产亚洲综合欧美一区| 九九热三级片| 综合网~91综合网| 嫩草伊人久久精品| 日韩图色| 中文字幕制服欧美久久一区| 亚洲囯产精品女人久久久| 99只有精品| 欧美性爱十八禁| AV女资源| 久久伊人网视频一区二区三区| 操b在线观看| 超碰夫妻97| 超碰人人超在线观看| 亚洲性高潮| 日欧美色| 欧美黄片欧美黄片xxx| 丝袜视频网国产90| 日韩伦理视频| 国产 亚洲 丝袜 制服| 天天干夜夜操一区二区| 97这里都是精品| 熟妇操花| 人妻二区| 91国产丝袜白虎| 刺激性视频黄页| 可以在线观看AV的网站| 亚洲天堂男人天堂| 免费国产| 性爱AV天堂| 婷婷99狠狠| 搡老熟女免费视频 | 国产午夜在线观看视频| 蜜臀99久久国产| 91久久18禁| 韩国黄色片精品久久久| 免费精品人妻一区二区三| 久久精品国产亚洲粉嫩| 中文字幕久久亚州无码| 青青草吊丝| 色丁香久久| 99在线免费公开视频| 2017天天插| 亚洲诱惑天堂| 成人A片男人的天堂| 色婷婷五月天| www欧美性爱| 自拍偷拍 日韩欧美| 电影69乱码96| 射久久| 后入福利视频| 亚洲青色欧美| 欧美午夜视频| 樱花草社区www中国| 又黑又大又粗| 精品国产乱码久久久久久久久1| 太久视频| 一类av片在线看| 久久的免费性爱视频| 久久岛国| 偷拍盗拍亚洲色图图片 | 中日韩熟女| 黄色无码高清黄色无码网站| 亚洲天堂欧美| 久久精品—区二区三区内射| 亚洲成人ab| 综合少妇网| 五十路熟女在线不卡观看一区二区| 中文字幕av久久爽Av| 日韩精品.久久精品.AV女优.天美传媒| 欧美v亚洲v日韩v最新在线二区| 国产家庭乱伦性爱视频| 日韩熟女乱伦中出| 无码人妻精品一区二区中文| 成人性爱AV在线免费观看| 日本欧美中文字幕| 亚洲丝袜诱惑| 国产毛片毛片4p懂色| 97国产精品| 在线不欧美| 91成人18| 亚洲码在线中文在线观看| 日韩电影在线观看网址| 国产精品免费1区2区视频| 久久69| 大香蕉中文| 国产美女高潮| 亚洲AV秘无码一区..| 午夜a成v人电影| 国产人妖的免费的视频| 在线国产探花| 人妻插插人妻人| 久久神马影院| 玖色av| 亚洲中文字幕熟女少妇一区二区| 久操免费在线| 7777奇米影视久久| 嫖老熟女A片一二三区| 色综合尤物| 免费夜夜爱黄色视频毛片| 欧美不卡在线美女| 青青草玖玖爱| 亚洲本色精品一区二区久久| 美国一区二区三区视频| 日本3级一区二区免费| 大胆91| 第45页一区二区| 亚洲性猛| 精品美女久久久久| AV电影在线播放| 中文字幕精品丝袜| 超碰欧美97资源| 加勒比伊人| 无码精品一区二区三区潘金莲| 九九亚洲视频| AV在线资源| 外国免费性情大片| 欧美性爱免费短视频| 天天肏夜夜肏| 亚洲人妻爽爽爽| av网页一区二区三区| 亚洲精品欧洲精品| 日本操逼二区| 婷婷久久五月| 97超碰jingpin| 麻豆九九九| 韩国一级做a久久久久| 欧美综合色综合| 成人一道本免费视频| 久草视频分类在线| 91在线丝袜视频| 人妻久久| 91人人臊| 国产免费一区| 国产精品久久久久久久久久梁医生| 91人妻尻屄视频| 超碰 另类 欧美 | 黄色十八禁| 超碰在线人人射| 亚洲AV无码国产精品久久久久| 91久久18禁| 亚洲精品久久久久久| 可以免费看黄片的视频| 丁香五月天婷婷姐| 国产精品夜夜| 亚洲国产日韩欧美熟妇在线| 超碰97久久国| 豆花视频操逼网址| 欧美性,色九九| 男人天堂欧美| 久九干| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 亚洲码在线中文在线观看| 99热这里只有精品8| 二级毛片| 色香色欲天天综合网天天来吧 | 久久精品国产亚洲AV片多多| AV99热18这里只有精品| 久久久久久一日韩字幕无码| 97干天天| 欧美一区二区三区入口| AV老汉| 韩国免费播放一级毛片| 欧美精品丝袜久久久中文字幕| 97狠狠| 九九热最新| 99热婷婷一区二区三| 欧美99热| 欧亚日韩一区在线| 青青青国产| 国产强奸AV在线| 性欧美体内射精| 欧美A片中文字幕| 欧美91网站| 欧美性生活免费网| 免看60秒涩涩视频| 色综合五月天| 试看日韩黄片| 69久久久久久久久久久久久| 99久久精品无码一区二区| 一区二区不卡免费| 98色网| 国产成人超碰在线| 九九九九免费视频| 久久麻豆一区二区| 久久透逼视频| 91操熟女视频 | 蜜臀久久99精品久久久| 78久久久| 色牛牛AV| 精品成人无码| 婷婷国产精品一区二区| 久久精品免费| 久久鲁干| 人妻无一区二区三区| 日韩精品电影| 亚洲老熟妇xxx| 亚洲无码超碰免费| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 最新亚洲人成网站在线影院| 国产精品白丝AV| 搡老女人老妇女老妇老熟女怎么读| se吧提供91精品国产91久久久久久 | 丰满搜索结果 -第18页- 久久高清无码| 亚洲男人久久综合天堂| 亚洲,欧美,综合网| 久久精品一区| 国内三级自拍小视频在线观看| 欧美精品三区| 久久久999国产精品| 91在线免费观看处女| 久久精品国产亚洲AV高级北京| 日韩精品三级| 久污| 日本丝袜美腿人妻九九| 色五月激情网| 亚洲精品a人片在线观看视| 天天澡天天爽日日AV| 91 国产丝袜在线播放-百度| 美女的肌被草喷水视频| 国产丝袜视频| 午夜免费福利视频一区| a天堂视频| 在线观看一级α片刺激高潮视频| 精品对白久久不卡| 久久九九97| 中文字幕免费看| 黄色高清久久无码依人| 综合网,亚洲,欧美| 乱精品一区字幕二区| 91干熟女| 多乙久久久久久| 大香蕉久| 亚洲精品一区二区三区在线播放 | 顶级少妇BT天堂| 欧美国产日韩清纯唯美 | 九九九国产| rivers-china.com| 九九热午夜欧亚国产视频| 东北女人| 国产精品熟妇一区二区三| 91av天美性媒精品视频| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 国产强奸AV在线| 欧美色网| 88xx成人精品视频| 日韩熟女操逼| 国产午夜在线观看视频| 精品无码不卡视频| 国产精品极品美女视频| 淫荡熟女乱伦网| 操迟操逼在巾线Fre看| 久久精品中文字幕观看| 青娱乐国产精品| 狠狠色狠狠色狠狠五月| 日韩不卡a级视频专区| 一区三区啪啪| 欧美色五月| 天天爽爽爽爽| 中文字幕亚洲欧美在线不卡| 97色涩| 在线观看午夜婷婷久久久久清性观看| 91国精产品| 床戏久久久av一区二区麻豆| 国产精品网址| 国产又色又粗又黄又爽| 黄片aaaaa一区| 99精品久久久久久久婷婷蜜桃| 五月婷婷激情综合| 亚洲天堂女优在线| 日韩资源网| 97日韩欧美亚洲| 啊啊啊在线观看| 中文字幕乱码人妻二区三区| av日韩在线观看电影| 欧洲熟妇xxXx欧美老妇裸体| 久久久999日本大片| 秋霞男人网| 另类专区加勒比| 国产精品96久久久久久| 先锋激情∨在线视频播放| 一区二区三区精品久久| 97综合在线观看| 97精品久久久久中文字幕| 91麻豆天美国产欧美高潮| 精品九九九九九| 999亚洲国产视频| 丁香六月综合激情| 国产地址二三| 欧美综合亚洲综合| 欧美日韩操操操| 蜜臀久久99精品久久久老,,| 欧美日韩国产人人| 思思热一热婷婷热一热| 大香蕉十区| 夜夜骑日日| 国产精品一区二区久久精品| 无码伊人久久大杳蕉中文无码| 射 色综合| 九一性生活免费视频| 成年人黄色| 99久久久er直播网址| 青娱乐 成人娱乐在线| 99re6国产精品99re| 91精片| 9999免费精彩视频| 亚洲日韩东京热一区| 国产精品香蕉| 天天躁日日躁AAAXX| 精品97久久综合| 日本一二区不卡| 久久久久婷婷| 亚洲久久东京热一二三四五区视频| 国产无码久久高清| av中文字幕在线熟女| 日本天天干天天日一区| 操婢日韩| 一区二区三区日韩欧美| 亚洲激情久久| 亚洲男人综合网| 国产精品4p在线观看| 日本人体九九九九九九| 大香蕉性欧美| 69精品久久久久中文字幕| 欧美91在线+|+欧美| 日本性爱视频一级| 国产视频一区二区在线观看| 国产精品日日摸夜夜添骚逼| 亚洲天堂男人在线| 久久99九九九九6666免费观看软件| 成人性爱美曰韩| 久久亚码| 国产精品久久久久久久黄无码| 人妻 欧美 中文| 2017人人操,人人摸| 情色五月天久久久| 91香蕉视频在线观看免费| 国产传媒1234区| 亚洲人体视频在线观看| 18岁禁 茉莉成人久久| 超碰免费人妻人人| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美欲色| 小日子操bb在线看| 97频视在线| 免费A V在线播放| 蜜桃网熟妇| 91一区二区| 久久人妻| 绑缚麻绳人妻寝取完整版| 欧美一区二区福利在线| 我中文字幕6区| 久久鲁干| 亚洲一二三四区| 夜夜高潮夜夜爽| 蜜乳av一区二区| 熟女露脸激情自拍视频| 九九香蕉网| 五月丁香激情四射| 亚洲97p| 在线国产一区二区av| 久久精品国产亚洲粉嫩| 肥臀熟女福利视频一区二区| 国产极品精品美女视频| 天天干1区2区在线| 亚洲天堂电影精品一区| 日韩偷拍一区二区三区| 超碰综合97在线| 久久思思热| 一级成人性爱| 人妻激情视频| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 天天插天天干| 男女猛烈无遮掩视频免费软件| 老司机午夜福利视频一区二区| 天天插天天操| 亚洲成人精品在线一区| 啊啊啊啊,啊啊好多水| 亚洲欧美大香蕉| 欧美性爱91| 成人性交免费视频| 后入式视频国产自| 96AV精品| 秋霞曰韩R级| 最新无码国产| 久久久女人| 欧美中文狠| 一二三四免费视频| 色噜噜精品一区二区三| 精品人妻一区二区三区四区不卡在| 亚洲无限观看| 后入 亚洲 美女 射| 亚洲无码久久久久久久| 人妻二区| 懂色av一区二区三区天美传媒| 亚洲色图 图片| 久久久久无码| 99精彩视频| 乱伦AVxx| 大香蕉黄色一级片免费看| 搡老女人老91二区| 91男人综合| 东京热熟女亚洲视频网站| 精品人人| 精品丰满人妻一区二区三区免费观| 美國A片| 人妻无一区二区三区| 伊人超碰97| 99re在线视频这里只有精品| 亚洲情色在线| 综合日韩激情另类图片| 成年女人一区| 伊人久久88国产女| 婷婷九月色| 乱伦熟女区| 丝袜美腿制服人妻二区中文字幕| 久久久久久电影| 国产精品4p在线观看| 麻豆精品一区二区三区四区免费观看| 91操熟女视频| 视频二区美腿制服人妻欧美| 骚妻少妇精品性色无码四色A V| 夜夜 中文视频rt| 啊啊啊啊二区好大| 久久久穴999| 看黑丝美女操逼青青网站| 欧美黄色图片| 操人妻逼91| 青青草色情网站视频| 无码视频一区二区| 国产免费久久精品99re韩国| 97在线无精品| 99精品丰满人妻无码| 日本道日本道中文字幕日本道最新日本道在线观看 | 啊啊啊在线看| 精品免费成人久久| 91国产丝袜白虎| 1024精品在线| 老熟女综合| 91色图| 老子午夜伦不卡影院| 免费1级a做爰片观看| 亚洲国产婷婷在线播放| 国岛片视频| 综合一区中亚洲国产成人综合精品| 日本精品第一视频在'| 五月丁香综合啪啪| 97久久久久久久精| 鸥美精品一区二区久久婷婷| 日韩78m视频| 亚洲精品久久一区二区三区蜜桃臀| 人人妻天天做天天爽| 清纯唯美亚洲另类| 日韩肏逼视频| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | av婷婷色网| 免费网色网站| 九九九久| 亚洲麻豆av一区二区| 久久黄色性爱视频| 婷婷五月av| 欧美亚洲影视| 3级毛片一二| 国产强奸乱伦欧美| 超碰成人最新最好看| 九九热视频在线观看| 大香蕉中文aV在线| 国产一区二区在线看| 精品无码久久久久久久杏吧| 亚欧无码在线| 嗯嗯嗯啊啊啊在线免费观看| 无码久| 欧美不在线| 人人妻人射| 日韩偷拍色图| 国产精品一区二区麻豆| 98人妻精品一区二区色欲| 亚洲综合中文字幕有码| 欧美最婬乱婬爆婬性视频 | 综合色图,成人综合网| 狠狠2050在线观看| 欧美超碰97| 欧美人人AAA| 91天天综合网,天天综合网| 精品国产乱码久久久影院| 中国AV美女| 九九在线视频| 熟女91网| 日韩黄片视频试看| 日韩女优中文字幕| 秘书高跟黑色丝袜国产91在线| 国产多人在线观看视频| 999久久久精品国产| 97伦乱| 91东京热男人的天堂| 伊人色综合网| 九热超碰| 狼狼色丁香久久婷婷综合五月| 色97| 97超碰9| 亚洲第一在线视频| 色老久久| 青椒国产97在线熟女| 欧美亚综合色图| 精品九区| 五月激情天| 欧美日本不卡在线| 国模精品娜娜一二三区| 91女优在线观看| 婷婷去俺也去六月色| 91伊人影视综合| 国产偷拍网站| 黑丝91视频| 人人操人人摸人人骑| 亚洲丝袜色| 97超碰香蕉| 日本三级韩国三级99| 天天干夜夜鈤| 色婷婷电影网| 91爱| 欧美性天天影视| 蜜臀视频网站| 美女啊啊啊啊啊啊啊| 91日韩| 爆乳免费黄网站| 17c嫩草51久久91嫩草| 久久国产三区| 极品销魂美女一区二区| 久草久热| 手机午夜电影神马久久| 美女的肌被草喷水视频| 伊人网青青| 久久久久网站-538在线视频-欧美永久乱码 | 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 酒色综合网| http://qxhbdz.com| 91久久青青草原精品| 欧亚乱色熟一区二区三四区| 国产强奸乱伦无码视频| 99啪啪| 乱伦av麻豆| 日韩射图| 欧美日韩国产中文超碰| 综合久久久久久久久91| 好舒服视频| 国产精品一区二区 尿失禁| 亚州精品人妻一二三区| 最新欧洲欧美日本激情网站| 国产内射爽爽大片| 美腿丝袜高跟网免费视频免费视频| 欧美综合娱乐久久| 蜜臀一二三区| 97久久精品亚洲| 国产精品无码成人精品| 天堂综合| 中文字幕一区av| 摸奶性爱视频网站在线免费播放| 97视频www| 在线日韩视频| 欧美熟妇成人一区二区| 91网站在线播放| 国产av尤物| 国内偷自视频区视频综合| 91激情国产| 亚洲精品一区二区三区新线路| 亚洲图片色图欧美另类| 亚洲欧美激情小说| 欧美人妻二区三区| 国产亚洲禁久一区二区 | 人妻熟女字幕一区二区| 啪啪啪东京| 欧美BT 亚洲色图| 日日夜夜骚| 日韩成人大片在线观看| 在线αⅴ| 怡红院久久老司机| 日日夜夜青青草母狗| 亚洲中文字幕网| 日韩精品在线视频在线观看| 国产日本顶级一区二区三区| 今日头条成人一区二区三区四虎精品| 十八禁视频网站| 性暴力欧美猛交在线直播| 欧美情色亚洲| 2026国产精品视频| 中文字幕精品丝袜| 婷婷久久五月| 岛国视频免费在线观看| www.av家庭乱伦| 麻豆色约约| 久久一本大香蕉| 人人爽夜夜操| 超踫中文字幕| 欧美国产伊人久久久久| 牛牛AV人人夜夜澡人人爽| 亚洲天堂另类| 天天操天天7| 亚洲97p| 伊人色综合超碰| 激情五月综合网| 日本色色色视频| A级片日韩欧美国产欧美视频精选观看| 超碰97综合网| 九七人妻在线| 96国产污污污丝袜| 欧中日成人免费影视| 天天狠| 激情综合五月| 日韩女模中文造逼| 日韩午夜精品一区二区三区电影| 呦呦影院| 色呦呦国产精品免费看| …亚洲黄色厕厕女女在线播…| 日韩无码服务区| 好爽要喷了| 曰韩少妇无码| 美女丝袜激情小说| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 丰满人妻av一区二区三区| 很黄很色的视频在线观看| 国产精品视频自拍在线| 欧美18 在线观看| 久久精品午夜国产亚洲AV无码| 色在线视频导航| 国产性爱强奸乱伦大全| 偷拍精品一区二区三区| 精品91| 日语五十路和六十路亚洲国产精品| 91久久青青草原精品| 亚洲无线观看久久| 影音先锋每日最新资源在线观看| 国产91av在线播放| 高清一区AV无码| 久久久久久久国产视频| 成人乱码一区二区三少妇| 国产强奸超碰AV| 韩国黄色片精品久久久| 五月丁香综合激情| 青娱乐亚洲热| 久久綜合很很很| 九九九九九九九九九五码| 色哟哟1区2区| 尤物视频新赏网鲜网色诱网| 久久九九97| 1769成人国产精品视频| 狠狠色伊人亚洲综合网站色| 一级黄色视频网| 囯产操逼片| 涩涩五月天| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 97 国产精品| 久九九九| 18禁免费视频| 九九香蕉网| 欧美日韩国第一区| 999九九精品| 国产sv美女内射| 97超碰磁| 国产视频一区二区免费| 亚洲图片欧美91N| 国产25页| 易易A毛视频| 99视频这有这里有精品| 成人日本视频人妻在线| 久久熟女人| 夜夜免费视频| 亚洲男人电影天堂| 日本激情免费大片| 国产后入精品| 99精品久久久久久| 亚洲色图欧美色图另类图片| 搡老女人老妇女AAA一VU麻豆| 精品久久99| 激情欧美日韩女同久久| 91日韩网站| 无码免费在线观看黄色片| 国产大学生高潮在线播放| 玖玖97综合| 青青操视频在线| 国产精品999aaa| 全球成人中文在线| 精品无人区麻豆乱码久久久| 无码二级三级| 超碰成人公开| 手机不卡视频不卡在线一二三区| 18禁久久| 丁香六月激情| 熟妇高潮一区二区免费视频| 久久久久96| 黄色大片免费在线| 日韩免费人妻色情网站| 91在线丝袜| 日韩性爱1级片视频| 黄页大片在线观看| 欧美亚州综合网图片| 秋霞久久亚洲精品成人| 99自拍B亚洲 | 巨爆乳一区二区爆乳区| 人摸人人操人| 久久国产熟女影院| 日韩免费簧片| 久久麻豆一区二区| 欧美综合色综合| 亚洲图片婷婷五月天| 老熟女91av| 伊人九九| 国产一区二区三区影片| 久久人妇| 国产中文字幕在线点播| 男人下部插入女人下部| 欧美日韩另类激情图片| 国产一区二区三区影片| 亚洲综合一| 日本熟女免费視颖| 青青草精玖玖69精品| 欧美综合自拍| 超碰97起碰| 黄页av| 九九色精品| 91超碰在线观看| 日韩免费看黄片| 久久久久国产精品人妻aⅴ天堂| 国产乱色国产精品免费视| 欧美一二三区四五区| 放黄片放3级黄片没穿衣服| 青青草日韩无码| 中文字幕精品码亚洲| 欧洲色| 青青青在线高清视频在线一二三四区 | www…国产操逼| 综合大香蕉美。| 欧美日韩国内不卡| 日韩欧美~中文字| 色999;丁香五月| 欧美色干| 射 色综合| 97超碰人人模人人拍人人| 台湾佬中文娱乐自偷自拍| 乱性AV| 绑缚麻绳人妻寝取完整版| 午夜视频好爽啊| 91女优在线观看| 91人妻Pr| 玖玖爱影院| 成人网欧美风情| 久久精品国产亚洲AV高清演员表| 美女AV一区二区| 无码高清专| 91热| 精品网站9999| 国产精品亚洲天堂网址| 色哟哟精品1精品2| 思思热在线观看| 九九综合九九综合| 蜜臀久久久国产| 日本国产成人亚洲精品无码| 亚洲男人在线观看天堂| 偷拍 精品 另类 四区| 国产一区二区在线播放量| 色偷综合| 天天日日夜夜| 国产又色又粗又黄又爽| 久久偷偷色综合蜜桃| 人妻熟女午夜精品在线| 免费视频在线一区二区不卡| 欧美韩日精品资源| 九九色综合| 国模无码人体一区二区三| 大香蕉92| 天堂av2019| av网页一区二区三区| 日韩在线电影| 最新av在线| 五月综合激情| 欧美一级黄片视频在线| 夜夜欧美| 天天内射| 天天综合~91入口| 美女尤物人人操| 91美女视频在线观看| 91nbbbbbb| 天天影视综合网欧美精品| 欧美大香蕉同搞| 久久免费少妇| 一摸二插三插| 国产久久日韩网站导航| 成人片在线播放| 日本性爱欧美性爱| 美女91在线| 果冻传媒一区二区三区| 性色高清在线| 五月激情综合网| 亚洲精品一区二区三区在线播放| 大肥女高潮bbwbbwhd视频| 国产熟码AV| 亚州综合AⅤ| 欧美另类色| 婷婷五月成人| 日本女优在线视频福利| 青青青国产手线观看视频2| 欧洲精品二区| 97亚洲国产| 国产丰满少妇久久久精品影院| 久久一二三四五六七八九区区区 | 九九无码视频| 老熟妇一区二区三区…| 麻豆国产97在线| 天天看片青娱乐| 国产欧美日韩在线不卡第一页| 欧美三级一级| 欧美日韩91| 强奸乱伦动态污图免费 | 色999人与兽| 九热视频| 亚洲AV成人无码一区二区三区在线观看| 国产二区三区免费视频| 国产精品自拍视频| 亚洲欧美97√| 大香蕉日韩欧美| 九九九九免费视频| 蘋果手機免費看成人Av| 台湾大香蕉99热| 亚洲精品欧美专业| 国产日韩精品一区二区三区| 猛交交| 九月丁香婷婷| 婷婷香蕉| 婷婷五月天小说| 蜜臀少妇一区二区| 青青草中文-久久青草精品一区二区三| 中国探花熟女| 亚洲国产欧美中日韩成人综合视频| 影音先锋视频在线| 99re公开精品免费视频 | 日本高清一本二本免费不卡| 操曰本熟女| 呻吟 欧美 日本 中出| 美女让帅哥通她小鸡鸡| 亚洲精品久久一区二区三区蜜桃臀| 精品乱码久久久久| 麻豆精品三区视频| 啊啊啊好疼| 无码九九| 青青草在线视频播放器| 香港久久久| 91色花堂| 9色国产精品一区粉嫩| 亚洲黄片免费在线播放| A一区片| 曰本人妻人人澡人人夹| 日韩亚洲Av人人夜夜澡人人爽| 人人操人人大香蕉| 99视频在线|