色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
日本二三四区| 婷婷情色五月天| 国产suv精品一区二区四区999| 欧美欲色| 国产欧美日韩臀| 大香蕉青青9| 2017亚洲天堂| 日韩免费人妻色情网站| 性生活无遮挡纯毛片在线看| 操逼操2| 2020中文在线一区二区三区| 亚洲aw毛茸茸在线| 囯产精品久久久久久久久久梁医生| 在线免费观看日韩一区| 91强热人妻| 欧美少妇一区二区三区| 国产熟女自拍| 色汉综合| 激情久久久| 1二区9| 国产 大胆 对白| 久久久久九九九九| 2025亚洲男人天堂| 色色色色日本| 美女露胸露屁股| 十八禁视频网站| 五月天激情网图片| 国产精品久久久久久久电影渣男| 天堂亚洲精品| 性爱动态120秒| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 九九九久久久| 国产九九九九九九| 97鸡把在线视频| 青青草白白色| 欧美大的香蕉有线电视视频| 青草成人免费视频一com| 成人免费看吃奶视频网站| 黑人操一区二区| 亚洲欧美不卡线| 啪啪综合网| 日本东京热久久久电影| 综合免费无码中文| 天天草AV| 99热国产| 殴美大黄片| 亚洲欧美精品91| 精品丰满熟妇人妻一区| 国模限制级电影| 日本99一区二区| 91青青草| 亚州国产成人精品女人久久 | 91GD.COM| 久久少妇| 98色网| 97日韩| 看大黄色大片原件| 怡红院成人视频| 国产一区二区三区免费视频在性观看| 嗯嗯啊操我| 久久精品一区二区一8| 免费看欧美美女黄色大片| 日本在线15p| 国产精品久久久久中文字幕| 欧美热图99| 一区二区三区 丝袜 高跟 美腿| 综合夜夜| 九九九九日本| 色情综合| 粉嫩av平台| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 国产日韩欧美亚洲精品95 | 人妻嗯啊啊在线播放| 91亚洲欧洲| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 久久久一区二区三区四曲免费听| 欧美特大黄一级片片免费| yellow网站免费观看日韩高清无码| 国产一线二线三线av| 狠狠穞A片一區二區三區| 国产又猛又粗又爽又黄| aV中文麻| juliaann丝袜大战黑鬼| 日本激情免费大片| 午夜经典| 婷婷九月国产| 大香蕉手机在线视频| 天天干天天干天天干| 99999精品视频| 亚洲好看强奸乱伦| 91精品91久久久久77777| 91 亚洲 欧洲| 四虎午夜影院| 日日天天久久啊啊aaa| 国产对白刺激视频| 超碰是碰在线观看| www.久久爱| 精品人妻中文字幕4399| 国产精品乱码久久| 亚洲午夜蜜臀| 久久双插| 九月丁香综合网| 欧美亚洲首页| 夜夜国产一区| 亚洲国产成人精品女人久久久| 日本 免费 一区二区三区 久久香蕉| 91 亚洲情侣偷拍 久久| 欧美裸体美女日麻屄| 91久久久久久久久18| 亚洲日韩在线a不卡99精品| 99色综合| 亚洲有码第一页| 人妻丝袜无 码视频专区| 婷婷久月| AV色五月| 97伦乱| 三级片大波波| 爱爱动态120秒| 九九综合久久| 亚洲Av无码成人精品国产| 欧美一级A一级a爱片久久| 91麻豆天美国产| 色噜噜人妻av 中文字幕| 人妻人人操| 欧美日产国产在线成人第一区| 97欧美色综合| 麻豆一区二区三区精品| 青青草久草AV| AV中文字幕剧情1区2区3| 亚洲 中文 女同| 色香色香欲天天天影视综合网| 蜜桃av色偷偷av老熟女| 天天躁日日躁狠狠躁| 亚洲一区二区AV| 中文字幕一区二区三区人妻不卡 | 久久亚洲不卡一区二区三区| 久久久久久波多野吉衣高潮| 久婷婷一区| 日本色色色| 艳尻美人妻| 97国产|免费| www.色婷婷色综合| 自拍鲍鱼一区在线高清观看免费| 天天天天天天天天综合| 天堂射| 在线视频一区二区传媒| 国产风韵犹存熟妇三区| 97久久久久久久久久| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲天堂另类| 欧美性色欧美| 美女好片色日本| 色色婷婷五月天| 乱伦一区二区三区‘| 好淫网一二三视区| 国产成人亚洲精品无| 亚洲天堂五月天国产| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | av最新免费中文字幕| 国产原创自拍| 黄骗免费网站| 激情欧美日韩女同久久| 亚洲乱伦图片视频| 久久久久久亚洲Av无码| 中文字幕日韩精品久久| 亚洲综合五月天| 丝袜色综合| 国产强奸乱伦第1页| 欧美一级黄片视频在线| 涩爱AV在线| 五月天精品| av婷婷色婷婷色六月| 亚洲熟久久| 人妻一区二区三区视频| 色综合美国| 97视频免费在线观看| 男人网站婷婷| 超碰在线人人射| 第一高清av中文字幕| 黄色片,com| 9久久精品| 一区中文字幕二区日韩| 91爽啪| 夜夜躁狠狠躁日日躁av| 国内精品不卡无毒99999| 国产少妇肉丝在线观看| 亚洲色棕合| 91无码中出人妻视频| 嗯啊不要啊啊在线观看视频| 凹凸 69堂 在线播放| 一区二区三区国产在线播放| 狠狠色婷婷| 欧美爆操91| 亚洲情色 自拍| 一级二级三级黑人无码| 成人欧美一区二区三区黑人一| 欧美狠狠操| 十八禁一区二区无码观看| 国产97视频| 俺去俺来也在线www| 天堂av2019| 蜜臀Av一区二区三区| 高清国产无码av| 草久久久| AAAA级日本片免费视频| 久久激情亚洲精品无码?V| 久久国产精品一级二级三级| 青青草在线视频播放器| 十八岁啪啪视频免费看| 国产91影院| 丝袜视频网国产90| 97免费在线视频| 偷窥自拍A片| 免费农村成人少妇人妻Aa一区二区视频| 夫妻天天操岛国视频| av草草在线电影| 91日产欧美| 96一区二区| 激情四射婷婷四五月天| 91人妻Pr| 97色97干| 久久9精品网站| 色吧5亚洲| 99热免费| 9Ⅰ老熟女| 久久极品一区二区| 呦呦一区| 丝袜狠狠草尤物 91| 美國A片| 自拍偷拍 高清无码| 九色黄站| 婷婷综合| 久久99999| 成人怡红院| 久久久婷| 国产女大学生AV| 乱伦系列一区二区| 人妻在线臀日韩| 欧美三级一级| 国产欧美后入| 五月天婷婷在线看| 香一区二区三区| 欧美日韩亚洲高清不卡一区二区三区| 99综合自拍| 欧美日本国产日韩激情视频| 人人弄人人摸| 97在线视频观看| 国产按摩一区二区三区| 2023天天操夜夜操| 黄站在线免费观看| 插欧洲美女欧美精品| 丝袜视频一区二区在线播放国产中文| 天天日老熟妇| 一级做a爰片性色毛片久久| 干B| 在线无码操| 三及片网站| 日韩精品99999| 翔田千里无码一区| 精品国产国产AV| 欧美一区二区亚洲天堂| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 亚洲人妻久久| 97一区二区蜜臀| 亚洲第一视频 欧美风情 日韩| 噜噜瑟| 好淫网一二三视区| 日本欧美亚洲高清在线看| 久久噜| 大稥蕉免费视频这里只有精品| 欧美区亚洲区偷拍区| 9997se| 蜜色网色哟哟| 午夜乱轮操逼视频免费看| 影音资源男人日韩| 激情图片伦理国产一区二区日韩| 一区二区三区激情在线观看| 高清无码久操视频| 国产日韩欧美| 久久精品视频久久久| 粉嫩av在线一区二区| 色香综合天天影视综合| 色色99| 精品在线78| 婷婷色导航| 6080YYY午夜理论片在线观看| 凹凸视频在线一区二区| 疯操AV| 美女高潮视频91| 免费看日本操逼视频| 久久久久久亚洲Av无码精| 欧美最婬乱婬爆婬牲视频| 熟女人妻av在线资源,黄色的资源| 国产51色综合久久免费| 九九综合九九综合| 精品传媒在线一区| 一二区在线观看视频| 五月天久久婷婷亚洲| 丁香六月婷| 日本视频在线观看污污污| 久久久久网站-538在线视频-欧美永久乱码| 亚欧性爱ab| 国产精品麻豆成人av| 国产激情在线| 色香91| 欧美色狠| 性生活无遮挡纯毛片在线看| 欧美日韩性感| 91三级理论片播放器| 亚洲欧美另类图片| 婷婷激情四射| 色97欧美| 午夜福利在线合集| 国产热av| 青青草五月天| 97色诱| 欧美超碰在线| 国产蜜臀精品一区二区尤物| 在线国产一区二区av| 热无码中文亚洲H一道本一区二区| 久操频道免费在线呗看| 色香阁在线| 91久精品| 天天综合网91入口| 97 九色| 亭亭丁香激情| 97天堂| 蜜臀久久99精品久久久久| 九九热精品| 久9热| 红杏大香蕉| 精品国产一区二区三区av在线资源| 午夜黄色免费在线观看| 婷婷五月天综合网| 黄色二级片网站| av日韩在线观看电影| 婷婷色综合欧美日韩| 爱爱动态60秒| 伊人精品久久网站| 亚洲综合精品国产一区| 婷婷五月天影院| 97九色人妻| 香蕉婷婷| 97精品视频免费| 加勒比综合a∨| 青青操日韩| 亚洲天天综合| 久久黄色性爱视频| 亚洲宅男天堂| 韩日巨乳美女免费视频在线观看| 中文字幕无码不卡啪啪| 9丨久久九九九| 日韩黄片影院| 操高情无码| 99久久久| 丰满丝袜少妇AV| 欧美 日韩第一性色| 91美女视频在线观看| 九九精品无码专区免费| 国产日韩欧美操逼视频| 日本午夜福利影院| 中文字幕日韩人妻视频一区二区三区 | 亚洲AV不卡在线观看| 精品免费囯产一区二区三区| 91骚熟女| 午夜超爽| 日美免费黄片| 天天干天天日天天射黄色片| 97超碰人妻| 免费又黄又裸乳的视频| 成人情色一区二区| 亚洲欧洲第二视频在线观看色图| 中文字幕乱码人妻二区三区| 96免费视频在线| 中文字幕欧洲有码| 国产中文大片资源中文字幕| 睡产熟女乱伦| 97精品网站| 日本97久久| 亚洲蜜桃V妇女| 乱伦一二三区| 欧美成va视频网站| 91久久久老司机| 蜜乳av一区二区| 熟妇熟女一区二三区| 欧美人人曰人人操人人射射| 欧美亚男人的天堂| 一级性爱视频免费观看| 国产青青美女玩逼视频| 黄色网址久久精品欧美喷水| 亚洲在线A| 草草草草视频| 激情五月婷婷| 漂亮人妻被强中文字幕hd| 欧美日韩电影成人在线| 久久的网站啊啊啊啊啊| 欧美日韩传媒| 五月天综合网| 搡老女人老91妇女老熟女| 成人午夜高潮av猛片| 五月天开心网| 78m啪啪啪| 精品无码不卡视频| 日本中文字幕熟妇| 黄色视频特级毛片| 国产青青综合伊人| 久久久 国产精品| 新视频sss国产| 国产超碰AV在线精品| 久久精品亚洲婷婷| 大香蕉中文aV在线| 免费国产电影一区二区| 精品网站9999| 欧美特大AA级黄片| 日韩资源网| 丰满人妻无码一区二区三区| 日本精品免费一区二区三区四区| 日韩av免费一级电影| 青青草白白色| 精品久久久av无码免费| 中文字幕亚洲欧美在线不卡| 国产狂喷潮在线精品| 九九九网站| 91福利网在线观看| 国产AV线| 无码高清国产AV| 97超碰亚洲| 欧美色图99| 伦理日韩国产久久| 欧美综合综合| 亚洲一区二区三区久久 亚洲一区二区| 亚洲有薄码区久久在线一区| 天天懆天天日| 日韩欧美大片免费高清啪啪| 嗯啊不要在线| 亚洲人精品久久久| 超碰人人妻| 国产精品一二三| 超碰国产精品无码| 熟女人妇一区二区三区| 二男一女成人A片| 午夜欧美J进J出白浆流出久久久| 少妇厨房愉情理伦片bd在线观看| 一区二区三区四区五区高清无码永久视频 | 欧美精品不卡一二三四在线91| 一个国产在线综合网站| 国产九九九九九九| 成人精品在线观看| 欧美日韩另类在线| 色大香蕉97N| 牛黄色久午久| 免费久久一级毛片大黄| 蜜屁Av| A V少妇特黄三级| 色欲av一区二区三区蜜芽| 夜夜免费视频| 国产天天骚| 偷拍自拍在线视频观看| 亚洲图片欧美色| 久久m| 久久夜黄色无码A级大片| 天天干夜夜操一区二区| 久久久久久久九九九九九九| 99热在线观看| av无线看| 欧美淫乱视频| 久久美国毛片| 欧美情色贴图| 偷拍精品一区二区三区| 日韩无码一区二区三区| 青青久久久| 欧美精品久久久久久久丰满| 蜜桃中文字日产乱幕4区| 一本精品日本在线视频精品| 青青青草伊人精品| 青青草日本中文字幕| 亚洲制服aⅴ中文字幕| 日躁天天爽爽| 亚洲涩图欧美| 黄站在线免费观看| 91九九九吃| 欧美 亚洲 另类 综合| 好湿好紧好爽 视频| 婷色五月| 在线观看亚洲成人精品| 国产精品爱欲| 国产传媒日韩欧美| 99热线麻豆| 色区97| 久久人人爽av亚洲精品天堂桃色 | 九九九成人| 97超碰色屌| 好爽视频在线观看| 99在线免费公开视频| 東南亚性呦成人伦理资源在线视频| 中文字幕国产精品1区| 欧美色偷拍 | 欧美性爱综合,免费| 国产兽交视频在线播放| 一级做a爰片性色毛片久久| 精品妇操一区二区三区| 精品国产乱码久久久久久久| 9久热这里只有精品| 欧美精品精品一区二区| 国产精品极品美女视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 91成人亚洲色图| 伊人 俄罗斯 a v| 老熟女区| 91美女视频在线| 少妇精品久久久八区九区| 亚洲成成熟女人综合一区二区| 伊人欧美大香蕉视频| 日韩免费福利在线观看| 一级成人性爱| 婷婷五月天影院| 91美女丝袜诱惑视频| 国产亚卅97| 狠狠爱大香蕉| 久久9视频| 四虎在线免费视频| 日韩熟女操逼| 日本人体九九九九九九| 在线免费试看60秒| 黄色操人| 色第一页| 亚欧无码线免费观看视频| 久久精品国产精品一区| 97色婷婷| 亚91网| 欧美劲爆视频一区二区| 亚洲Av噜噜一区二区三区妖精| 性色综合网| 熟女在线视频| 日本片日本片祼观看网站在线看中文版网页在线看 | 亚洲精品国产无码高清| 青青草久久一区网| 亚洲国产成人精品999| 天天透伊人| 日本人妻最新在线中| 久久激情网| 久久精品28| 日韩AV熟女乱伦| 91日韩网站| 日日夜夜干| 国产午夜在线观看| 884t在线| 中文无码一二三区| 91国模| 深夜啪啪啪视频免费| 综合色好色| 国产自产91区13区| 在线视频免费播放一区| 精品美女少妇一区二区| 日韩情色视频| 欧美综合娱乐久久| 天美传媒麻豆一区二区三区国产精| 久久久久久久久久久免费精品| 性性久久| 另类图片五月| 97综合国产| 天堂网 主播 亚洲| www.色操逼| 日韩操p| 日本 情色 1区| 亚洲视频,小说| 99无码视频| 91 欧美| 91jk色拍| 精品妇女一区二区三区| 日本人妻丰满熟妇久久久久久| 97精品97久久| 天天综合网AV91| 国产熟女完整版中字| 久久婷色| 国内毛片婷婷六月色| 精品视频在线观看精品| 超碰人人干天天射| 四虎免费视频| 不卡一区视频| 男人久久精品| 99色婷婷中文字幕乱色| 亚洲情色1区| 少妇熟女视频一区二区三区| 久久a久久| 密乳无码| 欧洲大香蕉| 97 九色| 婷婷五月天无码| 91天美传媒在线观看| 男人网站婷婷| 夜夜无码| 2020久久免费视频| 尤物网址| 国产精品久久久777| 99视频内射三四| 激情综合网五月婷婷五月天| 日韩精品在线视频,日韩精品……| 九九九九免费高| 婷婷五月成人| 啊v在线观看视频| 91色久| 国产三级在线现体验区| 香蕉色网| 任你干在线视频| 97超碰资源网| 欧洲乱码视频| 97玖玖人妻| 激情丁香五月| 欧美日韩大香蕉| 人人操人人摸人人骑| 唯美清纯 妖精视频| 9久精品视频在线观看| 天天做天天爱天天爽AV| www.高清无码诱惑一区.com | 超碰色大香蕉| 国产丁香精品露脸视频| 色欲久久99精品久久| 97爱爱爱综合| 一区二区三区精品黑丝白丝酒店对鸡 | 日韩欧美午夜视频在线| 欧美日韩 强奸乱伦| 欧美人与动性人交a| 亚洲激情在线观看一区| 天天躁日日躁xxxxx| 岛国视频一二三区| 久久透逼视频| 亚洲欧美日韩夜夜| 91亚洲黑人| 久热99| 久久久久九九九| 国产成人免费观看在线视频| 无码精品一区二区三区潘金莲| 亚洲字幕一区二区| 天天爱天天韩国日本牛牛牛牛 | 中精品一区二区三区| 国产精品密臀网在线观看| 自拍二页| 精品国产乱码久久久A| 精品视频久久区| 成人性交午夜免费片| 中文字幕日韩精品久久| 欧美精品日韩一区二区| 无码heyzo高清一区| 亚洲中文制服诱惑| 男女性扦B| 国产综合色精品在线观看| 精品日韩人妻精品一二三区| 日韩操人| 欧美一品道| 岛国片在线播放| 九九热AV| 亚洲极品| 999国产精品999| 激情黄色五月天| 成人小说另类在线| 五月天激情四射| 大香蕉一人| 日韩色欲久久一二三四区| 天天干人人干天天日97| 亚洲 无码 有码 中文字幕| 免费精品国偷自产在线在线| 五月丁香狠狠爱| 2020天天色综合| 国产人妻天天干精品| 加勒比人妻综合| 色就色综合| 蜜桃传媒一区二区亚洲| 欧美综合网在线| 青青网三级视频| 视频一区二区免费在线| 天天操女人| 免费精品国偷自产在线在线| 老鸭窝亚洲毛片| 亚洲丝袜少妇在线| 亚洲色图欧美色图制服丝袜| 草草影院最新网址| 亚洲天堂久| www.99热| 欧美日日操| 综合情欲网| 四虎影库国产精品免费| 久久久久久日韩| 亚洲男人天堂Av| 日韩欧美加勒比| 久久夜嗨| 人人摸.人人色| 日本一级不卡一二区| 久色网| 欧美色院| 99re99在线视频| 国产玖玖| 美女视频尤物网在线看| 天天综合网亚洲综合网| 91人人爽人人爽| 波多野结衣一级视频| 玖玖久久久| 热热热热日日漂亮永久永久国产日| 亚洲四虎熟女精品| 综合伊人激情| 天天综合欧美黑人| 999久久久久久久精| 国产精品网址| 欧洲自拍第一页| 大奶啊啊好爽 | 亚洲少妇综合| 亚洲色图欧美色图制服诱惑| 大香蕉操久久| 亚洲丝袜二区| 五月天激情网站| 女人被男人桶爽视频网站| 玖玖草久草99蜜月一区二区三区| 干B视频伊人网| 香蕉综合网| 桃花色涩综合影院| 亚欧免费| 午夜成人福利影视| 日韩美一区| 久久久久国产无av| 亚洲性爱无码乱伦av| 高潮毛片无遮挡高清免费| 国产一区在线看| 亚洲欧美清纯| 男人天堂2017| 精品一区二区三区丰满熟女-亚洲欧美一区| 97在线资源| 色综九九九一区| 肥佬影院91| 天堂成人网| 97干色| 午夜性刺激视频免费观看| 另类图片综合| 日本乱人伦片中文三区| 日本熟妇人妻中出视频| 五月婷婷激情综合| 久草精品国产蜜臀 | 亚洲国产欧美一区二区潘金莲| 玖玖在线视频| 亚洲污污网站| 成熟熟女国产精品一区二区| 国产精品久久久九九九| 中文字幕熟女人妻丝袜丝| 91亚洲网站| 91一区二区三区蜜桃| 美女操逼福利视频| 成年女人一区| 久久精品电影| 激情综合网激情综合| 在线色导航| 99欧美| 欧美在线大香蕉| 91精品丝袜久久久久久| 无码人妻精品一区二区中文| www.丁香五月| www. 男人天堂成人在线| 国产精品96久久久久久| 日本操大逼| 精品久久在线区一区| 久久9免费视频| 亚洲无码超碰免费| 亚码激情| 欧美色图欧美| 91社操逼| 天天天天做夜夜夜夜做| 国内毛片热久久思思热| 麻豆国产原创AV色哟哟| 亚洲欧美情色| 国产版a级片直播在线| 97天天搞在线| 操一对老熟妇爽上天视频| 人人摸人人叼| 蜜桃臀一区二区aV| 日本精品高清一二区一本到| 污污污8888| 黄片免费日韩| 国产刺激视频| 超碰色综合| 久久的网站啊啊啊啊啊| 麻豆三极片| 蜜桃视频一区二区三区在线观看| 1024精品在线| 亚州成人a∨| 五码视频在线观看| 欧美与日韩97| 天天爽夜夜操| 亚洲国产另类在线中文| 亚洲棕合电彰| 国产熟女免费观看久久| 欧洲一区二区| 丁香五月激情综合国产| 国产精品剧情| 大香蕉综合在线| 国模精品一区二区三区苹果色戒| 日韩电影中文字幕| 亚洲综合97中文网| A片大香蕉在线| 久热99999| 嗯啊不要啊啊在线观看视频| 欧美激情中文字幕另类小说| 欧美色图亚洲激情| 欧洲与亚洲欧美精品中文字幕| 精品毛片久久久精品毛片| 九热中文字幕| 任我爽在线视频免费观看| 蜜桃视频精品一区二区| 亚洲成熟国产精品美女| 日本一二区不卡| 欧美综合狠| 性爱欧美五月| 天天日夜夜| 亚洲一区二区精品福利| 东北女人无套内谢视频| 性欧美999| 欧美91色| 99久久9| 欧美夜色| 国产女上位好爽在线| 免费一级视频特黄色大片| 国产97亚洲| 女人18精品一区二区三区| 自拍欧美| 91丝袜在线视频| 久久色一区二区| 一区二区首页| 欧美 亚洲 制服 精品| 色婷婷综合网站| 日韩无码三级影院| 午夜舔阴达高潮视频免费看| 91高潮| 日韩有码专区| 精品国产乱码久久久久久蜜臀| 蜜臀Av一区二区三区| 丝袜 中出 制服 人妻 美腿 中文字幕| 啊啊在线| 国产精品96| 亚洲巨爆乳一区二区三区四季网| 亚洲中文字幕熟女少妇一区二区| 9久久久久久| 天天天操天天天爱| 97欧美色综合| 91久久久视| 国产25页| 亚洲区小说| 国产91影院| 国产自产自拍| 熟妇亚洲一区二区三区| 超碰午夜| 黑人免费福利视频| 郑州宾馆老熟女露脸啪啪| 看一级黄色视频| 情色av电影| 国产AV天美| 96精品一区| 97视频在线| 日韩欧美中文日韩欧美色| 99精品久久| 欧美一区二区三区黄色影视| 91精品人妻一区二区三区蜜臀| 伊人麻豆传媒| 亚洲乱码尤物193YW| 中美日韩毛片| 91老司机在线| 美国一区二区免费视频| 国产AV天美| 九九亚洲| 久热无码| 国产日韩中文字幕欧美| 高清有码一区二区| 少妇滛荡视频| 色超碰综合| 久久粉色| 久久九九综合| 美女好片色日本| 国产精品爽爽va在线观看98| 97 九色| 成人一级性爱| 中文字幕精品一区二区精品| 小骚逼被操的爽不爽| 日韩91网| 好吊妞转入那个网| 蜜臀久久99精品久久久久久婷婷| 欧美熟女逼久久久久久| 丝袜综合| 成全在线观看免费观看| 九九玖玖精品| 色综合1991| 色乱二区| 日本高清视频在线观看黄已三辽| 黄页视频网站野外| 欧美亚洲韩国视频十五区 | 国内成人圈中文字幕无码视频| 亚洲av噜噜噜噜噜噜| 91狠| 1769国内精品视频| 97天天弄| 人妻系列无码专区中文有码| 蜜桃久久久久久| AV天堂国产| 亚洲色图第四色| 九久9热| 国产亚洲精品农村妇女| 欧美黑人168页欧美黑人167| 日本三级日本三级99| 精品国产Av无码久久久伦古装| 96爱综合| 99色热国产视频精品| 日韩不卡一二三四| 99色| 日本精品高清一二区一本到| 精品亚洲天堂| 国产诱惑| 国产不卡精品91| 偷窥自拍A片| 久久在线观看免费视频| 美女天天干| 欧美日韩国产电影| 久久九九综合| 日韩色| 7777奇米影视久久| 视频一区二区免费在线| 中文字幕精品久久久久人妻红杏ⅰ| 午夜丁香| 精品人妻中文字幕4399| 激情文学亚洲| 嗯~啊~快点 死我视频免费看网站| 亚洲s在线观看| 日本天天色| 在线只有精品| 91色综| 综合久久99亚洲人妻中文在线| 日韩中文字幕视频在线观看| 午夜精品久久久99热蜜桃的功能特点| 69人妻精品丰满熟女区| 久久a久久| 天天欧美色| http://qxhbdz.com| 日韩有码一区三区| 高凊专区人人操| 亭亭丁香激情| 伊人久久大香蕉线AV五月天| 老女人碰碰在线碰碰视频| 老司机福利青青草| 中国一级操逼视频| 欧美亚洲尤物久久| 日韩AV一起草| 91精品久久久久久综合五月天| 无码 有码 国产18p| 国产精品一区av在线| se吧提供国产乱老熟视频胖女人| 国产精品免费1区2区视频| 色哟哟AⅤ| 中国农村熟妇毛片视频| 日韩99精品视频综合区| 日本在线不卡v二区| 色综合久久久久| 色月天AV导航| 人妻丰满熟妇av无码区蜜桃| 97超碰色情| 伊人黄色片| 黄色网址久久精品欧美喷水| 蜜臀AV成人精品蜜臀AV久久| 97超碰人操| 91肉丝| 免费伦费视频在线观看| 中文字幕精品一区二区精| 免费观看的av| 亚洲丝袜99| 美女被啪到深处抽搐视频| 日美免费黄片| 国内毛片无码一级毛片| 久久久∴| 熟妇熟女一区二区三区| 性色av蜜臀av色欲aV| 日本久操视频| 伊人网高清| 玖玖在线视频| 亚洲素人综合| 国产精品99精品视频网站| 日本99久久| 伊人色综合超碰| 天天做天天爱| 蜜色网色哟哟| 欧美成人精品一区| 亚洲夜夜欢无码一区二区 | 亚洲97在线| 日本3级一区二区免费| 91欧美性| 精品在线观看视频在线| 色拍偷亚洲| 一区二区三区黄片免费观看| 亚洲男人的天堂一区二区| 欧美激情久操网| 亚洲美乱| 国产偷拍网站| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 亚洲av影院在线观看| 神马久久69| 男人的天堂一区三区| 伦理第一页| 欧美日韩性爱精品| 九九亚洲| 一道本东京热加勒比一区二区三区| 热久久无毒不卡| 日韩精品在线观看观看| 欧美日韩国产传媒在线精品| 天堂成人网| 玖玖爱综合| aaaa黄片| 国产女同在线观看视频| 久久久久大香青草精品综合| 中文字幕交换人妻| 青青草十区九区爱夜| 91看黄片| 久久久精品久久| 看日韩美女二区三区免费操逼视频 | 欧美制服网站美腿丝袜| 欧美精品日韩久久久九| 综合少妇网| 青娱乐av在线| 五月天色图| 亚洲国产精品成人久久蜜臀| 人人爽夜夜玩视频| 中文字幕一区二区三区蜜臀| 在线观看综合精品亚洲| 欧美少妇人妻| 97超碰伊人| 丝袜亚洲91| 欧美18禁91| 天天欧美欧美亚洲网| 国产一区二区精品久久99| 久草在线| 亚洲欧美伦综合| 玖玖爱视频网站| 久久成人东京热人妻| 男人天堂免费| 制服中出中文人人精品| 台湾肥佬网一区二区三区| 粉嫩国产精品久久粉嫩| 国产丝袜视频| 亚洲最大91网| 久久久久性熟视频| 超碰久久性爱| 丁香婷婷久久| 五月天伊人| 97人人模人人爽人人| 亚洲日韩精品在线播放| 大香蕉520| 丁香五月激情婷婷| 欧美性天天影视| 亚洲天堂电影精品一区| 熟女性视频| 日韩一级二级在线| 91校园春色长篇| 欧美日本久久精品一区 | 欧美大香蕉在线观看| 日韩99神马视频播放| 国偷自 一区二区| 色欲久久99精品久久| 先锋女优在线观看视频| 九九精品网| 美女9118禁| 青青操日韩| 午夜小电影在线插入淫高潮| 激情抓乳插进去啪啪啪日韩| 国产第25页在线观看| 丁香五月天啪啪| 国产原创自拍| 歐美性天天| 中文字幕亚洲在线一区| www.97在线| 丝袜喷水在线| 78m成人视线| 婷婷婷婷婷婷久久久久| 日韩av一级黄片| 亚洲大色堂| 久久超碰com| 少妇3P性爱自拍| 欧美日韩222| 密臀在线视频| 黄片aaaaa一区| 日韩天堂av电影在线观看| 夜夜嗨TV| 日韩福利电影网| 噜噜吧,噜噜色,噜噜| 加勒比东京热五月天天堂网| 边做饭边操逼逼| 亚洲情色91| 亚洲欧美97| 日人妻视频91| 夜夜国产一区| α√在线| 欧美淫穴| 国产精品青草综合久久| 国产欧美精选激情视频| 婷婷激情一区二区三区俺也去| 干B网| 欧美后进式| 超碰免费97| 天天欧美欧美亚洲网| 一区二区三| 亚洲天堂色图| 午夜毛片亚洲精品片国产久久久| 嫩草在线视频| 丝袜喷水在线| 午夜男女爽爽大片免费观看| 亚洲九九夜夜| 97伊人超碰| 亚洲天堂,男人| 激情天天视频| 狠狠干妹子| 亚洲成人av色网| 欧美一区二区一级岛国大片| 伊人AAA| 欧美日韩亚洲天堂| 欧美日韩资源在线| 约操熟妇| 人妻欧美| 青青三级视频| 天美传媒一二三区永久网站| 97爱综合| 亚洲中字慕不卡| 91色黑人少妇| 一区二区三区欧美激情| 无码免费在线观看黄色片| 97亚洲综合电影| 国产小黄片在线免费观看 | 99re视频在线播放青草| 免费久久9999| 五月丁香六月| 午夜亚洲WWW湿好大| 超碰97人妻| 区自美91| 久久一二三四不卡| 天天干2019| 国产日韩在线播放| 中文字幕日韩电影人妻| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 强奸乱伦资源| www.亚洲黄色| jazzjazz国产精品麻豆| 青青草华人在线欧美在线| 99热这里只有精品99| 久久性爱城| 美国aaaaa一级黄片| 久久香蕉国产线看观看亚洲女人 | 欧美综合 站| 青青草玖玖爱| 日韩不卡网操逼中文字幕日韩| 日本午夜久久电影| 久艾草在线精品视频在线观看| 东北毛片| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 无码九九| 三四中文字幕| 91精品操美女| 97日亚洲欧美| 9色国产精品一区粉嫩| 夜夜嗨AV一区天天| 久久AV无码AV| 97se亚洲|