国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成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
返回資訊列表
欧美91久久久久| 人妻精品一区二区| 亚洲天堂综合AV| 人妻二区| 免费视频观看60秒| 日日干夜夜骑| 99国产精品久久久在线播放| 免费人人搞97| 男人天堂2030| 精品无码一区二区三区| 无卡一区=区| 精品无码久久久| 亚洲影院小综合| 日韩性爱1级片视频| 又黑又大又粗| 九九这里只有精品| 久久无码电影| 国产多人在线观看视频| 黄片直播三级黄片两女一男| 欧美日本不卡在线| 婷婷激情四射| 久久精品人人做人人看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 免费操逼视频下载| 人妻在线大香蕉| 97久久超碰| 五十路熟女,国产欧美精品区一区二区三区| 亚洲中文字幕97久久精品少妇| 一类av片在线看| 黄色人人| 久久男人精品| 欧美午夜一区二区三区| 国产中文精品一区二区在线观看| 97国产高清视频在线观看| 国内毛片热久久思思热| 欧美操人视频| 中文字幕二区日韩天堂| 天天肏美女| 九九Av| 日韩国产成人自拍视频| 欧洲成人性爱视频| 婷婷五月天综合网| 91人妻视频在线| 玖玖蜜臀资源网| 人妻夜夜爽天天爽麻豆三区网站 | 啪啪视频亚洲第一 | 97玖玖超碰| 天天日日日射| 免費黃色視頻觀看一| 久久亚洲AV成人精品无码| 欧美午夜视频免费观看| 精品成人无码| 凸凹视频在线观看| 欧美日韩国产中文超碰| 国产丝袜美女诱惑| 97久久免费| 麻豆影音天美视频| 91美女国产在线| 91美女看B| 少妇久久久免费| 91欧美丝袜| 亚洲素人综合| 久久专区| 欧美日韩第一页| 色情成人五月天| 99热99re超碰精品| 亚洲视频二区| 日日摸日日弄日日拍| 成人性交午夜免费片| 亚洲欧美情色| 丰满人妻无码一区二区三区| 啊视频在线| 婷婷五月天福利| 午夜天堂精品久久| 亚洲在线a| 色屁屁影院www国产| 亚洲国产精品成人综合| 91丨九色丨东北熟女| 亚洲天堂女优在线| av橘色网站| 999精品乱码| 亚洲av成人精品一区| 亚洲色系另类精品国产| 黄页大片在线观看| 操一对老熟妇爽上天视频| 亚洲熟伦熟妇AV无码春色| 国产高清免费不卡av| 中文字幕在线免费观看视频| 老汉网| 九九这里只有精品| 亚洲国产精品成人综合| 蜜臀久久久久久999| 99国产精品久久久在线播放| 男人午夜天堂| 我要看免费韩日黄片| 国产一级久久久| 欧美偷偷网| 欧美A片中文字幕| 久久精彩免费视频| 久久久免费高清中文视频| 在线免费观看高清无码视频| 女色视频社区| 97这里有精品| 色婷婷影视| 一区二区不卡| 啪啪啪东京| 欧美第一页性| 天天日夜干| 成人三级片无码| 二对二中文字幕。| 亚洲美女AV无码| 国产成人bd在线观看| 男人天堂站| 久久六六| 99热亚洲天堂| 成人免费毛片| 伊人精品视频| 日韩一级片在线看| 久草老司机| 精品一区二区综合熟妇| 久久久久元码视频| 五月天婷精品激情| 一本色道久久综合精品婷婷| 日韩AC| 大香蕉之青青草原| 91深夜夜| 欧美天天综合站| 人人潮人人摸| 日本性一区| 自拍大香蕉乱插| 日韩 欧美 国产 麻豆| 91香蕉视频在线观看免费| 美女裸体麻豆天美蜜桃91| 久久精品国产精品一区 | 亚洲日本韩国极品一区二区| 免费a v| 免费的av网| 亚洲黄片免费在线播放| 99色骚| 天天躁日日躁XXXXYY| 色眯眯av| 综合色图区| 秋霞怕怕片| 91九九九小逼| 国产高清成人mv在线观看| 久久久久久裸体| 精品性爱一区二区| 九九无码| 偷拍综合亚洲| 欧美亚男人的天堂| 久久精品久久九九精品| 久久精品无码不卡| 内射中出日韩在线观看视频| 家庭乱伦性爱av| 国产精品禁久久久精品| 一区二区偷拍拍视频| 国产久久久| 欧美大香蕉97| 9久热| 人人干人人操人人爱| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 久久偷偷色综合蜜桃| 岛国大片在线观看网站入口| 92大香蕉| 屌妞视频久久久久久久久久久久| 竹菊影视国产一区二区| 精品免费一区| 久久 久久国内精品亚洲 | 国产福利一区二| 自拍视频大全亚洲专媒视频/一区二区三区| 欧美一区二区福利在线| 啊啊啊啊好多水| 蜜臀AV成人精品蜜臀| 国产激情在线观看| 日本成人电影资源网| 婷婷爽人人婷婷爽视频| 国产吹潮女在线观看| 婷婷伊人网| 亚洲中文字幕熟女| 久久久九| 天天澡天天狠天天天做| 精品综合久久久久久97| 中文字幕少妇色| 五月天色色网站| 日韩精品熟妇| 99少妇| 亚洲少妇色图自慰直播| 99热导航| 欧美色图片91| 亚洲少妇色| 国产99 中文字幕日韩小视频| 国产美女口爆吞精视频| 777超碰| 超碰久久网| 精品人妻1237| 一区二区三区精品黑丝白丝酒店对鸡 | 91成人国产综合久久精品蜜月| 噜噜噜无码AV一级一级久久影院| 色网在线视频观看免费| 亚洲欧洲自拍图片专区满春格| 丰满人妻-区二区三区| 999九九精品| 麻豆区99999| 免费看毛片操穴| 丁香五月天堂网| 黄色网址在线免费观看| 欧美天天干| 欧美1区二区三区公司| 97碰| 人妻精品视频一区二区三区 | 久久久久13| 懂色Av一区二区三区| 欧美成人性爱视频免费观看| 99蜜桃臀久久久欧美精品网站| 日韩Va亚洲va欧美Ⅴa久久| 精品国产Av无码久久久亚洲| 秋霞网无码| 中文?日韩?免费?精品| 超碰人妻久久| 成人无码在线视频网站| 26uuu性物| 18禁中文字幕| 立川理惠无码一区二区| AV电影在线播放| 国产这里只有精品| 美日韩一卡二卡三卡免费人妻精品| 亚洲s在线观看| 亚洲一二三四区机械| 韩国女主播青草在线| 九九拍拍精品视频在线播放 | 成人性爱av| 蜜乳AV免费观看| 欧美性爱免费短视频| 五月丁香拍拍激情综合三级| 大香蕉乱伦视频网| 九九九午夜| 成人热久久精品| 伦理日韩国产久久| 啪啪啪亚欧美视频| 97超碰天天爱天天爱| 99只有精品| 亚洲欧美洲综合| 在线日韩精品一区二区三区| 国产操偷| 亚洲春色激情小说| 久久久久久裸体| 91欧美经典| 最新av中文字幕高清| 91在线精品| 极品色社| 亚州Av天美传媒| 亚洲日韩电影| 亚洲色色探花| 青青草视频久久久久| 亚洲骚男同com| 国产99热| 国产一区二区三区视频在线看| 国产精品嫩草久久久久| 99精品免费| 99re6久热只有精品6在线直播 | 97在线观看视频| 美女啊啊啊啊啊啊| 中国国国产一级特黄毛片| 97香蕉碰碰人妻国产欧美| 天美国产三级传媒| 精吧天堂| 超碰78| 午夜120视频在线观看| 蜜色网色哟哟| 夜夜欢天天干| 国产 日韩 欧美高清| 国产高清成人传媒影视| 日韩成人午夜精品久久高潮| 亚洲 欧美 第一页| av日韩在线观看电影| 91久久久久久久久久久| 久久精品操| 亚洲另类欧美精品| 日日夜夜天天| 变态另类专区| 人人看人人摸人人色| 91国产精品熟女| 女同性恋中文字幕| 午夜影美女日鸡鸡天天视频国产| 亚洲欧美日韩精品久| 蜜桃久久久久久久| 一区二区影视| 亚洲一二三精品久久网| 爽极品影院| 大香蕉欧美| 国产18精品亚洲精品| 久久99国产综合精品女同| 少妇久久久免费| 免费亚洲黄色视频在线观看| 伊人97色天使| 嗯~啊~快点 死我视频| 色五月婷婷在线| 精彩久久中文| 青青操综合网| 久久久久密臀视频| 亚洲一区二区精品福利| 国产视频大全| 久操凹凸视频| 激情视频一二三| 亚洲密乳AV| 天堂精品小草| gogogo免费高清看中国国语| se,,,亚洲欧美| 久热影视| 狠插 制服 自拍| yaouchengrenav| 久久五月份| 免费视频一二三区| 嗯嗯啊啊好疼| 久久精品日韩| 欧美在线中M| 亚洲成人日韩小说| 精品久久久久成人码免| 91色艳| 免费试看60秒| 人妻在线中出视频| 先锋影音av先锋一区| 久久不卡一区二区| 中文字幕亚洲永久精品| 亚洲国产福利视频| 操人无码| 四虎国产精品永久入口| 北条麻妃性愛视频| 五月婷丁香| 夜夜夜夜久久久久| 江都AV在线| 精品久久久久久中文字幕三区| 色噜噜人妻丝袜AV资源| 人妻久久久久久| 视频不卡中文字幕| 欧美老妇综合网| 日韩性爱电影一区 | 一级片视频啪啪| 久久久久9999妇女| 亚洲国产奇米影视久久| 日韩精品啪啪啪| 日本免费不卡二区| 午夜国产成人福利视频| 啪啪自拍九九综合| 91久久国产综合久久| 国产无吗在线播放| 91爱| 蜜桃久久久久久久久久久久| 69超碰综合| 黄色操人| 色逼综合| 4虎在线视频| 青娱乐 成人娱乐在线| xxx0国产在线播放| 欧美亚洲综合高清在线| 九九九精品一区二区无码| 色墦五月丁香| 嫖老熟女A片一二三区| 天天狂操夜夜狂日| 日本不卡一区二区三区| 久久久精品日本一道| 激情国产乱伦Av| 亚洲综合电影| 天天看片青娱乐| 欧美91精彩| 日韩美一区| 操逼操网| 国产福利小视频高清在线观看| 丝袜亚洲综合| 精品人妻高清麻豆av| 九九九九日本 | 日本韩国五十路六十路七十路老熟女作爱视频网站 | 伊人991| 国产人伦精品一区二区三区 | 久久精品99久久久久久| 黑人天8A∨高清网站| 色优久久| 操一区| 91操碰| 日操粉逼逼| 吖在线不卡一区二区国产剧情| 久久在肏| 午夜精品久久99蜜桃的功能章节| 大香蕉中文网| 中文有码9| 天天综合网亚洲综合网| 色网综合网| 中文字幕天天天天天| 人妻夜夜爽天天爽麻豆三区网站| 国产精品久久久久久久久久二区三区| 久久久久久久97| 搡老女人老熟女91老熟女综合网| 日韩一999精品| 国产67194| 天天躁日日躁XXXXYY| 久久精品一区二区| 夜夜骑夜夜操| 亚洲av无码国产精品字幕| 亚洲狠| 久久一区二区蜜桃| 另类亚洲一区二区三区| 欧美日韩大黄片| 99久久精品欧美国产| 久久只有精品| 青青久久艹| 欧美99999| 美女黄站| 999精品国产高清一区二区| 日本一区二区亚洲综合| 黄色av网站在线播放| 国产乱伦亚洲| 精品性爱一二三区| 国产欧美日韩在线不卡第一页| 国产男人又猛又粗又爽| 日产狠狠干| 欧美少妇熟女| 日韩中文字幕av在线播放| 色五月第四色| 超碰是碰在线观看| 亚洲天天天| 97在线免费看视频| 天天做天天爱夜夜爽毛片试看| 综合久久2017| 91久久久久久久久久久| 国产激情综合| 欧美亚洲第1页| 国产精品色哟哟| 超碰538| 欧亚第一综合网| 女人18精品一区二区三区| 超碰视97中文| 懂色aV一区二区天美传媒| 伊人网青青| 色婷婷激一区二区三区| 亚洲 欧美都市激情| 综合网欧| 久久蜜桃一区二区| 国产AV色黄看到爽| 天天舔天天 | 蜜臀国产AV中文字幕| 黄色成品网站| 一本色道久久综合狠狠操| 亚洲 欧美 日韩 国产一区二区| ji熟女.com| 大香蕉综合在线| AV老汉| 欧美性色网| 久久五月天婷婷丁香中文字幕| 丁香激情网| 天天综合网1| 一级性爱网| 精品一二三区久久AAA片| 夜夜一区二区| 青青草日韩免费观看高清在线| 伊人操| 成人丁香五月| 啊啊啊 在线| 国产无码久久高清| 九九自拍伦理| 青青草精玖玖69精品| 日本女人久久久| 一级黄色性爱A级片| 国产天美欧美| 青青草一本道福利视频| 黄色片一区二区三区四区五区| 色噜噜狠狠色综合日日| 蜜桃臀AV在线| 亚洲欧美日韩精品久久久一区二区| 欧美性爱三区二区| 欧美性爱97超碰| 亚洲天堂久久| 91操人| 四虎免费看黄| 日本黄大片在线观看视频| 色色色综合| 成人小电影网站tex| 91小视频| 蜜桃狠狠色伊人亚洲综合| 无码区蜜乳| 色色综合97| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 久久草在线综合视频| 九九九热精品| 国产精品一区二区 尿失禁| 国产精品成人无码av无码免费| 中文乱码99| 亚洲欧洲成人在线电影| 大香蕉伊人亚洲| 78m啪啪啪| 久久,精品一二三| 啪啪自拍九九综合| 色月天AV导航| 韩国黄片aaaa| 大但人体久久久久| 色婷婷导航| 爱做久久久久久| 大香蕉520| 久久九九99| 亚州综合色| 乱精品一区字幕二区| 91精品91久久久久77777俄罗斯老妇姓x| 在线一道啪| 成人情色综合网| 亚洲综合激情五月久久| 91在线免费精品视频| 97超碰美国| 国产宅男宅女在线观看| 熟妇无码视频三区| 红杏大香蕉| 青娱乐淫乱1314| 久久啊啊啊视频| 成人性爱美曰韩| a啊啊啊啊啊啊啊啊一区二区| 人人看欧美性爱| 国产乱码久久久| 青青草操逼逼视频| 亚洲小电影免费涩涩成人在线高清 | 精品无码一区二区三区色欲| 色偷偷色偷偷欧美日韩| 欧美精品日韩久久久九| 色香欲影| 和协影院中文字幕三区| 五月天精品| 亚洲天堂男人天堂网| 亚洲天堂人人妻| 99九九久久| 91色综合激情| 国产亲戚伦亲在线| 在线岛| 亚洲熟女人妻中文字幕一区二区| 欧美综合加勒比在线| 黄片aaaaa一区| 欧州91高潮| 久久精品人妻一区二区| 97精品国产97久久久| 最新国产亚洲精品精品国产亚洲综合| 性夜影院爽黄A爽免费动漫| 欲射影视| 啊啊啊啊啊啊啊国| 99婷婷| 熟女突然公开看18禁影片| 97久久免费| 天天天堂影视日韩亚洲91| 天堂俺去俺来也www久久婷婷| 99re28在线观看| 亚洲色丰满少妇高潮| 国产精品久久久视频| 日韩性爱播放| a天堂视频| 97美日韩视频| 久久9精品| 青青草中日韩在线| 97超碰亚洲| 75大香蕉| 91在线限制级| 99999精品视频| 日日操天天操| 五月激情影院| 综合久久欧美| 亚洲色 国产 欧美 日韩| 香蕉精品二区二区| 91精品人妻一区二区三区蜜桃| 福利大香蕉| 精品亚州18| 男人网站婷婷| 91久久堂| 91天天c| 欧美婷婷久久| 亚州久久9| 亚洲人妻熟妇三十三区| 偷拍精品一区二区三区| 欧美97爱| 亚洲一区日韩精品| 黄色片一区二区三区四区五区| 欧美激情综合网| 18禁看网站一区| 99久久久无码国产精品性啊聊| 久久免费9| 在线视频资源| 粉嫩av平台| 内射夫妻三片| 亚洲 自拍偷拍 欧美| 天天日天天干少妇日| 久久久久亚洲Av无码专区老牛影视| 欧美美女视频| 亚洲97| 免费试看60秒| 亚洲**2021在线观看| 国产成人自拍视频视频| 先锋色眉乱伦资源| 思思热在线| 99自拍B亚洲| 啊啊啊好舒服好爽啊啊啊视频| 欧美大香蕉97| 色踪合AV| 99热伊人| 久久色精品视频在线| 欧美色女人| 亚洲图片色图欧美另类| 黄色片大香蕉| 91大胆欧美| 亚洲精品一二三四区| 欧美色图 人妻| 亚洲日产专区婷婷| 91丰满| 在线人成亚洲视频免费观看| 欧美aaaaaaa| 女优视频第10页| 欧美狠狠操| 999久久芭蕾| 久久风骚城市| 久久久久亚洲三级电影| 一级A啪啪啪啪| 久久a久久| 国产青青综合伊人| 人妻干天天| 国产大学生高潮在线播放| 蜜臀AV成人精品蜜臀| 婷婷久久久精品| 亚洲一区二区在线观看91| 亚洲一级性爱视频免费看| 无码人妻一区二区一牛影视| 狠狠爱夜夜干| 欧美AAAA黄片| 亚码激情| 夜夜嗨免费视频| 黑人免费福利视频| 亚洲一卡2卡3卡4卡乱码网站 | 日韩成人大片一区二区| 欧美韩国你懂得在线 | 91香蕉国产尤物视频| 三级网色| 日夜干射色啊| 超碰免费97| 婷婷五月天久久久| 欧美日韩人妻精品一区二区三区| 日韩激情无码影院| 亚洲 欧美都市激情| 国产精品国产| 国产亚洲精品玖玖玖在线观看| 精品久久久九九九孕妇| 少妇熟女视频一区二区三区| 日韩 欧美 视频 在线 一区| 久久熟女人| 狠狠入| 91狠狠色丁香婷婷综合久久| 懂色av中文字幕一区二区三区天美 | 蜜乳AV.COM| 亚洲激情色片 | 日本在线观看网址| http://qxhbdz.com| 亚洲天堂另类| 色99在线| www男人天堂| 国产综合网站在线播放 | 中文字幕五区| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 欧美丝袜制服久久| 亚洲精品九九九九九九| 日韩av一级黄片| 99国内熟女露脸视频| 国精精品无码一二三区水多多| 亚洲自拍一区夜夜操| 婷婷干黄色| 性色一线| 日韩三级在线观看网站| 伊人久久国产免费观看视频| 亚洲性网| 91爰爱欧美| 91精品久久久久五月天精品| 久久久∴| 人人看人人摸人人色| 情色五月天就去干| 久久曰曰| A片大香蕉在线| 好看的91视频| 啪啪啪东京| 热热色综合网| 六月激情网| 好爽视频在线观看视频| 神马视频久久久久久| 国产又黄又粗又猛大片| 秋霞午夜视频一区二区| 日本操逼视频导航| 麻豆成人AV| 久热久一区二区三区| .精品人妻一区二区三| 制服丝袜第二页| 国产成人久久久精品免费AV| 中文字幕三四五区| 97视频www| 97国产成人精品免费视频| 男人的天堂Va| 另类 综合 日韩 欧美 亚洲| 日本精品不卡一二三区| 欧美极品| 亚洲国产蜜臀系列在线观看| 97在线精品观看视频| 日韩黄色小说| 精品一区二区三区蜜桃臀赵总 | 日日天天久久啊啊aaa| 萌白酱自拍视频| 综合色欧美| 欧美男人亚洲天堂| 五月婷婷色| 欧美性生活男人的天堂| 超碰97久| 国产精品欧美激在线| 久久美女福利是上海美女| 亚洲美女av无码| 久久噜| 蜜臀久久99精品久久久久久久久| 精品视频免费在线一区| 日日摸天天爽夜夜欢| 免费超碰97久久| 亚洲精品蜜桃久久久一区二区三区| 丰满人妻无码一区二区三区| 久久久久久九九九九九| 久久久久久免费电影| 人妻密肉在线观看| 91精品久久久久久77777| 久久一区二区三区四区五区| 一二三四区电影| 999综合色| 久久久久久久一级黄色打同平台| 蜜臀AV网站| 大香蕉视频一二三区| 欧美精品黑人猛交高潮| 午夜视频久久久| 欧美亚洲AN| 天天操av懂色| 又大又白奶子| 亚洲日本韩国在线| 色在线综合| 日本一级特级毛片视频| 欧美姓爱综合网| 五毛骚逼极品美女怕怕| 性欧美体内射精| 久久精品一区二区三区不卡| 日本天天色| 在线观看综合精品亚洲| 亚洲精品毛片在线观看| 日韩操逼HD| 襙一襙| 欧美天天| 欧美呦呦性爱| 成人av性爱电影在线观看| 欧美碰碰综合色| www.91视频网| 91精品导航| 欧美图片校园春色| 日本在线伊人啪啪| 性欧美91| 欧美超碰在线| 人人操人人爽人人操人人| 久久久少妇| 超碰在线日韩一区| 9久热这里只有精品| 欧美热图99| 97干色| 国产精品人妻免费精品| 丰满人妻一区二区三区色-百度| 酒色综合网| 九九九九热| 久久久久久网址| 亚川综合视频| 午夜男人av| 国产高清成人传媒影视| 国产精品色色| 亚洲色图超碰在线| 精精夜夜| 熟妇激情| 日韩在线观看AV| 91女日逼| 天天色图| 三级特黄60分钟播放| 韩国一级做A片免费的| 九月色婷婷| 久久亚洲骚逼综合| 老女人老91妇女老热女| 台湾佬中文娱乐网久久久久久久久久com| julia ann久久| 97超碰久久| 亚洲春色欧美激情自拍| 综合色色网| 精品久久在线区一区| 91国产大片| 久久久久久十| 国产成人91一区二区三区| 人人 操人人 操人人| 亚洲欧美中文日韩视频中国语| 精品一区二区三区蜜桃臀赵总| 偷窥自拍亚洲色图| 97超碰国产亚洲精品| 色妇综合网| 郑州宾馆老熟女露脸啪啪| 成人精品在线| 亚洲一二三精品久久网 | 国产精品盗摄 偷窥盗摄| 91精品无码人妻系列| 国产av白丝| 欧美少妇高潮久久91| 极品肉射| 国产精品宅男免费| 亚洲色综合| 婷婷另类小说| 97久久久久| 亚洲天堂无码| 裸模AV女优| 日韩电影中文字幕| 手机在线视频国内精品| 野狼激情网| 伊人国产av| 日韩欧美传媒一区国产| 盗摄女人妻在线| 精品无人区麻豆乱码久久久| 久久精品国产97欧美精品亚洲| 国产精品懂色tv影视免费观看| 秋霞一级视频在线观看免费| 嗯嗯嗯啊啊啊操的我好爽| 91精品操美女| 欧亚性爱啪啪| 性色国产东北露脸精品视频| 欧美综合网| 蜜臀AV网站| 亚洲 综合 第一页| 国产野战露脸在线播放| 清清一区二区三区四区不卡视频| 国产熟女精品区| 97在线视频观看| 五月丁香婷婷色| 成人一二三区| 国产综合操逼高清| 东北女人操比视频| 国产人伦a片信息免费片| 性欧美天天| 色欲Av人妻精品一区二| 91neishe| 大香蕉日韩| 99视频只有精品| 99在线精品观看视频中文| 黄色av一区二区在线| 欧美日韩亚洲电影| 国产精品婬乱一级毛片彝族| 美女诱惑在线一区| 久久久久亚洲av综合波多野制衣| 最新精品久久蜜桃 | www.AV有限公司一区| 高清国产无码av| 四虎永久在线精品免费网址 | 亚洲美女精品九九视频| 亚洲国产欧美中文永久| 欧美性Fer办公室秘书| 日本日皮视频逼| 91熟女少妇| 人人 操人人 操人人| 日韩电影天堂视频二区三区| 国产一级高跟丝袜| 免费97视频| 少妇干B| 97视频900| 强奸a片网| 97在线播放| 2001天天操| 日韩熟女操逼| 精品国产久久乱码| 中文字幕性感少妇av| 大香蕉99re| 白丝1区2区3区| 人妻啪| 91痴汉| 欧美淫穴| 一级人妻性爱视频| 综合色久欲| 99色综合| 国产精品 久久久精品一牛| 91欧美性| 一区二区三区免费岛国片| 亚州欧美在线| www.欧精品| 国产精品色片一区二区| 91欧美www| 日本蜜桃| 99精品久久久久久久婷婷蜜桃| 亚洲深夜福利| 国产有码一区| 色噜噜精品一区二区三| 校园春色 欧美| 天美传媒AV国产在线| 国产成人bd在线观看| 国产美女高潮| 97免费视频在线观看视频| 无码9区| 亚洲三区视频| 欧美超碰在线| 丝袜美腿射精91| 亚洲va综合va国产va中文| 永久免费av无码网站国产app| 天天日美女的B| 嗯啊啊啊轻点视频 | 哈哈操电影AV| 破苞ⅩXXX性无码动漫无码| 国模精品一区二区三区苹果色戒| 天天操综合网| 综合久久久久久久综合网| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 人妻9117c| 自拍第一页| 久久久18禁| 婷婷色导航| 人人插人人摸人人| 天天综合色电影| 亚洲精品人妻在线| 久久久999| 精品视频97| 色嘟嘟人妻天堂网| 天天草天天干天天日| 免费av在线播放二区| 99在线精品视频| 大茄子熟女AV导航| 中国黄色特级精品一区二区三区片| 嗯嗯啊啊操死我| 六月丁香啪啪啪| 青青伊人这里只有精品| 99久国产精品午夜性色福利| 97久久国产精品女不卡| 欧美桃色网| 青青草玖玖爱| 久久久久大香青草精品综合| 精品射1999| 性爱动态120秒| 人妻少妇色综合| 91成人在线免费视频| 约操熟妇| 成年人黄色小视频网站| 日本成人A片网站| 国产成年女黄特黄| 欧洲自拍第一页| 91色色综合| 亚州高清色综合| 青青伊人久久| 9999亚洲电影| 超碰97在线色男人??| 一二三区在线| 视频黄色国产一级| 韩国一级AAA| 久草免费在线一区二区| 老鸭窝亚洲毛片| 91无摭挡| 人人干人人操人人..com| 情色五月天网| 无码国产精品午夜不卡(| 亚洲男人天堂网| Av色五月| 亚洲精品尤物yw在线影院| 国产中午字一暮区| 国产成年免费大片黄在线观看| 清纯唯美综合| 青青草精品| 久久国产乱子伦精品免费女,网站| 中文字幕亚洲欧美在线不卡| 久久直播国产| 99这里只有精品| 亚洲一级性爱视频免费看| 影音资源男人日韩| 亚洲,欧美,春色,另类 | 天天添天天干电影| 天堂无码精品国产久| 日韩精品9区| 日韩国产中文字幕| 精品国产丝袜一区二区三区乱码| 成人日韩欧美| 操逼www.| 把腿张开老子CAO烂你| 国内三级自拍小视频在线观看 | 国产在线视频午夜精华在| 99re在线| 95自拍视频在线观看| 亚洲天堂7777| 亚洲 图片 综合91| 一区 欧美 日韩 麻豆| 中文字幕免费看| 欧美日韩久久精品爱爱| 26uuu国产亚洲综合| www.99中文字幕| 色婷婷香蕉| 欧美性,亚州色| 老司机午夜福利视频一区二区| 殴美色网| 国产精品久久久久久亚洲色欲| 日韩国产成人自拍视频| 很很干很很操| 天天射夜夜| 99在线精品视频| 久干9操| 国内伊人久久久久久网站视频| 在线免费试看60秒| 四虎在线观看网站| 国产精品熟女一区二区三区| 日韩欧美成人性爱在线| 中文字幕第页| 色综合99999| 黄色工厂这里只有精品| 国产三级中文有码在线视频| 国产精品又黄又猛又粗| 久久人爽| av2014 日韩在线中文字幕| 日韩欧洲操屄视频| 日韩一级片| 亚洲综合性网址| 日本男人天堂| 亚洲 欧美 手机在线观看| 东北黄色电影| 东北女人的毛片| 久久九色| 国产美女高潮叫床视频| 欧美aⅴ99久久黑人专区| 久草免费在线视频| 色婷婷丁香| 97欧美日韩中文| 无码精品久久| 激激五月| 欧美性91| 欧美96精品在线| 91女神在线视频| 超碰97 线线 在现| 另类小色呦| 热热色色综合| 少妇熟女1区2区3区| 91蜜臀熟女| 久久久96精品| 久久无码电影| 久久动漫精品视频这里只有精品| 亚洲国产另类在线中文| 99久久婷婷国产综合精品草原| 粉嫩av在线| 熟妇操花| 9精品在线| 日产欧美电影一区二区三区| 五月花婷婷| 黄色工厂这里只有精品| 欧日a| 亚洲熟妇综合久久久久久| 69少妇一区二区| 亚洲欧洲日产国产综合网| 国产色产精品在线观看| 久久一区无码| 国产精品剧情| 91逼逼女人91| 一区二区高清视频| 国产视频一区二区在线| 久久精品国产亚洲av水密被窝| 五月天大香蕉| 精人妻一区二区三区| 深夜操逼网| 丝袜美腿亚洲| 国产a级精品| 美日韩男女操屄视频| 亚洲诱惑| 国产 亚洲 丝袜 制服| 黄站在线免费观看| 久久九色| 3PAV乱伦视频| 日本一区二区三区精品| 成人小说视频在线精品欧美| 北京美女一区二区| 91成人在线免费视频| 最新9久久久9免费视频| 日本在线不卡一二区| 亚洲猛交| av婷婷色网| 日本欧美一区二区三区视频麻豆| 秋霞一区二区三区四区五区六区七区| 国产精品久久久久久久电影渣男| 欧美日韩人妻少妇 一区二区三区| 岛国网址国产| 97欧美综合网| 青青草吊丝| 成年人性爱日韩| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 一区在线观看中文字幕| 日日不卡av| 欧美熟妇乱码在线一区| 性开放中文AV高清无码免费看| 208天天久久九九九| 91女网站| 中日韩久久人妻一区二区| 丝袜剧情| 精品综合久久久久久97| 9/A片| 亚洲AV麻豆Aⅴ无码电影一| 欧美97视频| 亚洲第一页色| a一区二区三区乱码在线| 超碰97久| 欧美激情超碰777| 在线国产探花| 天美精品原创av片国产| 天天躁夜夜躁狠狠躁AV| 91oumei| 91精品无码人妻系列| 好吊色综合| 久久久久921| 丁香婷婷啪啪| 日韩欧美大力操| 亚洲国产精品无石码久久| 中国小夫妻勾搭露脸淫荡对白| www色婷婷| 少妇一级婬片免费放一级a性色.| 人人澡综合涩| 国产区91柔拿会所技师| 亚洲成人贴图| 农村少妇久久久久久久| 日本少妇va7777| 日韩999| 亚洲高清无码AAA久久久精品| 免费试看60秒| 熟女熟妇一区二区三四区| 天天影视射综合网| 欧美性爱一内片一区二区三区| 秋霞一级视频在线观看免费| 久久亚洲欧美中文字幕国语| 老色鬼成人精品视频下载大在线观看| 麻豆久久久久久久久丝袜| 九九久久99| 日韩欧美中文| 性色生活片久久毛片婬片免费放女人一级毛片| 青青在线视频免费| 中文字幕午夜精品久久久| 夜夜騷av、一區二區| 中文字幕视频一区视频二区| 亚洲成人在线播放| 麻豆国产免费影片| 国产乱人伦AVA麻豆软件.| 国产在线能看的你懂的| 在线视频97| 精品人妻一区二区三区不卡断 | 国产粉嫩蜜臀av一区二区三区| 99精品综合久久久久五月天| 久久久精品一区二区| 欧美|91色综合| 欧美九9 9 9| 综合熟女| 五月丁香综合啪啪| 爱射综合| 激情看片网站| 中文字幕成人| 国产成人欧美一区二区三区的国产| 一本色道无码DVD中文字幕| 精品国产三级av韩国在线| 波多野结衣AV无码一区| 午夜男女爽爽爽在线视频| 少妇高潮特黄A片| 上海一级黄片| 欧美日本国产日韩激情视频| 精品少妇99| 好吊妞转入那个网| 日韩欧美中文日韩欧美色| 97精品视频在线| 大鸡巴久久久|