色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
亚洲 综合 欧美| 中文字幕视频免费| 先锋音影AV| 国产精品另类一区大香蕉| 肏逼视频日本| 久久性爱城| 亚州色国| 亚洲囯产精品女人久久久| 日本欧美国内在线| 青青草在线视频播放器| 九九黄色视频在线观看| 人妻丝袜一区二区三区在线| 很很干很很操| 国产精品爆乳懂色蜜乳| 炮色五月| 欧美高清18A片| 亚州操操穴网| 日韩成人高清一区二区| 欧美亚洲第1页| 好爽视频在线观看视频| 97超碰天天爱天天爱| 国产精品福利视频| 欧美性猛交美女自慰91| 成人精品无码| 色综合潮| 人人操人人插人人摸人人干| 日韩精品人妻中文字有码在线| 操人人| 国产欧美第五页| 亚洲成人在线乱码色午夜| 日日碰狠狠添天天爽超| 色图综合| 污污污8888| 人人妻人人爽 97人人看碰人免费公开视频| 97色诱| 97色香蕉| 人妻插插人妻人| 久操操AV电影| 97国产精品在线观看| 久久久78| 男人的天堂不卡一区二区| …亚洲黄色厕厕女女在线播…| 丁香激情五月| 在线免费试看60秒| 18一区二区三区| 精品无码久久久久久久久果冻糖心| 色一区二区三区综合| 好看的久久不射无码影视影院| 动漫爆乳3D奶水一区在线观看| 3D污黄视频在线观看| 欧美在线中M| 国产 三级自拍| 亚欧操逼片在线观看| 久久丁香五月天| 大逼色网站| 粉嫩国产精品久久粉嫩| 免费一级性爱久久| 97超碰影音| 久久久A∨| 久久久新亚洲AV| 成人片视频| 在线观看黄色电话| 蜜臀久久99精品久久久久| 大香蕉伊在线久草麻豆天堂故事| 开心激情婷婷| 国产一级操B视频| 久久网亚洲| 小草精彩毛片| 亚洲欧洲国产综合av| 伊人91| 欧美青青视频| 久久午夜伦| 日韩无码a片| 国模91| 国产无码三级视频在线观看| 夜夜福利| 日韩精品99999| 成人性爱AV在线免费观看| 日韩精品系列| 色狠狠综合噜一二三区| 精品一区二区成人动漫| 国产综合在线视频网站| 久艹日日日| 久插综合| 嗯嗯啊中文字幕| 日韩国产乱子伦App| 老熟女搡BBBB搡BBBB视频| 怡红院网站在线视频| 久久深夜无码| 亚洲精品久久久久久久久豆丁网| 99re国产中文字幕| ?亚洲伊人伊成久久人综合网| 精品无码一区二区三区色欲| 超碰色图| 四虎免费在线播放| 99精品人妻| 青青草导航在线视频| 亚洲免费97免费| 少妇 综合| 国产精品熟女丝袜一区二区| 丁香五月综合| 人人摸人人添人人操| 精品久久无码午夜福利| 久久精品一区二区一8| 色淫网站优优视频| 久久精品久| 色约约一区=区三区| 国产91丝袜在线播放蜜月| 久草新免费| 久久久久久性爱片| 97在线精品| 精品伊人久久久大香线蕉小说| 久热在线精品免费观看| 国产精品高清2021在线| 四虎国产精品永久在线囯在线| 欧亚久久偷拍视频| 日韩亚洲中文有码视频| 精品无码久久久久久久杏吧| 欧美精品久久96人妻无码| 青娱乐老司机视频| 一区二区三区精品视频| 九一国产精品| 97精品视频在线| 99re69| 超碰人人乐97| 97香蕉人人乳| 国产精品丝袜久久亚洲不卡| 97丝袜亚洲在线播放| 日日橹狠狠爱欧美超碰| 9999九九九久久久| 少妇色综合| 99re热| 欧美淫乱视频| 999综合网| 国产精品自拍视频| 日本成人在线不卡一区二区三区| 国产隔壁老王影院在线| 大香网伊人久久综合| 99久久网站| 亚洲色吧网| www四虎| 亚州色图欧美| 久久鲁夜| 欧美日韩精品青青| 囯产精品久久久久久久久久二区三区| 色综合V| 91成人精品在线播放| 成人性爱高清视频免费看| 成人在线日韩| 射丝袜大香蕉| 国产尤物AV尤物在线观看不卡| 第一高清av中文字幕| 六六久久日韩不卡| 99只有精品| 久久丝袜| 国产亚洲精品玖玖玖在线观看| 这里有精品| 欧美曰韩国产精品| 人妻激情在线视频| 操操逼视频| 国产粉嫩出水在线播放| 丝袜性亚洲| 色噜噜日韩精品| 20cm女自慰在线日韩欧美| 日本操逼视频不卡直接放| 高跟丝袜AV专区国产| 九九热精品| 国模不卡一本二本三电影| 综合天天。| 天天射夜夜操| 女人爽到高潮潮喷18禁网站| 亚洲五区熟女| 大香蕉99999| 亚洲中文国际强奸字幕| 91九色丨国产丨爆乳| 97视频在线视频| 操逼A∨| 亚洲激情在线一区二区| 人妻丝袜肏逼| av网站在线看| 久久性爱视频| 上床啊啊啊| 熟妇xxxxx性春色| www.婷婷六月天| 九九超碰综合网| 日韩免费福利在线观看| 婷婷情色综合网| 久草色在线观看| 中日韩免费看男女操逼大全| 人妻av在线| 亚洲精品一区二区免费在线观看| 国产精品午夜AV完会免费| 欧美性爱五月天| 91欧美另类| 黄片视频观看| 亚洲 欧美 中文 日韩超碰| 91美女視頻| 亚洲高清自拍| 中文字幕天天天天天| 传媒在线观看一区二区三区| 久99久视频| 激情婷婷丁香| 91 丝袜在线观看| 91欧美亚洲| 开心五月深爱五月| 97色碰| 人妻熟女午夜精品在线| 日韩久射综合| 午夜精品久久久久久久男人的天堂 | www.色婷婷.com| 国产三级中文字幕粉嫩| 一级aaaaa欧美中文字幕录像片| 免费的av网| 日韩性爱小视频| 麻豆天美国美国产| 欧美se综合| 精品人妻美妇91job| 国产吹潮女在线观看| 亚洲字幕一区二区| 看看日B真人视频| 果冻国产精品麻豆成人av| 久久妇| 日韩亚洲Av人人夜夜澡人人爽| 久久久久9999妇女| 搞中出视频在线观看| 欧美Ⅴ性爱| 97国产精品国| 东京热视频网| 超碰日韩美妻| 天天躁日日躁AAAXX| 中文字幕在线第二页| 在线亚洲欧美| 国产二区三区粉嫩在线| 天天做日日爱夜夜爽| 疯操AV| 五月丁香色综合| 中文字幕丰满子伦无码专区在线视频最新| 日韩二级| 狠狠色色| 国产福利电影| 欧美国产一区二区三区麻豆传媒 | 日本一级婬片试看三分钟| 试看60秒| 96精品在线| 玖玖爱在线视频免费观看| oumeizonghese,www| 国产欧美精选自拍一区| 涩涩久久精品| 男人的天堂2019AV| 99这里只有精品国产| 欧美色日| 极品五月天噜噜| 上海一级黄片| 亚洲天堂男人的天堂| 麻豆一区二区三区精品| 一区二区你上我| 操逼视频色| 男人天堂毛片| 国产人妻一区二区三区欧美毛片| 思思99热| 91精品无码人妻系列| 东京热男人天堂| 色情亚洲日本成人| 粉嫩不卡一区二区性爱| 99久久久无码国产精品性啊聊| 精品中文日韩字幕视频| 日韩超碰精品综合| 激情婷婷| 啪啪视频免费在线观看| 亚洲欧美内射| 亚洲国产亚洲天堂| 精品无码人妻一区二区免费蜜桃| 欧美精品不卡一二三四在线91| 国产日韩欧美三级片| 亚洲成人黄色在线观看| 97色在线视频| 91性片| 亚洲999综合| 中文字幕一区二区三区蜜臀| 九月婷婷| 亚洲性爱电影| 人妻铁牛TV| 国产精品丝袜在线| 日本美女性生活久久久久久久| 精品少妇人妻av久久免费| 2017天天操| 男人天堂久久精品不卡| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 日本在线一二| h在线看免费版在线看| 四虎午夜影院| 思思热在线视频免费| 97超碰超欧美。| 欧美日韩国产男人| 97超碰天天爱天天爱| AV 少妇 人妻 偷拍| WWW黄片COM| 国产一级高跟丝袜| 无码直播久久久| 亚洲伊人成综合成人网| 91网站18| 中文字幕精品探花视频| 激情综合 婷婷五月 红杏| 亚洲日韩青青草色月| 久久久一热在线播放| 五月天成人综合| 色吧五月| 男人天堂一区二区| 私色综合网| 五月色综合| 天堂岛av| 强上我不卡卡| 超碰人人乐97| 日韩资源网| 2017天天透天天通天天擦| 亚州熟妇精品| 九九九久| 精品人妻av区天天看片| 久久久涩| 免费一二区| 18精品一二区| 日韩性爱啪啪视频| 热热色青青草| 亚州性色| 国产强奸AV在线| 天天看天天干| 日韩三A大片在线观看| 天天干天天舔| 国产小黄片在线免费观看 | 深爱伊人影院| 女人天堂av在线播放| 一区二区三区免费视频入口| 欧美在线91| 91成人高清在线观看| 欧美五区| 亚洲精品黑丝| 人人妻人人玩人人澡人人爽| www熟女乱伦com| av一区二区三区不卡| 人妻81p| 人人操我人人干| 欧美组图日韩亚洲中文字幕| 污污汅18禁网站在线永久免费观看 | 青青国产在线拍揄自揄拍| 婷婷情色五月天| www.操| 九九热精彩视频| 国产av色网| 性生活性生大爱77AV国产| 91国产在线精品| 亚洲国产亚洲天堂| 男女啪啪网站免费视频| 国产小黄片在线免费观看| www超碰| 91丨国产丨白浆| 99re6久热只有精品6在线直播| 九九热男人天堂| 天天综合网1| 肥佬影院91| 91无码人妻精品一区二区三区蜜桃 | 欧亚第一综合网| 后入式五六区| 亚洲人妻爽爽爽| 亚洲另类天堂| 国模吧 一区二区三区| 青青青操| 日本道人妻久久久在线不卡色视频| 激情综合网激情综合| 国产久久av| 婷婷三区| 九九热只有精品| 男女激烈网站最新| 日本在线一二| 欧美性高潮在线| 一个国产在线综合网站| 亚洲少妇色| 天天拍天| 免费观看国产小粉嫩喷水精品午| 另类综合另类| 久久人人舔人人爽舔人人av片| 99碰碰| 偷拍综合亚洲| 亚洲一本色道中文无码aV天美| 一二三四免费视频| 亚洲男人在线观看天堂| 色色色色网站| 在线小说视频一区| jk白丝没脱就开始啪啪| 欧美国产一区二区三区麻豆传媒 | 日韩不卡毛片Av免费高清| 天天摸天天碰天天添青青| 国产传媒日韩欧美| 五月婷婷激情| 欧美黑人熟妇精品91| 免费一级视频特黄色大片| 亚洲黄a三级三级三级看三级| 欧美精品三区| 久久天天摸| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | ji熟女.com| 欧美日韩性感| 91色交| 2020中文字幕| 国产欧美日本亚洲精品| 久久久网一区| av爱爱爱| 嗯嗯啊好大| 韩国手机不卡无码三级视频| 欧美91在线+|+欧美| 吖在线不卡一区二区国产剧情| 激情综合五月| 日韩精品人妻一区二区| 超碰超碰欧美| 精品综合久久久久久五月天| 亚洲素人网| 26uuu性| 日韩久久超碰色| 国产精品久久泡妞网站| 亚洲欧洲激情卡通另类文学四射小说网站| 五月激情在线| 亚洲av综合伊人久久| 超碰久热| 欧美性五月| 女人高潮大叫一级毛片| 亚洲青青草| 人人澡人人干| 久久婷婷色| 亚洲加勒比| 欧洲综合视频| 久久综合国产精品国产| 韩国嫰模上门援交视频| 在线只有精品| 97欧美色综合| 99国产精品人妻人伦| 九九视频黄色片| 天天操天天日天天干| 岛国网址国产 | 女同女同恋久久级三级| 欧美黑人日韩少妇色情| 色性欧美| 操逼1区| 中文字幕精品码亚洲| 午夜丁香婷婷| 不卡一区二区日本视频| 亚洲高清色综合| 欧美性,色九九| 美女自卫慰黄网站免费| 免费?级毛片无码?∨蜜芽试看| 91爱欧美| 色九九九九| 国产高清无码一区三区二区| 欧美99999| 香一区二区三区| 五月婷婷丁香中文字幕| 久久久久免费看少妇A片特黄| 青青青草原| 性爱AV天堂| 欧美九9 9 9| 国产极品一区二区三区三州| 久久首页| 久久久久久9| 国产人人干| 国产精品久久久777| 骚逼高潮久久精品| 囯产操逼片| 思思热在线视频免费| 中文乱码字幕观看视频| 美女AV一区二区| 污到发麻的视频 国产| 97最新在线播放视频| 91免费看一区二区三区| 蜜臀99久久精品久久久久久| 久久久久亚洲一区女同性恋中文字幕| 欧美亚洲中文字幕| 久久av一级av少妇av高潮| 妇女性内射冈站HDWWWCOM| 78精品| 亚洲区小说| 四虎视频在线观看| 久久伊人青青草| 无码人妻丰满熟妇奶水区毛片| 天天日天天色| 国产av高清版| 蜜臀久久99精品久久久老,,| 久久久久久久久久久久久久久性生活视频| 色人久久| 久久精品99| 香蕉婷婷| 26UUU欧美日本| 9l视频自拍9l九色成人| 中文字幕一区二区三区蜜桃视频| 无码精品人妻一区二区三区妖精| 日韩AV一区二区三区三州三州| 国产强奸乱伦第1页| 午夜精品久久久99| 神马九九九| 久久久成人精品| 欧美日韩美女精品久草一区二区三区| 歐美性天天| 成人五月天色网| 亚洲人妻熟妇三十三区| 黄日韩| 欲射影视| 丝袜色综合| 91天天综合在线观看| 天天日骚逼熟女| 欧美人妻制服| 强乱老妇中文字幕| 天美传媒精品一区二区| 91精品亚洲内射孕妇| 中文字幕一区二区三区字幕| A片 AV一级在线播放观看免费| 思思性爱| 蜜臀久久99精品久久久老,,| 九九九久千久久激情蜜桃在线看 | 亚洲在钱| 青青在线视频免费| 国产传媒午夜理伦精品| 秋霞影音一区二区三区| 亚洲国产欧美中文永久| 天天综合精品| 亚州乱码中文字幕综合久久久| 日本A级视频| 91在线色| 久久9久久| 久久国产熟女影院| 成人性爱美曰韩| 欧美日韩丝袜| 欧美日韩国产传媒在线精品| 麻豆国产成人精品| 精品久久久久久久| 日本免费一级AAA大片器| 婷婷伊人网| 综合久草| 久久精品操| 国产乱伦视频污| 一个人免费HD91视频| 青娱乐亚洲热| 在线电影亚洲色图| 久久黄片国产一区二区| 人妻人人操| 欧美18禁91| 天天舔天天日天天射| 亚洲天堂第一页| 欧美v亚洲v日韩v最新在线二区| 日韩大香蕉| 熟女高潮合集-永久久久-成人AV| 加勒比av中文| 亚洲不卡不卡中文字幕不卡| 天美av在线观看| 日本一区二区亚洲综合| 乱色老一区二区三区的观看方式| 婷婷超| 青青草中文-久久青草精品一区二区三| 伊人黄色片| 99久久综合网| 日本激情免费大片| 国产精品久久发布| 成人欧美日超碰| 无码人妻1727| julia高潮后不停追击中出| 香蕉久久精品| 日韩成人私密一级精品av| 俄罗斯一区二区视频在线观看| av资源在线播放天堂| 一牛一区二区三区久久| 日日摸天天爽夜夜欢| 特级毛片特黄久久免费看| 国产精品一区二区黄片| 无码视频一区二区| 久久婷婷电影网| 涩五月婷婷| 亚洲男人天堂视频| 中文字幕交换人妻| 亚洲日韩久久精品一区| 一区二区免费电影久久| 久草色悠悠在线视频| 日本不卡一区二区| 亚洲性爱高潮影院| 丰满人妻一区二区三区免费| 欧美成人性爱视频大全| 亚洲熟妇AV日韩熟妇在线| 中文字幕久热视频在线| 久久久久国产| 国产又黄又粗的视频| 冬京热男人的天堂| 欧美人人操人人插| 日本A级视频| 国产美女自拍AV| 免费农村成人少妇人妻Aa一区二区视频| 国产激情在线| 亚洲情色中文字幕一区| 黄色十八禁网站| 人妻性爱一区二区| 男插女青青影院| 国产91会所女技师在线观看| 日本不卡码黄色 | 岛国成人av在线播放网址| 九九九九97| 手机在线中文字幕国产| 老熟女中文字幕高清| 成年女人黄网站| 禁止观看美女黄| 国内毛片热久久思思热| 国产极品久久久| 九月丁香婷婷色| 国产欧美黑人丰满在线| 蜜乳AV网址| 78精品在线| 伊人久久88国产女| 久久精品国产精品一区| 大香伊人在线一区| 美中日韩无码| 九九九999久久久网站| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 国模私拍一区二区三区神乳| 2017大香蕉国产精品久久| 美国aaaaa一级黄片| 色哟哟国产精品免费网址| 99国产精品自在自在| 曰韩中文人妻视频| 69超碰综合| 日日骚av| 99精品久久久久久久婷婷蜜桃| 热热色色综合| 亚洲综合另类小说色区亚洲成av人片在www | 亚洲成人在线乱码色午夜| 亚洲色婷婷久久91| 久久最新视频免费观看| 日本五十路熟女一区二区| 99久久99九九99九九九| 九九色综合| 久久久精品电影| 97碰碰日本乱偷人妻中文的| 91精品伊人久久久大香线蕉91| 欧洲精品一级二级精品综合视频综合 | 亚洲在线欧美| 激情综合五月天| 九九视频黄色片| 美女t无毒不卡不卡| 午夜精品久久久99| 丁香五月av| 亚洲一级性爱视频免费看| 天天综合91入口| 天堂国产AV| 人妻少妇被猛烈进入中| 97亚洲精品超碰| 热热热热日日漂亮永久永久国产日| 欧美一级A片在线看视频性色| 日韩性爱啪啪视频| 国产超碰欧美| 中文幕97| 欧美久久草熟女| 97人人射| 天天干夜夜一操| 精品国产一区二区三区在线播出| 男人的天堂视频精品乱在线| 蜜色网色哟哟| 九九色热| 91人妻尻屄视频| 91碰超| 78m成人视线| 大香蕉在线视频重口味毛片在线| 国产 无码 一区二区| 日本男人天堂| chaopen97久久| 日韩欧美偷拍美女视频| 亚洲 图片 欧美 色图| 亚洲色图激情小说| 九九热AV| 亚洲小电影免费涩涩成人在线高清| 国产精品一区二区密臀| 国产美女激情| 一区二区你上我| 国产成人无码久久精品| α√在线| 欧美亚洲尤物久久| 日韩中文字幕精品一区在线| 是还免费视频1727我| 天天干人人乐| 亚洲日本大香蕉1| 欧美天堂第二区| 97伪v| 天天日天天操VV| 天天综合香 ld视频| 成人日本精品九区| 欧美天天综| 熟妇最新先锋一二三区| 97亚洲综合电影| av婷婷色网| 啊a一区在线| 日本黄 R色 成 人网站| 狠狠色丁香| 精品毛片久久久精品毛片| 伦理片秋霞免费影院| 久久久久久久国产a∨| 国产区91柔拿会所技师| 能在线播放的国产三级| 青青操综合网| 无色无码| 久久99手机免费视频| 超碰AV在线| 91超级碰碰| 伊人久久88国产女| 夜夜高潮夜夜爽高清视频一 | 韩国一级做a久久久久| 91色拍| 日本一级特级毛片视频| 亚洲乱色熟女一区| 久久9精品网站| 欧洲天天在线| 91精品免费| 亚洲成人无码影院| 久久亚洲欧美中文字幕国语 | 欧美性爱一区二区三区| 麻豆91熟妇人妻中文字幕茄子| 日本Suv精品一区二区| 91丝袜在线播放| 俺去啦俺来也久久综合| 99久久婷婷丁香| 女同性恋久久| 98色网| 日韩激情视频| 欧美性Fer办公室秘书| 精品成人久久久人人亚洲| 欧美激情 亚洲色图| 久久精品99| 舔足天天操天天射| 亚洲一区中文精品| 国产女人极品高潮毛片| 操91| 超碰夫妻97| 午夜经典| 成人免费看吃奶视频网站| 国模吧 一区二区三区| 91欧美高清| 日本天天干天天日一区| 成人情色综合网| 久操视频在线观看| 国产最火爆久久国产网站网站| 强奸乱伦免费网站| 色99视频| 97碰碰日本乱偷人妻中文的| 精品国产乱码久久久影院| 成人羞羞视频国产| 日韩一区二区精彩视频| 自慰白浆在线观看| 夜夜高潮夜夜爽| 国产视频小说| 亚洲综合电影| 动漫爆乳3D奶水一区在线观看 | 欧美少妇大量自拍视频在线观看| 亚洲男人综合网| 东京热毛片177b2viP| 手机在线中文字幕国产| 五月天婷婷欧美三区| 伊人色综合超碰| 国产精品白丝www| 免费精品中文字幕| 久久久久久久久久久久久久久性生活视频| 综合久久99亚洲人妻中文在线| 天天摸夜夜操视频| 丰满人妻-区二区三区免费看| 久久五十路熟女人妻| 精品超碰国产| 人妻素股| 亚欧毛片基地国产毛片基地| 亚洲欧美日韩精品久久久一区二区 | 国产精品久久久久无码Av网曝门| 亚洲第一综合| 蜜桃网熟妇| 人人做人人妻人人夜视频| 99热aaa| 亚洲男人久久综合天堂| 超碰 97国产熟女| 男同专区一区二区三区在线| 乱伦AVxx| 一二三四视频在线社区中文字幕| 乱伦日本中文自拍| 91女人的网站| 亚洲少妇在线观看| 五月香婷婷| 欧洲精品网| 欧美一级久久久久久久大片动画| 久久97资源 网| 农村女一级毛卡片| 99re在线视频国产| 岛国片在线视频网站| 丰满少妇人妻久久久久久| 91激情| 噜噜在线| 国模91| 超碰无码加勒比| 精品人妻二区三区| 欧美影院一区二区三区| 啊啊啊好湿久久| 操一操摸一摸| 欧美亚洲美少妇一区二区| 国产丝袜欧美在线视频| 日本 免费 一区二区三区 久久香蕉| 91人妻在线视频| 亚洲日韩av一区二区三区百合| 精品亚洲| 精品一区二区三区四区女| 人人做,人人操,人人摸| 日本 免费 一区二区三区 久久香蕉| 亚洲国产精品无码AV久久| 综合国产97| 超碰在线一区二区| 人妻精品一区二区全免费| 一级成人性爱| 亚洲日韩资源| 婷婷99狠狠| 青青草久草| 欧美三级一级| 日本人妻中文字幕精品| 日韩美女,国产传媒,视频一区| 午夜福利免费精品视频| 天干天干天干天天做| 久久亚洲影院一区二区| 中国AAAAAA黄色片| 国产熟女精品区| 色噜噜人妻丝袜a∨先锋影| 国产熟女无套内射| 色91综合网| ?亚洲伊人伊成久久人综合网| 女优大全 - 91n| 嫩草 人人网精品| 日本国产欧美高清在线| 欧美美女视频| 中文字幕艹艹| 制度丝袜99| 日本大香蕉综合网| 91红杏| 国产区性爱在线视频秋霞豆| 97精品97久久| 天天日夜夜爽| 超碰人人操97碰| 在线观看 99热| 久久婷婷五月| 无码137片内射在线影院| 九九九草| 嗯嗯嗯啊啊啊操的我好爽| 日日操丁香五月天| 亚洲人久久久久日| 欧美熟妇乱码在线一区| 日韩黄色片子| 中文字幕一区二区三区蜜桃视频| 99国内精品| 伊人五月天| 欧美精品久久久久久久丰满| 蜜臀久久99精品久久久久久成人小说 | 好吊色在线观看| 国产一进一出视频网站| 老鸭窝成人免费毛片视频| 久久99手机免费视频| 啊视频在线| 日韩性爱小视频| 国产农村妇女精品一二区| 久久男女激情视频网站 | 日本天天干天天日一区| 伊人97色天使| 中文字幕五区| 以及麻豆国产入口在线观看免费| 撸无码不卡免费视频| 欧美国产视频| 国产天天骚| 天天爽人人综合免费7799| 人人妻人射| 日韩三级在线观看网站| 国产农村妇女毛片精品久久| 久操在97| 久久中出| 97超碰欧美精品| 无码久久亚洲高清,| 91超碰碰在线| 国产精品2020| 久久久A∨| 99操视频| 十八禁啪啪视频| 人妻少妇精品视频一区二区三区| 97热视频在线观看| 精品人妻一区二区免费蜜桃| 亚洲性爱高潮影院| 看一级黄色视频| 欧洲成人性爱视频| 国产精品一区av在线| 久久久精品| 爱妻综合网| 青青草色插素人| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 怡春苑东京热| 91红杏| 中文字幕加勒比海高清无码免费视频 | 欧美在线干| 亚洲十八禁止| 天天色怡春院| 精品人妻一区春色| 久久久91福利姬| 嗯嗯啊啊的视频| 亚洲另类色图片| av在线人气| 二区熟妇韩日| 人妻天天夜夜爽一区二区| 亚洲精品男人的天堂| 色一情一乱一乱一区91Av| 亚洲图片欧美在线视频| 婷婷六月色开| 99综合视频一体| 国产九九九九九九九九| 久久日韩精品一区二区| 日韩黄色片子| 亚洲精品国产无码高清| 中文字幕一二区二三区人妻专区| 日本高清_区二区三区 | 99操99| 亚洲中文字幕网| 91精品国产高清久久久久久,亚洲成人| 午夜高清成人在线视频| 丁香六月婷婷综合| 欧美性爱五月天| 欧洲色| 天天拍天天操| 久操99| 操操操操网黑人| 蜜乳av一区二区三区| 天天性射网| 啊啊啊久久| 精品无码一区二区三区色欲| 老熟女乱子伦中文字幕一区二区| 国产第25页在线观看| 婷婷五月花| 伊人天堂在线| 亚洲色图国产另类| 久久午夜神马| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 麻豆精品天美| 少妇内射www在线观看视频| 熟妇激情| 欧美色图 色综合图| 91福利网在线观看| 日韩精品黄片免费观看| 黄片www.| 日韩欧美成人大香蕉| 亚洲网污污污污| 国产一二三福利视频网| 富女玩鸭子一级毛片| 家庭乱伦性爱av| 夜夜操天| 天天碰操中国年青熟妇| 熟妇高潮一区二区免费视频| 精品.99999| 超碰99热中文字幕| 91处女在线视频| 蜜桃视频啊啊啊啊| 伊人网高清| 奇米四色网| 亚洲精品日韩国产欧美| 99ri视频| 色婷婷综合久久久久中文一区二区| 久久久久亚洲AV无码专区少妇| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 道久久五香丁月婷婷激情综合| 神马视频久久久久久| 91精品电影18| 亚洲视频小说| 热久久无毒不卡| A级国产欧美激情在线| 中文字幕日本久久| 欧洲与亚洲欧美精品中文字幕| 国语精品av| 在线精品福利免费播放| 夫妻四区五区六区| 91视频综合在线| 69视频入口| 欧美在线视频99| 欧美国产一区二区三区麻豆传媒| 日本一二区不卡| AV免费在线播放一区| 91殴美大片| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 国产蜜臀在线| 精品人妻中文字幕4399| 91最新综合| 五十路熟女人妻一区二区在线观看 | 国产视频大全| 日韩综合无码一区久久92| 91丨九色丨东北熟女| 午夜综合在线| 国产精品自在线发布| 99在线观看| 热热色综合网| 美女被艹尤物视频| 狠狠做深爱婷婷久久二区| 97超碰磁| 白丝少妇一区二区| 国产精品一二三区18| 欧美日不卡| 久久久久99精品成人片蜜臀| 五月天色色网站| 国产又大又粗又长视频| 福利在线观看一区二区| 999 久久久| 国产一级137片内射麻豆| 综合色图区| 啊啊啊好想要| 国产欧美精品日韩区二区麻豆天美| 91天天综合日韩欧美| 综合久久99| www.91视频网| 97操操| 999久久久国产精品| 99亚洲天堂| 日韩综合97p| 色婷五月天| 久草成人| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 亚洲欧美色图小说| 精品国产91久久久久久一区黄无| 丰满人妻一区二区三区四区| 一区三区啪啪| 亚洲天在线| 婷婷成人久久久精品| 欧美综合网| 中文字幕乱碼在线| 国产精品嫩草影院免费| 嫩草 我啊~嗯~在线| www亚洲免费| 日产成人久久| 日本超碰在线国产一区| 亚洲欧美天堂| 亚洲美乱| 激情熟女12P| 观看免费区二区三区二| 91色人妻| 屁股久久久久久久久| 欧美精品日韩一区二区| 天天碰操中国年青熟妇| 婷婷丁香九月| 精品女同一区| 亚州国产精品乱| 成人av性爱电影在线观看| #NAME?| 红杏大香蕉| 欧美呦呦性爱| 91美女国产在线| 男人的天堂不卡一区二区| 97资源站日韩| 午夜成人福利影视| 亚乱色| 亚洲不雅视频1区二区| 超碰天天操| 手机在线播放国产福利| 亚洲精品蜜桃久久久| wwe 天天干.com| 日本高清有码网址视频| 天天干人人看综合| 天天影视色香色欲| 日本成人A片网站| 超碰欧美COM| 二对二中文字幕。| 黄片在线免费在线观看| 91色人妻| 欧美激色| 中文字幕日韩综合| 涩涩这里只有精品视频| 一本色道熟妇| 偷拍综合亚洲| 欧美极品女人的天堂| 欧美性爱1080p| 免费A片三p视频| 五十路成人在线视频二区三区| www99热| 青娱乐亚洲自拍| 国产精品对白自产拍| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 日韩国产乱子伦App| 偷拍 亚洲 欧美| 欧美丝袜美女电影一二三四区| 东北黄色电影| 国产乱伦性爱AV| 日韩精品黄片免费观看| 熟妇人妻精品一区二区| 久久久性爱视频| 骚乳在线| 偷拍 精品 另类 四区| 人人看人人摸人人色| 国产熟女完整版中字| 男人的天堂网页| 日影院久久婷婷夜夜网| 久久久久久久久久久97| 免费啪啪啪网站18岁| 男人天堂网站| 97久操| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 中文字幕久久婷婷丁香五月天| 亚洲精品1区| 91久久久久久久| 国语国产操逼伊人AV网| 操逼日批| 91精品国产91久久青草| 亚洲不雅视频1区二区| 东京热91| 国产成人精品一区| 久久久神马影院| 男人的天堂在线2| 国产91美女高潮| 亚洲毛片一级带毛片基地| 国产探花日韩援交| 射综合网| 欧美亚洲首页| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 色哟哟1区2区| www.99中文字幕| 5252色欧美在线| 性爱av网站| 性天堂| 亚洲激情在线| 久久久内射良家| 都市久久精品激情亚洲| 久久ww| 人人妻人人爽一区二区三区| 欧美 亚洲 大香| 免费看污网站| AV天天在线观看| 久久欲| 无码高清操逼网址| 69av一区二区三区| 色欧洲| 精品999999| 91丝袜在线观看| 91夜色| 一级性爱视频免费观看 | 国产亚洲国产超碰| 性色av蜜臀av色欲aV| 人人操肉肉| 5月婷婷6月六月丁香| 操操AV电影| 国产乱伦性爱AV| 亚洲天堂性爱| 9999亚洲电影| 麻豆国产成人精品| 国产精品熟妇一区二区三| 东北女人操比视频| 欧美肥臀在线| 99热日| 亚洲欧美洲综合| 97超碰欧美| 蜜臀AV秘一区翔田千里| 美国精品国产精品| 亚洲经典啪啪| 亚洲一区中文字幕一区| 人人喜人人妻| 精品免费国产二区三区| 日韩不卡网操逼中文字幕日韩| 亚洲资源吧| 欧美亚洲高清| 日韩性爱1级片视频| 国产极品一区二区三区三州| 懂色综合久久久|