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

ARTICLE DETAIL

資訊詳情

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

STM32F407 HAL庫(kù)FLASH讀寫(xiě)全解析:從原理到避坑實(shí)踐

STM32F407 HAL庫(kù)FLASH讀寫(xiě)全解析:從原理到避坑實(shí)踐 1. 項(xiàng)目緣起為什么需要手動(dòng)操作STM32F407的FLASH最近在做一個(gè)基于STM32F407VET6的數(shù)據(jù)采集項(xiàng)目需要將設(shè)備運(yùn)行過(guò)程中的關(guān)鍵參數(shù)比如校準(zhǔn)系數(shù)、運(yùn)行時(shí)間、故障記錄等保存下來(lái)即使設(shè)備斷電重啟也不能丟失。最開(kāi)始我圖省事直接用了芯片內(nèi)部的備份寄存器BKP但很快就發(fā)現(xiàn)容量太小根本不夠用。然后我又考慮外掛一個(gè)EEPROM或者鐵電存儲(chǔ)器但這會(huì)增加BOM成本和PCB面積對(duì)于成本敏感的項(xiàng)目來(lái)說(shuō)不太劃算。這時(shí)候自然就想到了STM32芯片內(nèi)部自帶的FLASH存儲(chǔ)器。這顆STM32F407VET6有高達(dá)512KB的主存儲(chǔ)區(qū)Main Flash Memory除了存放程序代碼剩下的空間完全可以用來(lái)存儲(chǔ)用戶(hù)數(shù)據(jù)。這聽(tīng)起來(lái)是個(gè)完美的方案零成本、不占引腳、容量足夠。但當(dāng)我真正開(kāi)始動(dòng)手時(shí)才發(fā)現(xiàn)HAL庫(kù)里關(guān)于FLASH讀寫(xiě)的坑遠(yuǎn)比想象中要多。網(wǎng)上一搜滿(mǎn)屏都是“Flash Download Failed”、“Operation Timeout”之類(lèi)的錯(cuò)誤很多教程也只是貼幾行代碼背后的原理和注意事項(xiàng)講得不清不楚。所以我決定結(jié)合自己的踩坑經(jīng)歷把STM32F407VET6使用HAL庫(kù)進(jìn)行FLASH讀寫(xiě)的完整流程、底層原理和那些“手冊(cè)上不會(huì)寫(xiě)”的細(xì)節(jié)徹底梳理一遍。無(wú)論你是想保存參數(shù)還是實(shí)現(xiàn)IAP在應(yīng)用編程功能這篇文章都能幫你避開(kāi)我走過(guò)的彎路。2. 核心概念厘清STM32F407的存儲(chǔ)結(jié)構(gòu)與FLASH特性在動(dòng)手寫(xiě)代碼之前我們必須先搞清楚操作對(duì)象。很多操作失敗根源在于對(duì)FLASH的物理特性和內(nèi)存布局理解不透。2.1 內(nèi)存地圖與扇區(qū)劃分STM32F407VET6的FLASH主存儲(chǔ)區(qū)地址從0x0800 0000開(kāi)始大小為512KB。這512KB并不是一整塊而是被劃分成了多個(gè)扇區(qū)Sector每個(gè)扇區(qū)的大小不同。這是FLASH操作中最關(guān)鍵的一點(diǎn)因?yàn)椴脸僮鞅仨氁陨葏^(qū)為單位進(jìn)行而編程寫(xiě)入則可以按更小的粒度字節(jié)、半字、字進(jìn)行。對(duì)于STM32F407其扇區(qū)劃分如下表所示這是你必須背下來(lái)或者隨時(shí)能查到的信息扇區(qū)編號(hào)扇區(qū)地址范圍大小備注Sector 00x0800 0000 - 0x0800 3FFF16 KB通常存放啟動(dòng)代碼、中斷向量表Sector 10x0800 4000 - 0x0800 7FFF16 KBSector 20x0800 8000 - 0x0800 BFFF16 KBSector 30x0800 C000 - 0x0800 FFFF16 KBSector 40x0801 0000 - 0x0801 FFFF64 KBSector 50x0802 0000 - 0x0803 FFFF128 KBSector 60x0804 0000 - 0x0805 FFFF128 KBSector 70x0806 0000 - 0x0807 FFFF128 KBSTM32F407VET6的最后一個(gè)扇區(qū)為什么扇區(qū)大小不一樣這是由FLASH的物理結(jié)構(gòu)決定的。不同大小的扇區(qū)在擦除時(shí)間、耐用性上可能略有差異。在設(shè)計(jì)存儲(chǔ)方案時(shí)我們通常會(huì)選擇靠后的、容量較大的扇區(qū)如Sector 5, 6, 7來(lái)存放用戶(hù)數(shù)據(jù)以避免影響前部存放的程序代碼。2.2 FLASH與RAM、ROM的本質(zhì)區(qū)別在熱搜詞里看到了“rom和ram,flash,sram的區(qū)別”這里簡(jiǎn)單提一下這對(duì)理解操作限制很重要RAM (如SRAM)隨機(jī)存取存儲(chǔ)器可隨時(shí)讀寫(xiě)速度快但斷電后數(shù)據(jù)丟失。STM32F407有192KB的SRAM。ROM只讀存儲(chǔ)器在MCU語(yǔ)境下通常指程序存儲(chǔ)器即FLASH。FLASH一種非易失性存儲(chǔ)器斷電數(shù)據(jù)不丟失。但其寫(xiě)入編程和擦除有嚴(yán)格限制寫(xiě)前必擦FLASH的位只能從1變成0。如果想把0變成1必須進(jìn)行扇區(qū)擦除操作將整個(gè)扇區(qū)恢復(fù)為全10xFF狀態(tài)。擦除單位大最小擦除單位是一個(gè)扇區(qū)如上表所示至少16KB。你不能只擦除一個(gè)字節(jié)。編程單位小寫(xiě)入時(shí)可以按字節(jié)、半字16位、字32位或雙字64位進(jìn)行但必須對(duì)齊到相應(yīng)的內(nèi)存地址例如字寫(xiě)入地址必須是4的倍數(shù)。壽命有限FLASH有擦寫(xiě)次數(shù)限制STM32F407的典型值是1萬(wàn)次。頻繁擦寫(xiě)同一區(qū)域會(huì)導(dǎo)致該區(qū)域提前損壞。2.3 HAL庫(kù)的FLASH驅(qū)動(dòng)模型ST的HAL庫(kù)提供了stm32f4xx_hal_flash.c/.h和stm32f4xx_hal_flash_ex.c/.h兩個(gè)文件來(lái)操作FLASH。其核心操作封裝成了幾個(gè)關(guān)鍵函數(shù)擦除HAL_FLASHEx_Erase()用于擦除一個(gè)或多個(gè)扇區(qū)。編程HAL_FLASH_Program()用于寫(xiě)入數(shù)據(jù)你可以選擇編程寬度FLASH_TYPEPROGRAM_BYTE,FLASH_TYPEPROGRAM_HALFWORD,FLASH_TYPEPROGRAM_WORD,FLASH_TYPEPROGRAM_DOUBLEWORD。解鎖/上鎖HAL_FLASH_Unlock()和HAL_FLASH_Lock()。在對(duì)FLASH進(jìn)行寫(xiě)或擦除操作前必須解鎖操作完成后建議重新上鎖以防止誤操作。狀態(tài)獲取與清除HAL_FLASH_GetError()用于獲取操作錯(cuò)誤標(biāo)志這在調(diào)試時(shí)至關(guān)重要。HAL庫(kù)的好處是封裝了底層寄存器操作但壞處是它隱藏了一些細(xì)節(jié)如果不知道這些細(xì)節(jié)就會(huì)遇到各種“玄學(xué)”錯(cuò)誤。3. 實(shí)戰(zhàn)第一步FLASH讀操作與地址規(guī)劃讀操作是最簡(jiǎn)單的因?yàn)镕LASH在正常情況下隨時(shí)可讀。但“讀什么”和“從哪里讀”需要精心設(shè)計(jì)。3.1 如何安全地規(guī)劃數(shù)據(jù)存儲(chǔ)地址你不能隨便選一個(gè)地址就開(kāi)始寫(xiě)。必須確保這個(gè)地址區(qū)域沒(méi)有被你的程序代碼占用。位于FLASH的地址范圍內(nèi)。最好在一個(gè)獨(dú)立的扇區(qū)內(nèi)方便管理。方法一修改鏈接腳本推薦這是最規(guī)范的做法。以Keil MDK為例你需要修改項(xiàng)目的分散加載文件.sct。在LR_IROM1區(qū)域中明確指定程序代碼的結(jié)束地址為數(shù)據(jù)存儲(chǔ)預(yù)留空間。例如如果你的程序代碼大概有200KB你可以讓代碼占用0x0800 0000到0x0803 2000然后從0x0803 2000開(kāi)始也就是Sector 5的起始地址附近作為數(shù)據(jù)區(qū)。方法二手動(dòng)計(jì)算并硬編碼地址快速原型對(duì)于快速測(cè)試你可以直接查看編譯生成的.map文件找到程序代碼的最終大小然后選擇一個(gè)靠后的、確信不會(huì)沖突的扇區(qū)地址。例如直接定義#define DATA_FLASH_SECTOR FLASH_SECTOR_5 #define DATA_FLASH_SECTOR_SIZE (128 * 1024) // 128KB #define DATA_FLASH_START_ADDR 0x08020000 // Sector 5起始地址 #define USER_DATA_ADDR (DATA_FLASH_START_ADDR 0x1000) // 從扇區(qū)內(nèi)部偏移0x1000開(kāi)始存避免擦除邊界問(wèn)題注意USER_DATA_ADDR最好在扇區(qū)內(nèi)有一個(gè)偏移。因?yàn)槿绻銖纳葏^(qū)起始地址0x08020000開(kāi)始存儲(chǔ)將來(lái)擦除這個(gè)扇區(qū)時(shí)你的數(shù)據(jù)就沒(méi)了。稍微偏移一點(diǎn)可以讓你在調(diào)試時(shí)即使誤擦除整個(gè)扇區(qū)也只是丟失數(shù)據(jù)而不會(huì)影響到緊挨著的其他扇區(qū)如果那里有代碼的話。3.2 執(zhí)行讀操作讀操作就是直接指針訪問(wèn)因?yàn)镕LASH內(nèi)存映射到了CPU的地址空間。uint32_t read_data; read_data *(__IO uint32_t*)USER_DATA_ADDR; // 讀取一個(gè)32位數(shù)據(jù)或者讀取一個(gè)結(jié)構(gòu)體typedef struct { uint32_t param1; float param2; uint8_t flag; } UserData_t; UserData_t my_data; memcpy(my_data, (void*)USER_DATA_ADDR, sizeof(UserData_t));這里用memcpy是安全的因?yàn)橹皇亲x取。(__IO uint32_t*)中的__IO是STM32 HAL庫(kù)中定義的宏等同于volatile關(guān)鍵字告訴編譯器不要優(yōu)化對(duì)此地址的訪問(wèn)因?yàn)樗闹悼赡鼙挥布淖冸m然FLASH內(nèi)容不會(huì)變但這是個(gè)好習(xí)慣。4. 實(shí)戰(zhàn)第二步FLASH寫(xiě)編程與擦除操作詳解這是最核心也是最容易出錯(cuò)的部分。請(qǐng)嚴(yán)格按照以下流程操作。4.1 完整操作流程與代碼框架一個(gè)安全的FLASH寫(xiě)入流程必須遵循解鎖 - 擦除如需- 編程 - 上鎖并且每一步都要檢查錯(cuò)誤。HAL_StatusTypeDef Flash_WriteData(uint32_t address, uint64_t data, uint32_t data_width) { HAL_StatusTypeDef status; FLASH_EraseInitTypeDef EraseInitStruct; uint32_t SectorError 0; // 1. 檢查地址是否對(duì)齊根據(jù)編程寬度 if((data_width FLASH_TYPEPROGRAM_WORD (address 0x3)) || (data_width FLASH_TYPEPROGRAM_HALFWORD (address 0x1)) || (data_width FLASH_TYPEPROGRAM_DOUBLEWORD (address 0x7))) { return HAL_ERROR; // 地址未對(duì)齊 } // 2. 解鎖FLASH HAL_FLASH_Unlock(); // 3. 檢查目標(biāo)地址是否需要擦除如果不想全為1 // 注意這是一個(gè)簡(jiǎn)化的檢查實(shí)際應(yīng)檢查你要寫(xiě)入的所有位。 // 如果目標(biāo)地址當(dāng)前值與你想要寫(xiě)入的值在“位與”后不等于你想要的值說(shuō)明需要擦除。 // 為簡(jiǎn)單起見(jiàn)通常我們?cè)趯?xiě)入新一批數(shù)據(jù)前直接擦除整個(gè)扇區(qū)。 // 本例假設(shè)調(diào)用此函數(shù)前已確保扇區(qū)被擦除。 // 4. 執(zhí)行編程操作 status HAL_FLASH_Program(data_width, address, data); if(status ! HAL_OK) { // 編程失敗獲取錯(cuò)誤信息 uint32_t error HAL_FLASH_GetError(); // 這里可以打印或處理錯(cuò)誤例如if(error HAL_FLASH_ERROR_PROGRAM) ... HAL_FLASH_Lock(); // 失敗也要記得上鎖 return status; } // 5. 上鎖FLASH HAL_FLASH_Lock(); return HAL_OK; }4.2 擦除操作的深層解析與避坑指南單獨(dú)把擦除拿出來(lái)講因?yàn)樗匾恕AL_StatusTypeDef Flash_EraseSector(uint32_t sector) { HAL_StatusTypeDef status; FLASH_EraseInitTypeDef EraseInitStruct; uint32_t SectorError 0; // 1. 解鎖 HAL_FLASH_Unlock(); // 2. 配置擦除參數(shù) EraseInitStruct.TypeErase FLASH_TYPEERASE_SECTORS; // 按扇區(qū)擦除 EraseInitStruct.Banks FLASH_BANK_1; // F407只有一個(gè)Bank EraseInitStruct.Sector sector; // 要擦除的扇區(qū)號(hào) EraseInitStruct.NbSectors 1; // 擦除1個(gè)扇區(qū) EraseInitStruct.VoltageRange FLASH_VOLTAGE_RANGE_3; // 2.7V - 3.6V電壓范圍必須正確 // 3. 執(zhí)行擦除 status HAL_FLASHEx_Erase(EraseInitStruct, SectorError); if (status ! HAL_OK) { // 擦除失敗SectorError會(huì)返回是哪個(gè)扇區(qū)出錯(cuò) uint32_t flash_error HAL_FLASH_GetError(); HAL_FLASH_Lock(); return status; } // 4. 驗(yàn)證擦除是否成功可選但推薦 // 簡(jiǎn)單驗(yàn)證讀取擦除區(qū)域的首個(gè)雙字64位看是否為0xFFFFFFFF FFFFFFFF uint64_t *check_addr (uint64_t*) (0x08000000 (sector * 0x20000)); // 簡(jiǎn)化計(jì)算實(shí)際需根據(jù)扇區(qū)表 if(*check_addr ! 0xFFFFFFFFFFFFFFFF) { // 擦除驗(yàn)證失敗 HAL_FLASH_Lock(); return HAL_ERROR; } HAL_FLASH_Lock(); return HAL_OK; }關(guān)鍵避坑點(diǎn)VoltageRange參數(shù)這是新手最容易忽略的地方STM32F4系列FLASH的操作電壓范圍必須正確設(shè)置。對(duì)于主頻在150MHz及以下的F407工作在2.7V-3.6V應(yīng)使用FLASH_VOLTAGE_RANGE_3。如果設(shè)置錯(cuò)誤比如用了FLASH_VOLTAGE_RANGE_1擦除或編程操作會(huì)直接失敗并可能置位HAL_FLASH_ERROR_PROGRAM或HAL_FLASH_ERROR_OPERATION錯(cuò)誤標(biāo)志。擦除期間的中斷FLASH擦除是耗時(shí)操作幾十毫秒。在擦除期間CPU會(huì)暫停執(zhí)行指令即代碼執(zhí)行會(huì)停住直到擦除完成。這意味著你的SysTick定時(shí)器會(huì)“丟時(shí)”導(dǎo)致HAL_Delay不準(zhǔn)RTOS的心跳可能異常。所有中斷都會(huì)被阻塞。如果此時(shí)有通信中斷如UART、SPI發(fā)生數(shù)據(jù)可能會(huì)丟失。解決方案在擦除或編程關(guān)鍵代碼段前后可以考慮關(guān)閉全局中斷__disable_irq()和__enable_irq()但需謹(jǐn)慎評(píng)估對(duì)系統(tǒng)實(shí)時(shí)性的影響。更好的方案是將FLASH操作放在低優(yōu)先級(jí)任務(wù)或空閑鉤子函數(shù)中并確保系統(tǒng)在操作期間處于“安全狀態(tài)”。擦除后的驗(yàn)證雖然HAL庫(kù)函數(shù)返回成功但硬件操作仍有極低概率失敗。對(duì)于關(guān)鍵數(shù)據(jù)在擦除或?qū)懭牒筮M(jìn)行一次讀回驗(yàn)證是良好的工程習(xí)慣。5. 高級(jí)議題數(shù)據(jù)管理、磨損均衡與IAP基礎(chǔ)直接按地址讀寫(xiě)只是基礎(chǔ)要想在實(shí)際項(xiàng)目中可靠使用還需要考慮更多。5.1 數(shù)據(jù)結(jié)構(gòu)與存儲(chǔ)策略你不能像操作數(shù)組一樣隨意寫(xiě)入FLASH。一個(gè)常見(jiàn)的策略是定義固定的數(shù)據(jù)結(jié)構(gòu)并預(yù)留“備份扇區(qū)”。typedef struct __packed { // 使用__packed避免編譯器對(duì)齊填充 uint32_t magic_number; // 魔數(shù)用于標(biāo)識(shí)數(shù)據(jù)塊是否有效例如0xAA55CC33 uint32_t data_version; uint32_t system_up_time; float calibration_factor[10]; uint8_t checksum; // 簡(jiǎn)單的校驗(yàn)和 } SystemParams_t; // 使用兩個(gè)扇區(qū)交替存儲(chǔ) #define PARAMS_SECTOR_A FLASH_SECTOR_6 #define PARAMS_SECTOR_B FLASH_SECTOR_7 #define PARAMS_ADDR_A 0x08040000 // Sector 6起始 #define PARAMS_ADDR_B 0x08060000 // Sector 7起始寫(xiě)入策略每次需要更新參數(shù)時(shí)將新數(shù)據(jù)寫(xiě)入當(dāng)前未使用的扇區(qū)例如上次用了A這次就寫(xiě)B(tài)。寫(xiě)入完成后計(jì)算校驗(yàn)和并更新魔數(shù)。最后擦除舊的扇區(qū)。 這樣做的好處是即使在寫(xiě)入過(guò)程中斷電舊的備份數(shù)據(jù)仍然完好系統(tǒng)重啟后可以根據(jù)魔數(shù)和校驗(yàn)和找到最新的有效數(shù)據(jù)。這被稱(chēng)為“原子性”更新。5.2 磨損均衡初步思考FLASH壽命約1萬(wàn)次如果頻繁更新同一個(gè)地址該處會(huì)很快損壞。上述的“雙扇區(qū)備份”是一種簡(jiǎn)單的磨損均衡。更復(fù)雜的方案可以設(shè)計(jì)一個(gè)小型的類(lèi)文件系統(tǒng)或環(huán)形隊(duì)列將數(shù)據(jù)分散到扇區(qū)內(nèi)更多的頁(yè)上。但對(duì)于大多數(shù)應(yīng)用雙扇區(qū)或四扇區(qū)輪換已經(jīng)足夠。5.3 與IAP的結(jié)合與注意事項(xiàng)IAPIn Application Programming是FLASH操作的典型應(yīng)用即通過(guò)串口、網(wǎng)絡(luò)等方式更新自身程序。其核心思想是將程序分為兩部分Bootloader存放在靠前的扇區(qū)如Sector 0-1和Application存放在后面的扇區(qū)如Sector 2開(kāi)始。Bootloader負(fù)責(zé)接收新固件并調(diào)用FLASH擦寫(xiě)API將其寫(xiě)入Application區(qū)域。跳轉(zhuǎn)到新的Application地址執(zhí)行。在做IAP時(shí)本文提到的所有要點(diǎn)依然適用并且要額外注意中斷向量表重映射Application的中斷向量表需要偏移。在Application的main函數(shù)最開(kāi)始通常需要調(diào)用SCB-VTOR FLASH_BASE | 0x10000;假設(shè)Application從0x08010000開(kāi)始來(lái)重設(shè)向量表偏移。Bootloader與App的FLASH操作沖突Bootloader在擦寫(xiě)App區(qū)域時(shí)絕對(duì)不能執(zhí)行位于正在被擦寫(xiě)區(qū)域的代碼。通常Bootloader需要把自己拷貝到RAM中運(yùn)行或者極其小心地安排代碼流程。使用HAL庫(kù)的FLASH操作函數(shù)時(shí)這些函數(shù)本身必須位于不會(huì)被擦除的內(nèi)存中比如Bootloader所在的扇區(qū)。鏈接腳本的精確配置必須為Bootloader和Application分別編寫(xiě)精確的鏈接腳本嚴(yán)格劃分FLASH和RAM的使用范圍避免重疊。6. 調(diào)試噩夢(mèng)常見(jiàn)錯(cuò)誤分析與解決方法結(jié)合熱搜詞里的“flash download failed”、“operation timeout”等這里集中排坑。6.1 “Flash Download Failed - Target DLL has been cancelled” / “Cortex-M3/M4”這個(gè)錯(cuò)誤通常發(fā)生在使用JTAG/SWD下載器如ST-Link通過(guò)IDEKeil, IAR下載程序時(shí)與我們的HAL庫(kù)FLASH操作無(wú)直接關(guān)系。但它可能間接相關(guān)。根本原因調(diào)試器DLL與目標(biāo)芯片的通信被意外中斷。觸發(fā)場(chǎng)景你的程序里包含了FLASH擦寫(xiě)代碼并且沒(méi)有正確解鎖/上鎖導(dǎo)致芯片的FLASH接口處于一種不穩(wěn)定或受保護(hù)的狀態(tài)調(diào)試器無(wú)法正常訪問(wèn)。你修改了芯片的選項(xiàng)字節(jié)Option Bytes特別是讀保護(hù)RDP等級(jí)導(dǎo)致調(diào)試接口被禁用。硬件連接不穩(wěn)定電源噪聲大。解決方法檢查代碼確保每次FLASH操作后都執(zhí)行了HAL_FLASH_Lock()。如果懷疑FLASH被鎖嘗試完全斷電重啟板子和調(diào)試器然后使用“擦除全片”的功能再下載。使用ST官方的“STM32CubeProgrammer”工具連接時(shí)選擇“Under Reset”模式往往能解決頑固的鎖死問(wèn)題。檢查BOOT0/BOOT1引腳確保芯片處于從主FLASH啟動(dòng)的模式。6.2 “Operation Timeout” / “Flash Timeout”這個(gè)錯(cuò)誤發(fā)生在運(yùn)行時(shí)是你的HAL庫(kù)FLASH操作函數(shù)返回了超時(shí)錯(cuò)誤。原因分析HAL_FLASH_Program或HAL_FLASHEx_Erase函數(shù)內(nèi)部在啟動(dòng)操作后會(huì)等待一個(gè)硬件標(biāo)志位FLASH_FLAG_BSY清除。如果等待時(shí)間超過(guò)了FLASH_TIMEOUT_VALUE在stm32f4xx_hal_flash.h中定義默認(rèn)是50000就會(huì)返回超時(shí)。為什么超時(shí)電壓范圍VoltageRange設(shè)置錯(cuò)誤如前所述這是首要懷疑對(duì)象。操作了受保護(hù)的扇區(qū)你嘗試擦寫(xiě)的前面幾個(gè)扇區(qū)比如Sector 0可能存放著正在運(yùn)行的代碼。擦除自身會(huì)導(dǎo)致不可預(yù)知的行為并超時(shí)。永遠(yuǎn)不要擦除當(dāng)前正在執(zhí)行代碼所在的扇區(qū)FLASH未解鎖雖然HAL函數(shù)會(huì)檢查但確保你先調(diào)用了HAL_FLASH_Unlock()。硬件故障FLASH存儲(chǔ)器物理?yè)p壞罕見(jiàn)。排查步驟單步調(diào)試在調(diào)用擦寫(xiě)函數(shù)前檢查傳入的VoltageRange、Sector等參數(shù)是否正確。檢查HAL_FLASH_GetError()返回的具體錯(cuò)誤碼它能提供更精確的線索如寫(xiě)保護(hù)錯(cuò)誤、編程對(duì)齊錯(cuò)誤等。確保你的操作地址是合法的FLASH地址并且是空閑的。6.3 數(shù)據(jù)寫(xiě)入后讀出來(lái)不對(duì)地址不對(duì)齊這是最常見(jiàn)的原因。試圖在地址0x08020001寫(xiě)入一個(gè)32位字FLASH_TYPEPROGRAM_WORD會(huì)導(dǎo)致失敗。請(qǐng)使用FLASH_TYPEPROGRAM_BYTE或確保地址4字節(jié)對(duì)齊。未擦除就寫(xiě)入FLASH位只能從1變0。如果你要寫(xiě)入的數(shù)據(jù)位是1而對(duì)應(yīng)FLASH位置已經(jīng)是0那么寫(xiě)入后該位仍然是0。例如FLASH原有值是0xFFFF FFFE最后一位是0你想寫(xiě)入0xFFFF FFFF結(jié)果是0xFFFF FFFE因?yàn)?無(wú)法變成1。務(wù)必確保目標(biāo)區(qū)域在寫(xiě)入前已被擦除成全0xFF狀態(tài)。數(shù)據(jù)類(lèi)型與編程寬度不匹配如果你用一個(gè)uint8_t變量卻用FLASH_TYPEPROGRAM_WORD模式去編程HAL函數(shù)會(huì)把你變量地址開(kāi)始的4個(gè)字節(jié)可能包含其他無(wú)關(guān)數(shù)據(jù)一起寫(xiě)入FLASH造成混亂。確保你傳遞給HAL_FLASH_Program的Data參數(shù)的類(lèi)型和大小與TypeProgram匹配。6.4 操作FLASH后系統(tǒng)異?;蛩罊C(jī)中斷被阻塞如前所述FLASH操作期間CPU停頓。如果此時(shí)有嚴(yán)格定時(shí)要求的系統(tǒng)如USB、以太網(wǎng)或看門(mén)狗會(huì)導(dǎo)致系統(tǒng)崩潰。解決方案是在FLASH操作期間臨時(shí)提升相關(guān)中斷的優(yōu)先級(jí)或?qū)LASH操作放在系統(tǒng)空閑時(shí)進(jìn)行并考慮暫時(shí)禁用看門(mén)狗。代碼緩存與預(yù)取STM32F4有指令緩存I-Cache和數(shù)據(jù)緩存D-Cache。當(dāng)你修改了FLASH內(nèi)容特別是程序代碼區(qū)如IAP時(shí)需要無(wú)效化緩存否則CPU可能讀到舊的指令。相關(guān)函數(shù)是SCB_InvalidateICache()和SCB_InvalidateDCache()。對(duì)于只操作數(shù)據(jù)區(qū)的情況通常問(wèn)題不大但知道這個(gè)機(jī)制很重要。最后也是最關(guān)鍵的一點(diǎn)在開(kāi)發(fā)階段務(wù)必先在一個(gè)獨(dú)立的、遠(yuǎn)離你程序代碼的扇區(qū)比如最后一個(gè)扇區(qū)進(jìn)行FLASH讀寫(xiě)測(cè)試。準(zhǔn)備好一個(gè)能通過(guò)串口打印調(diào)試信息的環(huán)境把每一步的返回狀態(tài)、錯(cuò)誤碼、操作前后的數(shù)據(jù)都打印出來(lái)。FLASH操作無(wú)小事一次錯(cuò)誤的擦除可能就意味著你需要重新下載整個(gè)程序。耐心、細(xì)致地驗(yàn)證每個(gè)步驟才能讓你的數(shù)據(jù)在芯片內(nèi)部安然無(wú)恙。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产农村妇女精品| 18岁禁 茉莉成人久久| 狠狠穞A片一區二區三區| 天天添天天干电影| 精品十三区| 绑缚麻绳人妻寝取完整版| 亚州色图欧美| 东北女人高潮视频| 成人三级片一区二区三区视频| 麻豆天美AV传媒第一页| 亚洲AV麻豆Aⅴ无码电影一| 国产高清26uuu| 婬女免费一二三区A片| 91色色色| 97操97色| 久久精品28| 99亚洲国产精品色一区二区三区| 激情五月天网站| 亚洲不卡不卡中文字幕不卡 | 久悠悠av| 秋霞福利网| 欧美91网| 在线日韩精品一区二区三区| 欧美系列在线一区二区| 视频在线观看一二三区| 久久久久深夜无码| 日本潮催一卡操| 色999五月色| 亚洲自拍欧美国产首页网曝| 国产区在线| 人人摸.人人色| 超碰人人色| 啊啊啊好湿久久| 熟女熟妇一区二区三区视频| 91亚洲人| 国产精品久久久久久久毛片1| 成人在线日韩| 国产精品久久久久久久免牛肉蒲团| 9I1性色影院| 狠狠色伊人亚洲综合网站色 | 婷婷情色综合网| 亚洲黄色网址| 亚洲成人黄色在线观看| 亚洲天堂,男人| 夜夜福利| 色在线视频导航| 日韩av影片在线观看| 久久天天摸| 亚洲青青草| 欧美片第一页| 久久久九97| 亚欧洲一区二区视频| 大香蕉中文| 亚欧高清在线| 国产第二页| 91色拍| 亚洲黄色a级片| 亚洲国成人情色好看电影| 综合一区二区影视| 国产精品久久久久久久电影渣男| 久久黄黄| 国产九九九九九九| 亚洲αv一区二区三区| 国内黄色精品| 老女人综合网| 日韩人妻大香蕉| 欧美在线|亚洲| 熟女这里只有精品6| 久久亚洲AV无码专区首页| 熟妇女伦乱视频| 中文字幕日本久久| 九九九九精品九九九九| 国产后入清纯| 乱老女人一区二区视频| 美女操逼A A| 吉川爱美亚洲二区在线 | 天天色香欲综合网| 内射老妇BBWX0C0CK| 国产av色网| 五月丁香啪| 三级日本一区二区三区| 土豪酒店各种姿势玩弄极品幼稚| 最新AVzaixian| 久久久亚洲欧美综合| 97精品一区二区视频在线观看| 免费视频无码| 亚欧日韩成人| 亚洲国产av中文字幕久久| 亚洲素人综合| 亚洲情色第一页| 国产一级高跟丝袜| 快灬快灬 一下爽蜜桃在线观看 | 88在线一区二区三区| 精品无码久久久| 激情综合网五月婷婷五月天| 欧美特大AA级黄片| 99无码狠狠久久| 精品人妻高清麻豆av| 丰满人妻一区二区三区在线| 亚洲婷婷五月天| 91人妻最真实刺激绿帽| www欧美91| 国产成人精品午夜福利| 黑人中出21连凳花野真衣| 国产a级午夜毛片| 秋霞网无码| 天美传媒精品久久视频| 色大香蕉97N| 欧美性生活综合| 欧美18 在线观看| 天天综合91入口| 日韩中文字幕2020| 精品国产72| 激情六月婷婷| 国产精品无码论坛| 国产传媒操逼视频| 在线观看一级α片刺激高潮视频| 麻豆成人影音在线| 日韩专区久久久| 亚洲熟女乱综合一区二区三区| 999久久久九| 很很干很很操| 99精品视频在线观看| 欧美黄片欧美黄片xxx| 国产福利电影| 少妇高潮流水av免费| 大香蕉中文在线| 激情婷婷黑人91| 综合性视频99| 秋霞鲁丝午夜无码一区二区三| 日本天天吊| 五月丁香综合网| 欧美日韩性爱操大逼| 亚洲av综合色区图片亚洲| 国产性爱强奸乱伦大全| 亚洲97| 久久久夜夜夜| 在线中文字幕视频| 精品久久久久久无码| 亚洲AV无码乱码| 青青草一区二区高清无码视频| 五十路成人在线视频二区三区| 久久人妻少妇| 亚洲中文字幕av| 99视频自拍区| 囯产精品久久久久久久久久二区三区 | 黄久在线| 97欧美日韩精品| 伊人网在线点播| 国产嫩草精品A88AV| 男人的天堂com| 97 国产精品| 欧美色交| 中文乱码字幕观看视频| 东京热天堂网| 亚洲一区中文精品| 天天躁日日躁xxxxx| 国产黄片精品在线| 日本岛国黄色网址| 男人的天堂2010| 精品夜夜澡人妻无码| 五月天丁香欧洲日韩| 乱日视频| 91精品免费| 丝袜狂射91| 国产熟码AV| 98超碰欧美| 日韩一级二级三级在线不卡观看完整| wwwxxx日本爽| 天天流夜夜操| 中文字幕精品乱码| 九九九九精品| 正在播放国产精品一区| 欧美很很操视频| 丁香五月社区| {男男暴菊gay无套网站| 韩国一级做A片免费的| 天天摸,夜夜摸| 日产国产精品中文久久婷婷| 亚洲,欧美,综合网| 99精品丰满人妻无| 日韩一级二级在线| 欧美一级国产一级| 午夜天堂精品久久久久91| 天综合网| 婷婷色一区| 另类一区| 亚洲欧美日韩精品久| 欧美日韩不卡传媒| 亚洲天天精品| 伦激情人妻另类人妻| 色约约一区=区三区| 欧美国产精品久久九九| 日韩av一级黄片| 青青操青娱乐| 日日干夜夜欢| 蜜汁欧美| 一区二区三区黄色片a| 婬女免费一二三区A片| 五月天黄色av| 大香蕉一人| 国产真乱mangent| 色综合久| 综合视频91| 五十路三区在线| 操操吧亚洲乱伦视频| 99热成人| 日本精品一区二区三| 丁香婷婷五月| 黄色网址久久精品欧美喷水| 精品网站99999| 巨乳特殊服务按摩| 亚洲人妻中文高清| 日韩啪啪啪视频| 婷婷国产精品一区二区| 91社区拍啪人妻| 久久免费中文字幕在线观看| 久久啊啊啊| 婷婷视频在线免费观看| 99re在线精品78| 欧美日韩午夜精品一区二区三区| 亚洲色婷婷| 九九九九九九九九九九九蜜桃| 国产h小视频在线观看免费| 一区二区三区激情在线观看| 日日日日做夜夜夜夜做无码97| 亚洲精品乱码线路中文字幕| 密臀在线免费观看| 亚洲97在线| 日韩av乱伦| 欧美色色人| 秋霞成人做爱| 天天做天天爱天天爽AV| 91精片| 1024日韩| 国产精品久久泡妞网站| 日韩性爱高清免费视频| 天天日美女的B| 911av网站免费观看| 日本天堂网| 久久精品熟妇丰满人妻99| 久久久国产三级黄色片| 春色91| 亚洲成av人片色午夜乱码| 欧美洲精品一级| Blackedraw视频一区二区| 亚洲色图国产另类| 一区二区三区高清天码| 狠狠2050在线观看| 在线视频免费播放一区| 99在线观看视频在线高清| JIZZJIZZ国产精品喷水| 欧美第五页| 韩国黄色片精品久久久| 男人综合网| 狠狠操综合| 久久久夜夜夜| 一区中文字幕二区日韩| 国产一区自拍欧美日韩| 激情小说亚洲图片| 日韩欧美俄罗斯A片| 我中文字幕6区| 无码精品久久久天天影视| 在线亚洲精品久久久| 超碰日韩人妻| 久久超碰大香蕉| 亚洲导航深夜福利| 97超碰免费人人性爱| 日韩性爱毛片操骚逼| 91精品国久久久久久无码| 日本免费专区| 日韩91网| 高清不卡视频| 凹凸视频在线观看伊人| 男人天堂最新手机版在线青青草| 一道本久久棕合爱| 国产一区二区三区免费视频在性观看| 骚逼自拍99| 五月婷婷基地| 无码不卡亚洲成?人片| 亚洲日本韩国极品一区二区| 最新中文字幕精品在线| 91色欧美| 五月激情小说| 乱伦熟女专区| 综合天天。| 狠狠色丁香| 96精品久久| 久久最新视频免费观看| 亚洲免费人妻在| 欧美+日产+中文| 嫩草 人人网精品| 亚洲精品aa久久伊人| 美女诱惑久久| 亚洲国产蜜臀系列在线观看| 亚洲色图大香| 人摸人人操人| 视频不卡中文字幕| 青青草十区九区爱夜| 91动漫操逼视频| 人妻精品一区二区| 久久精品一区| 超碰人人干| 欧美性爱日韩高清| 无码九九| 18一区二区三区| 欧美亚洲另类在线蜜桃| 狠狠操使劲操| 人妻丰满熟妇av无码区蜜桃| 亚洲宗合电影| 天天插天天插| 人人摸人人叼| 操逼日批| 国产精品熟女一区二区三区| 国产久9| 大香蕉综合久久| 婷婷亚洲五月***久久| 一起草三级AV电影在线观看| 欧美se综合| 黑人精品久久97| 日韩免费人妻色情网站| 成人短视频在线观看| 国产精品久久久无码aV去| 国产综合久| 欧美性天天影院| 久热伊人99re| 丁香五月自拍| 欧美性巨大╳╳╳╳╳高跟鞋| 亚洲欧美综合| 男人天堂新| 999久久芭蕾| 99热这里只有是精品10| 亚洲男人的天堂V| 发朗少妇买婬全视频中文| A片大香蕉在线| 超碰久超碰久| 婷婷五月天色网| 青青草乱入乱欲视频在线观看| 亚洲欧美日韩综合在线尤物 | 日日摸天天爽夜夜欢| 99国产精品自在自在| 国产亚洲欧洲在线观看| 116美女午夜| 日本人体九九九九九九| 色婷婷综合网| 超碰在线99| 性色av婷婷久久一区二区点复制| 久久社区一区二区三区| 青娱乐欧美激情一区二区 | 一区在线精品中文字幕| 97超碰中文在线| 欧美碰碰综合色| 天天摸天天操视频| 69精品| 青草精品视频日本久久久久网站在线| 91国内外在线| 乱操9999| 99re在线视频这里只有精品| 亚洲AV不卡在线观看| 欧美激情亚洲情色| 尤物视频偷拍免费| 97操在线| 中文字幕十五区| 欧美久久婷婷| 色网在线| 日韩不卡一二三四| 久久精品视| 91劲爆| 国产热av| 97鸡把在线视频| 亚洲交性| 92久久| 一级一性爱免费视频| 日韩操啪| 99国产精品视频尤物| 亚洲免费成人在线高清无码视频 | 午夜寂寞欧美| 五月丁香狠狠爱| 亚洲图片 91| 欧美少妇第一页| 日韩 欧美 校园一区| 最新av在线| 色婷婷一区二区三区久久午夜| 少妇熟女视频一二三区| 91网站18+| 国产97色在线| 69XX一中文字幕人妻91| 天天视频综合在线观看视频| 亚洲成人在线播放| 97内射偷拍| 亚洲在钱| 97超碰久久| 在线有码中文字幕| 亚洲成人ab| 欧美日韩在线视频网站| 免费精品人妻一区二区三| 日韩乱插| 宅男91视频在线播放| 18岁禁 茉莉成人久久| 九一国产精品| 天天综合官网| 欧美性爱日韩性爱| 色老汉玖玖爱| 亚洲成人妻日韩在线| 国产日本顶级一区二区三区| 亚洲色阁| 美女写真| 97操97色| 欧美精品不卡一二三四在线91| 2017天天操| 欧美日日操| 五月天激情四射| 九九九九88| 亚洲极品| 黑人美精品 A片| 337p大胆噜噜噜噜噜91Av| 婷婷久久综合久| 久久精品72| 色约约一区=区三区| 亚洲欧洲日韩天堂av| www.久久99| 夜夜综合| 日本色色色网站免费看不卡| 色狠狠色| 蜜桃臀一区二区aV| 欧美大波激情xxxx| 99热伊人| 四虎免费视频| 嫩草影院永久在线制服丝袜| 中文久久| 婷婷色婷婷| 韩国女主播青草在线| 久久蜜桃一区二区| 国产97av| 插日本熟女视频| 婷婷五月天久久精品视频一区二区三区| 国产高清在线自在拍69| 一区操逼| 午夜精品99久久久久传媒| 操淫穴亚洲五月丁香| J?P?NESEHD熟女熟妇伦| 大香蕉AV在线| 97国产|免费| 色嗨嗨在线| 1024亚洲中文字幕久在线看片你懂的| a啊啊啊啊啊啊啊啊一区二区| 午夜.DJ高清在线观看免费7| 久久久久久性爱视频| 日韩在线电影| 婷婷色在线| 蜜桃传媒视频第一区入口在线看| 91快色色色色色| 日韩午夜国产| 国产强奸乱伦xd| 国产精品熟女AV中文字幕在线播放| 天天躁日日躁狠狠狠躁| 久久久国产三级黄色片| www久久精品| 黄色电影观看久久9| 青娱乐大香蕉| 国产对白刺激视频| 精品然女一区二区| 超碰97精品| 婷婷五月天福利| 日韩久射综合| AV 少妇 人妻 偷拍| 女人18精品一区二区三区| 日本性爱网址| 国产AV线| 色5月婷婷| 欧美色91| 狠狠久久亚洲欧美专区| 2017亚洲天堂| 亚洲aw毛茸茸在线| 国产精品一区二区手机看片| 欧美狠狠操| 翔田千里爆乳巨臀无码| 操穴国产| 亚洲欧美色图小说| 足交视频老司机| 激情视屏国产乱伦强奸| av橘色网站| 天天色粽合合合合合合合| 一区二区影视| 欧美中文字幕男人天堂久久精品 | 天海翼久久| 国产女生在线| 欧美性高潮在线| 猛交交| 欧美成人一级麻豆| av麻豆啪啪| 东京热视频网| 中出20p| 狠狠五月天| 欧美精品系列| 综精品久久久aaaa| 亚洲人妻在线一区| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 天天操天天干一区二区 | 日韩免费av片高清无码| 日韩精品第3页| 操我无码| 亚洲毛片基地专区| 乱老熟女一区二区三区| 欧美日韩岛国大片在线观看| 一本色道久久综合熟妇| 黑丝内射一区二区三区| 18禁无码永久免费无限制| 日韩色女精品| 日韩精品99999| 人妻另类 专区 欧美 制服| 亚洲熟女一区| 亚洲成人碰碰| 国产一级内射无挡观看| 天天日天天看| 中文一区在线日| 丁香五月婷婷色| 成人av毛片在线观看| 欧美72网页| 亚洲成人免费电影| 成人久久久| 熟女高潮合集-永久久久-成人AV| 开心激情站| 日韩操啪| 水滴偷拍| 天堂资源站| 91站街按摩店老熟女熟女| 91亚洲电影| 九九九九九九九九九九九九九九九女| 人妻激情偷乱视频一区二区三区 | 国产精品乱码久久| 久久久久久九九九九-美女久久久久久久-成人AV| 日韩亚洲精品一区二区| 97超碰香蕉| 久久9999| 小草精彩毛片| 操婷婷逼| 美国一区二区三区视频| av天堂加勒比| 中文字幕在线2| 国产精品情侣啪啪| 99久re热视频精品98| 欧美aa一级片| 天天日天天干天天操| 亚洲日本大香蕉1| 中 文字幕一区二区三四 五 区日 日 骚| 麻豆国产免费影片| 无码天天操| 亚洲国产成人精品久久久国产成人一区二区 | 久久久久国产亚洲一区欧美色图日韩| 国模精品娜娜一二三区| 18禁无码永久免费无限制| 人妻精品一区二区| 欧美成人贴图| 免费成人在线熟妇网| 天天干天天拍| 亚洲成人免费在线| 欧美激情色婷婷花野真衣一区二区| 美女黄色一级A视频| 最新国产精品久久精品| 天堂中文日本在线观看| 久久无码一区二区二三区性色| 超碰久超碰久| 亚洲第一在线视频| 日韩 欧美 视频 在线 一区| 国产午夜激片Av毛片不卡| 青青草中文字幕| 嗯嗯啊啊啊好舒服| 蜜臀久久99精品久久久老,,| 2017天天拍大香蕉| 欧美激情精品| 人人插人人摸人人| 欧美懂色综合网| 熟妇一区,二区,三区。| 欧美偷偷网| 男人的天堂久久狠| 日韩AV中文字幕电影| 另类欧美色| 综合欧美色图| JuliaAnn丝袜熟女系列| 国色综合天| 91黄站| 久久久女人| 欧洲一区二区三区四区在线观看| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 啊啊啊啊啊啊在线观看| 99久久99久久免费精品蜜臀| 97中文综合| 丝袜视频网国产90| 国产精选视频| 久夜操| 超碰久草| 欧洲综合色| 欧美高清第一页| 日日夜夜精品视频| 久综合国内精品自在自线| www.91视频网| 欧美中出| 久久久久亚洲av综合波多野制衣| 加勒比伊人| 欧美色就是色| 亚洲图片日本AⅤ欧美在线| 久久青青草原免费视频| 国模精品娜娜一二三区| 亚洲男人bt天堂| 国产久久久9999| 精品国产污一区二区三区| 992这里有精品| 这里只有精品视频| 色色色色色色色色色色色色色色综合 | 国产 丝袜 欧美中文 另类| 亚洲国产欧美中文永久| 后X久久| 国产免费一区二区三区最新不卡 | 女同性恋久久| 亚洲美乱| 禁止观看美女黄| 九九成人| 色情亚洲日本成人| 国产AV天美传媒一区二区三区 | 草草影院日本第一页| 妺妺跟我一起洗澡没忍住| 欧美成人都市人妻| 久久人妻四季| 国产亚洲精品美女| 91 天天综合| 怡春院久久| 日韩熟女操逼| 亚洲av无线观看| 日日碰狠狠添天天爽超| 超碰在线974| 色香综合天天影视综合 | 国产女大学生AV| 久草网站免费在线观看| 丝袜美腿欧美| 久艹99| 亚洲精品一区二区日本| 高跟丝袜AV专区国产| 国产97色在线| 蜜色网色哟哟| 神马久久久久久久久| 日韩无码一级黄色av片| 国产成人精品亚洲日本| 一区二区精品更新提醒| 久久久久久久久9| 亚洲精品乱码线路中文字幕| 日韩人妻精品久久久久| 亚洲性综合| 国产免费内射视频| 日韩精品人妻一| 91久热这里只有精品| 不卡六六在线91| 伊人黄色片| 在线观看一卡二卡| 精品制服美女中文一区二区三区| 亚洲无码超碰免费| 欧美精品成人亚洲| 欧美96在线|欧| 无码丰满熟妇一区二区浪潮AV| 熟妇人妻一区二区| 91成人无码| 色综合久久久久| 无码九九| 国产亚洲日韩在线三区黑人| 麻豆性爱视频在线播放| 久操视频在线观看| 天天干天天拍| 中文字幕第2页| 柠檬AV导航| KK色在线影院| 久久久免费的精品| 亚洲成人妻日韩在线| 欧美aa一级片| 欧美 日韩 另类 亚洲| 国产主播福利| 91丝袜在线观看视频在线观看| 人妻精品一区二区| 熟女性视频| 91老司机视频| 爱爱动态120秒| 大香蕉日韩| 欧美综合骚| 女人综合网| 67914亚洲精品| 亚洲欧美首页| 五月天丁香欧洲日韩| 97亚洲综合| 九九热精品免费视频| 免费99精品国产自在在线| 精品久久久久久中文| 午夜福利在线视频1000| 黄色一区二区秘书性感| 97一区二压| 先锋激情∨在线视频播放| 色欧洲97| 亚洲码专区| 中文字幕av片| 狂操嫩妻视频一区二区三区| 久久 精品| 中美日韩毛片| 黑人白女精品一区| 日日嗨AV一区二区夜夜| 天天色播亚洲综合网站| 四虎精品亚洲| 97任你吞精| 欧美欧美少妇| 亚洲欧美一区二区三区在钱蜜桃| 亚洲人妻中文在线视频| 熟女自慰久久久| 欧美日韩日产免费网站看| 91亚洲狠狠色| 丁香五月激情网| 秋霞午夜成人福利片片| 欧美国产一区二区三区麻豆传媒 | 男人干美女| 亚洲第一黄色av网站 | 超碰在线香蕉| 久久国产精品视频| 成人资源中文字幕在线观看天天| 中文字幕精品免费一区二区| 欧美激情色婷婷花野真衣一区二区| 91丨熟女丨丰满熟女| 特污精品女优骚货黄色视频在线免费观看| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 精品免费囯产一区二区三区| 大香蕉十区| 人妻 中文 日韩| 日本不卡在线二区三区| 91精品成人| 欧美激情中文字幕另类小说| 97欧美视频| 熟女AV一区| 欧美激情综合色综合啪啪五月| 在线日韩日本亚洲国产| 大香蕉色欲AV| AV天天在线观看| www.伪伪| 欧美亚洲91| 久久久久9999精品九九九| 操高情无码| 亚洲国产精品成人久久蜜臀| 91伊人影视综合| 91色久| 蜜臀视频网站| 亚洲综合射| 97国产精品国| 久久香蕉综合一本到3atv| 欧洲特黄毛片免费看欧洲毛片| 久久国语| www.色综合| 色就色综合| 深夜视频| 国产精品电| 中文字幕乱碼在线| 亚洲婷婷五月天| 在线免费观看日韩一区| 久久内射| 亚洲高清男人天堂| 天天欧美色| 亚洲成人久久美女| 大香蕉视频一二三区| 欧美综合网1| 97资源欧美| 狠狠干婷婷| 综合久久欧美| 翔田千里无码中出中文字幕| 久热一区二区| 成人AV在线网站| 香港日本韩国人妇99www.wccm20| 看看小穴| 色999;丁香五月| 日本精品一区二区中文字幕| 26uuu国产日韩综合在线观看| 麻豆天美传媒毛片| 大香蕉伊人75| 天天综合站| 少妇诱惑视频| 综精品久久久aaaa| 99精品在线| 99自拍视频| 国产亚洲精品玖玖玖在线观看| 操逼天美3区| 午夜国产综合视频在线观看| 91欧美巨乳| 亚洲日韩XXX| 精品亚洲俞拍视频一区| 久久国产精品,久久国产| 人妻久久久| 日本三级韩国三级99| 色婷婷九月天天综合| 亚洲精品久久久久毛片A片拉屎| 校园春色五月天| 国产精品交换一区二区| 亚州操逼网| WWW黄片COM| 久久激情亚洲精品无码?V| 最新中文字幕精品在线| 国产综合网站在线播放 | 超碰综合97在线| 爱丝福利| 九九九久久久W精品| 美女上床网站| 欧美视频一区二区三区| 丝袜美腿射精91| 日本高清有码网址视频| 欧美精品一二三| 国产视频三区四区| 天天插夜夜操| 夜夜爽妓女| 欧美天天综合网版| 99热 按摩 日韩| 国产免费久久久久| 丰满人妻一区二区三区| 91啪啪视频| 玖玖视频在线资源一区二区三区| wwwss在线观看| 蜜桃成人1区2区3区| 日本三级韩三级99久久| 毛片17S| 丝袜性亚洲| 99中出在线| 欧美爆操91| 成人综合视频久久| 亚洲蜜臀视频精品久久| 青青草中日韩在线| 亚洲女人91| 97色伦97色伦国产欧美| 日韩免费看在线黄色片| 综合久久六月久久婷婷| 亚洲女毛多水多21P| 婷婷五月天伊人| 精品夜夜澡人妻无码| 60秒试看最爽10分钟网站| 日本大香蕉| 久久久久幕乱码| 黄色工厂这里只有精品| 日韩色| 巨爆乳一区二区爆乳区| 九九探花视频在线观看| 电影69乱码96| 人妻无码后入| 五十路熟女,国产欧美精品区一区二区三区| 亚洲中文字幕久久无码精品| 黄片www视频免费| 欧美激情性爱视频网站| 日本精品一区二区中文字幕| 亚洲色偷偷色噜噜狠狠99网| 亚洲少妇诱惑| 人妻另类| 大象AV在线| 天天日天天干天天整| 久久五月份| 天天色怡春院| 精品久久97| av强奸乱轮| 大香蕉手机视频| 色婷婷婷五月天激情四射| 日产成人久久| 日本αv| 国产精品成人蜜臀AV在线| 大香蕉97久久| 久久亚洲色图中文字幕| 麻豆天天躁天天揉揉AV| 在线视频 亚洲精品| japan日本高清乱xxxx| 国产人妻精品久久久一区二区三区 | 亚洲精品国产熟女| 婷婷五月天久久久| 欧美 熟女 日韩| 成人三级片一区二区三区视频| 欧亚日韩中文在线| 亚洲最大AV网| 熟女在线视频| 综合亚洲欧美| 又大又长又粗又爽又黄| 91蜜臀在线久久久久| 亚洲日韩XXX| 被窝影院午夜看片无码| 91精品丝袜在线观看| 91丝袜激情在线| 超碰碰97资源站| 啪啪啪精品视频| 少妇蜜汁| 欧美色图电影| 少妇干B| 中 文字幕一区二区三四 五 区日 日 骚 | 天天视频黄| 五月婷婷激情网| 日韩精品国模| 免费一级性爱久久| 国产久久一区二区午夜| 肥臀熟女一区二区三区视频| 国产精品亚洲高清在线| 日少妇亚洲版| 毛片一区二区| 日韩草久视频| 日韩精品人妻中文字幕不卡乱码| 乱论91| 日韩99神马视频片| A片大香蕉在线| 亚洲熟女国产综合另类| 日本一二三免费久久| 隔壁邻居波多野结衣中文字幕| 亚洲城人男人的天堂| 精品国产乱子伦一区二区三区,精品一| 亚洲美女自拍偷拍视频| 亚洲限制级| 国产精品成人无码a v毛片| 久99久视频精选| 香蕉视频欧美一卡二卡| 大香蕉人妻| julia国产在线| 手机在线观看不卡无码av| 欧美日韩人妻婷婷一区| 男女激烈网站最新| 日本人妻天堂网站在线播放| 9久在线视频只有精品| 欧美另类色| 欧美色图91| 欧美性猛交美女自慰91| 亚洲熟女诱惑| 欧洲天天在线| 亚州性色| 欧美精品人妻视频| 9118禁| 99啪啪视频| 免费操逼91| 亚洲天堂另类小说男人| 黄片www视频免费| 在线综合 亚洲 欧美中文字幕 | 一二三区操逼国产91| 97九色人妻| 一级毛片电影免费看| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 亚洲熟妇极品| 香蕉99秘 一区精品蜜桃臀| 日韩另类色图| 欧美综合网| 91电影色诱| 9丨亚洲一区二区在线| 2017大香蕉国产精品久久| 啪啪啪东京| 亚洲欧美综合网站| 亚洲砖码砖专无区2023| 国产农村妇女毛片精品久久| 色99视频| 91老熟女视频| 伊人色综合超碰| 干日本人少妇午夜寂寞影院| 91美女視頻| 国产伦乱91| 91高潮| 人妻少妇精品一区二区三区| 亚洲色图欧美一区二区不卡| 精品美女在线视频| 欧美精品99久久久**| 日本幼女18+| 91狠婷| 国产精品网址| 亚洲校园激情| 亚洲天堂性爱| ji熟女.com| 久草电影网| AV天天在线观看| 欧美精品日韩久久久九| 亚洲国产福利视频| 久久超碰久| 成人aⅴ一区二区三区| 精品二区三四区五电影 | 麻豆精品三区视频| 中出91| 91看黄片| 婷婷探花久久精品一区| 插入综合网| 亚洲最新av无码成人精品区| 久久久天堂| 91夜色chaopeng| 韩国手机不卡无码三级视频| 色天天野狼综合社区| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 久久久性爱| 观看视频图片一区二区三区| 中文久久爆乳| 丁香七月婷婷| 精久久久| 一级黄碟在线观看| 久久人人爽人人爽人人片Ⅴ| 成 人 A V免费视频在线观看| 国产诱惑| 免费看美国人人爽,人人操| 日韩 欧美 视频 在线 一区| 蜜臀久久99精品久久久| 天天色怡春院| 国产精品国产自产拍高清AV| 天天色天天干天天射| 精品九九九九| 九九人妻| 你草精品在线视频| 嗯嗯啊在线视频| 思思热国产在线视频| 欧美日韩97| 亚洲色图第一页| 97在线欧洲| 女人被添高潮免费视频| 一级AV性爱| 少妇高潮九九九九九九九| 欧美熟妇人体| 欧美综合站| 国内三级自拍小视频在线观看| 自拍偷拍国产欧美日韩韩| 丰满少妇一区二区三区免费看| 加勒比伊人综合| 欧美少妇内射| 99re9在线| 五月丁香综合激情| 亚洲第一免费视频| 国产精品福利资源在线尤物| 色偷偷综合91久久噜噜| 97天天弄| 禁十八久久| 大香蕉碰碰| 色五月综合| 中文一区在线视频| 成人麻豆av电影网站| 欧美激情激情xxxx欧美专区| 伊人九九九| 巨乳特殊服务按摩| 伊人久久亚洲色欲综合网站| 一区二区三区四区久久视1| 日韩人妻操B| 久久精品人体| 在线日韩视频| 在线99热| 99热久| 亚洲日韩精品在线播放| 欧美特大黄一级片片免费| 日韩无码a片| 2019久久久久久久久福利| 精品国产av一区二区三区四区入口 | 東南亚性呦成人伦理资源在线视频| 日韩特一级久久| 婷婷色香| 狠插 制服 自拍| 国产精品色哟哟| 日韩熟女精品无码专区一区二区 | CCYY草草影院地址入口| 亚洲欧美综合| 国产强奸乱伦无码视频| 人妻铁牛TV| 欧美91精品国产自产| 久久久久九九九九| 日韩熟女精一区二区三区不卡| 欧美性夜| 人人澡人人干| 综合久久97| 久久天堂| 黄色片A级一区二区三区| 日韩操p| 欧洲综合无码| 国产AV激情无码久久无码 | 国产精品久久泡妞网站| 欧美97色| 久久激情婷婷| 色综合国产在线观看| 青娱乐999| 97精品熟女少妇一区| 91强热人妻| 免费看久久久性性| 99热| 亚州色交| 青青草大香蕉在线视频| 天天日美女的B| 亚洲情色综合网| 欧美激情1区| 欧美资源| 999精品国产高清一区二区| 奇米狠999| 久久一区二区三区入口| 天天日少妇逼AV| 精品91摸| 精品9区| 免费视频观看60秒| 精品视频一二三中文| 无码精品久久| 国产 日韩,欧美 自拍| 青草草免费网站av| 国产精品久久久鸭无码的功能| 日本一级黄色电影| 青青草在线视频人人想人人上| 男人的天堂不卡一区二区 | 亚洲大色堂| 国产日产欧产美韩系列麻豆免费| 亚洲资源站| 欧美日韩在线视频网站| 在线综合色| 丰满人妻一区二区三区大胸懂色 | 日本99久久| 日本曲间由美性生活片| 久久精品天美| 中文字幕一二三av| 亚州性9| ji熟女.com| 婷婷色网| 97这里都是精品| 精品免费成人久久| 岛国黄片网站| 国产呦精品一区二区三区下载| 欧美夜夜狠| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 91亚州欧美| 欧美综合综合| 欧美高清无码免费视频高清版| 国产黄色av大片网站| 国内精品999| 久操| 国产精品久久久久久久久久梁医生| 91快色色色色色| 亚州成人a∨| 黑人与人妻| 9久久精品| 操逼逼福利视频| 96AV精品| 99在线精品观看视频中文| 国产日韩手机视频在线| 亚洲精品成人激情在线| 精品一久久久| 欧美激情综合网| 黑人嘿嘿嘿超爽免费视频| 暖暖精品二区三区观看| 亚洲综合大片| 夜夜操美女| 久久超碰爱| 日本免费一区二区不卡| www.亚洲黄色| 97亚洲综合电影| 亚洲。天堂。日本在线观看| 丰满美女一级毛片在线播放| 探花一区在线| 五十路熟女工口| AV乱伦国产| 国产亚洲综合欧美一区| 午夜福利在线合集| 亚洲欧洲日本精品中文a∨| 色综合色综合网| 男人天堂网手机版婷婷| 亚瑟国产精品久久无码| 能看的AV| 亚洲丰满很很操| 亚洲欧美一区二区网址| 亚洲另类综合欧美| 国产乱码久久久| 国产精品无码av在线 | 天堂射| 91久久久亚洲| 久久色人体| 78超碰| 亚洲av强奸乱伦| 天天性射网| 91精品无码人妻系列| 久久一二三四不卡 |