日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
九九热re99re6在线精品| 亚殴在线| 激情小说在线视频| 97在线观看免费视频l| 成人性爱高清视频免费看| 上床啊啊啊| 国产中文福利| 中出20p| 精品人妻一区二区免费蜜桃| 国产精品久久久亚洲一区| 国产极品精品美女视频| 不卡在线观看视频| 搡老熟女免费视频 | 啊啊啊啊好疼| 久久精品人妻一区二区三区| 九九九久久久久| 日韩av乱伦| www.久久最新地址| 日韩黄片影院| 国语对白露脸XXXXXX| 国产精品免费久久久久久久久久| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 日韩成人私密一级精品av| 91N综合网| 色香综合天天影视综合| 91操人| 96AV精品| 久久久999日本大片| 天天干,夜夜爽| 国产特级毛片AAAAAA高潮流水 | 国产这里只有精品| 桃花色涩综合影院| 亚洲精品丝袜| 人妻 欧美 中文| AV一二区| 黄久在线| 毛片99-全集电影手机免费观看完整-B029AV| 91久久堂| 亚洲熟女一区二区| 一区二区三区男人的天堂| 综合 青草 伊久久 影院 综合| 99re这里只有精品中心播放| 偷窥自拍亚洲色图| 啊嗯好大视频在线观看| 欧美天堂第二区| 大香蕉一人在线| 欧美玖玖爱免费玖玖| 媚薬在线视频麻豆| 9.1小视频| 国产白丝网站| 欧美巨大性舒爽顶到了| 亚洲精品一二牛牛| 无色无码| 九九热精品| 超碰av在线| 爆乳免费黄网站| 久久国产精品一级二级三级| 青青草亚洲一区 | 人妻色偷色噜| 国产小u女在线观看| 巨爆乳肉感一区二区三区竹菊影视| 日韩午夜精品一区二区三区电影| 中文自拍欧美影视| 久久久久9999妇女| 97在线观看免费| 女人香蕉久久毛毛片精品| 欧美在线天堂| 女人与公拘交酡2020视频| 无码区蜜乳| 亚洲综合精品国产一区| 天天天天天天天天综合| 精品夜夜澡人妻无码AV| 精品国模无码| 日本性爱少妇| 超碰 av 女人天堂| 人妻一区二区三区四区视频| 无码日韩网站| 国产青视频| 男女激烈网站最新| 99热网站| 午夜精品人妻二区三区| 国产传媒操逼视频| 91亚洲不卡一区| 夜精品久无码| 免费一级性爱久久| 女人天堂AV五区在线| 日日摸日日碰| 香蕉视频欧美一卡二卡| 欧美日韩国内不卡| 九九热五区| 熟女高潮精品一区二区| 亚洲欧综合另类无码一区| 久悠悠av| 色路综合| 青青草在线成人视频| 青青青草伊人精品| 欧 美 自 拍 偷 拍| 丁香激情五月| 亚洲在线观看| 粉嫩粉嫩一区性色AV片| 男人的天堂.com| 日天天九九天堂666| 亚洲影院365| 探花激情视频| 天天躁狠狠躁av| se吧提供国产乱老熟视频胖女人 | 日韩不卡网操逼中文字幕日韩| 人妻第一页| AV免费在线播放一区| 日韩久久超碰色| 思思热一热婷婷热一热| 欧美一级在线观看成人| 国产超碰| 精品人妻15区| 亚洲aV无码成人在线观看| 蜜桃不卡一区二区| 久久国产逼| 日韩AV电影网站| 男人天堂久久精品不卡| 天堂8在线新版官网| AV在线资源| 超碰97久久| 亚洲AV小说| 亚洲女优有码无码高清| 亚洲日韩成人性爱视频| 亚洲国产亚洲天堂| 思思热免费在线视频| www.欧精品| 密臀在线一区尤物| 久久亚洲婷婷| 男人综合网| 女人双腿搬开让男人桶| 亚洲男人在线观看天堂| 天美麻花大全视频| 亚洲欧美97√| 国产传媒日本欧美专区| 国产精品露脸在线观看| 日日日色色色色色| 亚洲av无线观看| 亚洲日本天堂| 手机不卡视频不卡在线一二三区 | 国产资源中文字幕在线| 亚州色站 日韩电影| 中文字幕一区二区三区人妻不卡 | 成人一级二级| 中日高清无码操逼视频| 精品久久久久综合无码| 天天综合AV| 99久久国产精品免费高潮| 人妻天堂综合网| 色哟哟精品1精品2| 97爱爱影院| 成全在线观看免费观看| 东方亚洲在线操逼天堂| 久久婷婷一区二| 男女性感激情网站| 亚欧美无遮挡| 麻豆 欧美 日韩| 国产传媒午夜理伦精品| 人人九九精| 五月丁香啪啪啪| 亚洲欧美色图| 日韩综合97P| 日韩人妻资源在线看| 欧美人与动性人交a| 亚州色图片在线色| 亚洲高潮少妇| 九九干| 蜜桃天美传媒AV一区二区三区| 狠狠色婷婷| 粉嫩av在线| 99re在线视频| 麻豆亚洲Av成人无码一区精品| 2017人人操,人人摸| 好看的久久不射无码影视影院| 在线欧美69V免费观看视频| 美女91网| 老熟妇一区二区三区啪啪| 亚洲夜夜欢无码一区二区 | 五月丁香影视| av片在线观看免费播放| 98久久超碰| 久久人爽| 亚洲成人碰碰| 久久9视频| 老司机深夜18禁污污网站| 亚州,欧美在线| 台湾佬激情综合| 99色热国产视频精品| 999热这里只有精品| 91天美传媒在线观看| 亚洲va综合va国产va中文| 国产精品麻豆免费视频| 又大又大又大又粗爽高潮观看| 丝袜美女诱惑 91 视频| 久久久久密臀一区二区| ss久久| 免费看日本操逼视频| 日韩免费看在线黄色片| 日本不卡一区| 亚洲欧美人妻| 翔田千里A片一区二区| 欧美综色欧| 丰满丝袜少妇AV| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国产自产一区视频在线| 国产精品久久99日日| 偷拍 欧美 日韩| 日韩本不卡视频在线观看 | 中国AV美女| 91少妇人妻| 精品人妻丰满熟妇一区二区三| 色五月激情AV在线| 精品国产91久久久久久一区黄无| 人人妻人人色| 91国产美女丝袜足交精品视频 | 女上位精品在线| 91天天综合网,天天综合网| 97中文天堂| 精品超碰中文在线| 精品夜夜澡人妻无码| 国产毛片精品一区二区色欲黄A片| www.av在线视频| 天天弄天天操| 成人免费不卡在线视频| 日本狠狠干| a在线视频免费观看| 91色人妻| 99re公开精品免费视频| 国产精品色片一区二区| 色综合网1| 91久操| 99热只有| 秋霞男人网| 区二区亚洲婷| 天天日天天搞天天干| 国内毛片无遮挡国产| 亚洲av国产av综合av卡| 亚洲人妻在线一区| 人妻少妇av在线观看| 99操碰| www.99色| 国产白领连续中出在线观看| 亚洲欧美日产国产91毛片| 香蕉免费一区二区三区不读| 成人天天爽| 亚洲drav色图| 91精品国产91熟女| 国模私拍一区二区三区神乳| 久久综合亚洲色1080p| 日韩性爱电影一区 | 青青草好吊色| 9丨亚洲一区二区在线| 97欧美精品| 国产精品视频自拍在线| 大香蕉黄色一区| 婷婷久草一区二区三区| 老女人碰碰在线碰碰视频| 嫩草 我啊~嗯~在线| 久热网| 中国人高清www色视频免费| 嗯啊抽插大香蕉网页| 色婷婷99| 天天天天天天天天综合| 777超碰| 隔壁邻居波多野结衣中文字幕| 青草av在线| 伊人久久国产免费观看视频| 麻豆天天躁天天揉揉AV| 中字幕人妻一区二区三区| 一级久久性爱视频| 欧美亚洲美少妇一区二区| 蜜桃视频啊啊啊啊| 18禁精品网站在线看| 激情小说五月天| 综合欧美日韩在线| 日本操逼视频在线| 免费一级视频特黄色大片| 人人污日韩一区二区| 天堂综合| 欧洲黄色网| 91一起操| 蜜桃臀一区二区aV| 日韩人妻一二三区视频| 在线啊啊啊啊| 欧美性夜| 国产亚洲综合欧美一区| 中文字幕免费在线观看| 婷婷丁香五月天综合东京热| 亚洲 欧美 小说| 超碰人人干天天射| 日本高清有码网址视频| 人妻无码久久一区二区三区免费| 爱爱啊啊啊| 女人高潮大叫一级毛片| 亚洲综合色在线| 26uuu性物| 91久久久视| 天天躁日日躁狠狠躁| 婷婷情色综合网| WWW美腿丝袜香蕉中文| 亚洲男人天堂2| 樱花蜜乳av| 日韩精品人妻中文字幕有码午| 黄色工厂这里只有精品| 大香蕉伊人色偷偷在线| 亚洲91在线| 色色五月丁香| 97色在线视频| 婷婷五月天补不补| 五月丁香六月综合缴清无码| 自拍亚洲综合| 秋霞无码av鲁丝片一区| 尤物视频偷拍免费| 99久久婷婷国产综合| 中文字幕精品三级久久久| 亚洲第2页| 久久九精品| 欧美日日操| 91男人天堂网| 午夜丁香| 中文字幕一区二区无码成人| 青青青操| 欧洲亚洲国产综合在线| 国产又粗又长的视频| 九色在线熟女国产黑人| 婷婷九月国产| 99精品无码| 五月亭亭六月丁香| 国产精品suv一区| 日韩成人精品视频自拍| 欧美午夜熟妇黑人精品91| 亚洲精品视频在线播放| 欧美岛国精品在线观看| 青青草日韩免费观看高清在线| 国模艳艳啪啪一区| 91亚洲人| 国产人伦精品一区二区三区| 成人免费看吃奶视频网站| 久久久久网站-538在线视频-欧美永久乱码 | 女人香蕉久久毛毛片精品| 亚洲五月婷| 嗯嗯啊啊操我| 精品人妻一区二区三区-国产精品| 中国操逼无码| 人妻精品一区一区三区蜜桃91| 激情六月婷婷| 中国少妇XXXX做受| 国产91 丝袜在线播放| 欧美性爱一区二区三区四区| 韩日性爱av| 欧亚三区动漫| 99黄页网站| 无码9区| 熟妇的味道HD中文字幕| 丰满人妻一区二区三区四区| 综合天天网| 狠狠色丁香| 小日子操bb在线看| 色妇综合网| 久九9精品| 欧美爆操91| 高清在线偷拍自拍视频| 欧美1区二区三区公司| 欧美日韩亚洲少妇寂寞影院正在播放 | 香蕉99秘 一区精品蜜桃臀| 99www.bibizy香蕉资源国产一区二区三区高清| 爽 好舒服 无码刺激久久| 91美女小视频| 天美传媒AV在线播放| 91色人| 91在线色| 九九热男人天堂| 精品亚洲国产成人AV制服丝袜 | 日韩视频精品在线观看| 欧美少妇色图| 中国少妇啪啪视频| 91av天美性媒精品视频| 国产做?爰片久久毛片?片美国| 国产强奸乱伦xd| 欧美色偷偷| 午夜操一视频一区| 久偷拍欧美日韩三区| 亚洲综合激情五月久久| 国内精品伊人久久久久影院会| 亚洲伊人a线观看视频| 天天夜躁日日躁狠狠2002| 欧州91高潮| 火箭成精品视频884必出精品| 久久久精品,3| 欧美亚洲手机在线| 伊人超碰97| 中文字幕欧美精品亚洲日韩蜜臀| 久草电影网| 伊人在线大香蕉二。| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 久久精品国产99精品亚洲蜜... | 国产蜜臀精品一区二区尤物| 男人的天堂Va| 91岛国动作片| 国产内射爽爽大片| 69av一区二区三区| 伊人久久综合影院| 国产三级中文有码在线视频| 亚洲精品一区二区三区在线播放| 日韩AV一起草| 伊人婷婷五月天| 久久免费精彩视频| 欧美极品女人的天堂| 丝袜六区| 日韩钢筋无码高清啾啾啾| 久久精品一区| 97超碰人操| 91成人亚洲色图| 欧洲色综合| 熟妇色99| 日韩福利电影网| 日本熟女中文字幕一区| 国产精品99久久久www| A久久| 人妻夜夜爽天天爽麻豆三区网站| 国产av青草| 蜜桃久久综合视频| 亚州精品丝袜-不卡成人免费| 久久男人网| 少妇色综合| 易易A毛视频| 国产视频人人网| 天天干天天日天天射黄色片| 亚洲男人天堂视频| 久久区| 日本操大逼| 91精品久久久久久77777| 韩国一区二区精品亚洲| 福利天堂| 欧美人妖内射| 爽极品影院| 99在线无码精品秘 入口黑人| www色婷婷| 国产久久久9999| 夜色97| 69精品| 色香色欲天天综合网天天来吧| 久久婷婷五月天| 日韩免费人妻色情网站| 99re在线视频这里只有精品| yiqicaoav| 中文字幕性感少妇av| 泰国AV在线观看| 91老熟女91老女人| 污污汅18禁网站在线永久免费观看| av网页一区二区三区| 亚洲色鬼| 欧美另类天堂| 日韩欧美中文| 国产美女91视频| 欧美天天干| 日韩av一级黄片| 国产不卡中文字幕免费avi| 大香蕉日韩| 黄色性爱网网| 欧亚日韩三区| 欧美日韩插逼视频| 天天摸天天插天天日| 亚州高清AV| 婷婷影院入口| 裸体1区| 97免费视频网| 在线a亚洲视频播放在线| 18禁精品网站在线看| 女人妻一区| 九色 蝌蚪 熟女自| 国产一级操B视频| 性生活无遮挡纯毛片在线看| 美女久久久久久久久久久| 精品性爱无码在线播放| 欧美在线|亚洲| 亚洲天堂AV在线播放| 久久国产精品,久久国产| 综合久久99| 亚洲第一综合| 欧美亚洲手机在线| 伊人成人中文字幕久久网| 精品国产99999| 激情色色| 亚洲风情在线观看| 亚洲AV小说| 60秒不遮不挡| 精品国产乱码久久久久久影片| 天天狂操夜夜狂日| 草草影院在线视频| 亚洲欧美电影| 高树玛利亚无码流出| av黄图片在线观看| 欧美综合在线91| 国内偷自视频区视频综合| 中文字幕78| 高清国产成人无码| 精品大全99999| 天天躁日日躁AAAXX| 99色热| 熟女人妻久久中文字幕一二区| 一本久道久久综合狠狠爱一密臀精| 综合久久中文字幕综合日韩精品| 欧美骚少妇| 探花激情视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 91热| 欧美少妇第一页| 日韩欧美tv一区二区在线观看| 色拍偷亚洲| 国产免费操逼| 91日韩国产欧美亚洲另类精盘州至城都| 美女超碰978| 不卡中文字幕aⅴ在线| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 日本大香蕉| 国语av最新自产拍在线观看| 97这里有精品| 亚洲 欧美 另类 日韩 人妻一区| 天天干天天操天天干天天操| 9丨久久九九九| 久久婷婷亚洲欧| 欧美99热| av天堂精品久久| 激情一区二区| 精品久久九| 婷婷六月色| 久久久久久亚洲Av无码精| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 欧美美女在线高潮999| 欧美91精彩| 国产 码在线成人网站| 色波多| 精品无人区麻豆乱码1区2区图片| 日韩熟女精品无码专区一区二区| www.国产高潮精品| 乱伦a片视频| 波多野结衣之双飞调教在线播放 | 欧美在线播放| 欧美在线|亚洲| 欧洲乱码视频| 日韩无码嘿咻黑热久| 欧亚在线视频| 人妻一区二区三区四区视频| 肥佬影院91| 宅男91视频在线播放| av日韩在线观看电影| 欧美日韩午夜精品一区二区三区| 综合性视频99| 天天操天天7| 75大香蕉| 蜜臀人妻少妇久久在线观看| 久久久精品视频免费观看| 日本αv| 成人性交午夜免费片| 日韩 女同 综合| 欧美熟女妇同| 欧亚第一综合网| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 亚洲国产尤物yw在线观看| 欧美一级A一级a爱片久久| 免费视频观看60秒| 骚货 中文字幕 av| 天堂综合| 97超碰逼| 亚洲成人色情五月天丁香花| 天天看片麻豆| 97露脸精品丝袜| 中文操逼字幕| 日韩欧美亚欧在线视频| 久久精品国产亚洲AV先锋| 久久亚洲天堂| 人妻蜜桃臀| 亚洲脚交| 亚洲男人的天堂网| 欧美猛交黑寡妇中文字幕| 黄页大片在线观看| 欧美色图天堂在线| 欧美日韩夜夜| 久久成年精品| 天天拍天| 日韩欧美三级| 加勒比海色香蕉婷婷| 婷婷五月天激情四射| 欧美色91| 日韩射精| 亚洲av成人精品一区| 视频一区二区三区精品| 在线看的av| 素人一区二区三区日韩| 口爆吞精在线观看| 啊视频在线| 一区二区你上我| 日韩熟女精品无码专区一区二区 | 成人十八禁日韩欧美一二三| 欧美色图99| 亚洲日韩狠狠撸视频| 久草免费在线视频| 强奸乱伦免费网站| 亚洲高清无码AAA久久久精品| 无码国产精品久久久久| 大稥蕉免费视频这里只有精品| 欧美AB在线观看| 国产青青美女玩逼视频| 午夜啊啊| 五码视频在线观看| 免费看日本操逼视频| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 国产精品视频自拍在线| 婷婷亚洲五月***久久| 久久超碰久| AV中文字幕剧情1区2区3| 天天久久久久久| 日本人妻伦在线中文字幕| 影音先锋乱| 天天狠| 91色综合色| 东京热一区二区中文字幕| 日韩一性一交一A片俄罗斯| 99操| 91超碰在线播放| 天天热精品| 无遮挡又黄又刺激的视频| 天天天天天天天天天天干美女| 91xingse| 老司机香蕉久久久久| 亚洲好看强奸乱伦| 77777亚洲蜜臀精品久久综合蜜臀| 久久久久国产| www熟女乱伦com| 偷拍亚洲熟女视频播放| 色综合中文字幕不卡| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 91P0RNY大屁股人妻| 在线观看日韩av不卡| 欧美日韩精品国产91| 综合久久2017| 婷婷五月av| 国产成自自拍在线观看| 亚洲少妇在线观看| 99热91| 久久一本大香蕉 | 99精品视频在线观看| 日韩精品电影| 国产成人自拍视频视频| 禁止观看美女黄| 熟妇色99| 九九热视频在线观看| 亚洲欧美国产中文字幕| 亚欧无码线免费观看视频| 成人五月香网在线| 91精品人妻一区二区三区蜜桃| 精品黑人一区二区| 极品一区二区三区免费| 亚洲成人福利电影免费| 欧美大干日韩| 家庭乱伦性爱av| 97超碰资源网| 国产精品激情久久久久久久| 久草男人天堂| 欧美一级A片不卡视频。| 男女激情中文字幕| 日本熟女免费視颖| 久啪| 亚洲精品啪视频| 亚洲性图91| 久久久精品视频免费观看| 午夜精品人妻二区三区| 国产视频不卡在线观看| 久久爽爽精品| 婷婷在线视频在线观看| 久久99999| 在线日韩日本亚洲国产| 少妇与黑人高潮在线| 国产精品不卡一区二区三区av| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 亚洲综合91| 大香蕉中文aV在线| 久久久涩| 久久久久久久久久久人妻| 久久精品国产精品一区| 午夜啊啊啊| 久久精品亚洲成a人天堂| 欧美成不卡网| 一级人妻性爱视频| 久久妇| 香蕉久久国产AV一区二区| 蜜桃狠狠色伊人亚洲综合网站| 国产成人AV麻豆| ,成人免费啪啪视频| 麻豆人妻偷人精品无码视频| 久久99精品视频| 国产精品视频内谢女人| A男人的天堂| 东北丰满熟女国产一区| 91精品国产91熟女| 艾草av| 日本精品高清一二区一本到| 91亚州| 久久久9视频| 十八禁啪啪视频| 国产一区二区三区,在线观看观看| 不卡av在线中文字幕| 91欧美少妇| 亚洲第一页色| 精品久久久久av影院| 欧美天天干| 秋霞鲁丝午夜无码一区二区三| 五月天婷婷影院| 日韩激情毛片一级久久久| 久久精品无码熟妇一区二区三区视频导航| 国产女上位好爽在线| 久久毛卡| 久久久亚洲| 男人天堂久久精品不卡| 狠狠搞 亚洲91| 色区久久| 韩国三级一线观看久| 蜜区区视频79| 在线一区| 青青操在线亚洲视频观看欧美在线 | 婷婷色一区| 人人摸人人干人人拍97| 粉嫩av平台| 超碰美女97| 91天天美女| 色777999综合| 品亲网欧美品亲网| 99爱久久视频频| 99亚亚热| 日本99视频| ?亚洲伊人伊成久久人综合网| 伦激情人妻另类人妻| 91东北熟女| 久久久久久久久久久久97 | 天堂69亚洲精品中文字| 男人天堂无码| 国产精品一区二区后入| 久久久久久91香蕉国产| 婷婷三区| 尻女朋友一夜| 亚洲操逼网| 国产一区二区啪啪视频| 黄片aaaaa一区| 国产乱色国产精品免费视| 久久国产AⅤ| 久久国产在线一区二区| 无码外流操逼视频| 日韩在线欧美精品一区二区| 国产午夜精品理论片a大结局| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 白嫩91在线亚洲| 蜜臀va69| 91美| 不卡日本一区二区| 欧美少妇人妻| 美女裸体无遮挡永久免费观看网站| 一区二区影视| 校园春色五月天| 亚洲毛片基地专区| 蜜臀99久久| 国产中出内射一区二区| 午夜一级免费毛片| a v网站在线播放| 操逼操网| 国产精品色色| 91亚洲不卡一区| 亚洲乱色视频一区、二区在线| 欧美亚洲影视| 亚洲男人综合网| 日本三级韩国三级美三级91| 啊啊啊啊啊啊在线| 亚洲中文字幕一区二区| 久久久久久久97| 在线日韩精品一区二区三区| 亚欧毛片基地国产毛片基地| 北约熟女超碰| 亚洲第一在线视频| 天天综合色电影| 丝袜狠狠草尤物人妻av91| 91夜夜蜜桃臀1区2区3区| 肉丝无码中文高清| 久久婷婷成人综合色怡春院| 日韩人妻丝袜中文字幕| 亚洲av综合色区图片亚洲| 黑人操一区二区| 韩国久久97| 日韩电影天堂视频一区二区| 97超碰欧美手机在线| 日本媚薬中文字幕在线| 中文字幕黄片在线| 国产精品香蕉热久久新品| 91精品丝袜久久久久久| 午夜性| 乱码人妻一区二区三区| 欧美爱国产综合、| 张柏芝国产一区在线观看| 日韩综合成人免费视频| 久久伊人大香蕉| 国产精品老熟女一区二区| 亚洲男人的天堂V| 台湾佬中文娱乐网久久久久久久久久com| 78精品在线| 亚洲熟女精品| 骚逼高潮久久精品| 色婷婷综合久久中文字幕雪峰| 99re95| 国产精彩女在线观看视频| 97超碰欧美中文字幕| 欧美一级特黄淫片在线观看| 青青草在线视频人人想人人上| 丰满人妻一区二区中文| 七月婷婷综合| 国模精品一区二区三区苹果色戒 | 国产后入精品| 欧美天天在线| 欧美自拍偷拍综合图片| 色五月激情网| 长久操视频| 最新日本中文字幕| av九九| 九9热伊人| 国产多人在线观看视频| 亚欧Av| 欧美大片天天看| 亚洲欧美另类图片| 精品性爱一区二区| 99黄页网站| 午夜男女爽爽大片免费观看| 九九AV| 少妇九九九九| 欧美亚洲| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 天天看精品动漫视频一区| 伊色综合天堂色97| 综合色区偷拍| 五月丁香激情啪啪| 国产夫妻性生活视频| 午夜电影在线观看无码专区| 精品无码一区二区| 中文字幕欧美日韩三级| 亚州色交| 老司机午夜福利视频一区二区| 尤物黄色在线观看网站| 欧美日韩亚洲高清不卡一区二区三区| 91综合在线| 色妹子A V| 人妻9117c| 五月天综合网| 国产操逼视频在线观看| 精品久久久九九九孕妇| 九九九国产精品| 欧美性爱精品一区二区| 干妹子| 国产精品午夜高潮呻吟久久av| 91美女视屏| 亚洲阿v天堂无码z2018| 欧美成人色| 日韩 欧美 视频 在线 一区| 强奸熟女一区二区三区| AV和黑人在线播放| chaopen97久久| 天天插天天操| 亚洲日韩电影| 涩涩五月天| 青青在线视频日韩欧美| 嗯啊不要啊啊在线观看视频| 国产家庭乱伦表演| 亚洲色图欧美另类在线| 国产浮力影院第1页| 四虎免费视频| 日日干日日| 午夜性生活av免费在线看| 天天影视射综合网| 欧美久久伊人| 国语精品av| 亚洲aw毛茸茸在线| 岛国网址国产| 在线播放欧洲免费av| 99re视频在线播放青草| av九九| 性爱免费视频成人| 97精品全部| 天天看少妇| 性开放中文AV高清无码免费看| 激情视频一二三| 六十路日本| 五月婷亚洲精品天堂| 欧美亚洲涩涩| 国产精品成人在线| 欧美精品宗合| 好爽要喷了| 麻豆亚洲Av成人无码一区精品| 日人妻视频91| 玖草在线视频| 女上位精品在线| 爱爱动态120秒| 最新av网站在线观看| 国产一区二区三区,在线观看观看| 夜间福利片1000无码| 91久久久久| 淫淫总合网| 热无码中文亚洲H一道本一区二区| 成人夜夜| 人人超碰在线观看黄| 色婷五月天| 亚洲va有码在线天堂| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 中国小夫妻勾搭露脸淫荡对白| 岛国黄| av三级电影在线播放| 搡老女人老91妇女熟女| 1024亚洲中文字幕久在线看片你懂的| 国产成人无码久久精品| 囯戸精品高潮呻吟旡码| 亚洲精品人体| 无码操逼天堂| 国产免费久久精品99re韩国| 中文字幕一区电影在线观看| 91久久青青草原精品| 国产蜜臀在线| 国产精品高潮久久AV| 人妻天堂综合网| 丰满岳乱妇一区二区三区| 综合网欧美| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 91碰碰| 国产女性无套 免费观看| 日韩免费看在线黄色片| 亚洲综合影院| 亚洲激情四射| 99综合网| 成人网址在线观看| 在线看片国产精品每日更新| 在线观看亚洲成人精品| 久久国产精品视频| 天堂亚洲精品久久老牛| 97视频620| 美女诱惑在线一区| 久久超碰97中文字幕| 精品99999久久久久久| 综合久久欧美| 五月天玖玖资源站| 中日韩熟女| 日韩人妻播放| yellow网站免费观看日韩高清无码| 国产偷拍网站| 日本伦乱九九九综合| 97在线观看免费视频| 美女91| 亚洲欧美另类小说| 久久系列| 亚洲美女av无码| 操国产高清| 在线欧美亚洲| 日本加勒比无码专区| 在线播放欧洲免费av| 日韩无码服务区| 亚洲成人AB| 天天操妹子| 成年人黄色| 日本淫乱女一区二区三区视频| 激情综合网亚洲| 少妇综合网| 自拍内地三级在线观看| 国产成人久久精品蜜臀| 伊人热综合| 三级激情网站| 福利在线观看一区二区| 精品国产一级久久| 丁香六月激情| 99啪啪| 亚洲。日韩。欧美| 妇人噜噜| 综合网亚洲1| 日夜精品| 欧美色www亚洲国产阿娇要播| 再深点灬舒服灬太大了添视频| 日本午夜操逼| 激情综合亚洲| 国产精品国产自产拍高清AV| 国产美女激情| 四季av一区二区凹凸精品小说| 中文字幕在线免费观看| 日本人妻伦在线中文字幕| 国产一区在线观看无码AV| 91精品人妻电影| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 手机看片1025| 日韩精品区二区三区不卡| 日本人妻一区二区| 亚洲综合校园春色| 麻豆成人影音在线| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | www久久国产精品| 国产熟女乱论| 久久久工口| 十八禁的黄污污免费网站| 色播丁香| 欧美91精彩| 欧美线天码中字| 无码高清操逼| 亚洲第一在线视频| 日韩成人午夜精品久久高潮| 九九九国产| 人人操人人插人人摸人人干| 99精品热| 久草草一二三四区久久| 大香蕉日亚洲日本亚大| 日本操逼视频免费| 欧美成va视频网站| 97超级欧美| 人妻一区二区三区熟女| 日本丝袜人妻内射| 嗯嗯嗯啊啊啊在线免费观看| 熟女久久久| 天堂无码| 五月激情综合网| 91日日夜夜| 亚州熟女乱伦| 亚洲情色婷婷五月天| 色亚洲欧美| 亚洲国产成人7777| 人妻少妇精品一区二区三区| 毛片麻豆91糖心精品毛情片| 国产乱伦搜索结果91P| 玖色AV| 超碰色大香蕉| 强奸乱伦Av网| 超碰夫妻97| 日韩在线地址一| 成人贴图日韩欧美| 九九碰九九爱97超| 少妇滛荡视频| 天堂亚洲精品| 一区二区三区 日韩欧美| 日本欧美色| 偷拍亚洲| 欧美亚州手机在线| 久久久久久人体| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 国产精品网址| 日韩99神马视频片| 国产午夜精品理论片a大结局| 丁香六月啪啪| 凹凸 69堂 在线播放| www.人人cao| 亚洲av资源| 五月丁香| 97免费视频在线| 99这里都是精品| 麻豆91熟妇人妻中文字幕茄子 | 国内亚洲高清无码| 啪啪啪东京| 91色综合激情| 午夜一区二区三区国产| 99re69| 性猛交| 精品人妻一区二区三区-国产| 欧美日韩久久精品爱爱| 婷婷六月色| 福利视频香蕉免费一区二区在线| 翘臀vidoes| 免费a v| 国产AV天美| 亚洲第一狼人丝袜美女另类| 国产一区二区久久| 丁香色五月 97干| 久久精品国产亚洲粉嫩| 国模一区二区三区| 999久久久| 日韩传媒在线| 无马一区二区| 91人妻视频| 最新中文字幕精品在线| 999熟女精品| 亚洲成人综合在线| 国产精品扒开腿做爽爽爽视频| 一区 欧美 日韩 麻豆| 色黄色美女大长腿午夜视频| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 欧美综合第一页| 亚洲美女精品| av爱爱爱| 亚州乱码中文字幕综合久久久| 人人看欧美性爱| 天天日熟妇| 日日夜夜天天| 欧美18 在线观看| 青青草无码视频| 无码色| 日本1区2区不卡视频| 91色欧美| 久久久av爱| 3p国产欧美99热| 91黑丝在线| 麻豆精品三区视频| 亚洲色久| 伦激情人妻另类人妻| 色综合1991| 91黑丝少妇| 911粉嫩人妻| 999久久久免费精品国产牛牛| 九色 蝌蚪 熟女自| 日韩国产品视频中文字| 91国产操逼视频| 亚洲97网站| 久久久久一本一区二区青青蜜月| 亚洲情色中文字幕一区| 蜜臀久久99精品久久久| 91 丝袜在线| 色五月婷婷在线| 激情国产乱伦Av| 超碰97久久| 美日韩一二三区| 亚洲欧美在线观看2021| TS人妖另类精品视频系列| 无码久| 欧美黄色图片| 中文字幕 码精品视频网站| 亚洲第一免费视频| 曰本道人妻久久久在线不卡色视频| 亚洲国产第一页综合视频| 午夜高清成人在线视频| 情趣丝袜无码操逼视频| 亚洲国产精品无码AV久久| 青青欧洲黑| 国模精品娜娜一二三区| 国产捆绑一区| 欧美日日人人天天| 97亚洲欧美日韩| 综合网亚| 91操碰| 婷婷久久五月| 激情综合网五月婷婷五月天| 国产精品人妻一区二区| 国产呦精品系列在线观看| 床戏久久久av一区二区麻豆| 久久精品人妻一区二区三区| 亚洲s在线观看| 九九av| 91色情黑丝搞鸡在线观看一区二区三区三州 | 欧美人与动性人交a| 国产精品播放| 美女黄页网站| 久久久精品网| 97日亚洲欧美| 东北女人性交| 国产小炒后入式| 一区| 啊啊啊啊啊啊啊网址在线观看| 国产午夜视频| 久久久成人精品| 日本欧美m v精品网站加| 亚洲中文人妻色| www.高清无码诱惑一区.com | 国产精品美女久久久久AⅤ国产馆| 午夜视频黄| 密乳AV免费观看|