色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
嗯嗯啊啊视频一区二区三区| 日本三级久| 97人人色| 五十路熟女工口| 久热超碰| 久久久精品无码亚免费| 亚洲欧洲av影音| 欧美一品道| 亚洲激情网一二三四区| 插入综合网| 五月天婷精品激情| 国产黄片精品在线| 成人无码在线视频网站| 97AV在线观看| 91综合中文字幕| 97在线青| 97视频在线看| 日韩精品啪啪啪| 久男人久久| 爱干爱射网啊啊啊| 天美传媒国产原创中文字幕亚洲欧美另类 | 97伪v| 成人久久无码www| 91狠狠综合久久久| av天堂手机版追回| 亚洲精品三| 狼狼色丁香久久婷婷综合五月| 亚洲色图亚洲| 1769一区| 国产精品又黄又猛又粗| a亚洲欧美色欲| 72av视频| 国产一区自拍欧美日韩| AA级电影三区| 欧美中文字幕日韩在线| 国产精品96| 91视频精品| 97在线观看| 久久久久亚洲熟妇熟女| 久久性爱视频免费看| 人妻精品视频一区二区三区| 啊啊啊好想要| 国产精品不卡一区二区三区av| 免费岛国一级片| 97碰| 成人免费毛片| 亚洲日韩国产欧美综合v| 欧美另类精品xxxx| 国产成人无码高清| 120分钟婬片免费看| 超碰av在线| 亚洲老熟妇xxx| 久久久久久久人妻| 男女打扑克高清网站| 久久嫩草国产成人一区| 太久视频| 亚洲最大无码中文字幕网站| 人妻天天操天天爽视频免费| 啊啊啊不要好爽日韩无码一区| 97jingpin| 免费97视频| 四虎免费在线播放| 91久久免费视频互動交流| 国产综合网站在线播放 | 久久大精品乱码视频人妻熟女| 久久婷婷亚洲欧| 亚欧美综合| 69一区二区三区| 国内毛片国产欧美拍| 国产女人操逼视频| 亚洲 日韩 欧美 国产综合体| 国模限制级电影| 天天碰操中国年青熟妇| 91天天综合在线观看| 成人青青草原伊人| 大香蕉www.超碰| 人人插人人搞人人操| 婷婷综合在线观看| 亚洲素人综合| 一个人免费视频观看在线WWW | 久久九精品| 欧美色图第一页| A级毛片在线看免费| 强奸乱伦中文字幕AV| 色婷婷五月天| 亚州Av天美传媒| 91色图| 爱av免费| 加勒比AV网| 久久9精品| 插日本熟女视频| 色诱中文字幕| 婷婷爽人人婷婷爽视频| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 久9久9久9久9久9久9| 欧美极品美女aaaaaa级黄片| 色玖玖| 91成人社区| 麻豆成人影音在线| 久久久久国产一区二| 久久久久久人妻| 亚洲av影音先锋| 亚洲熟妇丝袜在线观看| 亚洲情欲| 97 亚洲 日韩 欧美 在线| 美女爽到高潮91| 亚洲色图欧美色图日韩色图| 日本一二三高清| 亚洲欧美成人网站AAA| 精品久久99| 黄色片G G G| 午夜男女爽爽大片免费观看| 亚码激情| 亚洲天堂男人天堂网| 免费一级毛片在线视频观看| 国产精品午夜福利视频| 亚洲蜜乳av| 九九九综合精品| 亚洲开心网| A V少妇特黄三级| 精品一区二区2| 色婷婷丁香| 天天摸天天操视频| 二色av| 亚洲欧美校园| 色av中文字| 久久东京热久久| 欧美午夜精品久久久久久超碰| 色欲久久99精品久久| 欧美人妻久久精品二区三区| 亚洲第一页色网| 不卡在线一区,精品一区二区三区中| 精品超碰色| 国产女人成人精品视频| 日韩综合色图| 女人的天堂大香蕉网| 成 人片 黄色大片| 色眯眯av| 天天操夜夜操| 被男人吃奶很爽的毛片| 国产视频第2页| 色官网在线| 91 丝袜在线播放| 麻豆一区在线| 欧美黄片视频在线观看免费| 亚洲97| 天天看高清麻豆| 在线v中文字幕一区二区三区| 中精品一区二区三区| 国模吧 一区二区三区| 综合久久99| Av色五月| 近亲乱伦一区二区| 一本久道久久综合狠狠爱一密臀精 | 国产一区二区三区视频在线看| 精品久久久久久久久久久久| 久久久久久AⅤ无码免费肉站| 不卡在线观看视频| 97精品97| 日韩精品一区二区三区四虎影视| 国产精品视频一区二区三区八戒| 我要色综合网站| 涩爱AV在线| 亚洲中文国际强奸字幕| 国产精品不卡一区二区三区av| 天天天乱色综合全| 婷婷丁香五月综合| 在线国产福利网址导航| 日韩有码专区| 欧美久久人体| 婷婷情色五月天| AV九九| 日韩精品资源专区二区| 国产91美女视频| 骚女高跟AV在线| 嗯嗯嗯啊啊啊操的我好爽 | 天天干夜夜操一区二区| 伊人久久大香蕉线AV五月天| 精品久久視頻在线| 欧美综合区| 亚洲欧洲无码bt精品合集| 午夜操一视频一区| 色婷婷A V一二三四区麻豆综合| 天天操天天射青青草| 亚洲av乱伦色图网站| 日本高清免费一本视频在线观看| 九九九九久久久久| 色欧洲| 一二三四区电影| 丁香婷婷激情五月天无毒不卡 | 91精品在线播放| 天堂麻豆天美| 久久久久国产亚洲一区欧美色图日韩 | 性感女人网页在线观看视频| 99热久| 成人性爱全视频观看| 伊人网青青| 日本操逼视频免费| 国产精品视频内谢女人| 麻豆视频一区二区| 九九九九九精品视频| 91影视亚洲| 日本精品性生活久久久| 五月天伊人| 加勒比综合九九99视频在线播放| 97 国产一区| 91精品国产综合久久久蜜臀| 国产精品久久久久久高清无码免费看| 国产农村妇女精品| 国产精品高潮久久久无码| 亚洲精品91| 麻豆视频一区二区| 国产精品白领在线观看 | 熟女突然公开看18禁影片 | 欧美激情超碰777| 熟女天天干| 亚洲高清内射| 欧洲精品一二三在线| 成人十八禁日韩欧美一二三| 蜜桃精品视频一区二区三区| 九九热只有精品| 欧美久久人体| 91第一页| 欧美日韩黄片精品在线| 美女午夜福利免费视频| 久久久97| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 偷拍精品一区二区三区| www.99色| 自拍偷拍2025在线观看| 97色色网| 狠狠热这里都是精品| 日本日日色视频| 媚薬在线视频麻豆| 色97干| 91精品人妻偷情| 人妻一二三区| 久久xxxx| 狠狠夜色午夜久久综合在线| 久久国产精品视频| 国产一级内射无挡观看| 色色操| 99re9这里只有精品| 97精品国产精品免费观看| 久久是精品| 欧美狠狠| 免费看毛片操穴| 国产自产91区13区| 日本高清一本二本免费不卡| 免费观看成人www精品视频| 秋霞影音一区二区三区| 国产丝袜一区二区三区| 色香欲影| 插日本熟女视频| 久久国产精品一级二级三级| 九九九草| A片大香蕉在线| 欧美另类综合久久| 一区二区三区四区五区高清无码永久视频| 黄色一区三区| 亚洲成熟国产精品美女| 亭亭丁香激情| 亚欧洲日韩国产精品| 日韩性爱免费观看视频| 密臀在线免费观看| 欧美激情精品| 亚洲av乱伦色图网站| 97人人中文网| 啊啊啊操死我| 97爱爱爱综合| 78精品在线| 欧美顶级黄色大片免费| 久久久∴| 无码不卡八戒| 97玖玖人妻| 久久精品无码一区二区三区| 天天日天天干天天整| 99综合自拍| 99在线精品视频| 日本高清_区二区三区| 成人AV素股で擦久久| 国语精品av| 99精品久久久久久久婷婷蜜桃| 97超视频在线观看| 为用户提供免费看黄网址在线观看| 色色热| 强乱老妇中文字幕| a在线视频免费观看| 日韩欧美中文字| 欧美天天干| 欧美 日韩 婷婷 五月| 亚洲一区操| 三级片大波波| 在线欧美69V免费观看视频| 打av高清| 国产成人99久久亚洲综合| 天操天操夜操夜月操月年年操| 欧美日韩久久精品爱爱| 91久久国产综合久久| 热热色中文无码| 五月丁香综合| 久久久久亚洲三级电影| 性性欧美| 色综合av男人天堂| 狠狠躁久久躁| 精品熟女一区=区三区| 亚洲精品自拍| 亚洲国产丝袜在线观看| 99re国产中文字幕| 国产v亚洲v日韩v欧美v片另类| 天综合网| 国产精品视频白浆免费| 好湿好紧视频| 亚州 综合 色图| 国产99精品一区二区三区免费| 91欧美综合在线| 东京热男人的天堂精品| 欧美亚洲系列| 色五月69夫妻| 婬女免费一二三区A片| 淫纸中9区| 亚洲天堂中文字幕无码男同| 99久久无码| 无码人妻精品一区二区三区九九 | 伊人影院在线理论播放| 福利社区午夜一区二区| 日韩射精| 学生妹天天看| 色老汉玖玖爱| 搡老人老9丨女老熟人| 亚洲资源吧| av在线浏览| 欧美日韩精品一区二区三区高清| 91精品国产91久久久久久久久久久久| 亚洲最大黄网| 国产亚洲精品第一最新| 欧美日韩插逼视频| 999国产精品999久久久久久| 蜜臀av中字字幕网站| 九色在线熟女国产黑人| 中文字幕丰满子伦无码专区在线视频最新| 久久大精品乱码视频人妻熟女| 99久久综合网| 日本十八禁免费看污网站| 男人天堂导航| 欧美亚洲厕所精品偷拍91| 丁香五月天激情综合| 亚洲av综合色区图片亚洲| 一区二区三区一亚洲中文字幕、综合区灬 | 三级激情网站| 亚洲欧美999| 少妇色综合| 欧美日韩夜夜| 污啪啪啪视频| 午夜高清成人在线视频| 久久精品中文字幕无码l| 91美女在线观看| 99re在线视频国产| 少妇69中文| 欧美天天插| 国产成人久久久精品免费AV| 国产中文字幕曰本毛片| 簧片免费看视频| 影音先锋日本一区二区| 欧美一区二区三区不卡高清视频| 国产丁香精品露脸视频| AV色五月天| 97 视频在线| 丝袜夫妻自拍| 欧插网站| 天天干天天操天天拍| 国产 码在线成人网站| 双插性欧美一二三区| 超碰国产精品无码| 久久久久亚洲三级电影| 欧美天天干| 韩国手机不卡无码三级视频| 九九九九热| 综合色91| 97爱综合| 网站A V在线| 2021国产成人精品久久| 高清无码久操视频| 国产成年精品高清在线观看91| 国产无码精品无码| 91人妻精华帖| 日韩人妻 中文字幕| 无码WWW免费视频网站| 亚州免费啪啪视频| japan日本高清乱xxxx| 国产一级不卡在线观看| 久久XX| 色婷婷狠狠| 中文字幕高清20页视频| 97干com| 麻豆黄四叶草网站| 91操人| 欧美精品,四区。五区| 欧美日韩亚洲国产中文永久天天看| 国产久久久久影院老熟女| 色天使AV天堂| 91人人| 岛国福利在线精品播放| 欧美日韩性爱操大逼| 99热最新| 亚洲限制级| 久久久精| 狠狠操使劲操| 啪啪免费| 色播丁香| 欧美72网页| 精品无人区麻豆乱码1区2区图片| 啊啊啊在线观看| 人妻丰满熟妇一区二区三| 综合影视国产无码| 黄色网址久久精品欧美喷水| 人妻免费观看| 伊香蕉综合久久久久久久噜噜噜| 亚洲婷婷丁香在线| 人人摸人人干人人拍97| 91N欧美| 亚洲老司机123专区| 亚洲在线A| 男啪女色黄无遮挡免费观看| 久久三| www.狠狠干.coom | 先锋音影AV| 婷婷激情四射| 狼狼色丁香久久婷婷综合五月 | 精品对白久久不卡| 日人妻视频91| 青青草十区九区爱夜| 综合熟妇一区二区三区| 欧美一级特黄淫片在线观看| 欧美躁死她一区二区| surenchaopeng| 人人妻人人澡人人爽久久av| 操比国产| 99蜜桃臀亚洲成人在线观看| 精品人妻一区二区三区四区不卡在| 天天操天天射天天日| 熟女人妻av在线资源,黄色的资源| 欧美亚洲宗合色性图| 一级二级在线观看| 亚洲色综合| 欧美在线 亚洲| 午夜性生活av免费在线看| 久热91| 91无码人妻| 国产无马在线| 97人亚洲综合字幕| 国产强奸乱伦欧美| 久久精品欧美一区蜜桃| 亚洲天堂电影网99999| 亚洲最新av无码成人精品区 | 亚洲 欧美 偷拍 唯美| 69精品在线| 亚洲高清欧美总合| 色色婷婷丁香| 青青草在线视频播放器| 日本污ww视频网站| 91天堂丝袜美腿| 口爆吞精在线观看| 东北操逼| 久久人人看| 91中文字幕在线观看| 国产综合永久精品日韩鬼片| 国产视频小说| 伊人五月天| 91美女国产在线| 岛国视频免费在线观看| 综合网97| 91精品久久综合熟女| 91超碰在线观看| 亚州操逼网| av影院十区| 超碰在线人妻| 国产传媒日韩| 色九九九| 精品毛片久久久精品毛片| 97超碰免费生活| 亚洲成熟国产精品美女| 无码二级三级| 91色女| 国产亚洲精品久久久久小| 久久天天躁日日躁狠狠躁| 国产精品点击进入在线影院高清| 日韩美女久久一区二区三区| 久久日韩精品一区二区| 亚洲极品| 欧美大码在线视频| 亚洲欧美大| 色妺妺AⅤ| 嗯嗯啊好爽| 99啪啪视频| 天天做天天爱夜夜爽毛片试看| 久久色一区| 国产日韩欧美操逼视频| 无码九九九九| 精品久久久九九九孕妇| 人妻一二三区| 久久综合女优| 婷婷午夜清品久久久久久久性色视频观| 日韩性爱一级片| 97碰碰日本乱偷人妻中文的| 婷婷五月成人| 亚洲无码国产探花在线观看| 大香交| 久草成人福利导航| 日韩乱伦影音先锋| 无码国产精品96久久久久孕妇| 欧美日韩婷婷中文| 99热在线播放| 人妻一区视频| 大学生美女口爆| A一级色女| 久久久爆乳翘臀一线天伦理视频| 无码高清少妇久久| 97碰碰色| 亚洲欲| 九九九久千久久激情蜜桃在线看| 国产午夜无码片在线观看影视 | 夜夜欢天天干| 久久综合av| 在线女人91| 丁香九月激情啪| 久久免费99精品久久久久久| 啊啊啊啊啊啊在线| 啊啊啊啊在线播放| 久久久久久中文版| 天天日B狠狠操| 蜜乳av首页| 手机在线视频国内精品| 精品亚洲成人免费在线| 日韩啪啪视频| 午夜男人的天堂| 高清孕妇孕交 交孕妇| 久婷婷一区| 射 色综合| 激情av| 人人操人人操草草| 亚洲日本激情| 国产美女裸体秘 永久无遮挡| 超碰九7免费| 日日AAvv| 88在线一区二区三区| www.男人天堂| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 99热综合| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 91操熟妇| 抽插一区二区视频| 午夜亚洲| www欧美91| 东京男人天堂| 久久啊啊| 亚洲国产精品成人久久蜜臀| 亚洲资源站| 国产熟女无套内射| 黄页av| 国产精品乱码久久久久| 欧美爱爱97| 999久久久| 黑人猛交| 一级成人性爱| 亚洲无码免费看| 国产理论视频在线播放| 亚洲蜜桃V妇女| 手机看片1025| 婷婷五月天AV| 91亚洲不卡一区| 中文字幕免费观看| 十八禁一区二区无码观看| 综合九九| 久久久555| 亚洲?V高清一区二区三区尤物| 亚洲天堂一区| 欧美一级特黄淫片在线观看| 亚洲精品日韩国产欧美| 操人妻少妇中文| 三上制服丝AV| 蜜桃狠狠色伊人亚洲综合| 美女91网址 | 一区黄二区黄| 日本中文字幕一区| 国产欧美另类久久久精品课程| 欧美色图亚洲激情| 国产黄色影片在线观看| 欧美精品1区2区3区| 久久草草欧美精品| 国产美女激情| 国产白丝AV| 強姦亂倫a| 日韩不卡av一二三| 91 丝袜在线| 日本二区不卡| a一区二区三区乱码在线| 午夜福利成人免费视频| 熟妇熟女一区二三区| 天天影视之亚洲综合网| 天美传媒精品一区二区| 91丨熟女丨丰满熟女| 极品五月天噜噜| 加勒比av官网在线| 性无码专区2020| 被体育老师抱着c到高潮| 欧美另类色| 色色青青久久| 天天夜躁日日躁狠狠2002| 丰满的三级少妇欧美久久久| 国模不卡一本二本三电影| 18精品一二区| 高跟丝袜AV专区国产| 老色69| 大茄子熟女AV导航| 天天看天天在线精品| 性站| 欧美 色 亚洲| 亚洲古典另类欧美在线| 97爱爱影院| 一级二级在线观看| 久久婷色| 骚熟女AV网| 乱欲一区二区| 啊啊啊不要啊啊受不了了视频在线| 亚洲黄色电影| 国产成人精品亚洲日本| 91精产一区二区三区| 2018天天日天天日| 台湾佬激情综合| 96久久久久久久| 视频分类 国内精品| 男人网站婷婷| 精品人妻中文字幕4399| 美女淫穴| 人人贴人人摸| 亚洲色图国产另类| 性videos欧美熟妇hdx| 无码人妻一区二区一牛影视| 欧美性性性| 丁香激情网| 91性网| 熟妇在线视频一区二区| 亚洲精品国产拍免费91在线| 亚洲日本韩国在线| 夜夜精品视频一区二区| 成人免费在线网站| 偷拍新久久| www.色婷婷色综合| 亚洲色图A| 天天干天天爽| 亚洲阿v天堂在线| 婷婷综合在线观看| 婷婷av在线中文字幕| 国产亚卅97| 狼狼色丁香久久婷婷综合五月| 亚洲drav色图| 国产综合操逼高清| 日韩91网站| 丰满人妻一区二区三区四| 亚洲欧美999| 九一综合精品视品av| 国产精品永久免费10000| 九九九九九用不成了| 亚洲 自拍偷拍 欧美| 91亚洲欧美综合高清在线| 欧美日韩性爱视屏免费看了| 高清孕妇孕交 交| 啊啊啊 在线观看| 日韩美女啪啪一区| 青青草中出视频| 农村妇女一级二级三级视频| 国产成人在线观看网址| 久久久久久久久久久久久久久久9| 欧美亚洲尤物久久| 91bbbbbb| 成人A片男人的天堂| 51一区二区三区| 久久久久99精品成人片蜜臀| 人妻出轨一区二区三区| 黄色小视频日本txt| 日韩欧美传媒一区国产| 国产亚洲色婷婷99精品91| 亚洲一区二区精品福利| 亚洲天堂男人天堂网| 中文字幕久久精视频久久大全| aaaa少妇高潮大片| 碰碰97| 狠狠干2020| 日韩女优在线| 青青操狠狠撩| 亚洲人成在线放东京热| 操老熟女AV| 热天堂一区二区| 五月丁香社区婷婷日韩欧美精品影院 | 五月天婷婷社区| 四虎免费看黄| 理论久久婷婷网 8| 成人午夜小视频手机在线看| 91亚洲色图| 好一吊区二区| 啊啊啊啊二区好大| 屌逼传媒| 精品久久人妻成人网| 亚洲激情在线观看一区| 大香蕉综合网| 不卡六六在线91| www.99热在线只有精品| 日本三级韩三级99久久| 天天色综亚洲91污| 欧美一区二区日韩三区| 91东北熟女| 91热| 中日韩久久久免费看| 精品无码人妻一区二区免费蜜桃| 啊啊啊用力在线观看| 亚洲超碰在线| 美国日韩黄色片| 奇米狠999| 日本性交操一区二区不卡系列| 久久精品久久久久久久| 久啪视频| 欧美淫乱视频| …中文字幕亚洲乱,97人妻无码费视… | 啊啊啊好舒服视频在线观看| 日韩久久超碰色| 啊啊啊 在线观看| 高清无码网址| 天天干天天插| 五月丁香色婷婷| 丁香五月天堂| 久久久18| 亚洲va综合va国产va中文| 国产成人自拍视频在线| 亚洲一卡2卡3卡4卡乱码网站| αⅴ天堂| 国产精品宅男免费| 囯产操逼片| www欧美性爱| 凹凸视频特色日本特黄| 99久在线精品99re8| 欧美成va视频网站| www.丁香五月| 日韩啪啪啪啪啪| 久久久精品国产亚洲伊人| 人妻天堂综合网| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲 中文 女同| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 精品999日本| 色在线69堂| 玖玖资源视频一区二区三区| 国产精选视频| 久久久久少妇| 91亚洲色人| 国产精品色片一区二区| 午夜男女爽爽爽在线视频| 亚洲综合九九| 天天日日舔舔| 日日橹狠狠爱欧美超碰| 中文字幕一区二区三四五区日日骚| 国产视频大全| 亚洲第一页综合在线| 人妻精品一区二区| 三级日本一区二区三区| 久操网视频| 亚洲一区中文字幕一区| 欧美亚洲综合色| 欲色影视综合吧| 亚洲十八禁止| 亚洲精品欧洲色| 欧美成年人性爱视频免费观看| 大香蕉www.超碰| 亚洲制服欧美另类内射| 大胆91| 欧亚成人在线视频| 国产91丝袜 在线播放| 看日韩黄片| 日韩av一级黄片| 中文高清一区二区的| 欧美国产有色电影| 欧美日韩狠狠爱| 欧美不卡在线一区二区| 国模少妇一区二区三区 | 久久这里只精品免费福利| 全免费a敌肛交毛片免费| 午夜免费视频1000| 天综合网欧美| 免费观看日本操逼视频| 激情综合网五月婷婷五月天| 欧美乱色| 亚洲欧美综合网站| 日本性感人妻91| 五月天大香蕉| 99re99视频在线免费观看| 91丝袜| 日本在线激情一区二区三区| 久久超碰97中文字幕| 南澳成人一级片在线播放| 免费一级a毛片久久久久久鸭绿欲| 亚洲成人在线播放| 亚州色阁| 欧美性爱免费短视频| 丁香五月婷婷基地| 天天干1区2区在线| 人人玩人人添人人澡免费| AV中文在线可看| 国产精品69久久久久久久| 日韩综合成人免费视频| 999日韩中文精品观看视频。| 亚洲校园激情| 亚一综合久久久久久久久久| 日韩伦理视频| 9999久久久| 五月综合久久| 欧美图片校园春色| 色综合av男人天堂| 96国产污污污丝袜| 人人操人人操人人人操| 日韩熟女精品无码专区一区二区| 欧美大的香蕉有线电视视频| 亚洲少妇中文字幕网址| 婷婷久草| 午夜福利免费精品视频| 综合97亚洲| 人人贴人人摸| 欧美韩国你懂得在线 | 欧美激情综合色综合啪啪五月| 九九九久| 亚洲成av人片色午夜乱码| 久久九九热| 岛国片在线观看视频亚洲| 亚洲精品久久一区二区三区蜜桃臀| 天天躁日日躁成人字幕aⅴ| 欧美三级免费伊人| 秋霞操逼片| 午夜欧美神马久久久久| 人人操,人人插| 青青国产在线拍揄自揄拍| 国产美女口爆吞精视频| 精品乱子一区二区三区99| 99久久久久久亚洲精品不卡| 91国产大片| 97在线视频观看网站| 超碰1997| 日韩中文字幕在线视频观看| av橘色网站| 99热官网| 视频国产成人精品日本亚洲18| 欧美亚男人的天堂| 黄色激情电影在线观看| 加勒比伊人综合| 欧美综合区| 好爽视频在线观看| 99爱久久视频频| 亚洲精品国产日韩无码AV永久免| 天堂射| 亚洲日本韩国在线| 国产极品馒头逼| 91国产大片| 国产精品蜜乳AV| 久久久性爱| 欧美色图私拍91| 综合影视国产无码| 东京热,男人的天堂| 久久久久久夜夜夜夜夜| 精品毛片av一区二区| 91在线国产后入风骚翘臀美女素人| 亚洲色诱惑| 天天干天天操天天操夜夜操天天操 | 伊人久久亚洲色欲综合网站 | 五月天玖玖资源站| 97天天摸天天爽| 国产熟妇一区二区| 激情五月天视频| 欧美日韩大香蕉| 日本 情色 1区2区3区| 国产乱码久久| 久久久久久久国产视频| 天天综合中文字幕 91| 亚洲在高跟鞋自慰久久在色线| 免费看日产一区二区三区| 欧美激情久操网| 热久久无毒不卡| 欧美亚综合色图| 搡老熟女老女人老熟妇免费视频| 麻豆三极片| 天美久久久久| 日本蜜桃| 日韩性色b| 激情视屏国产乱伦强奸| 亚洲伊人久久综合97| 老鸭窝在线视频播放| 99re在线观看| 一区二区三区精品黑丝白丝酒店对鸡| 亚欧免费| 国产午夜精品在线观看| 欧洲一区二区| 好舒服视频| 国产性刺激| 桃色五月天| 亚洲欧美日韩精品久| 免费av在线播放二区| 91美女小视频| 99精品无码| 98福利在线视频| 色婷婷综合久久久久中文一区二区 | 九九九久久久久| 久久久久日本视| 99视频内射三四| 久久久久久国产精品免费网站| 亚洲中文字幕在线视频一区二区| 国产搭汕a级片| 亚洲欧美91√| 黄色片G G G| 超碰这里只有精品| 蜜臀久久99精品久久久久免费观| 首页亚洲国产高跟丝袜诱惑视频| 国产情侣自拍在线播放| 日本操逼二区| 岛国网址国产| 岛国色情视频在线观看| 欧美爱三级日韩久久| 午夜小电影在线插入淫高潮| 密臀视频三区免费网站| 东京热,男人的天堂| 亚洲影视第一页| 伊人视频| 人澡逼| 97久久久久久久久久| 97情超碰色| 粉嫩久久久极品| 美女网站黄页| 免看60秒涩涩视频| 欧美色图自拍| 玖玖无码超碰| 超碰97国产欧美| 91亚洲欧美激情| 久操97| 国产强奸乱伦欧美| 国产精品内射婷婷一级二| 黄片www视频免费| 操b在线观看| 99re热有精品视频国产| 精品成人无码| 色婷婷视频| 操逼操操操91| 久久女婷| 欧美制服另类丝袜| 97色欧州| 老熟女中文字幕高清| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 97超色| 操熟女91| 人妻色偷色噜| 波多野结衣先锋影音| 女人被添高潮免费视频| 丁香五月影院| 免費人妻夜夜爽天天爽爽一区| 熟女自慰久久久| 色情婷婷久久五月天| 91美女视频直播| 国产精品com| 国产一区在线观看无码AV| 国产精品无码在线| 黑丝少妇在线观看| 热久久九九热| 亚洲日本大香蕉1| 国产精品国产精品国产| 老子午夜伦不卡影院| 探花一区在线| 人妻夜夜爽天天爽麻豆三区网站| 97色色色综合网站| 亚春色色| 亚洲天堂在线怕怕视频| 综合影视国产无码| 日本三级久| 伊人色综合欧美| 亚洲欧美情色| 成年人黄色小视频网站| 天天日少妇逼AV| 熟女AV一区| 欧美翘臀视频网站一区二区三区| 久久久久久人妻一区精品色欧美| 女人高潮抽搐喷水视频网站| 夜夜嗨AV蜜臀av| 大香蕉日韩欧美| 亚洲欧美日韩制服另类| 美女自卫慰黄网站免费| 欧美黄色图片| 亚洲男人天堂手机版| 黑人白女精品一区| 久久久爆乳翘臀一线天伦理视频| 亚洲成人妻日韩在线| 婷婷爽人人婷婷爽视频| 中文字幕aⅴ在线视频| 素人美腿视频网站| 丰满少妇精品一区二区| WWW啪啪的com| 97资源超碰| 欧美综合自拍亚洲综合图| 99e久久国产精品| 大香蕉97久久| 亚洲se电影| 再深点灬舒服灬太大了添视频 | 色五月AV| 国产乱伦性爱AV| 国产精品天干天干综合网麻豆| …亚洲黄色厕厕女女在线播…| 国产精品久久久久中文字幕| 国产乱婷婷精品二区三区| 婷婷性网| 国产女生在线| 高清肉丝中文无码| 无码高清少妇久久| 九九精品美女高溯喷水| 久9精品| 中文字幕一区二区三区视频播放| 干B| 国产精品一区二区校花| 中文字幕亚洲欧美在线不卡| 欧美97爱| 五月丁香亭亭| 果冻传媒A片麻豆熟妇人妻| 日本在线视频导航| 2019亚洲男人天堂| 男女激情黄色网址| 劲爆欧美人妖三区91| www.伪伪| 东京热精品97综合网| 91香蕉视频在线观看免费| 中文字幕版| 一道α片欧美| 天天舔九色婷婷| 亚洲 小说 欧美 激情 另类| 手机不卡视频不卡在线一二三区| 久久男人的天堂| 久操B网| 亚洲国产一级黄色视频| av操操不卡| 人人操,人人插| 四虎AV影视国产精品亚洲精品| 伊人久久综合影院精品久久久| 欧美有码亚洲中文字幕一区二区三区四区| 啊啊啊啊啊好多水| 色色色色色色色色色色色色色色综合 | 极品尤物自安慰| 超碰 国产熟女精品一区| 亚洲性爱无码乱伦av| 日本熟妇自慰性高潮一区二区三区| 天堂8在线新版官网| 这里都是精品| 内射白嫩美女| 强奸抽插av| 欧美亚洲se91| 亚洲色图殴美色图激情乱伦| 中文字幕av一区二区三区人妻少妇 | 天天综合网91入口| 偷拍三区| 国内一区二区三区| 婷婷五月综合激情| 白丝AV| 超碰碰激情97+久| 国产 三级自拍| 超碰97亚洲| 白丝少妇一区二区| 日韩不卡毛片Av免费高清| 伊人九九九| 欧中日成人免费影视| 日韩中文字幕人妻视频| 亚洲欧美激情小说| 国产馆极品诱惑| 黑人狂躁日本妞一区二区三区| 国产少妇内射| 啪啪91| 久操网线| 91 丝袜在线播放| 欧美亚洲美少妇一区二区| 熟女突然公开看18禁影片| 青青草毛片| 亚洲国产蜜臀系列在线观看| 久久99操天天日| 黄色AAAAA欧美| 精品78| 日韩人妻精品| 欧美嗯啊……在线观看视频免费| 制度丝袜99| 天天噜| 伊人精品国产| 小草精彩毛片| 午夜精品久久久久久久99蜜桃一| 酒色综合网| 亚洲天天影视色综合| 国产欧美美女免费观看视频| 国模艳艳啪啪一区| 亚洲网站一区二区在线| 天天日骚逼熟女| 一区 欧美 日韩 麻豆| 五月天社区| 天天操天天干一区二区| 久久专区| 亚洲综合嫩| 色超碰综合| Av色五月| 性爱视频久久| 国产午夜无码片在线观看影视 | 婷婷五月天伊人| 国产极品美女高潮无套在线观看| 性天堂| 啊啊啊好大好深| 久久精品视| 69精品人人人人| 天天爱天天韩国日本牛牛牛牛 | 天堂av最新电影网| 久久日本熟女精品一区| 亚洲 中文 女同| 五月婷婷影院| 日本午夜福利影院| 久久毛卡| 人妻一二三区| 欧美片第一页| 91欧美在线| 91黄站| 九九热re99re6在线精品| 精品一区二区久久| 中文字幕女同在线| 桃色人妻在线视频| 久草资源在线| 色97欧美| 欧美亚洲综合999| 人妻少妇精品久久久| 国产传媒1234区| 国产夜夜艹| 啊啊啊啊啊在线观看网址 | 骚逼高潮久久精品| 久久久久久久久久8888| 亚洲免费人妻在| 欧美人妻一区| 强奸乱伦动态污图免费 | 激情图片亚洲色图| 日本少妇va7777| 暖暖精品二区三区观看| 97资源超碰| 欧洲综合视频| 91丝袜美女| 色五月69夫妻| 成人熟女区| 日韩中文字幕宗合在线| 福利大香蕉| 青青青草原| 亚洲第一页色网| 91综合熟女| 亚洲伊人久久综合97| 日本1区2区不卡视频| 国产一区在线观看无码AV| 污污汅18禁网站在线永久免费观看 | 97国产超湿| 亚洲五区熟女| 香蕉免费一区二区三区不读| 鸥美极品|