日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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女日逼| 久久久555| 国产浮力影院第1页| 欧美激情 亚洲色图| 国产天美欧美| 欧美成人9797| 亚洲精品一区二区三区新线路| 亚洲成人日韩小说| 草草草视频在线免费看| 一本色道久久综合狠狠操| 天天综合欧美综合| 中文字幕视频2区| 日韩不卡毛片Av免费高清| 九九九精品成人免费视频小说| 伊人午夜福利视频| 国产欧美后入| 熟妇高潮精品一区二区三区下载| 午夜天堂精品久久| 看看小穴| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 中文字幕AV乱伦| 少妇淫妇久久久久久久| 亚洲天堂久久| 91av一区二区在线观看| 亚洲密乳AV| 17c嫩草51久久91嫩草| 伊人九九九| 色综合1991| 亚洲熟久久| 精品久久99| 丁香六月婷婷综合| 五月色综合| 久久天堂婷婷网| 曰韩无码777| 精品亚洲国产成人AV制服丝袜| 操逼天美3区| 精品久久久av无码免费| 99re免费视频精品全部| 国产综合网站在线播放| 日本五十路熟女一区二区| 在线A日本| 91视频伊人| 色吧5亚洲| 国内一区二区免费| 免费岛国一级片| 亚洲熟伦熟妇AV无码春色| 97啪啪| 试看60秒 爽| 欧美成年人性爱视频免费观看| 久久久97| 欧美黑人精品在线播放| 操逼网站地址| 久视频在线观看| 天天摸夜夜摸| 四季AV一区二区凹凸精品小说| 青青草乱入乱欲视频在线观看| 国产一区二区三区,在线观看观看| 91久久久久久久| 青青草在线视频美女| 高清孕妇孕交 交孕妇| 91老司机视频| 免费αV在线视频| 国产精品盗摄 偷窥盗摄| 黄色区免费观看中文字幕| 十八禁成人网站在线观看| 一起草日韩| 五月色网| 看黑丝美女操逼青青网站| 情色五月天久久久| 怡红院网站在线视频| 校园激情狠狠四射| 人人人摸人人| 日韩性爱高清免费视频| 亚洲熟妇乱女区二区三区| 亚州综合图片| 高清无码一区二区三区| 日本91白丝| 和协影院中文字幕三区| 精品国模无码| 久久婷婷色| 中文一区二区婷婷视频| 天天爱综合网| 日韩欧美大力操| 91在线无码精品秘 软件| 久久黄黄| 妇女乱色二区| 成人av影院在线观看| 国产精品久久久久av| 97免费免费视频网| 亚洲欧美电影| av资源在线播放天堂| 男生女生啊啊啊啊| 97在线看| 噜噜噜无码AV一级一级久久影院| 操淫穴亚洲五月丁香| 97超碰超碰| 国产麻豆一级精品视频| 亚洲 欧美 小说| 久9九综合在线| 99久久婷婷| 久操在97| 欧美性爱精品七区| 91国产在线精品| 久草新在线| 伊人色综合网| 97色操| 性爱Av免费| 九九九午夜| 久久久免费高清中文视频| www.亚洲成人一区| 死我十八禁| 午夜AV人气不卡| 97国产亚洲中文在线| 97国产超碰| 亚洲高潮少妇| 97精品免费视频网站| 色久桃花影院在线观看| 久久国产精品,久久国产| 欧美日韩小说| 999在线电影香蕉| 97久操| 亚洲黄网在哪免费看| 超碰97在线中文| 国产特级毛片AAAAAA高潮流水 | 亚洲极品| 成人黑料社久久| 亚洲涩图欧美| 99只有精品| 天天操妹子| 91婷婷| 一起草视频在线| 久久露脸国产老熟女| 日本幼女18+| 婷婷丁香六月| 久久精品国产亚洲AV清纯| 精品久久久av| AV和黑人在线播放| 天天日熟妇| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 国产第11页| 白嫩国模丰满一二三区| 亚洲色图图片| 久久国产对白激情浪潮 | 亚洲成人在线播放| 天天影视色香欲综合网小说| 校园春色综合香蕉| 99精品热| 国产精品国产自产高清AV| 97国产精品久久久久| 综合色99| 以及麻豆国产入口在线观看免费| www.男人天堂| 97色婷| av一区二区三区不卡| 中文字幕人妻色偷偷久久皮 | 久久精品欧美一区蜜桃| ..日韩av毛片精品久久久| 色悠久久久av| 国产丝袜视频| 操逼网免费无码视频| 丰满人妻一区二区三区免费| 欧美亚洲第1页| 国产女人操逼视频| 大香蕉一级黄色片久久| 国产夫妻性生活视频| 久jiu久神马影院| 欧美大香蕉同搞| 蜜臀AV午夜精品久| 天美传媒av在线| 人妻少妇色综合| 黄人人操人人操| 91综合网在线| 欧美日日人人天天| 大屁股国产在线视频| 丰满欧美少妇| 亚洲第一在线视频| 老司机天天操| 日韩免费簧片| 成人小电影网站tex| 久艹伊人精品综合在线| 夜夜爽33333| 日本一级性爱| 精品亚洲国产成人精品| 无码精品久久| 丁香九月婷婷| 激情小说亚洲| 色婷婷日韩精品一区二区三区| 大香蕉综合| 91久热| 国产精品宅男免费| 国产日韩欧美中文在线播放| 欧美97| 啊啊啊好舒服视频| 日韩有码专区| 国产h小视频在线观看免费| 伊人久久亚洲色欲综合网站 | 五月天婷婷基地| 欧美一区二区三区另类精品| 蜜乳视频网站| 内射夫妻三片| 超清福利精品视频在线| 日韩精品在线视频,日韩精品……| 九九人妻| 丰满少妇精品一区二区| 97超碰伊人| 欧美淫乱视频| 99热这里只有精品1| 四虎在线免费视频| 色踪合AV| 91欧美情色| 九九九九热只有精品| 综合天天。| 中文字幕精品亚洲熟女| 久久久久久999| 色欲av国内精品久久久久久| jazzjazz国产精品麻豆| 亚欧免费| 亚洲熟女中文字幕在线| av国产无码| 六月丁香啪啪| 国产精品对白内射| 99久热精品99re6热| 精品人妻一区二区三区视频| 91 国产丝袜在线播放-百度| 精品国产乱码久久久久久免费| av天堂加勒比| 成人羞羞视频国产| 免费一级a毛片久久久久久鸭绿欲| 国产第12页| 最新中文字幕精品在线| 中文字幕成人| 精品国产72| 激情文学 亚洲图片| 狠狠躁久久躁| 亚州免费啪啪视频| 九九av| 97激情97激情| 国产超碰欧美| 国产 日韩,欧美 自拍| 亚洲一区日韩精品| 精品一区二区亚洲国产| 99这里有精品| 欧洲色综合| 久久久9999| 精品亚洲国产成人精品| 亚洲国产欧美日韩人妻日中文| 五月婷婷hd| 亚洲涩图欧美| 搞中出久久| 伊人久久大香大香线蕉中文 | 狼人狠干| 五月丁香影院| 国产乱码精品久久久久久| 九九九九九九精品| 色欲av一区二区三区蜜芽| 国内毛片国产专区二| 欧美黑人猛交春色影视大全| Aa东京男人的天堂| 色婷婷国产精品一区在线观看| 777AV电影| 啊啊啊啊嗯嗯嗯用力好爽 | 大香蕉99re| 欧美大香蕉久| 久久久啊啊| 久久精品成人一区二区三区蜜臀| 欧美探花网| 成功精品影院| 久9久9久9久9久9久9| 亚洲欧美色图小说| 亚洲人精品久久久喷水| 精品九区| 国内精品久久久久影院亚洲| 熟女高潮合集-永久久久-成人AV | 欧美日韩香蕉| 青青欧洲黑| 亚洲天堂在线怕怕视频| 精品一区二区三区蜜桃臀赵总 | 欧美日韩人人精品| 亚洲天天在线| 激情五月天婷婷| 色色青青久久| 日韩黄色一区二区三区| 欧美在线第五页| 都市久久精品激情亚洲| 超碰在线974| 玖玖久久久| 无码国产精品午夜不卡( | 国产精品久久久吖| 4141514逼喷水三级片| 久久久999| 亚洲男人bt天堂| 女人天堂网| 黄色视频特级毛片| 亚洲交换| 五月天开心网| 天天肏视频| 夜夜操二区| 97免费视频在线| 男人的天堂啪啪| 黑人精品欧美一区二区蜜桃| 桃色五月天| 果冻传媒A片麻豆熟妇人妻| 日欧操屄视频| 日韩97P| 中文字幕丝袜美腿| av在线观看不卡网站| 91丝袜激情在线 | 色妇91| 人人干人人操人人..com| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | s片在线观看| 欧美综合娱乐久久| 久草成人影片| 中文字幕精品一区二区精品| 99久久亚洲精品无码毛片潘甜甜| 台湾大香蕉99热| 亚洲 欧美 偷拍 唯美| 亚洲 综合 第一页| 日本三级中国三级99人妇网站| 99国产女人| 天天操av懂色| 欧美日韩不卡a片| 亚州Av天美传媒| 91人妻爽爽人人做人人澡| 99re9| 久操免费视频| 狠狠干精品一二三四五六2022| www.久久制服糖| 亚州Av天美传媒| 天天综合色电影| 久综合国内精品自在自线| 91欧美性| 欧美夜夜狠| 一级人妻性爱视频| 97免费视频在线| 欧美97在线观看| 曰韩av中文字幕专区| 一起草高清无码| 青青欧美| 久久久久久91香蕉国产| 日韩成人精品中文字幕| 国产成人无码啪| 欧美碰碰综合色| 蜜臀久久久国产| 丁香五月天社区| 欧美大香蕉同搞| 欧美综合91| 亚州色阁| 东北女人的毛片| www.色婷婷| 免费簧片在线观看| 操逼大黄片| 性色亚洲| 男人综合网| 久污| 绑缚麻绳人妻寝取完整版| 丁香五月大香蕉| 干日本人少妇午夜寂寞影院| 懂色中文一区二区三区| 视频国产欧美在线播放| 天天干人人乐| 老熟女天天操| 精品无人区麻豆乱码1区2区图片| 亚洲精品不卡一二三区| 日韩 欧美 校园一区| av优播| 亚洲AV无码乱码在线观看性色| 91人妻最真实刺激绿帽| 香蕉国产精品麻豆亚洲欧美日韩| 超碰美国| 日本欧美中文字幕| 超碰欧美| 久热影视| 久久‘黄片视频| 久久精品国产亚洲AV嘿嘿| 亚洲**2021在线观看| 久久久亚洲熟妇熟女| 老熟女天天操| 人妻第一页| 久久精品成人| 超碰碰97资源站| 国产suv一区二区三区6| 大香蕉欧美| 欧美天天射| 性猛交| 91久久| 久久久久久久人妻丝袜| 懂色中文一区二区三区| 欧美精品一区二区少妇免费A片| 免费观看成人www精品视频| 国产在线观看一区二区三区| 操逼网站网站| 一级AV性爱| 操逼片国产| 成人性爱av.com| 久久香蕉综合一本到3atv| 一区二区三区四区免费视频| 人人天天干干| 91麻豆天美国产欧美日| 欧美久久毛片基地| 丝袜美腿射精91| 亚洲国产97在线精品一区| 可乐操在线| 欧美少妇人妻| 性色生活片久久毛片婬片免费放女人一级毛片| 2020中文在线一区二区三区| 在线观看综合精品亚洲| 色丁香五月婷婷| 天天射网| 精品国产乱码久久久久久日本公司| 91激情国产| 热热色中文无码| 乱性AV| 亚洲成人福利电影免费| 激情综合五月| 久久久久久久久久黄色网| 99后入| 久久αⅴ| 欧美精品成人在线播放| 五月天婷婷综合| 亚洲狼狼干综合1| 中文子幕一二三| 91精品91久久久久77777俄罗斯老妇姓x| 黄色成人网久久久久久| 麻豆国产96在线| 欧美日韩国产中文精品字幕自在自线,| 天天看特黄的免费网站| 中文字幕丝袜| 秋霞无码av鲁丝片一区| 国产剧情一区在线观看| 国产人妻精品一区二区三区秋霞| 欧美中出| 亚洲五月婷| 91久久18禁| 大香蕉人妻久久| 久久黄色视频一区二区三区| 激情丁香五月| 亚洲精品黑丝| 久久久亚洲Av| 嗯嗯嗯啊啊啊在线免费观看| 久久久噜噜噜久久人妻| 亚洲A曰本VA欧美VA视频| 亚洲aV无码成人在线观看| 97色97好| 激情小说日韩无码| 中文字幕国产精品1区| 精品久久9| 高潮的A片激情扒开一区| 免费看毛片操穴| 大白逼三四级| av在线免费一区二区| 五月天综合网| 欧美精品成人一区二区在线观看| 超碰免费人人| 久久久久久无码人妻中文字幕| 欧美人人操人人插| 99.色网| 人人妻人人澡人人爽久久av| 精品国产久热在线观看| 久久9999| 99操碰| 免费视频观看60秒| 超碰国产在线| 婷婷人妻激情| 69精品人人人人| 亚洲玖玖爱| 黑人精品成人一区二区三区| 麻豆a'v电影| 亚洲系列第一页| 呦女网站| 亚洲AV免费在线| 国产精品伦理| 大香樵伊人网| 久久性爱视频免费看| 欧美嗯啊……在线观看视频免费| 99re免费| 中文字幕78| 亚洲国产尤物yw在线观看| 黄资源| 亚洲暴力强奸AV| 日本高清加勒比| 浪人综合网| 综合自拍| 夜夜夜久久| 久久精品国内Av熟女高清| 极品内射| 国产中文字幕曰本毛片| 超碰导航97| 久久欧美按摩999| 亚洲欧美综合| 综合天天网| 日韩乱伦视频| 神马久久午夜| 亚州色阁| 亚洲日本成人动漫| 国产91av在线播放| 疯操AV| 日韩偷拍色图| 高跟丝袜AV专区国产| 亚洲色图8| 欧美激情总合网| 日本熟女免费視颖| 无码二级三级| 欧美性爱一区| 婷婷大香蕉| 精品日韩人妻视频| 久久久精品九| 青青草日本中文字幕| 国产精品自拍欧美在线| 国产福利精品98视频| 久久一二三四五六七八九区区| 黄色性爱网网| 久久精品午夜国产亚洲AV无码| 国产精品国产| 一二三啪啪专区| 91精品人妻电影| 99re这里只有精品9| 亚av顶级裸体一区二区三区四区五区 | 精品无码不卡视频| 高清孕妇孕交 交| 日韩精品操少妇| 男人天堂2019亚洲| 久久精品色欧美aⅴ一区二区| 日韩av无码网站| 欧美色图亚洲色,麻豆| 欧美色图中文字幕| 蜜臀av一区二区三区免费观看| 黄片免费久久久久久久| 日韩欧美大片免费高清啪啪| 综合色区偷拍| 亚洲熟妇白浆无码AV| 97激情97激情| 亚洲……91| 婷婷中文字幕| 欧美日韩操逼嗦吊| 精品久久久久久中文| TS人妖另类精品视频系列| 色老大| 99最新日韩偷拍视频| 91美女在线视频| 91人妻丝袜无码| 熟女人妻av在线资源,黄色的资源| 91强热人妻| 精品偷拍13p欧美dodk视频| 草草草视频在线免费看| 色逼综合| 国产精品自拍视频| 另类天堂| 欧美性xxxxx狂欢| 久久这里只有精品9| 91美女片在线| 外国免费性情大片| 日韩99999| 久9爱精品| 久热这里| 久久久久久久久久久久97 | 大香蕉五月天| 九九伊人网| 色999五月色| 91chinese在线| 激情丁香五月婷婷| 97五月天| 欧美熟妇视频| 日日夜夜国产综合| 欧美视频激情久久久久久| 你草精品在线视频| 欧美大片天天看| 青青伊人加勒比海| 久久影视二区三区行押| 91中出在线| AV天堂因数| 亚洲黑人在线| 天天操人人操狠狠插| 秋霞网—男女啪啪亚洲免费体验区 | 国产精品一级毛片不卡视| 午夜福利免费福利视频| 操99| 九一综合精品视品av| 狠狠热这里都是精品| 国产一区二区久久| 啊啊啊好大好深| 中文字幕丰满子伦无码专区在线视频最新 | wwwcaobibi| 丁香六月婷| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 久久欧美按摩999| 成年男人的天堂| 1000午夜黄色| 欧美性性性| 日本高清免费一本视频在线观看| 嫖老熟女A片一二三区| 人妻少妇久久久| 五月天久久婷婷亚洲 | 五月丁香社区婷婷日韩欧美精品影院| 日日爽夜夜爽| 超碰97最新人妻| 殴美色网| 欧美精品日韩久久久九| 天天日夜夜爽| 久久人妇| 秋霞Av理论一级在线| 九色在线熟女国产黑人| 日本三级久| 精品一二三区四视频| 久热热| 久草网站免费在线观看| 久草久热| 亚洲欧美国产精品久久久久久久| 国产精品久久天天干| 国产成人网站在线观看| 激情综合av| 综合 亚洲 欧美| 亚洲午夜福利在线影院| 丝袜狠狠草尤物人妻av91| 精品九九淫乱男| 国产 v乱码一区二| 天天综合香 ld视频| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 欧美极度丰满熟妇hd| 在线天堂999| 黄色交缠性感爆操91国产精品免费一区二区三区 | 色婷婷色99国产综合精品| 欲射影视| 一本色道综合久久欧美| 人妻久久久久久久久久久久久久久 | 久草这里只有精品| 在线观看国产黄色| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | AV网站高清无码在线观看| 亚洲天堂另类美腿| 超碰97丝袜| 亚洲精品视频在线播放| 亚洲怡春院| 亚洲精品国产熟女久久久久久| 九久久九精品视频| 伊人操| 人妻少妇精品一区二区三区| 91亚洲黄色网| 国产热RE99久久6国产精品首| 亚州色阁| 性色av网站| 曰韩香蕉97| 久久直播国产| 久久久九精品| 天天干人妇| 夜夜嗨TV| 99性爱| 亚洲日韩天堂| 九九九九88| 亚洲无码 国产无码| 亚殴在线| 色波多| 九九拍拍精品视频在线播放| 国产精品人人爽人人做可爱福利| 污污污8888| 中文字幕乱在线伦视频中文字幕乱码在线 | 岛国小电影| 26UUU欧美日本| 禁十八久久| 国产精品无码久久久久2028| 日韩精品国模| 国产成人无码久久精品| 激情在线青青操| 狼天天狼天天大香蕉| 日韩三级伊人| 婷婷香网站| 多乙久久久久久| 欧美激情内射| 久久亚州高清| 一区二区视频在线播放| 亚洲欧美伦综合| 日本一区二区三区欧美日韩中文字幕| WWW啪啪的com| 亚洲女优有码无码高清| 国产黄a三级三级三级av在线看 | 日韩精品人妻系列无码天堂| 91社区拍啪人妻| 97ai亚洲| 97超碰逼| 性爱av在线免费观看| 伊人网高清| 久久久久9999妇女| 大香蕉久操| 绯色一区二区三区不卡少妇| 加勒比伊人综合| 六月丁香网| 日韩操逼HD| 78精品| 中文字幕精品乱码| 99精品免费| 人人 操人人 操人人| 久久97视频| 麻豆AV96熟妇人妻| 97干在线| 欧美另类精品xxxx| 好色综合| 亚洲天堂少妇| 欧美日韩婷婷中文| 黑操B| aⅴ日韩成人电影av在线免费看av大全| 欧美精品庄| 亚洲 综合 第一页| 一区二区久久天天干狠狠| 国产精品无码在线| 秋霞一级鲁丝片A片| 久草看看看| 亚洲青青草| 久久久久久久久九九久孕交| 日本福利社| 国产精品久久久无码AV网站| 国产无码精品成人| 亚洲97在线观看| 熟女熟妇一区二区三区视频| 亚洲第91页| 91丝袜美腿网站| 天天天天干| 黄片在线免费在线观看| 日本成人A片免费看| 91丝袜在线观看| 中文字幕一区二区三区人妻不卡| 少妇人妻激情四射| 久久国产精品熟女人妻| 嗯阿好爽好紧| 嗯嗯嗯嗯啊啊啊好紧好大| 噜噜噜无码AV一级一级久久影院| 思思热免费在线视频| 欧美日韩插逼视频| 操逼操2| 91亚洲情色| 中文字幕AV中出| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 熟女久久久| 久久伦理视频久久大香蕉视频| 顶级少妇BT天堂| 综合网,亚洲,欧美| 天天看综合网| 欧美.亚洲.另类.丝袜.制服.诱惑| 99操碰| 激情综合色| 91操碰| 天天影视色香色欲| 国产日本熟女顶级一区二区三区视频| 日本特黄f c2| 性色一线| 日韩精品人妻中文字幕有码午| 江都AV在线| 久久久久久性爱视频| 激情露脸爱| 大香蕉欧美国产日韩高潮| 色欲色香天天天综合网www-亚洲综合国| 一区中文字幕二区日韩| 大香蕉一人在线| 亚洲素人网| 一区二区播放| 天美传媒AV在线| V A在线| 欧美aa一级片| 亚洲精品无码少妇久久| 激情婷婷丁香| 日本精品人妻少妇一区二区| 啊啊啊啊操死我了| 97草草| 96一区二区| 中文字幕第9页萱萱影音先锋| 日韩福利综合一区| aaaa少妇高潮大片| 欧美躁死她一区二区| 人人操天天爽| 九一国产精品| 狼人狠干| 欧美国产精品| 色综合九九| 久久手机视直播| 久久婷婷欧美| 香蕉综合网| 日韩乱伦AⅤ| 噜噜吧,噜噜色,噜噜| 日韩人妻操B| 色综合99999| 97在线免费看视频| 多毛小伙内射老太婆| 99操视频| 美女91在线观看| 蜜桃传媒视频第一区入口在线看| 国产精品 视频| 黄在线| 午夜精品99久久久久传媒| 欧美激情久久久久| 久久久久久久九九九九| 亚洲天堂人妻熟妇视频| 欧美亚洲综合色| 天堂网 主播 亚洲| 国产精品女aA片爽爽视频| 亚洲五码一区二区三区| 久久欧美1卡2卡3| 欧美96交| 噜噜噜在线视频| 欧美性天天影视| 亚洲诱惑天堂| 亚洲国产成人精品999| 国产日比| 嗯嗯啊啊日韩精品| 亚洲人体视频在线观看| 91久久久久久| 色婷婷一区二区三区久久午夜| 在线观看中文字幕| 五月婷婷久久综合| 人人摸人人舔一区二区| 免费看片黄| 欧美乱色| 热热色中文无码| 蜜乳AV色欲AVAV无码| 欧美午夜视频| 国产家庭乱伦表演| 69精品在线| 亚洲视频精选| 成人精品在线| 久9综合在线| 日本国产高清色www视频在线| 97玖玖超碰| J?P?NESEHD熟女熟妇伦| 天堂精品在线| 91精品网站| 丁香婷婷色五月| 中文字幕色AV| 亚洲第一无码播放立川理惠| 亚州色阁| 自拍偷拍 高清无码| 97一区二压| 被男人添B超爽视频| 亚洲色图加勒比| 中国操逼无码| 中文字幕加勒比海高清无码免费视频 | 成人麻豆av电影网站| 黄网站黄视频网站进入口| 日韩性爱啪啪视频| 国产自产91区13区| 一区二区三区美女超清| 真实高潮91| 香蕉国产精品麻豆亚洲欧美日韩| 99999精品视频| 亚洲精品一区二区日本| 一区久久久二区| 人人做,人人操,人人摸| 啊操爽品善一区二区三区| 国产一级137片内射麻豆| 日韩啪啪啪视频| av天堂天堂av日韩| 超碰到97情色| 久久五月天婷婷| 亚州色综合| 天无日色综合| 乱操乱伦AV| 和协影院中文字幕三区| 另类一区| 福利视频网站| 日本一二三高清| 亚洲成人免费中文字幕| 后入式福利| 91婷婷伊人狠人| 超碰色男人操熟女| 国产AB视频| 蜜桃久久一区二区三区| 欧美黄色手机在线观看| 少妇专区一二三四五| 欧美成va视频网站| 网友自拍第一页| 亚洲激情天堂网| 亚洲福利中文字幕在线| 久久大| 国产视频第2页| 久久女婷| 成人小说视频在线精品欧美| 国产中文字幕在线| 亚洲天堂另类美腿| 免费看A片毛毛片在线播| 少妇天堂| 97爱b| 亚洲第一页色| 人妻 丝袜美腿 中文字幕| 久久久青青草| 97天天操天天干| 狠狠干,狠狠操| 久久久久久久久久久免费精品| 亚洲情色无码一区二区三区| 日韩AV中文字幕电影| 日韩,欧美,中文在线| 在线午夜成人无码视频| 9 1超碰九色| 日韩AV中文字幕电影| 亚洲黄网在哪免费看| 国产在线综合网| 抽插一区二区视频| 自拍二页| 中文字幕二区日韩天堂 | 青草伊人网| AV丝袜少妇| 99精品网| 国产精品自拍欧美在线| 亚洲成人精品在线一区| 91白虎| 亚洲日韩东京热一区| 中文字幕91综合| 人人考人人摸人人干| 人人贴人人摸| 色激情综合网站| 亚洲色图欧美色18直播在线| 伊人色综合欧美| 啊啊啊啊啊操我视频| 色婷婷六月| 欧美成人黄网色网站| 欧美日韩黄片精品在线| 亚洲欧美天堂| www.91视频网| 精品无人区麻豆乱码1区2区图片| 蜜桃色院一区久久| 久久精品亚洲东京热色播| 欧美亚洲丝袜人妻制服99| 自拍偷拍2025在线观看| 人人摸人人添人人操| 久艾草在线精品视频在线观看| 97亚洲精品| 啪啪啪亚欧美视频| 欧美92| 96超碰网| 97亚洲综合在线| 久久久性少妇| 超碰偷拍| 加勒比色99999| 四虎884| 女人天堂网| 亚洲精品97久久中文字幕| 一区二区亚州激情久婷婷欧美| 亚洲欧美精品久| 99热 按摩 日韩| 人妻在线大香蕉| 日韩啪啪啪视频| 97亚洲欧美日韩| 国产熟女二区| 91精品久久久久久77777| 亚洲综合射| 天天干1区2区在线| 四季av一区二区凹凸精品小说| 亚洲脚交| 亚洲一区二区中文字幕| 久久久久久久| 99人妻| 秋霞一级鲁丝片A片| 成人av福利在线观看| 草莓精品视频在线免费观看| 国产成年免费大片黄在线观看| 乱伦图av| 国产吞精a级片激情电影| 欧美成人性爱视频大全| 丁香五月成人| 精品一区二区三区最新| 目产99999久久999| 九一国产精品| 深夜国产福利| 内射夫妻三片| 亚洲黄色网址视频| 久久五月综合| 美女露胸露奶头| 五十路二区在线| 天天搞欧美| 搡老女人老熟女91| 国产在线强奸视频| 干婷婷综合网| 蜜桃久久综合视频| 搞中出视频在线观看| 天天天做天天天爱天天天爽| 久久伊人影院| 99在线免费公开视频| 色香色欲天天综合网天天来吧| 激情丁香五月| 91丝袜熟女| 亚洲欧美综合图片| 欧美亚洲国产91在线| 亚洲蜜桃V妇女| 亚洲综合春色| 国产自产22区| 国产中出内射一区二区| 国产亚州精品美女久久久免费| 五月花婷婷| 亚洲日韩久久精品一区| 欧在线一二区| 人人人人插| 日产国产精品中文久久婷婷| 人妻大香蕉| 国产精品福利资源在线尤物| 抽插无码高清一区| 青青草亚洲一区| 亚洲色图日韩丝袜制服一区二区五月在线| 亚洲欧美日韩免费观看| 日本理论在线| 大香网伊人久久综合网eew| 9Ⅰ超碰| 乱伦AVxx| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲欧美高清无码| 欧美黄色片AAAAA| 久操操| 亚洲人天堂| 91人妻Pr| 久久少妇人妻| 国产成人拍国产亚洲精品| 色色色网站| 老色鬼成人精品视频下载大在线观看| 99亚洲国产精品色一区二区三区| 67194国产| 久久久久幕乱码| 亚欧性爱无码| 熟啊v色欧美热| 欧美第二页| 丁香六月婷婷| 日日骚av| 被体育老师抱着c到高潮| 欧美97日韩精品| 少妇厨房愉情理伦片bd在线观看 | 91人妻人人澡人人爽人人精品| 99热网站| 秘书高跟黑色丝袜国产91在线| 强奸乱伦资源| 国产第二页| 一区不卡在线观看av| 亚熟在线| 欧美欧美啪啪视频| 丝袜夫妻自拍| 色婷婷一区二区三区久久| 91操操| 亚洲日韩精品一区二区| 99操99| 亚洲深夜福利| 狠狠干综合| 男人天堂2030| 日本一区三级韩国| 久九色| 亚殴在线| www.av家庭乱伦| 色女99一级片在线观看| 天天日天天干天天操| 精品久久久av| 思思热在线视频免费| 91精品人妻一区二区三区蜜桃臀| 亚洲无码精品AV久久久| 欧洲中文字幕| 国产乱色国产精品免费视| 久久久性爱视频| 中国少妇XXXX做受| 国产乱码久久久久久| 日本操嫩b网| 色九色久| 国产又粗又又黄又猛| 呦呦一区| 色 亚洲 91| 天天做日日做天天欢。| 亚洲第一页综合在线| 色色色欧美| 欧美色999| 久久亚洲熟妇在线视频| 在线视频免费播放一区| 啊啊啊男女| 素人播放一区| 中字幕人妻一区二区三区| 日本新免费二区三区| 国产女生在线| 欧美亚洲中文| 97在线无精品| 日韩操人| 人人弄人人摸| 中文一区在线日| 色噜噜狠狠色综合日日| 老熟妇乱轮| 欧洲自拍色图gif在线| 亚洲九九夜夜| 26uuu成人影片| 国产精品电| 人妻天天操天天爽视频免费 | 精国久久一区二区三区98| 色狠狠色| {男男暴菊gay无套网站| 精品二区三四区五电影 | 后入式福利| av婷婷色网| 欧美日韩国内不卡| 秋霞怕怕片| 亚洲色天堂九9| 成人网欧美风情| 国产亚洲国产超碰| 国产男女边吃边摸视频网站| 日韩欧美蜜桃精品久久中文字幕久久| 色老汉玖玖爱| 久久九九国产精品| 国产偷人伦激情在线观看| 亚洲 欧美 综合 91| 18精品一区| 五月婷婷爱六月丁香色| 亚洲春色欧美激情自拍| 99精品九九九九九九| 久久超碰98| 久久一区无码| 国产精品久久久鸭无码的功能| 久久精品人人做人人看| 蜜臀久久99精品久久久久久成人小说 | 人妻啊啊人妻啊| 激情综合网五月婷婷五月天| 水多多映视AV| 亚洲精品黄码久久久久| 2026国产精品视频| 熟女一区二区| 九九九九九九九精品视频| 综合久久六月久久婷婷| 国产精品一区二区久久精品| 国产传媒一区二区三区| 蜜臀va69| 色偷偷男人的天堂麻豆| 91在线色| 歐美一級亂黃99在綫精品| 日韩高潮一区| 大香蕉黄色一区| 国产极品美女高潮无套在线观看| aaa亚无码专区| 97亚洲欧美| 亚洲性天堂| 亚洲少妇视频| 欧洲亚洲人妻无码久久三区四区| x97av| 亚洲色图自拍| 欧美在线 亚洲| 欧美久久人妻少妇一区二区| 欲色影视综合吧| 极品粉嫩一区二区| 欧美熟爽综合| 玖玖97综合 | 91四海无码日韩欧美| asc国产精品| 99最新日韩偷拍视频| 五月天亚洲网| WWW美腿丝袜香蕉中文| 欧美色图在线视频少妇| Aa东京男人的天堂| 亚洲色图 综合| 国产免费一区| 日本不卡一区二区三区| 大香蕉92| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 欧美日韩丝袜 | 校园春色亚洲| 黄色无码高清黄色无码网站| 亚洲人妻在线精品| 伊人网免费视频| 51久久夜色精品国产麻豆| 伊人精品久久网站| 成人八戒网站| 精品久久人妻成人网| 操操啪| 欧美美女啪啪视频| 久久最新视频免费观看| A男人的天堂| 精品丰满熟妇人妻一区|