亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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| 日韩欧美成人综合在线| 91丝袜在线观看| 色97欧美| 久久色一区二区| 亚洲国产成人高清在线| 日本大香蕉综合网红本杳社区| 男人 天堂 日 亚洲| 超碰免费人人| 中文字幕在线免费观看视频| 玖玖资源综合在线视频| 亚洲熟女性高潮久久久| 欧美少妇性爱网站| 激情网色| 日韩熟女乱伦中出| 国产传媒操逼视频| 中文字幕亚韩| 日韩欧美国产高清视频| 黄色免费网页无码| 色色激情| 成人五月香网在线| 蜜桃视频精品一区二区| 性色中出| 亚洲激情 欧美色图| 婷婷精品视频| 一区二区激情国产熟女| 麻豆天美国美国产AV| 欧美性生活综合| 殴美在线AⅤ| 草草影院最新网址| 高清国产成人无码| 操逼1区| 一区二区中文| av爱爱爱| 黄片aaaaa一区| 超碰成人公开| 郑州宾馆老熟女露脸啪啪| 国产野战露脸在线播放| 国产日韩欧美亚洲精品95 | 91香蕉国产尤物视频| 日夜伊人网| 欧美碰碰综合色| 蜜臀久久99精品久久久久电影| 国产热av| 五十路熟女人妻一区二区在线观看| 色臀AV| 91美女在线观看| 91人妻人人澡人人爽人人精品| 人人妻人人玩人人澡人人爽| 日韩免费av片高清无码| 韩国手机不卡无码三级视频| 女人爽到高潮潮喷18禁网站| 久久国产精品,久久国产| 嗯嗯嗯不要不要免费视频| 97超碰碰碰| 色爱综合网欧美| 色女99一级片在线观看| 中亚黄色三级大片| 日韩AV噜噜噜一区二区三区四区 | 嗯啊不要在线| 成人无码专区精品视频| 蜜桃臀一区二区aV| 青娱乐91| 无码免费在线观看黄色片| 91爆操视频| 丁香九月激情| 第45页一区二区| 精品二区三四区五电影| 男人亚洲天堂| 性做久久久久久免费观看软件| 成人短视频在线观看| 99.色网| 天操老女人| 蜜臀99久久精品久久久久久| 13小男生GAY自慰脱裤子| 少妇无码av专区线| 欧洲色| 亚洲 中文 女同| 97爱b| 国产精品九九九| 熟女乱伦A| 精品一区二区三区最新| 蜜臀亚洲综合一二三四区| 色九久| 99热这里只有精品18| 天堂精品小草| 婷婷另类小说| 成人天天爽| 日韩九九九| 久久这里只精品免费福利| 丝袜剧情| 日本三级小说中文字幕| 国产h小视频在线观看免费| 91精品国产日韩欧美综合| 五月综合激情| 夜夜嗨一区二区三区三州加勒比| 国产9区| 欧美日韩香蕉| 大香蕉男人的天堂| 少妇久久久| 1禁看欧美黄片免费看| 97超碰色屌| 日韩无码人妻中字久久三区四区| blacked精品一区国产| 成人综合视频久久| 天天综合网91| 欧美情色男人的天堂| 九七色图| 天堂av2019| 日本一二区不卡| 丁香六月婷婷综合| 激情视频图片| 国产精品久久久久久久毛片1| 91日日| 在线97视频| 青青草原人妻| 伊人天天久久动态图| 中文字幕二区日韩天堂 | 国产欧美在线观看免费观看| 色噜噜综合在线| 超碰人人干天天射| 日本岛国黄色网址| 99精品九九九九九九| 一区二区三区精品视频| 欧美综合网| 伊人96在线| 欧美白嫩女HD| 色综合大香蕉| 精品久久一区二区三区四区五区| 88在线一区二区三区| AV不卡在线| 久久久九精品| 色婷婷狠狠| 9I1性色影院| 大香樵伊人网| 天天射天天操天天干天天吃2018 | 亚洲s在线观看| 天天影视亚洲| 久久久久久久78| 欧美日韩国产一区二区小黄片大全| 啪啪91| 国内亚洲高清无码| 亚洲一区制服诱惑| 一区二区 韩日AV| 91综合网站| 亚洲综合888| 综合欧美日韩在线观看| 丝袜 中出 制服 人妻 美腿 中文字幕| 亚洲另类综合欧美| 日韩女模中文造逼| 综合色好色| 99999精品成人| 久久riav中文精品| 97天天日| 69丨亚洲丨精品丨入口免费播放| 久久婷婷热| 91福利网在线观看| 超碰97导航| www五月| www.av家庭乱伦| 97精品网站| 熟妇熟女亚洲天堂网| 国产日韩欧美中文在线播放 | www…国产操逼| 人人模人人看| 蜜臀va69| 999 久久久| 九九视品黄色| 婷婷综合在线观看| 97av在线视频| 91人妻精华帖| 久久久蜜桃臀无码视频| 992大香蕉| 国产成人精品午夜福利| 蜜臀亚洲中文| 91 丝袜在线| 校园春色之综合网| 免费黄色A片| 亚洲密乳AV| 欧美人妻制服| 99这里都是精品| 国产午夜视频| heyZO天然素人无码AⅤ专区| 躁躁躁日日躁2020| 男人下部插入女人下部| 婷婷五月天AV| 亚州免费啪啪视频| 懂色aV一区二区天美传媒| 欧美激情五月天| 超碰这里只有精品| 精品久久久中文字幕不| 激情开心五月天| 久久美女国产| 免费一级黄色录像影片| 人人乐大香蕉| 五月天激情网图片| 亚洲青色欧美| 亚洲另类小说卡通动漫| 亚洲国产另类在线中文| 久9精品| 亚洲日本天堂| 插入逼91| 性色AV蜜色av色欲av| 日韩激情啪啪| 美女91网址 | 久超超碰| 超碰在线综合97| 偷拍亚洲视频一区二区三区四区| 四虎免费视频| 国产精品另类| 91久久久亚洲| 日韩黄片影院| 欧美午夜一区二区三区| 大香蕉五月天婷婷| 色蜜AV| 中文字幕一区二区三区人妻少妇在线| 宅男午夜在线视频| 97天天弄| 久久激情视频| 欧州91高潮| 亚洲天堂精品日韩电影| 亚洲成人在线高清| 六月婷婷综合| 人妻天天操天天爽视频免费 | 亚洲国产精品成人久久蜜臀| 中文字幕丰满人妻日本| 天天日天天搞天天干| 国产精品一级特黄aaa大片在线观看| 成人亚欧免费视频| 久久久久久久人妻| 少妇人妻精品| 日韩丨制服丨中文|在线| 一区超碰一区| 国产欧美在线观看免费观看| 欧美性爱日韩性爱| 操操啪| 夜夜高潮夜夜爽高清视频一 | 夜夜嗨免费视频| 91白虎| 国产精品 视频| 免费啪啪av| 日本三级日本三级99| 亚洲情色91| 欧美青青视频| 夜夜精品视频| 亚洲中文字幕av| 亚洲情色一区三区| 日韩综合97p| 九九九精品成人免费视频小说| 午夜激情成人在线观看| 婷婷久久久| 日本中文字幕高跟| 欧美色91| 中国乱伦一区二区| 欧美亚涩| 欧美日韩人妻精品一区二区三区 | 屌妞视频久久久久久久久久久久| 99re超碰| 999岛国大片| 热久日综合| 色99999| 天天日天天爽| 99av| 色色五月丁香| 日日躁狠狠躁天天躁精品| 亚洲国产美女久久久久| 欧美亚洲日韩人妻在线观看| 91高清欧美| 国产尤物AV尤物在线观看不卡| 婷婷情色综合网| 亚春色色| 婷婷久久五月| 偷拍新久久| www亚洲免费| 日韩国产品视频中文字| 亚洲天天操| 丁香婷婷大香蕉| 欧美桃色网| 太久视频| 久久精品无码不卡| 欧洲一级性爱视频在线观看| 啊啊啊啊啊舒服| 熟女五十路一区二区三| 国产不卡中文字幕免费avi| 人人操人人摸人人骑| 亚洲无码99| 97久操| 久9九综合在线| 被体育老师抱着c到高潮| 欧美色66| 亚洲s色图| av草草在线电影| 久久成年精品| 大香蕉乱级| 9久超碰| 天天92av| 久草综合京东| 日本孕妇一区二区视频操逼免费看 | 志村玲子视频一区二区| 91亚洲网站| 激情综合久久| 九九九九九九综合| 99久久99九九99九九九| 亚洲91射| 久久免费精彩视频| 性久久| 欧美热图99| 亚洲色色色| 成 人片 黄色大片| 亚洲AV永久无码一区仙野| 欧美综合区| 中文字幕人乱码中文字的预防方法 | 96久久久久| 美女国产一区二区久久| 深夜激情 | 五月天AV资源| 九九九九精品精| 在线 制服丝袜中出 人妻| 亚洲少妇视频| 天天干天天干天天| 国产1024在线播放| 亚洲精品 欧美精品| 天天综合网日韩7799| 欧美72网页| 操逼啊啊啊91| 亚洲精品电影| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 国产 热久久久久国产精品| 亚洲自拍青操视频| 亚洲 欧美 天天| 国产精品一区二区亚洲人成毛片| 中文精品少妇天堂| 丰满人妻一区二区三区在线| 污污汅18禁网站在线永久免费观看 | 国产福利视频精品视频| 成人AV在线电影| 国产精品丝袜在线| 91伊人大香蕉| 色五月综合| 性饥渴少妇av无码毛片| 日日日日做夜夜夜夜做无码97| 国产成人无码久久精品| yiqicaoav| 国模91| 九九无码久久精品视频| 精品对白久久不卡| 久久丝袜| 中文字幕88av在线| 91超级碰| 国产精品亚洲无码| 国产一级高清免费观看| 精品国产乱码久久久| 97人人爱人人做人人乐| 五月丁香啪| 亚洲精品人妻在线| 97超碰站| 97国产人人| 久久久久久久久久久久欧美日| 激情综合色| 性色生活片久久毛片婬片免费放女人一级毛片 | 九九九九九九成人| 亚洲天堂综合AV| 中文字幕精品一区二区精| 亚洲91在线| 亚洲男人天堂2017| 好爽要喷了| 神马久久久久久久久久| 美腿色图| 青青草伊人久久| 亚洲五月丁香花狠狠干一区二区三区| 97国产高清视频在线观看| 内射中出日韩在线观看视频| 性91| 日韩无码操逼片| 久操com| 日韩福利电影网| 无码国产Av| 欧美96在线|欧| 国产日韩在线播放| 亚洲丝袜诱惑| 丰满人妻-区二区三区| 北野未奈加勒比av| 欧美日韩天堂| 伊人网在线视频| 伊人网在线视频| 亚洲精品 超碰| 人妻少妇视频在线播放| 五月婷婷丁香六月| 日日操天天操| 按摩中文字幕| 欧美亚洲激情小说| 99国产精品在线观看| 久久黄色网址| 天天看特黄的免费网站| 久久偷拍人| 97久久久精品| 91超碰在线播放| 欧美色图自拍| 干B网| 国产精品9999| 大象AV在线| 九九九九热| 九九九热| 日韩精品色呦呦| 亚洲精品性爱片| 老司机福利青青草| 免费的很黄很污的全部视频| 国产精品自在线发布| 超碰这里只有精品| www.99热| 怡红院亚洲怡春院av| 可以看的av| 欧美性爱网97| 丝袜综合色图| 亚州高清AV| 国产精品久久久久婷婷二区次| 青青青草原| 欧美日韩狠狠爱| 九九九九国产| 亚洲偷拍自拍在线视频| 九九无码| 风韵犹存大大大大香蕉| 久久精品国产AV一区二区三区| 伊人网综合在线视频| 韩国三级理论在线| 九九十八精品| 天天爽入口| 亚洲一区二区在线观看91| se01国产在线视频| 婷婷色综合| 怡春苑东京热| 风月影院十八禁| 视频在线观看免费一区二区三区| 亚洲操操| 人妻黑丝袜电影| 中文字幕99999| 国产女人和拘做爰视频| 欧美拳交在线播放| 亚洲高清男人天堂| 日日插夜夜| 思思热在线视频精品| 99在线视频播放| 欧美日韩另类激情图片| 国产精品国产拍高清AV| 欲香欲色天天天综合和网| 中文字幕av一区二区三区人妻少妇 | 色哟哟AV| 成人性爱视频在线看| 啊啊啊啊视频免费| 啪啪啪男女亚洲中文字幕99| 日韩无码黄色片| 美女露胸露屁股| 天天综合91入口| 黄在线| 亚洲情色一区三区| 91色色网站| 日本一级性爱| 日产123区精品免费观看| 九九九九精品九九九九| 永久免费发布性爱网| 日日夜夜骚| 日夜伊人网| 激情av| 国产97在线播放| 亚洲天堂一区二区久久| 青青草日本中文字幕| 神马久久午夜| 日韩伦理视频| 热99这里有精品综合久久| 五月天综合| 蜜臀AV一区二区三区| 日韩性爱高清免费视频| 亚洲精品黑丝| 人妻人人做人人澡人人爽欧美一区| 天天综合香 ld视频| 亚洲欧美日韩制服另类| 欧亚久久偷拍视频| 亚洲av综合伊人久久| WWW4虎| 午夜福利国产欧美日韩夜夜| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 欧美性爱精品七区| 美女啊啊啊啊pc| 亚州综合色| 97欧美精品综合| 高潮精品| 精爱久久| 思思热免费视频观看| 欧美成人免费在线观看| 亚洲综合春色| 久草尤物| 久射吧| 国产精品老师| 91天天| 97se综合网| av午夜影院在线播放| 青青草玖玖爱| 午夜男女爽爽爽在线视频| 色狠人在线99| 超碰碰碰碰| 亚洲欧美第一页| 黄色十八禁网站| 日本 欧美 国产一区| 亚洲黄色| 加勒比日本在线| 93人人操人人| 另类天堂| 久日综合网| 亚洲五月天激情| 国产一级不卡在线观看| 欧成人在线| 国内精品不卡无毒99999| 午夜亚洲WWW湿好大| 一区超碰一区| 美女露胸露奶头| 老司机深夜影院18未满| 少妇久久久久久| 蜜臀在线看片| 激情露脸爱| 日韩AV一起草| 亚洲精美粉嫩嫩泬在线观看| 老熟女综合网 | 国产精品探花色| 91欧洲入口| 亚洲视频,小说| 亚洲精品日韩国产欧美| 日韩熟女操逼| 9美女超碰在线免费观看| 小草三级久久观看| 亚欧韩av| 日韩人妻有码免费视频| 免费AV中文网在线观看| 在线 欧美 亚洲| 国产SV一线| 狼人综合婷婷激情四射 | 熟妇人妻一区二区三区| 91|九色|国产熟女| 人人 操人人 操人人| 四虎免费看黄| 4虎在线观看| 99在线观看| 强奸乱伦动态污图免费| 手机看片日韩人妻| 超碰97男女| 国产精彩女在线观看视频| 久久久9品一区二区三区| 久久久久久久久成人av解说| 国产精品无套内谢| 欧美一级美片在线观看免费| 国产综合久久久麻桃个| 久久久精精精| 欧美黄业| 欧美性性性| 91亚洲狠狠色| 亚欧美无遮挡| 中文字幕午夜精品久久久| 中 文字幕一区二区三四 五 区日 日 骚| 五月久久HDAV| 999在线电影香蕉| 成人黑料社久久| 一起草欧美| 温婉少妇玩3p| 玖玖爱免费观看视频| 偷拍三区| 日本熟妇人妻中出视频| 日韩AV一起草| 日本精品一区二区中文字幕| 99精品在线观看| 丁香九月激情啪| 色婷婷综合视频| 九九久久99| 色欧美天天| 超碰97起碰| 欧美熟妇乱码在线一区| 国精综合一二三区影视| 欧美综合在线91| 天美传媒Av在线| 日韩中文字幕熟妇人妻| 综合伊人网12色| 大香蕉99999| 97精品久久| 欧美性爱免费短视频| 在线观看高清AV| 男人a天堂手机在线版| 婷婷久久五月| 亚洲国产精品无码AV久久| 成年人网站在线免费观看| 亚洲熟妇自偷自拍另欧美| 六月婷婷色综合| 亚洲精品819| 五月天综合网| 四虎精品亚洲| 日韩欧无码一区二区三区免费不卡| 日本性感人妻91| 亚洲第一成人影院色播| 久久精品小视频| 67914在线精品观看| 日韩中文字幕av在线播放| 久久久久久免费电影| 97超碰护士| 无码精品人妻一区二区三区妖精| 欧美亚洲日韩人妻在线观看| 99爱爱| 区一在线观看| 人妻素股| 人妻天天爽天天爽三区| 国产成人亚洲精品无码古代早漏男| 成人午夜高潮av猛片| 色呦呦、国产精品| 风骚少妇视频中文字幕| av片在线观看免费播放| 在线观看中文字幕| AV天黑人| 9久久美女首页| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 91色狼| 久久久久成人蜜桃精品| 国产AV激情无码久久无码| 亚洲一二三四区在线免费看视频| www.婷婷| 九九九九九九九九九国产精品 | 久久久久久亚洲中文| 久热色情精品| 亚洲在线网站| 蜜臀99999| 久久精品国产亚洲AV高级北京| 91久精品| 最新av在线| 亚洲日韩av一区二区三区百合| 91免费看一区二区三区| 五月天我淫我色av| 五月婷婷hd| 国产诱惑| 国产精品无码成人精品| 欧美日韩丝袜| 亚洲激情欧美色图 | 日韩人妻丝袜中文字幕| 9l视频自拍9l九色成人| 九九九九九九九九九五码| 久久久中文| 伊人久久青青草| 国产成人五月天丁香花| 丁香六月东京热| 天美麻豆精品视频99| 97在线视频网站| 人妻av在线| 无码九九| 噜噜噜无码AV一级一级久久影院| 神马久久69| 青青青国产手线观看视频2| 亚洲伊人久久精品狠狠在线| 天天射日日干| 久久亚洲不卡| 91福利网在线观看| 色女网日韩| 国产呦精品系列在线观看| 极品粉嫩一区二区| 级做a爱无码性色永久免费| 日本天天人人狠狠在线日美女| 亚州色综合| 99热免费| 高清国产精品福利网站| 91性高| 成 人片 黄色大片| 日本午夜久久电影| 97色欧州| 国产又黄又粗的视频| 91爱看| 精品亚洲黄色片 国产精品导航一区二区| 国产高清不卡视频| 人人操,操人人| 国产情色在线| 9色在线| 久久在线观看免费视频| 黑人中出21连凳花野真衣| 国产午夜在线观看| 久久成人午夜狠狠| 免费观看的av| 青青草视频久久| 白嫩国模丰满一二三区| 丁香六月婷婷| 亚洲国产精品无码AV久久久| 欧美青青视频| 成人AV在线电影| 久久这里只精品免费福利| 亚洲欧美国产中文字幕| 欧美性爱视频免费一区一A| 高清无码在线播放网站| 蜜臀一二三区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚洲色图 欧美热图 清纯唯美 另类自拍| 加勒比综合九九99视频在线播放| 欧洲乱码视频| 偷拍盗拍亚洲色图图片| 中文字幕黄色片| 蜜臀亚洲综合一二三四区| 狠狠操,使劲操| 国产精品久久| 中文字幕一二三区| 国产精品爽爽va在线观看98| 成人国产二区三区在线,男女精品。| 综合熟女| 日本操逼二区| 久久97超碰| 久久久久久中文版| 91久久精品国产| 国产精品干干干| 久久综合久色欧美综合狠狠| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 亚洲成?V人片在线观看福利| 欧美日韩狠狠爱| 91丨精品丨国产丨丝袜| 91色艳| 成人午夜小视频手机在线看| 五码视频在线观看| 久久有码视频| 欧亚乱色熟一区二区三四区| 欧美疯狂做爰xxxx| 老子午夜伦不卡影院| 天天影视亚洲| 哈哈操 大香蕉| 午夜精品久久久99| 99re视频在线播放青草| 亚洲男人天堂网久久| www黄片免费看com| 自拍偷拍草一草| 蜜桃臀AV在线| 大学生口爆吞精| 成人av影院在线观看| 午夜福利无毒不卡| 97爱b| 欧美狠狠弄| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 发朗少妇买婬全视频中文| 日欧操屄| 伊人操你| 激情抓乳插进去啪啪啪日韩| 色哟哟 日韩精品| 国产美女在线精品免费看| 亚洲图片激情小说| 天天色图| 国产午夜福利电影免费在线观看 | 欧美精品在线观看| 久久久精久久久| 日本123区操B视频| 另类天堂| 特污免视频| 日韩97超碰中文字幕| 婷婷国产精品九区| 1区2区3区中文字幕日韩| 操美女人妻| 91久久久老司机| AV男人天堂网| 亚春色色| 一起草高清无码| 韩国手机不卡无码三级视频| 午夜操逼不卡| 国产a级午夜毛片| 在线国产一区二区av| 色99色| 日韩精彩免费| 九九久久99| 亚洲综合 欧美| 国内一级精品| 久久天堂| 加勒比久久综合网高清| 亚洲另类在线观看| 久热久一区二区三区| 精品一二三区四视频| 蜜色网色哟哟| 天天天天天天天天综合| 精品丰满熟妇人妻一区| 91亚洲综合在线| 国产又黄又粗的视频| 亚洲日韩成人性爱视频| 精品中文一区二区| 日本午夜久久电影| 久久人妻| Blackedraw视频一区二区| 久久99视频| 夜夜夜久久| 亭亭在线资源| av草草在线电影| 青草伊人网| 日本性一区| 一本一道久久综合久久| 久久久久国产精品久久久| 亚洲电影中字一区二区| 亚洲码专区| 人妻天天爽夜夜爽精品2| 精品国产乱码久久久兰草影视| 国产91专区| 国产亚洲色停停久久99精品91| 啪啪资源网| 亚洲中文人妻色| 小电影欧美91| 国产一区二区成人av在线播放| 狠狠激情综合狠狠操中文字幕| 亚洲av强奸乱伦| 综合激情97 | 日韩性色b| 超碰伊人在线| 日日操免费视频| 啊啊啊好爽快点啊啊啊嗯嗯| 99热18这里只有精品| 亚洲无码视频免费在线观看网址!| 中文乱码字字幕在线第5页| 亚洲乱熟女一区二区三区大香蕉| 97久久精品国产| 欧美色97| 国产精品免费视频人成| 91在线/欧洲| 日本一级特级毛片视频| 五月天激情小说| 色综合1991| 国产一区二区三三视频| 99爱久久视频频| 78久久| 国产a级午夜毛片| 亚洲图片 激情小说| 亚洲一区中文精品| 久久久久13| 国产AV中文| 婷婷色婷婷| 91精品国| 九九久久99| 噜噜噜亚洲精| japan日本高清乱xxxx| 91在线丝袜视频| 韩三级a视频在线观看| 黄污污污污| 免费国产视频| 人妻夜夜爽天天爽麻豆三区网站 | AV天黑人| 成片免费播放| 208天天久久九九九| 亚洲成熟国产精品美女| 国产三级中文字幕粉嫩| 久久久久国产精品喷潮免费观看臀 | 五月天婷婷色| 五十路三区在线| 国产伊人自拍| 97超碰色中文字幕| 夜夜草网站| 亚洲欧美黄| 日韩精品碰碰| 欧美性五月| 五月丁香婷婷综合| 久久久亚洲| 日日干夜夜操视频h| 国产99精品一区二区三区免费| SUV一区二区在线看| 国产精品爱欲| 亚洲交换| 久久秀这里有精品| 日本操逼视频在线| 日韩精品电影| 婷色五月| 日韩无码极品| 91超碰碰在线| 涩五月婷婷| 97爱爱爱| 久久久久久久久国产| 99热这里是精品| 男人天堂电影院| 老熟女中文字幕高清| 99热91| 久久只有精品| 日日干夜夜骑| 91人人爽人人爽| 欧美亚洲中文| 大屁股熟女一区二区三区| 亚洲中文字幕噜噜噜久久久| 免费日韩黄片| 亚洲97网站| 大香蕉欧美伊| 九月丁香| 三级精品三级在线观看| 老鸭窝成人| 91中文精品日韩欧美在线| 综合 欧美 亚洲 日本| 久久高潮妇女视频| 日韩精品国模| 天天日天天舔天天喷天天射| 麻花豆传媒剧国产MV出差| 色综合天天爱去电影网| 欧美日韩理论一区| 久久久中文| 中文字幕一区二区韩| 欧美狠狠| 国产AV线| 亚洲综合图色在线| 亚洲另类久操网| 日本成人电影资源网| 久草尤物| 91五十路| 日韩色女精品| 97免费视频网| 亚洲精品久| 国内偷自视频区视频综合| 亚洲风情在线观看| 亚洲成人帖图| 欧美玖玖爱免费玖玖| 99精品丰满人妻无| 欧美日韩成人| 人妻激情偷乱视三区频一区二区| 日韩精品9区| 久久国产视频专区一二三| 亚洲蜜臀精品视频久久| 26uuu国产免费观看| 色臀aV| 婷婷久久五月| 97亚洲欧美| 久久风骚城市| 99re在线观看| 欧美日韩系列| 东京热av男人的天堂| 天天日老熟妇| 五月婷婷丁香六月| 91精品无码人妻系列| 天天色黄色影院天天操| 国产肏逼网站| 综合97| 校园春色五月天| 丰满人妻-区二区三区免费看| 蜜桃臀久久| 欧美大片天天看| laoshunv91| 97一区二压| 蜜桃在线观看一区二区三区| 超碰激情808| 欧美日韩理论一区| 久久久久久久久久久人妻| 玖玖97综合| 伊人97色天使| 一区中文字幕二区日韩| 一区黄二区黄| 日韩欧美丝袜诱惑| 18禁久极品美女久久哦哟呀!| 亚洲丝袜色图| 91挑色欧美| 亚洲十八禁止| 久久9999| 亚洲在线A| 97久久国产精品女不卡| 国产美女高潮| 91丨国产丨白浆秘 洗澡动漫| 四虎国产精品永久在线囯在线 | 亚洲精品尤物yw在线影院| 国产精品高清2021在线| 亚洲精品尤物yw在线影院| 国产一区二区三区高清视频| 91精品亚洲内射孕妇| av绯色| 91高清无码下载| 色情综合| 超碰公开久久网| 久久啊啊啊视频| 98福利在线视频| 伊香蕉综合久久久久久久噜噜噜 | 操国产高清| 美女视频尤物网在线看| 国产久久av| 亚洲麻豆精品二区三区| 日日夜夜国产综合| 精品二999| 国产精品久久久久久久久久久久久久吹| 久久久亚洲熟妇熟女| 天堂俺去俺来也www久久婷婷| 亚洲综合码| 欧美91在线+|+欧美| 综合色色婷婷| 日韩久久激情精品| 男女打扑克高清网站| 91欧美偷拍| 福利天天都操| 日韩欧美性吧婷婷乱伦大香蕉| 91精品久久久久五月天精品| 另类一区| 97一区二区蜜臀| 精品人妻一区二区蜜桃视频| 黑人粗大V S日韩女优视频| 男人的天堂久久久| 黄色在线网站| 精品久久在线区一区| 好屌色综合| 精品视频在线观看| 成人三级片无码| 成人老鸭窝人人在线视频| 国偷自 一区二区| 99精品人妻| 凸凹视频在线观看| 国产67194| 日韩精品大香蕉伊人在线| 超清中文乱码字幕| 伊人久久大香大香线蕉中文| WWW4虎| 人妻喷水| 色欧美在线| 一级片在线观看高清无码| 日韩亚洲美女一区久久| 中文字幕av片| 岛国片在线视频网站| 91爱综合| 四虎精品永久在线观看| 蜜桃视频成a人v在线| 99热超碰| 亚洲色阁| 久久久婷| 成人日本片久久久蜜桃| 美国精品国产精品| 一区二区首页| 蜜臀久久99精品久久久久久无删减 | 日本一级真人黄色性爱视频| 中文字幕精品区先锋资源| 欧美色日本| 中文?日韩?免费?精品| 亚洲91极品| 无码78| 无码免费一区二区三区啪啪| 青青青草伊人精品| 在线视频免费播放一区| 亚洲熟女一区| 日韩人妻播放| 看黑丝美女操逼青青网站| 精品无码欧美三级| 美女在线H91| 久久精品一区二区一8| 色欲日韩欧美在线一区| 青青草字幕AV| 综合 亚洲 欧美| 91|九色|国产熟女| 情色五月天久久久| 人妻少妇久久中文字幕一区二区 麻豆| 精品国产精品一区二区| 国产精品97超碰| 2023天天操夜夜操| 午夜情侣自拍网站| 亚洲国产综合视频| 大香蕉天天看妹子| 在线播放一级无码视频| 日韩天天本| 国产一区在线观看无码AV| 很很很很操| 黄片www.| 日本欧美不卡| 日韩一级二级| 狠狠婷婷亚洲中文综合久久| 亚洲官网在线| 国产高清26uuu| 亚洲色图伊人网| 96久久精品一二三区色欲| 清纯唯美综合亚洲| 激情五月婷婷| 96久久久久| 人人操天天爽| 国产精品久久久无码AV网站| 色综合1991| 五月丁香婷婷色| 99婷婷一区二区| 久久久久国产| 99自拍视频| 啊啊啊操死我| 麻豆成人av| 色五月综合网| 国产精品一区二区a| 青青草日本中文字幕| 国产精品久久久久久 百度| 亚洲欧美洲综合| 91欧美美女日韩国产婷婷| 少妇无码av专区线| 久区视频| 超碰1024久久| 成人短视频在线观看| 欧美激情内射| 欧美天堂日韩三级国产传媒| 国产三级日产三级韩国三级| 91熟女丨91老女人| 天天看高清麻豆| 国产免费一区在线观看| 成人国产视频在线观看| 少妇高潮喷水无套久久久久久| 精品久久視頻在线| 中文字幕AV乱伦| 蜜臀99久久国产| 天操老女人| 少妇99成人麻豆| 天天躁日日躁xxxxx| 欧美不在线| 日韩淫色网| 国产婷婷一区| 4399成人黄A片| 日韩人妻一区二区| 欧美综合色,www| 91女优在线观看 | 在线A日本| 91日韩| 欧美综合制服在线| 五月丁香狠狠爱| 亚洲αv一区二区三区| 婷婷操视频| 久久伊人影院| 综合久久99亚洲人妻中文在线| 麻豆 欧美 日韩| 你懂得91| 亚洲成人美女无吗| 大香蕉专区| 亚洲一区在线观看欧洲 | 好吊妞转入那个网| 尤物一级在线免费观看| 欧美亚洲国产91在线| 欧美色图亚洲激情| 久区视频| 日日AAvv| 久久九操在线观看| 国产夜夜操| 九九九九九九九九九九九免费国产| 亚洲日韩精品在线播放| 日本性爱网址| 青青草华人在线欧美在线| www.99视频| 男男H黄动漫啪啪无遮挡网站| 国产精品直播在线观看直播| 97se亚洲综合自| 情色五月天就去干| 久久久精品视频欧州站| 亚洲drav色图| 不卡一区视频| 久久超碰98| 第45页一区二区| 色九月综合| 四季AV综合网址| 秋霞男人网| 99天天超碰| 嗯嗯啊啊操死我| 欧美日日夜夜| 青娱乐大香蕉| 手机久操欧美综合色码| 99蜜桃臀久久久欧美精品网站| 久久人妻视频网| 六月激情网| 欧美日韩99精品麻豆传媒| 97资源超碰| 精品国产一区二区三区久久久蜜臀| 欧美很很操视频| 大香蕉手机视频| 久操九九九九| 日韩成人午夜精品久久高潮| 中文字幕人妻色偷偷久久皮| 亚洲一区操| 日韩乱伦影音先锋| 在线观看黄色电话| 色5月婷婷| 熟妇女人妻呻吟久久AV|