亚洲有码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人妻最真实刺激绿帽| 都市激情人妻一区二区青青操视频| 亚洲骚男同com| 国产综合永久精品日韩鬼片| 91亚洲电影| 黑人中出21连凳花野真衣| 操逼不卡中文字幕| 高清国产精品福利网站| 日韩有码中文字幕女同性恋| 最新亚洲风情电影| 色区久久| 人人操人人插人人摸人人干| 日韩性爱长视频免费| 91高跟美女在线播放| AA丁香综合激情| 国产精品一区午夜福利| 日韩探花精品在线视频| 成人自拍三级在线观看| 久久是精品| 夜夜操狠狠操| 亚卅熟女乱色| 婷婷五月天AV| www超碰| 国产一在线观看| 欧美激情区| 国产精品一区二区麻豆| 人妻熟妇久草在线| 欧美aⅴ99久久黑人专区| 天天干一区二区| 大香蕉九九| 探花在线免费观看视频国产一区| 国产美女在线精品免费看| 果冻传媒A片麻豆熟妇人妻| 97av,com| 大香蕉综合在线| 青青11操操操操操操操操| 天天肏夜夜肏| 牛黄色久午久| 久热超碰| 人妻天天爽夜夜爽爽| 亚洲激情AV| 日韩欧美亚洲一区二区三区影院| 欧美性爱三区二区| 日韩乱伦影音先锋| 国产欧美亚洲精品a第2页| 亚一综合久久久久久久久久| 99re国产精品视频| 国产精品久久成人免费| 尤物一级在线免费观看| 人人操人人狠狠操| 99精品丰满人妻无| 岛国AV一区二区电影| 色五91| 美女露胸露尿口| 欧美日韩国产传媒在线精品| 九九拍拍精品视频在线播放| 欧美亚洲日韩16色| 91亚.色| 国产97在线播放| 久久精品成人一区二区三区蜜臀| 午夜视频久久久| AV色女综合| 亚洲资源站| 欧美色图第一页| 日韩成年人性爱视频| 欧美日韩大香蕉| 久久久久久久9| 亚洲天堂久久久久久粉红视频| 啊啊啊啊网站| 中文字幕99999| 自拍偷拍草一草| 国产精品麻豆视频网站| 噜噜在线| 人人妻人人色| 午夜一区| 国产高清精品一区二区三区毛片| 国产精品久久久久久片| 97精品国产97久久久久久免费| 抽查国产福利主播| 超碰欧美97资源| 欧洲人妻视频| 无码聚合| 日本A级视频| 锕锕好爽 死我在线观看| 久久黄黄黄| 日韩av性爱在线播放| 午夜亚洲国产理论秋霞| 99色视频| 亚洲凸凹超碰成人| 91在线免费精品视频| 97干97色| 国产亚洲精品玖玖玖在线观看| 久久久精品成人国产| 九九无码久久精品视频| 伊人欧美大香蕉视频| 黄色免费网| 日韩人妻一区二区精品| 夜夜福利| 午夜舔阴达高潮视频免费看| 97人妻碰碰中文无码久热丝袜| 伊人大香蕉在线| 综合网亚洲1| 成人一道本免费视频| 国产精品视频精品一二| 97中文超碰| 欧美91久久久久| 人妻丝袜一区二区三区在线| 欧美激情中文字幕另类小说| 91亚州欧美| 欧美日韩亚洲少妇寂寞影院正在播放| 草草影院日本第一页| 色欧美天天| 91视频女生| 国内精品嫩模A∨私拍小视频| 天天爽天天干| 校园春色美腿丝袜| 99热久| 福利大香蕉| 欧美一级特黄淫片在线观看| 色天欧美| 国产av强奸美女| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 99999国产精品| 综合欧美日韩在线观看| 2019午夜福利视频| 激情视屏国产乱伦强奸| 亚洲资源吧| 天天干夜夜一操| 丝袜美女诱惑 91 视频| 欧美日本国产日韩激情视频| 青青伊人这里只有精品| 美國A片| 亚洲在高跟鞋自慰久久在色线| 东北少妇高潮zzzz| 亚洲一区二区三区麻豆传媒| av亚欧| 天天看少妇| 香蕉视频欧美一卡二卡| 熟妇人妻一区二区三区| 人人做天天爱| 亚洲性猛| 深夜激情无码| 91欧美亚洲| 欧美色棕合| 日韩一二三区| 男人的天堂.com| 日韩欧美性吧婷婷乱伦大香蕉| 亚洲 图片 综合91| 欧美不在线| 色女女女导航| 亚洲精品一区二区精品| 激情婷婷黑人91| 超碰成人国产| 思思久热在线精品66| 九九热免费国产视频婷婷伊人| 吻戏激情性巴克| 国产一区在线观看无码AV| 国产污视频麻豆传媒一区二区| 亚洲欧洲成人在线电影| 久久宗合亚洲| 人妻少妇色综合| 大学生美女口爆| 91伊人大香蕉| www.色五月| 丰满人妻被猛烈进入中| 中文字幕成人乱码熟女精品国50| 激情婷婷五月天| 91 欧美| 欧美亚洲厕所精品偷拍91| 欧美黄片视频在线观看免费| 91在线免费精品视频| 香蕉久久精品| www.色婷婷| 国产丝袜欧美在线视频| 大香蕉淫人网| 免看60秒涩涩视频| 99爱久久视频频| 成人日本视频人妻在线| 亚洲一区二区三区在线激情| 超碰到97情色| 青女在线| 久久久噜噜噜久久久| 美女操逼福利视频| 精品人成视频在线观看| 96精品久久久| 精吧天堂| 夜夜 中文视频rt| 蜜桃视频精品一区二区| 欧美熟女操屄| 成人性爱AV在线免费观看| 天躁夜夜躁2021| 日韩不卡网操逼中文字幕日韩| 久久人妻丝袜一区二区三| 老熟女综合| 国产日产欧产美韩系列麻豆免费| 欧美日韩一干二干| 中文字幕乱碼在线| 在现视频女上位好爽| 久久久久国产精品喷潮免费观看臀 | 亚洲有码 欧美精品| 伦理片秋霞免费影院| 国产亚洲色停停久久99精品91| 国内毛片四区| 夜夜嗨一区| 日韩影片中文字幕一区二区三区| 久久久久骚| 狠狠操天天干| 国产成人网址| 国产毛片精品一区二区色欲黄A片| 中国人高清www色视频免费| 日韩成人小视频| 亚洲男人天堂视频| 欧美色图91p| 97精品97| 欧美日韩天堂| 色偷偷综合91久久噜噜| 国产97色在线 | 亚洲| 蜜桃臀一区二区aV| 成人情色综合网| 久久久专区| 人人澡综合涩| 操狠狠| 日本一级一级一级一级| 久久人妻视频| 伊人久久88国产女| 天天舔天天 | 91亚洲不卡一区| 亚州色交| 四虎免费看黄| 330dv亚洲成年视频网| 加勒比海成人视频网 | 日日骚av| AV一起草在线| 日B操| 久久精品中文字幕观看| 97人人操人人摸人人爱| 大香交伊人网| 97久久精品亚洲中六字幕| 久久少妇视频| 97国产精品久久久久| 亚洲欧美啪啪| 明星性猛交ⅹxxx乱大交| 国产91会所女技师在线观看| 天堂中文资源在线bt| 久久鲁干| 九九九九九九九九九九九免费国产| 国产精品青青草| 99抽插| 亚洲天堂日本| 日本亚洲嫩草影院啪啪| 精品日韩人妻视频| 在线看免费无码AV天堂的| 99免费在线视频| 日本三级日本三级三级人妇四虎| 人妻无码一区二区三区久久99| 欧美综合色综合| 好吊色青靑草| 九色精品视频导航1| 丁香五六月啪啪| 92午夜免费福利视频| 91九久| 久久精品国产久精国产| 亚洲啪啪综合?v一区综合精品区| 亚洲成人av电影在线| 欧美很很操视频| 亚洲AV无码| 后入式福利| 午夜视频黄| 啪啪综合网| 欧美少妇第一页| 超碰天天去日穴| 亚洲男人综合| 欧美亚性天堂| 欧洲与亚洲欧美精品中文字幕| 国产少妇内射| 亚洲精品无码成人久久久99| 日韩精品.久久精品.AV女优.天美传媒| 天堂射| 国产精品视屏| 大香网伊人久久综合网eew| 天天视频黄网站| 色婷婷激情| 亚洲熟女一区| 性爱视频无打码在线观看| 欧美久久九九| 日韩久射综合| 精品中文字幕一区二区l - 百度| 天天干天天日天天射黄色大片| …中文字幕亚洲乱,97人妻无码费视… | 国产在线综合福利网站| 97色婷| 麻豆人妻偷人精品无码视频| 亚洲精品国产日韩无码AV永久免 | 国产精品3| 亚洲97成人在线观看| 91大学精品激情戏| 青青操国产夫妻| 色乱二区| 欧美色图片欧美色图| 亚洲自拍偷拍视频在线| 一区二区激情国产熟女 | 日日日色色色色色| 国产人伦a片信息免费片| 天天干美少妇一区| 91A欧美电影网站| AV综合中文字幕干| 国产精品一区二区后入| 一级黄色性爱A级片| 欧美国产一区二区三区麻豆传媒| 国产精品高清2021在线| 欧美大香蕉97| 日韩综合成人免费视频| 亚洲熟女乱熟乱熟妇综合网二区| 手机在线中文字幕国产| 国产91专区| 人人透人人操| 欧美黑人熟妇精品91| 另类图片五月| 日欧操屄| 亚洲涩图欧美| 亚洲欧洲偷拍一区| 黄片www视频免费| 日韩99神马视频片| 乱伦av.com| 欧美日日人人天天| 精品久久久九九九孕妇| 熟妇xxxxx性春色| 天美一二三在线观看Av| 日本操逼视频导航| 日韩欧美三级| 高清不卡国产| 日欧操屄视频| 极品销魂美女一区二区 | 欧美性爱一内片一区二区三区| 日韩欧美亚洲自拍偷拍| 亚洲91大片| 97人妻碰碰中文无码久热丝袜| 婷婷色香伊人| 欧美中文狠| 欧美性生活免费网| 欧美黄业| 欧亚日韩综合精品国产| 精品久久青青草| 韩三级a视频在线观看| 1二区9| 亚洲无线码一区国产欧美国| 国产乱子伦久久精品综合一区二区三| 亚洲另类久操网| 免费看国产曰批40分钟怎么下载| 日韩本不卡视频在线观看 | 在线视频97| 顶级少妇BT天堂| 人人看人人摸人人色| 超碰免费人妻在线| 久操av在线| 中文字幕一区二区三区蜜臀| 手机看av网站在线看| 丝袜美腿亚洲| 蜜汁欧美| 久草精品一区 | 99性视频| 欧美aaaaaaa| 91久久青青草原精品| 天天综合网~91综合网| oumeizonghese,www| 久久久久久大| 丰满人妻一区二区三区在线| 一本道综合色图| 欧美,日韩综合久久| 国产无码久久高清| 人妻欧美| 精品九九九九九九| 97欧美日韩综合| av 模特一区了| 91久久久亚洲| 亚洲另类天堂| 日韩无码一区二区三区| 精品女同一区二区三区| 欧美亚洲色的图| 极品粉嫩少妇视频| 国产精品不卡一区二区三区| 日日黄色三级网站| 精品久久久久黄少妇| 操人无码| 美女黄页| 欧洲亚洲人妻无码中字久久三区四区 | 天天影视色香色欲| 96AV久久久| 美欧老女人97| 超碰在线1234区| 人妻少妇精品无码专区二区密桃 | www.色婷婷| 六月婷婷色综合| 丁香五月影院| 中文字日本乱码| 91 丝袜在线观看| rion磁力链接| 欧州一区二区三区四区| 芊芊操逼视频无码| 日韩中文字幕二区| 很黄很污的免费网站| 秋霞午夜视频一区二区| 2019男人的天堂| 91宗合网| 日韩操逼HD| 综合欧美日本三级| 日韩三A大片在线观看| 中文字幕乱码人妻二区三区 | 日本在线15p| 国产精品诱惑| 午夜亚洲国产理论秋霞| 国产精品三级视频网站| 成人影 天天操 亚洲| 综合av影片| 美女t无毒不卡不卡| 91天天综合| 操逼免费视频无码国产| 亚洲日本加勒比在线| 欧美久久婷婷| 成人性交午夜免费片| 超碰在线人人射| 新婚人妻扶着粗大强行坐下| 天堂av2019| 国产欧美后入| 欧洲性爱无码区| 在线中文字幕极品av| 久久一二三四五六七八九区区区 | AV老汉| 91狠狠综合久久| 成人26uuu| 九九亚洲视频| 国产成人精品一区| 精品无码欧美三级| 亚洲黄色影视| 污电影在线观看| 秋霞 色色| 日本福利二区视频| 不卡一区视频| 欧美gv在线观看| 精品 码产区一区二-1080P高清在线www-B029AV | 97精品视频免费| 亚洲男人的天堂va亚洲男人社| 国产自产自拍| 欧美国产一区二区三区麻豆传媒| 97超碰久久| 国产又爽又黄| 久久久久九九九九九| 激情抓乳插进去啪啪啪日韩| 亚洲熟女国产综合另类| 99av| 亚洲激情久久| 国产日韩美女小穴视频网站不卡| 美中日韩无码| 久久原创中文| 91高清无码下载| 久久久久ab| 熟女激情综合网| 炮色五月| 青娱乐国产剧情av一区| 国产伊人自拍| 狠狠操狠狠操操| 97人妻色| 欧美乱伦专区| 综合久欧洲| 国产黄色视频久久| 91亚州| 伊人专区一区二区三区| 插穴性爱视频在线观看| 91丝袜美女| 九九精品无码专区免费| 91美女視頻| 操老熟女AV| 殴美在线AⅤ| 91精品国产乱码| 综合影视国产无码| 中文字幕熟女人妻丝袜丝| 欧美日韩岛国大片在线观看| 亚洲综合另类色图| 五月丁香啪啪啪| 丰满人妻-区二区三区免费看 | 女人的久久久| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 78p欧美| 老司机深夜18禁污污网站| 亚洲 欧美 小说| 国产女人与拘做受视频免费| 精品无码一区二区人妻久久蜜桃| 国产成人精品日本视频| 欧美春色| 天天综合香 ld视频| 久久久久久日韩| 一摸二插三插| 91亚州日韩高清| 亚洲精品免费中文字幕| 亚洲少妇激情一区二区三区| 热久久这里只有精品| 东北少妇高潮zzzz| 国产精品97超碰| 五月婷婷影院| av在线不卡一区二区三区| 久久精品日韩专区免费观看| 熟妇熟女视频一区二区三区| 热久久国产| 欧美天天影院| 精品一区二区三区四区女| 成人性爱美曰韩| 91天天综合日韩欧美| 一区| 亚洲国产精品乱码在线观看| 盗摄女人妻在线| 欧美日韩中文视频播放| 爱丝福利| 天美精品一区二区三区四区在线观看| 成人国产精品三级A片| 国产偷人伦激情在线观看| 欧美在线视频观看一二三四区高清 | 久久久久一本一区二区青青蜜月| 91人妻Pr| 人妻 丝袜美腿 中文字幕| 91亚洲电影| 任我爽在线视频免费观看 | 另类图片综合| 欧美午夜熟妇黑人精品91| 美国久久一二三四| 亚洲色图激情小说| 久久久97| 亚洲欧洲日韩国产自在线| 91肉片| 60秒不遮不挡| 999热日韩精品| 爱爱久久| 亚洲日韩青青草色月| 亚洲天堂,男人| 人人做人人妻人人夜视频| 免费观看网黄| 黄色免费网| 九九九九免费| 丝袜AV一区二区三区| 人妻无码一区二区三区久久99| 涩爱AV在线| 日韩97视频!在线| 五月丁香在线| 激情五月丁香五月| 99综合视频| JULIA一区二区三区在线播放| 国产高清免费不卡av| 92性色国产午夜福利在线661| 久九九九| 日韩兔费看黄片| 综合色一区三区二区| 久久精品区| 色爱天堂| 超碰97护士| 啊啊啊草死我| 蜜臀久久99精品久久久久久-DVD原版全| 91亚洲最新在线| 蜜臀久久99精品久久久久久成人小说| 嗯嗯嗯啊啊在线观看| 亚洲中文字幕一区| 天天影视综合色| 日日骚一区二区三区| 亚洲综合伊人无码久久| 久夜视频| 一级片视频啪啪| 性爱网站一区二区| 中文字幕乱在线伦视频中文字幕乱码在线| 成人自拍三级在线观看| 福利视频一区二区微拍| 亚洲欧美精品福利在线| 婷婷激情五月| 91色噜噜狠狠| 日韩精品9区| 九草九九九| 97久久久网站| 乱伦熟女论坛| 性爱边摸边日免费AV| 日韩乱伦视频| 98一区二区精品| 午夜成人福利影视| 精品欧美日韩在线观看| 日韩在线电影| 国产真乱mangent| h无码动漫在线观看| 精品婷婷| 欧亚不卡| 天天干夜夜操一区二区| 丝袜美腿av女优在线| 激情熟女12P| 欧美成人性爱视频免费观看| 啊啊啊啊嗯嗯嗯用力好爽 | AV中文字幕剧情1区2区3| 亚洲色欧| 国产无码高清操逼视频| 色婷婷综合网站| 欧美少妇第一页| 久久精品综合| 亚洲天堂五月天国产| 国产无码一二三区| 中文字幕乱碼在线| 欧美丝袜中文字幕07在线| 国产 亚洲 一二三四| av一区二区三区 中文| 日韩美女久久一区二区三区| 大香蕉在线SuP| 日韩欧美性爱电影在线观看| 91精品伊人久久久大香线蕉91| 综合网,亚洲,欧美| 性欧美| 激情五月天插| 啊a一区在线| 四虎884| 先锋激情∨在线视频播放| 日本超碰在线国产一区| 综合情欲网| 国产日韩精品无码去免费专区国产| av资源在线播放天堂| 传媒免费一区二区三区| 日韩视频中文字幕| 99色色网| 91天美免费| 黄片aaaaa一区| 96免费视频在线| 97在线免费视频| 国产日比| 亚洲熟妇白浆无码AV| 欧美日韩色综合网| 激情文学 国产一二三aV| 97伊人网| 婷婷中文字幕| 夜夜高潮夜夜爽夜夜爱爱一区| 无码日韩人妻av一| 成人久久精品| 日本成人A片免费看| 欧美 亚洲 大香| 新亚洲无码| 极品丝袜无码| 欧美牲| 天天综合色电影| 亚洲激情视频| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 欧美96在线|欧| 乱伦熟女区| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 一区中文字幕二区日韩| 欧美精品精品一区二区| 婷婷色香| 黄色人人| 十八禁一区二区无码观看| 91精品国产日韩欧美综合| 性性欧美| 青草青草久热| 九九九九热只有精品| 九九性视频| 啊啊啊啊操死我| 偷拍欧美激情| 成人97人人超碰人人| 超碰538| 无码乱人伦中文视频| 欧美后入式| 色色热| 欧美v日韩v亚洲v最新在线| 成人熟女视频一区二区三区| 亚洲色图尤物视频| 超碰69| 91久操| 九九九久久久| 淫骚熟女一区二区三区| 国产精品自在自拍视频| 大香蕉中文网| 欧美中文字幕一区 | 无卡一区=区| 色婷婷激情| av爱爱爱| 蜜臀va69| 亚洲日本男人天堂网| 黄片免费看的| 成人国产二区三区在线,男女精品。| 久久精品视频久久久| 在线国产福利网址导航| 国语精品av| 操操操操操操| 乱老女人一区二区视频| 永久免费观看的毛片的网站| 岛国人妻少妇av在线观看| 天天做日日做天天欢。| 狠狠爱综合网| 视频在线中文字幕| 操九九九九九九| 日本高清_区二区三区| 亚州色综合| 天天操天天日天天干| 日本91白丝| 亚洲成?V人片在线观看福利| 蜜臀久久99精品久久久电影| 欲女人妻性色av| 久久久9视频| 日韩乱伦视频| 无遮挡一级毛片视频免费的| 综合色区偷拍| 久久综合av| 亚州操操穴网| 国产激情综合| 国产AV久久野战精品| 亚洲欧美综合| 九九精品网| 日本孕妇孕交| wwe 天天干.com| 99免费视频| 国产精品无码AV网站| 人妻偷拍一区二区三区| 精品午夜福利| 国产麻豆91欧美一区二区久久婷婷国产精品 | 亚洲 欧美 日韩另类 麻豆| 91中文精品日韩欧美在线 | 蜜桃丰满熟妇av无码区不卡| 欧美一二三区四五区| 精品 码产区一区二-1080P高清在线www-B029AV| 国产精品久久久久久照片| 亚洲激情视频| 男人的天堂VA| 新91视频.cmp| 97操综合| 久久视频,这里只有精品 | 在线观看一级α片刺激高潮视频| 色九久| 超碰97久| 18精品一二区| 亚洲 欧美 日本 国内 首页| 性色高清..……| 国产吹潮女在线观看| 91路www| 9999九九九久久久| 在线情色电影 91大| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 亚洲 欧美 日本 国内 首页| 美国三级日本三级久久99| 亚洲精品蜜桃久久久久久久| 99精品伊人| 无码久| 劲爆欧美人妖三区91| 色五月激情AV在线| 997色在线| 青草伊人网| 麻豆成人AV| 翔田千里AV无码秘 三区| 国产美女高潮| 八戒午夜福利理论片| 欧美激情性爱视频网站| 脫衣舞一区二区三区| 国产精品久久久久久久毛片1| 操逼1区| 日本123区操B视频| 九九黄色网| 大鸡巴久久久| 亚洲精品国产精品乱码不卡| 鸥美极品| 亚洲黄色电影| 少妇被c 黄 免费观看| 性久久久| 人人做人人妻人人夜视频| 婷婷伊人綜合中文字幕| 亚洲情色五月天 | 国产Av超碰| 精品性爱一区二区| 日本在线不卡123| 91美女在线视频| 欧美激情一| 亚洲在线欧美| 中文字幕日韩人妻视频一区二区三区 | 中文有码第五页| 精彩久久中文| 91天天| 操逼视频亚洲| 亚洲日本成人动漫| 黄日韩| 欧美国产婷婷久久| 国产精品亚洲天堂网址| 婷婷伊人网| 天天日天天舔东京热| 激情文学小说一区二区| 又大又大又大又粗爽高潮观看 | 欧美日韩91| 国产午夜视频| 大香蕉伊人75| 狠狠中文字幕| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 在线 制服丝袜中出 人妻| 10000部十八禁看电影| 18精品一二区| 精品中文字幕一区二区| 成人资源中文字幕在线观看天天| 在线观看视频91| 国产400孕妇孕交群| 欧美东京热精品A∨| 丰满少妇一区二区三区四区观看| 蜜臀一二三区| 高潮毛片无遮挡高清免费| 亚洲天堂,男人| 九九人妻| 日本狂喷奶水在线播放212| 日韩三级视频一区二区三区| 日韩八十路老熟女| 久久av无码| 黑操B| 蜜臀久久99精品久久久久电影| 国产成人自拍视频视频| 91女网站| 天天射日日干| 操一区| 久久人体一区二区| 中文精品一区二去| 嗯……啊…嗯嗯…啊…好舒服| 国产精选视频| 大地资源在线观看中文第二页| 激情终合网| 中文字幕天堂在线| 按摩中文字幕| 91骚熟女| 日韩在线76| 精品69网| 少妇二级| 夜色综合| 欧美精品成人亚洲| 1区2区3区视频| 五月丁香六月| 久久人妻熟女一区二区| 丁香六月啪啪| 78操B| 午夜人妻精品综合在线| 天天干18禁| 亚洲无码色| 97超碰超| www.狠狠干.coom | 日曰骚久久精品| 97婷婷色| 91精品人妻一区二区三区蜜桃| 九九综合色| 美女啊啊啊啊啊啊| 97在线免费看| 亚洲性爱成人| 亚洲色资源| 国产精品制服丝袜清纯唯美| 热的中文 热的有码 热的国产| 国模不卡| 久热精品在线| 又黄又爽在线观看视频 | 亚洲国产一区二区三区在线| 色牛aV| 久久久性爱视频| 久久精品毛片免费不卡| 一区二区不卡免费| 五月天精品| 亚洲 暴爽 AV人人爽日日碰| 中文字幕天天天天天| 高清国产精品无码| 后入式五六区| 亚洲丝袜色| 另类亚洲一区二区三区| 青青欧洲黑| 亚洲无线码一区国产欧美国| 欧美写真视频一区| 97天天综合网| 蜜臀操逼黄色视频操的好爽| 97资源站日韩| 九九成人精品| 无码自拍SM| 清纯唯美亚洲综合| 国产人妻一区二区三区欧美毛片| 亚洲av无线观看| 999999精品| 超碰中文字幕人妻草一区| 亚洲蜜桃V妇女| 99999精品| 性欧美精| 日本久久久久久久久| 久操凹凸视频| 亚洲熟女人妻中文字幕一区二区| 男人天堂久久日韩| 国产亚洲国产超碰| 色屁屁影院www国产| 熟妇一区,二区,三区。| 中文字幕 一区二区 亚洲无码| 亚洲国产一区二区入口| 亚洲清纯唯美| 操www| 91美女视频电影| 91女在线观看| 国产色呦呦| 又粗又长又大国产不卡| 男人的天堂久久狠| 青青11操操操操操操操操| 最新中文字幕精品在线| 97碰| 99在线精品观看视频中文 | 欧美自拍网| 色九九九综合| 四虎影库国产精品免费| 国产农村一一级特黄毛片| 久久草草亚洲蜜桃臀| 精品无码少妇| 91黑丝操| 日本人妻天堂网站在线播放| 亚洲最大91网| 熟女乱伦二区| 国产精品一二三在线看| 欧美区亚洲区偷拍区| 91色香| 国内毛片四区| 日本道日本道中文字幕日本道最新日本道在线观看 | 色婷婷激一区二区三区| 日韩熟女三十乱伦| 92久久| 蜜臀久久99精品久久久久久成人小说 | 欧美日韩另类字幕中文| 日韩久久超碰色| 国模限制级电影| 超碰av人人人| 五月婷婷激情综合| 黑人黄片在线免费观看| 日本成人电影资源网| 一二三四视频中文字幕在线看| 天天澡天天爽日日AV| 性欧美91| 一区二区视频在看| a啊啊啊啊啊啊啊啊一区二区| 免费亚洲国产精品久久一区| 天天天天天天天天综合| 99re8免费高清在线| 国产久久视频| 久草成人影片| 国产中午字一暮区| 干b网| 97操B| 久久香蕉国产线看观看亚洲女人 | 蜜臀无码一区二区| 国产精品在线一区二区| 九9热伊人| 热热色国产一二区AV| 国内外毛片在线观看| 久久久精品九| 亚洲人妻日日日| 亚洲 欧美 色图| 97免费在线观看| 91欧洲国产成人久久精品网站| 97久久精品| 涩综合导航| 在线观看成人性爱免费小视频| 芊芊操逼视频无码| wwwcaobibi| 午夜婷婷| 乱日视频| 狠狠躁天天躁日日躁| 日本精品九九九| 精品国产乱码久久久久久久| 日韩精品-原创伙伴| 国产精品免费久久久久久久久久| 人人操人人爽人人操人人| 1人人看人人摸人人操| 国产黄色 A 片免费看| 国产无马av| 极品丝袜无码| 亚洲国产精品久久久男人的天堂| 道久久五香丁月婷婷激情综合| 国产97在线播放| 97爱综合| 啪啪免费| www.婷婷| 日本精品免费一区二区三区四区| 色悠久久久av| 精品久久久久久久| 国产一区自拍欧美日韩| 婷婷AV一区二区三区| AV色天香在线| 九九九九97| 91情色| 久热香蕉精品在线视频| 91色艳| 久久一区二区加油站| 777超碰| jizzjizz欧美| 天天日老熟妇| 男人天堂网手机版婷婷| 欧美91精品国产自产| 午夜电影在线观看无码专区| 91neishe| 欧美一品道| 麻豆国产97在线| 探花精品视频| 9久久美女首页| 97中文字幕九区| 日本免费人成视频播放120秒| 激情五月天婷婷| 中国黄色特级精品一区二区三区片| 妇女一区二区三区| 岛国在线一区二区三区| 精品99999久久久久久| 东京热AV男人的天堂| 久久欲| 国产精品一区人妻精品阁在线| 97av,com| 八戒无码国产午夜福利| 婷婷色一区| 色97欧美| 亚洲av影院在线观看| 在线97在线| 啊啊啊想要| 丁香婷婷久久 | 日韩日本欧美在线观看| 99操| 91中文字幕在线观看| 国产理论视频在线播放| 国产农村妇女精品1区二区| 搡老女人老91二区| 操一区| 亚洲欧美内射| 乱伦日本色图AⅤ| 日日做夜狠狠爱欧美黑人| 偷拍偷窥与盗摄视频专区| 五月丁香久久| 亚洲综合网91| 色欲久久综合| 精品成人久久久人人亚洲| 温婉少妇玩3p| 国产亚洲日本| 影音先锋视频在线| 亚洲欧洲色情高清| 26uuu国产亚洲综合| 夜夜嗨AV蜜臀av| 国产精品香蕉| 欧美美女自慰一区二区三区| 97欧美综合网| 五月激情天| 国产精品播放| 欧美不卡在线美女| 97在线视频观看| 欧美少妇一区二区三区| 中文字幕国产在线天堂| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 免费视频观看60秒| 精品国产精品一区二区| 亚洲 欧美 日本 国内 首页| 亚洲熟女中文字幕在线| 久久久性少妇| 日本三级大片| 亚洲少妇在线观看| 欧美熟爽综合| 综合伊人激情| 亚洲诱惑| 国产女性无套 免费观看| 91天天美女| av九九| 熟妇乱伦一区二区| 超碰1024久久| 精品一啪| 久9九综合在线| 超碰在线974| 亚洲一区二区三区播放在线| 久久熟女久| 啪啪综合网| 黄片免费日韩| 精品九九淫乱男| 色五月综合网| 天堂v无码免费视频| 无码久| 五月天社区| 亚洲精品自拍| 日韩精品国模| 九九九九九九九精品视频| 无遮挡男女激烈动态图| 91丝袜在线视频| 99久在线精品99re8热| 啪啪视频免费在线观看| 熟女精品一区二区在线观看| 99热国产| 国产欧美日本亚洲精品| 久久久精品久久| 玖色AV| 国产理论视频在线播放| 亚洲资源一区| 在线黄色污污网站| 五月婷婷无码| 欧美亚洲一级在线观看| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 美女裸体无遮挡永久免费观看网站| 亚洲最大黄网| 久久亚洲精品成人av| 精品78| 中国熟女91| 国产怡红院| 日韩性爱小视频在线观看| 久久人妻| 亚洲熟女少妇免费视频| 精品国产一区二区久久| 91成人精品在线播放| 国产精品午夜AV完会免费| 黄色一区三区| 大香蕉十区| 婷婷综合| 亚洲五码一区二区三区| 翔田千里AV无码秘 三区| 麻豆a'v电影| 久操 高清| 夜夜嗨AV一区天天| 久久久精品视频免费观看| 人人弄人人摸| 日韩精品人妻一区二区| 99re在线视频国产| 欧美色图亚洲特色| 国产精品色色| 丰满人妻无码一区二区三区| 淫乱图区| 噜噜噜噜久久久精品免费| 二三四区精品| 中文久久一区| 激激五月| 亚洲婷婷五月天| 爽 好舒服 无码刺激久久| 亚洲综合另类小说色区亚洲成av人片在www | 综合大香蕉美。| 色欲人妻一区二区在线| 天堂蜜桃无码视频一区二区| 国产精品午夜高潮呻吟久久av| 一级黄色视频网| 日本黄色精品专区网站| 97爱综合| 91国模| 好爽视频在线观看| KK色在线影院| 中日992视频| 久热99999| 欧美91色| 91色伦| 啊啊啊啊,啊啊好多水 | 九九色婷婷| 亚洲中文字幕精品久久久久久直播| 免费伦费视频在线观看| 99国产精品视频尤物| 亚洲,日韩,欧美,成人播放| 欧美性天天| 天天躁狠狠躁av| av线电影| 91精品国产乱码| 肉丝无码中文高清| 99热国产精品| 青操影院| WWW美腿丝袜香蕉中文| 超碰久久精品| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 婷婷五月天色色| 熟女乱伦二区| www.yw尤物| 韩国久久97| 国产精品制服丝袜中文字幕日韩一区二区三区 | 久艹99| 日曰骚久久精品| 九九热九九| 久久国产逼| 人妻一区视频| 亚洲av强奸乱伦|