亚洲有码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动漫操逼视频| 日韩精品一区二区人人人| 熟女激情综合网| 欧美五区| 手机在线A片| 欧美啪啪天堂| 久久一本大香蕉 | 青青草丝袜在线视频| 人妻丰满熟妇av无码区蜜桃| 91性| 国产精品一区人妻精品阁在线| 一区二区亚州激情久婷婷欧美| 激情综合色| 国产久久免费精品视频| 啊a一区在线| 欧美顶级黄色大片免费| 加勒比色综合| 啊啊啊啊一区| 午夜精品探花| 日本成人A片免费看| 91超级碰| 欧美性爱视频免费一区一A| 综合 亚洲 欧美| 久久一区无码| 国产AV久久久蜜爱影集| 一级黄色性爱A级片| 97se亚洲| 精品二区三四区五电影 | 黄色区免费观看中文字幕| 少妇淫妇久久久久久久| 97资源站久久| 青操影院| 东北操逼| av线电影| 久久久久久中文| 国产黄色动态精品| 五月天黄色av| 精品视频123区小说区| 不卡啪啪视频| 偷窥自拍亚洲天堂网爆| 婷婷中文网| 欧美精品日韩久久久九| 亚洲国产一区二区入口| 欧美激情性爱视频网站| 精品国产丝袜一区二区三区乱码| 久久免费99精品久久久久久| 美女尤物人人操| 亚洲AV成人无码一二三久久| 影音先锋每日最新资源在线观看| 国产福利合集| 污色区网站| 黑人综合网| 91白嫩| 91天堂网| 久久透逼视频| 亚洲少妇综合在线播放| 超碰国产在线| 久久久com| 伊人97超碰| 五月丁香久久| 97玖玖人妻| 黄色片一区二区三区四区五区| 久久97| 超碰免费人妻在线| 精品丝袜无码一区二区三APP| 九九视频黄色片| 成 人片 黄色大片| 夜夜操二区| 欧美美女在线高潮999| 天天天天天天天天综合| 60秒免费视频| 精品一区二区三区麻豆| a片久久久久久久久久久久 | 日日夜夜草草草| 超碰97在线中文| 亚欧美无遮挡| 伊人五月天婷婷| 一起草日韩| 亚洲欧美自拍偷拍| 成片免费观看视频大全| 日本九九久久99播| 国产精品在线一区二区| 91爱网| 奇米四色网| 国产一区二区a毛片| 国产 无码 一区二区| a网站免费观看| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 五月丁香六月综合缴清无码 | 综合激情97 | 无码国产精品久久久久| 色月天AV导航| 超碰久草| 小日子操bb在线看| 中文字幕天天操| AV天黑人| 日韩 欧美 另类 人妻| 韩国久久97| 男人的天堂2000| 舔足天天操天天射| 97色色视频| 日本黄色裸日本黄色裸体| 怡春院久久| 久久久久久国产精品免费网站| 91oumei| 中文字幕AV片| 激情五月天插| 麻豆精品A片免费观看| 四虎精品亚洲| 曰韩av中文字幕专区| 97色97好| 亚洲欧美综合| 精品一区96| 中文字幕国产| 伊人黄色视频免费观看| 久日综合网| 久9精品| 色噜噜人妻丝袜a∨先锋影| 久久夜嗨| α√在线| 亚洲图片欧美另类综合免费视频大大香| 亚洲色人| 久久婷婷色综合一区二区三区| 大屁股熟女一区二区三区| 三级日韩一区二区三区| 又大又长又爽| 私人尤物在线精品不卡| 91色情黑丝搞鸡在线观看一区二区三区三州| 色爱三区| 久久精品一区一起草| 青娱乐欧美激情一区二区| 超碰人人乐97| 国产精品 视频| 特级大荫道BBwBBwBBW| 免费操逼91| 性色高清在线| 精品高清av中文字幕| 日韩精品高清资源在线| ji熟女.com| 97天天操天天干| 欧洲亚洲国产综合在线| 啊啊啊好舒服视频在线观看| 无码精品一区二区三区潘金莲| 亚洲第一色页夜| 日韩激情毛片一级久久久| 国产精品制服丝袜中文字幕日韩一区二区三区 | 美女t无毒不卡不卡| 亚洲无码?第一页| SUV一区二区在线看| 中国少妇XXXX做受| 久久偷偷色综合蜜桃| 欧美性爱系列| 亚洲欧美天堂| 欧美午夜视频| 亚洲天堂电影精品一区| 思思热一热婷婷热一热| 日韩人妻资源在线看| 乱人乱色一区二区三区免费| 人妻天堂综合网| 无码直播久久久| 欧美在线综合| 欧美熟妇精品黑人巨大一二三区| 国产精品亚洲免费| 国产女人视频三四五区| 九九九九一级| 台湾大香蕉99热| 强歼乱伦资源网| 91男人综合| 久久人妻视频网| 国产精品美女视频诱惑| 久久人妻无码毛片A片麻豆| 久久色情| 乱伦a片视频| 国产国产亚洲一二三久久| AV 少妇 人妻 偷拍| 伊人一级免费黄片| 欧美伊人电影| 97超碰巨乳| 97碰在线视频| 亚洲91在线播放影院| 亚洲性刺激| 刺激性视频黄页| 国产一区二区啪啪视频| AV在线性爱| 91热| 欧洲大香蕉| 国产夜夜操| 国产高潮AA片免费看| 久久久999| 亚洲精品九九九九九九| 日日夜夜国产综合| 九九热免费国产视频婷婷伊人五月 | 欧美成不卡网| av中文在线| 成全在线观看免费观看| 亚洲97成人在线观看| 91情色在线| 蜜桃精品视频一区| 综合激情97| 亚州色交| 色吧五月| 亚洲成人综合在线| 日本欧美国内在线| 欧美日韩性爱无码| 国产精品久久久久亚洲av| 人人操人人色网| 久久久999国产精品| 超碰97在线色男人??| 蜜桃臀 后入 一区 二区 三区 在线| 岛国黄色大片网站| 国产精品自在线发布| 欧美片第一页| WWW操逼| 无码精品久久| 日欧亚洲二三区大片不卡| 视频一区二区免费在线| 51国产午夜精品视频| av黄图片在线观看| 日韩黄色av中文字幕| 中文一区二区三区影院| 国产无码精品无码| 亚洲无无码αⅴ每日更新| 亚洲国产丝袜熟女av| 超碰97COm中文| 色婷婷日韩精品一区二区三区 | 97国产成人精品免费视频| 亚洲成人性爱网站在线播放| 黄色香蕉视频网站一区| jk白丝没脱就开始啪啪| 亚洲成人一区二区精品| 九九无码视频| 极品五月天噜噜| 激情99| 亚洲熟女国产综合另类| 日韩内射视频| 色综合1991| 亚州中文字幕超碰97| 欧美亚洲se91| 欧洲亚洲少妇| 国产无码三级视频在线观看| 亚洲熟女精品| 亚洲图片欧美在线视频| 亚洲蜜臀懂色| 欧美色图在线视频少妇| 色约约一区=区三区| 大香蕉视频啪啪啪啪| 国产精品久久久久久久久久久久久久吹| 亚洲乱妇p22| 中国操逼无码| 天天日天天舔天天喷天天射| 欧美一区二区在线资源| 97国产精品久久久久 | 女优免费一区二区永久| 牛牛久久国产精品视频一二三| 色香在线| 粉嫩av在线| 色狠狠 - 百度| 人妻22p| 久久久久9久久久久| 丁香7月婷婷| 欧美日韩系列| 日韩综合无码色欲vv| 久久东京国产精品视频| 十八禁网站在线| 丰满人妻一区二区中文| 久久久精品| 蜜乳AV一区二区三区四| 后入人妻一区| 青娱乐亚洲自拍| 日日爽夜夜爽| 国产精品午夜精品| 久久成人国产| 欧美第38页| 72av视频| 亚洲色 国产 欧美 日韩| 999狠狠综合| 国产欧美黑人丰满在线| 欧美一区二区男人天堂| 色99色| 蜜桃臀久久| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 久久人妻熟女一区二区| 亚洲色图日韩精品| 日本黄色裸日本黄色裸体 | 国产激情久久| 日日躁夜夜躁狠狠躁超爽| 一级片在线观看高清无码| 婷婷五月色| 午夜操操操| 欧美日韩亚洲一区二区在线观看| 丝袜美腿欧美| 亚洲丝袜诱惑| 午夜精品99久久久久传媒| 骚妻少妇精品性色无码四色A V| 内射夫妻三片| 天天淫人人妻日日色| 玖玖久久久| 久久久国产成人一区二区三区在线| 色综和网| 日韩人妻一二三区视频 | 亚洲少妇视频| 人妻少妇视频在线播放| 密臀在线一区尤物| 九九九九久久久| 久草这里只有精品 | 视频在线中文字幕| 精品黑人一区二区| 舔足天天操天天射| 精品一区二区三区蜜桃臀赵总 | 九九综合| 亚洲精品久久久久毛片A片拉屎 | 91熟女在线| 丁香六月婷婷综合| 玖玖综合网| 日韩欧美视频青青| 好色综合| 国产成自自拍在线观看| 乱伦av.com| 欧美日韩人妻少妇 一区二区三区| 亚洲成aⅴ人片不卡无码| 九九九九九九成人| 新版天堂中文资源8在线| 亚欧美无遮挡| 黑丝91视频| 日熟女| 亚洲91综合| 白嫩国模丰满一二三区| 夜夜躁狠狠躁日日躁av| 色综合色色| 欧美精品三区| 另类 综合 日韩 欧美 亚洲| 日亚韩精品视频二区三| 天天欲望网| 九九玖玖精品| 秋霞无码av鲁丝片一区| 国产91影院| 美美91成人国产精品欧美精品久久久久久久| 涩综合导航| 亚洲天天精品| 日本丝袜美腿人妻九九| 欧美人妻久久精品二区三区| 操逼逼福利视频| 国产AB视频| 人妻少妇一区二区| 日韩乱伦视频| 亚洲av性爱电影| 婷婷15月天青娱乐| 嗯啊不要啊在线 | 嗯嗯嗯啊啊啊在线免费观看| 久久伊人最新网址视频| 99热99re6国产在线播放| 激情开心五月天| 久草加勒比一区在线| 免费网色网站| 欧美亚洲性爱一区二区| 欧美性爱在线无码| blacked精品一区国产| 伦理第一页| 亚洲Av噜噜一区二区三区妖精| 色色综合网站| 精品一二三区久久AAA片| 一级一性爱免费视频| 激情文学小说一区二区| 欧美人妻色| 日韩人妻精品久久久久| 大香网站| 秋霞一级A片黄色视频| 久久激情婷婷| 日本高清一本二本免费不卡| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 少妇久久久免费| 另类亚洲图色| 色综合潮| 精品无码一区二区| 国产精品久久发布| 97九色人妻| 精品国产精品一区二区| 爱做久久久久久| 亚洲精品三区在线观看| 久久久久久久强迫| av毛片aaaaa免费看| 无马一区二区| 亚洲精品九九九| 91久久久久久久| B049AV在线播放| 中文乱码99| 色一射色一射| 高清不卡一二三区视频......| 色色色999| 在线综合色| 欧美亚洲色图另类国产| 亚洲成人av电影在线| 日本欧美一区二区三区视频麻豆| 91丨国产丨白浆秘 洗澡动漫| 日本精品五区| 日韩无码极品| 另类小说综合网| 人妻干天天| 97精品一区二区视频| 9色国产精品一区粉嫩| 青青草中文字幕| 97免费在线| 啊啊啊好想要| 老熟女搡BBBB搡BBBB视频| 成年人黄色视频免费| 韩国三级一线观看久| 波多野42部激情无码喷潮| av爱爱爱| 亚洲国产精品无码AV在线| 午夜120视频在线观看| 精品在线观看视频在线| 激情开心五月天| 67194无码不卡| 精久久久91| AV久日| 蜜臀久久99精品久久久久久| 91久久免费视频互動交流| 中字幕人妻一区二区三区| 国产精品久久久| 欧亚性爱在线视频| 亚欧高清v| 人人射人人操人人摸| 丁香五月电影| 日韩精品9999| 加勒比av网| 亚洲欲色| 在线a v| 99久久综合| 青苹果影院男人的天堂| 精品人妻一区二区三区蜜桃视频| 久久久久久九九九九| 十八禁av无码免费网站APP| 欧美Ⅴ性爱| 日韩一性一交一A片俄罗斯| 色综合久久久久| 麻豆国产原创AV色哟哟| 亚洲色棕合| 国产毛片毛片4p懂色| 操逼国产免费| 操九九九九九九| 死我十八禁| 国产粉嫩蜜臀av一区二区三区 | 日本97久久| 久久久久久少妇| 日本成人电影资源网| 97操碰| 熟女欧美日韩综合婷婷| 国产女同在线观看视频| 精品一二三区久久AAA片| 亚洲色天堂日韩中| 九久精品| 九色PORNY9l原创自拍| 久久精品一区| 日韩激情电影中文字幕| 色婷婷激情| 综合久久99亚洲人妻中文在线| 一区二区三区四区理论片| 婷婷午夜成人色中色| 亚洲综合色男人网| 蜜臀中文无码午夜| 手机在线人成免费视频| 九九成人精品| www国产无码| 狠狠干婷婷| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产乱色国产精品免费视| 日日狠狠久久偷偷色综合免费| 91少妇香蕉久久精品| 国产又色又粗又黄又爽| 熟妇人妻一区二区| 男人天堂网站| 97干色天堂| 女沟厕偷窥piss小便| 3571色综合一区二区二区| 日韩精品人妻中文字幕不卡乱码| 操逼视频免费日韩无码| 日韩精品系列| aⅴ日韩成人电影av在线免费看av大全| 玖玖97综合| 天啪| 骚逼高潮久久精品| 亚洲色图图片| 香一区二区三区| 综合色区偷拍| 丁香五月性| 欧美春色| 男人天堂.AB| 日本成a人v网站在线观看| 91无码中出人妻视频| 久久99深爱久久99精品| 91麻豆va国产精品| 易易A毛视频| 久久久精品国产亚洲伊人| 老熟女综合| 日本青青草在线| A片大香蕉在线| 久久 亚洲 日韩 人妻| 日韩欧美成人午夜福利| 国产不卡的视频 | 动漫区日韩区欧美区| 中文字幕一区二区日韩网| 美日韩在线不卡人妻| 尤物网址| 中文字幕一二三av| 熟女在线视频| 日本女优在线视频福利| 啪啪自拍九九综合| 九九热视频在线观看| 天天看夜夜看日日干| 性老妇一区二区三区| AV污污污污| 国产精品乱码久久久| 精品久久在线区一区| 欧美人人曰人人操人人射射| 精品人妻一二三四区视频| 99热精品在线观看| 欧美不卡在线一区二区| 青青草国产一区二区三区| 亚洲成A∨人影院在线欢看| 极品色综合| 黄色小说亚洲| 九九性爱网| 亚洲国产精品久久AV| 嗯嗯啊啊好疼| 日韩精品.久久精品.AV女优.天美传媒| 国产精品探花色| 9九九国产| 日韩在线女优天天干| 国产欧美一级在线观看| 97视频在线播放| 欧美激情亚洲情色| 亚洲天堂女优在线| 秋霞视频一区二区 | 一区二区精品更新提醒| 静品嫩模一区二区| 人人 操人人 操人人| 91情色在线| 天天干天天日天天射黄色片| 九九九九九九九精品视频| 国产精品嫩草久久久久| 国产白丝AV| 亚洲综合另类色图| 9久久美女首页| 大香蕉亚洲中文| 欧美日韩国产色图在线| 思思热一热婷婷热一热| 蜜桃中文字日产乱幕4区| 免费在线观看国内色片网站网址| 肏逼视频日本| 天天综合欧美| 欧美成人精品欧美一级乱黄一区二…| 91 综合 色| av操操不卡| 欧美久久九九| 天天干天天做| 色色无码| 九月丁香婷婷| 婷婷综合久久| 丁香五月影院| 狠狠综合网| 国产精品免费视频人成| 亚洲中文字母在线播放| 强奸乱伦日韩AV| 手机在线视频国内精品| 欧美一级美片在线观看免费| 黄片www视频免费| 中文乱码字字幕在线第5页| 在线不欧美| 麻豆亚洲AV成人无码久久精品| 在线洲亚线| 新91视频.cmp| 蜜屁av| 国产欧美另类久久久精品课程| 亚洲,欧美,综合网| 午夜噜噜噜| 蜜臀久久99精品久久久久久婷婷 | 久操av在线| 精品视频久久区| 大香蕉在线SuP| 秋霞鲁丝午夜无码一区二区三| 日本大香蕉| 91丝袜在线视频| 偷拍五区| 人妻少妇久久| 大香蕉日韩| 97视频免费在线观看| 青春草莓视频在线观看网址| 中文字幕第9页萱萱影音先锋| 免费无码婬片AAAA片直播色戒| 五码视频在线观看| 亚洲午夜福利在线影院 | 青青草华人在线欧美在线| 新怡红院| 超碰色97| 99视频这有这里有精品| 一区二区影院| 吻戏激情性巴克| 日本不卡码黄色| 麻豆精品三区视频| 亚州欧美在线| 夜夜草天天| 日本性爱不卡视频| 中文字暮97| 1204av韩国| 欧亚 另类 久| 麻豆综合一区av| 久久久久国产精品喷潮免费观看臀| 国产成人网| 91热情品| 亚洲熟女诱惑| 免费αⅴ在线观看| 日韩天美| 国产精品3| 少妇久久久久久| 亚洲AV性爱电影| 蜜臀av在线播放一区二区三区| 在线视频一区二区传媒| 东京热毛片调教| 中文字幕日韩精品久久| 乱老女人一区二区视频| 日韩精品第3页| 欧美天天搞| 日韩在线一区二区| 91xingse| 色九色久| 国产性爱在线视频一区二区| 久久亚洲影院一区二区| 亚洲网污污污污| 日本成a人v网站在线观看| 五月婷婷AV| 中文字幕十五区| 中文字幕福利视频一区二区三区在线观看| 黑人精品一区二区在线播放| 人妻AV在线| 人妻超碰青青草98| se吧提供91精品国产91久久久久久 | 激情一区二区三区在线观看| 欧美第二页午夜| 日韩在线地址一| 91久精品| 亚洲天堂资源在线| www.色99| 大肉棒导航| 欧美日韩午夜精品一区二区三区| 2020视频1区2区3区| 亚州精品人妻一二三区| 91精品女厕偷拍视频| 亚洲色9| 亚洲中文字幕精品一区| 一品道视频一区二区三区| 99re99在线视频| 岛园激情| 青青久日| 午夜精品视频777| 国产欧美日产一区二区三区 - 国产欧美日 | 先锋影音av先锋一区| 天天综合精品| 天美91| 亚洲精品 大香蕉| 九九九九九九九九九国产精品 | 色y情视频免费看| 中文有码第五页| 中文?日韩?免费?精品| 精品无码一区二区| 国产无码精品无码| 亚洲五区熟女| 亚洲中文字幕久久人妻| 久久久久久久久久久久久久久久9| 天堂69亚洲精品中文字| 91在线美女| 五月丁香六月综合缴清无码| 男插女青青影院| 嗯啊视频免费在线观看| 330dv亚洲成年视频网| 人人操人人摸人人看人人干| 亚州国产成人精品女人久久| 综合欧美日本三级| 婷婷8月天青娱乐| 深夜啪啪啪视频免费| 色网亚洲人| 人妻激情另类| 伊人网免费视频| 一个人在线看的黄色电影网站| 韩国三级一线观看久| 欧美72网页| 欧美午夜视频精品久久| 校园春色 亚洲| 麻豆天美电影一区二区| 人人摸.人人色| 亚洲清纯唯美| 男人的天堂2019AV| 74成人在线| 久久机热| ,国产乱人伦精品一区二区三区| 亚洲伊人久久综合97| 夜精品久无码| 久久久激情| 一级婬片120分钟试看| 久草资源欧美在线视频| 黄色大香焦1级‘′‘| 午夜传煤十二区精品| 99国产在线绯色一区| 日美免费黄片| 亚洲性网| 人乳av| 青青草伊人久久| 91丨熟女丨丰满熟女| 日韩精品人妻| 玖玖爱综合网| 国产性感在线观看| 色狠狠综合| 九九视频黄色片| 91熟女丨老女人| 色色综合97| 青青草九九九九九| 久草免费在线一区二区| 白丝一区| 亚州,欧美在线| 午夜精品久久久久久久99热影院| 婷婷五月天久久久| 欧美爱三级日韩久久| 91天美免费| 久久国产精品熟女人妻| 天无日色综合| 国产亚洲精品第一最新| 国产无吗在线播放| 国产精品操| 五月天人妻综合| 精品国产乱码久久久兰草影视| 老女人爆菊| 女人被添高潮免费视频| 乱伦图一区| 婷婷av在线中文字幕| 亚洲欧美日韩不卡人妻| 日韩亚洲97| 色九九九九| 亚洲AV资源| 小草三级久久观看| 小少妇| 色婷五月| 韩国一级做A片免费的| 97精品免费| 丰满人妻一区二区三区免费| 天操天操夜操夜月操月年年操操| 久久、1234| 日本不卡码黄色 | 91亚洲综合| 久久久九精品| 欧亚日韩综合精品国产| 另类av综合久久| 亚洲欧美综合色| 亚洲AV资源| 射丝袜高跟鞋99| 97久精品| 一区麻豆 高清中文字幕| 这里都是精品在线观看| 国产树林里野战在线看| 国产粉嫩出水在线播放| 国产真实野战在线视频| 亚洲女毛多水多21P| 人人看人人爰人人操| 久久久精品电影| 一类av片在线看| 能在线播放的国产三级| 欧美亚洲尤物久久| 国产精品国产自产高清AV| 超碰在线香蕉| 国产乱伦一二三区| 99在线观看| 在线观看一卡二卡| 中文字幕在在线观看网站| 91在线视频免费中出| 亚洲激情色片| 久久视频,这里只有精品 | 中文一区在线日| 久久精品女同亚洲女同13| 蜜区区视频79 | 秋霞免费AV| 天天做天天爽| 人妻在线臀日韩| 欧美日韩国第一区| 1204金沙人妻懂旧版免费| 中文一区二区| 亚洲情色 自拍| 国产一区二区二区按摩精品啪视频| 国产精品人妻无码久久久互動交流| 综合国产影视三级| 欧美日韩香蕉| 久操黄色视频| 亚州色图片在线色| 美女好片色日本| 人妻性爱一区二区| 欧美强奸一区二区诱惑| 国产精品情侣啪啪| av线电影| 视频国产欧美在线播放| 亚洲精品官网在线观看| 亚洲麻豆精品二区三区| 激情终合网| 国产97色在线 | 亚洲| 久久性爱视频免费看| 婷婷五月天激情网| 天天看天天综合成人网| 亚洲综合69| 思思热国产高清| 久久久久九九九| 丁香五月激情啪啪| 九九九影院| 欧美图片校园春色| 在线中文字幕| 秋霞蝌科网日本一区| 大香蕉操久久| 亚洲精品蜜桃久久久久久久| 老妇女91| 中文字幕免费看大片| 精品一区96| 日本一二三免费久久| 亚洲精品乱码线路中文字幕| 欧美综合站| 天天综合网亚洲综合网| 99re热有精品视频国产| 亚洲色久| 久久精品无码熟妇一区二区三区视频导航 | 天天舔日美女视频| 韩国成人精品久久久免费看| 淫色网综合| 97av在线观看| 中文字幕av乱伦| 亚洲成人一二三区| 亚洲丝袜少妇在线| 操逼逼中文字幕| 九九夜精品九九在线| 97啪啪| 免费精品99| 9久9久9久9久视频网站| 333kkkk·亚洲com久久| 午夜精品久久久久久久99热影院| 国产日本一区二区三区蜜臀在线观看| 午夜精品久久久久久久99蜜桃一| 夜夜操一区二区| 国产传媒午夜理伦精品| 亚洲天堂另类小说男人| 乱欲视频| 花野真衣| 一二三区视频在线观看| 精品超碰国产| 超碰在线免费一区二区三区| 亚洲五月婷| 99久在线精品99re8a| AA级电影三区| 久久中日麻豆| 天天干干天天干干| 性爱AV天堂| 日韩国产精品人妻无码久久久| 欧洲天天在线| 人人操人人色网| 99国产天美| 国产久久成人| 免费农村成人少妇人妻Aa一区二区视频 | 久久熟女人| 91肉丝| 大香蕉伊人一区在线观看| 日韩三级av片| 日本三级久| 麻豆久久精品亚洲精品88| 亚洲天堂久久| 色99999| 亚洲五区熟女| 操逼片国产| 日韩高清一二三| 大香蕉婷婷| 国产激情在线| 日韩亚洲美州欧洲综三区一品在线| 人妻久久一区二区三区 | 日韩淫色网| www.色婷婷| 青草草免费网站av| 黑人中出21连凳花野真衣| 韩国一级AAA| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 欧美极品| 啊啊啊啊啊啊啊网址在线观看| A V少妇特黄三级| 日韩黄片视频试看| 亚洲精品97久久| 久操视频免费观看| 四月丁香婷婷| 婷婷丁香五月激情啪啪| 26uuu成人影片| 国产伊人精品在线| 久久亚洲人妻| 嗯嗯啊中文字幕| 国产三区免费在线观看| 大二网站亚洲| 无码人妻一区二区三区四区老鸭窝| 97日视频| 亚洲国产欧美日韩人妻日中文| 东亚亚洲无码高清| 成人性爱AV在线免费观看| 丝袜AV一区二区三区| 97超色| 抽插爽| 青青草在线成人视频| 日韩在线观看中文字幕视频| 一级片在线观看高清无码| 大色综合| 99re这里只有| 亚洲 欧美 日韩另类 麻豆| 黑人精品久久97| 人妻精品4K4K4K4K4| 天天做天天爱天天高潮| 欧美v亚洲v日韩v最新在线二区| 久久免费99精品久久久久久| 久久只有精品| 中文久久久| 91中文字幕制服丝袜免费视频| 伊人96在线| 97超碰超欧美。| 成人久久精品| 久久做97| 超碰性爱97| 婷婷国产精品九区| 91蜜臀在线久久久久| 精品一区二区三区蜜桃臀赵总| 婷婷91| 激情五月天视频| 亚洲成人久久美女| 熟女被操视频网址| 国产精品久久伊人| 黄色av一区二区在线| 亚洲一区二区中文字幕| 成人网站 免费观看| 国产AV无码AV| 乱伦熟女区| 这里都是精品在线观看| 无码自拍SM| 五月天激情四射| 天天拍天天操| 97精品国产97久久久久久| 精品少妇后入一区二区三区四区人妻巨乳| 九九色综合| 天天看综合网| 欧美色图天堂网m| 九九拍拍精品视频在线播放| 60秒免费小视频| 久久久九精品| 蜜臀久久99精品久久久久电影| 亚春色色| 屁股久久久久久| 韩国三级一线观看久| 欧美激情性爱视频网站| 日韩欧美中文日韩欧美色| 99热只有这里有精品| 乱老女人一区二区视频| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 91在线页| 九九九九日本| 九久久精品| 麻豆91熟妇人妻中文字幕茄子| 97干97色| 日韩国产不卡在线视频| 五月天黄色激情视频| 九九热免费视频| 色鬼在线综合| 久久超碰av在线| 亚洲高清欧美总合| 俺去啦俺来也久久综合| α√在线| 欧美精品另类人妖xxxx| 91爱做| 亚洲Av诱惑| 无码高清少妇久久| 日韩精品中文字幕二区| 国产极品999| 伊人午夜福利视频| 亚洲男人天堂网| 国产综合永久精品日韩鬼片| 男人的天堂2019AV| 欧洲亚洲天堂精品| 亚洲97在线| 日本国产高清色www视频在线| 亚洲人妻一区二区三区| 干B| 欧美色青| 日美免费黄片| 欧美色图片91| 欧美日本不卡在线| 亚洲小电影免费涩涩成人在线高清| 日本岛国黄色网址| 好好的日:com久久九九| 在线天堂资源亚洲| 国产精品久久久久无码A√| 激情五月婷婷| 久久9精品网站| 最新av网站在线观看| 九九在线视频| 久久久久人| 亚洲性爱乱操x| 国产精品一区二区三区在线密挑| 人妻少妇久久中文| 成人一道本免费视频| 67914亚洲精品| 亚洲第一男人天堂| 亚洲av综合色区图片亚洲| 日韩在线视频1234| 欧美色91| 嫩草影院性色| 日韩精品三级片长长久久| 国产区日韩区在线观看| 婷婷伊人綜合中文字幕| 色香综合天天影视综合 | 欧美一区二区三区蜜桃| 91色图片| 国产视频人人网| 天天操夜夜操| 欧美自拍网| www黄片免费看com| 1204金沙人妻懂旧版免费| 婷婷伊人五月| 久久久亚洲精品电影免费看| 九九九九九九九九九国产精品| 亚洲 国产 精品一区| 天天内射| 亚洲精品三区在线观看| 超碰精品| 无码操逼视频一下| 国产又大又粗又长视频在线| 日本色色色网站免费看不卡| 国产后入精品| 亚洲综合20p| 天综合网| 亚洲色图一区二区三区| 精品丰满人妻一区二区三区免费观| 精品在线78| 婷婷伊人綜合中文字幕| 日韩日韩日韩-国产乱码精品一区二区| 日韩欧美中文| 人妻色情天天操| 人妻熟女av国产网站| 中文字幕熟女人妻丝袜丝| 日韩av乱伦| 精精品人妻一区二区三区| 一区二区三区四区色图| 久草新在线| 久久发布国产伦子伦精品| 12一15性XXXX粉嫩国产| 亚洲高清内射| 日韩性爱1级片视频| 日韩一级二级三级免费看完整版国语版| 日韩欧美成人综合在线| 色综合20p| 激情久久av一区av二区av| 青青久日| 亚洲日本加勒比在线| 亚洲?V高清一区二区三区尤物| 精品久久久久瑟瑟| av网站在线观看了| 97色网| 992视频一区| 精品成人久久久人人亚洲| 亚洲精品蜜桃久久久久久久| 91网站在线播放| 看黄片视频免费| 超碰97久| 精品一区96| 综合久久久久久久综合网| 天天干1区2区在线| 国产少妇肉丝在线观看| 亚洲 欧美 日韩 国产一区二区| 日本黄色裸日本黄色裸体 | 日本国产成人亚洲精品无码| 超碰导航97| 国产精品久久久久久夜夜夜| 国产成人亚洲精品无码古代早漏男| 欧美日韩人妻精品一区二区三区 | 亚洲 欧美 精品专区 极品| 久久骚少妇| 一起草AV| 操逼www.| 天天操夜夜操| 久久色AV线| 欧美激情亚洲色图| 天天日B夜夜干B时时操B| 亚欧美色| 欧美大色交| 精品国产自在在线99| 草草网站影院白丝内射| 久久东京热久久| 青草视频人妻在线观看| 亚洲 日韩 欧美 国产综合体| 天天躁日日躁成人字幕aⅴ| 久久有码视频| 蜜臀久久99精品| 国产乱码久久| 国产一级αv免费看片| 日韩欧美福利视频看看| 九九热精品视频六| 国产精品久久久久久久久久久久久久久| 天天天天操| 91动漫操逼视频| 午夜福利一区二区影院| 亚洲交性| 日韩中文字幕精品一二三事国产精品| 国产精品女同| 3p国产色噜噜一区| 99老司机精品视频在线观看| 91天堂网| 99操逼| 九七人妻在线| 黄日韩| 日han少妇无码| 殴美,日韩国产伦精品| 日韩中文字幕二区| 久久精品高清AV| 韩国手机不卡无码三级视频| 蜜臀视频网站| 男同专区一区二区三区在线| 97少妇人妻中文字幕久久| 一区三区啪啪| 视频二区美腿制服人妻欧美| 亚洲日韩少妇一道本视频| 蜜桃视频精品一区二区三区| 日韩AV片| 婷婷伊人| 热九九精品| 久久东京国产精品视频| 欧美强奸乱能| 思思热久久成人| 青草草免费网站av| 久久性爱视频免费看| 男人的天堂2019| 少妇精品久久| 久久精品黄色| 超碰97欧美| 久久91| 亚洲图片欧美色图| 水多多映视AV| 思思久热在线精品66| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 成人草草视频| avav青青草久久夜| 男人天堂毛片| 亚洲欧美97| 日日爱99| 日韩一级欧美一级国产一级台湾 | 亚洲天堂性爱| 色噜噜人妻av 中文字幕| 中文字幕一二三区| 久久蜜桃综合网| 91网站视频在线观看| 精品九九九九九九九九九| 无码人妻精品一区二区三区九九| 女人的天堂大香蕉网| 中亚黄色三级大片| 夜夜国自区| 蜜臀AV午夜精品久| 国产操逼网站亚洲一级黄色|