亚洲有码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
返回資訊列表
在线色导航| 97免费在线视频| 久热精品在线| 日韩女模中文造逼| 混色激情av| 可以在线观看的黄色网址| 久久五月丁香| 人妻色偷色噜| 91色拍| 免费看毛片操穴| 亚洲 另类 丝袜 自拍 动漫| 欧美大波激情xxxx| 色97综合中文字幕| 久操免费观看| 国产高清成人传媒影视| 青娱乐欧美激情一区二区| 精品无码一区二区人妻久久蜜桃| 色欲天天综合久久久无码网中文| 91操碰| 97天天弄| 操逼天美3区| 嗯……啊…嗯嗯…啊…好舒服| 伊人四虎综合| 国产在线强奸视频| 啪啪自拍九九综合| 在免费jIzzjIzz在线视频| 啊啊啊啊啊好大好舒服想要| 色青青久久影视| 玖玖爱视频网站| 免费一级a毛片久久久久久鸭绿欲| 大奶啊啊好爽| 日韩欧美性爱电影在线观看| 影音先锋每日最新资源在线观看| 欧美国产操逼| 精品九九九九九九九| 国产女人高潮嗷嗷嗷叫小说| 97伦综合| av东京热男人的天堂| 91欧美美女日韩国产婷婷| 久久精品店| 五月丁香综合激情| 国产精品久久久久综合| 黑人干亚洲| 手机在线中文字幕国产| 亚洲中文字幕av| 97爱啪| 人人妻人人狠人人| 欧美天天综合站| 欧美亚洲激情一二三| 色婷婷色99国产综合精品| 日本人妻伦在线中文字幕| 精品女同一区二区三区| 日韩精品作爱导航| 视频国产欧美在线播放| 不卡中文字幕aⅴ在线| 中文字幕加勒比海高清无码免费视频| 激情国产乱伦Av| 欧美色爱综合| 欧美亚洲国产91在线| 国产精品久久久久无码A√| 国产真乱mangent| 久久久久性熟视频| 免费?级毛片无码?∨蜜芽试看| 婷婷五月天福利| 青青草字幕AV| 日本五十路熟女一区二区| 夜夜 中文视频rt| 日韩av不卡在线观看| 国内一区二区三区| 亚洲制服欧美另类内射| 国产精品久久久无码AV网站| 亚洲强奸乱伦影视网| 日韩精品国产一区二区| 欧美性夜| 亚洲少妇在线影音| www.婷婷| 亚洲 欧美日韩 另类| 骚货操死你| 日本色色色视频| 欧美激情视频一区二区| ...日韩成人一区二区三区字幕| 五月天婷婷久久| 韩美日操逼| 久久亚洲日韩熟女精品| 91久久18禁| 免费精品福利在线观看| 美女91在线| 日韩 欧美 另类 人妻| 人妻黑丝袜电影| 无码日韩人妻av一| 免费A片三p视频| 亚洲AO在线| 国产伦乱91| 国内精品a| 亚洲牲交| 日韩免费中文字幕视频| 疯操AV| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 极品国产内射| 亚欧免费| 久热久| 伊人网青青| BBBBB97COM| 后入式999| 亚洲情色中文字幕一区| 成人在线日韩| 99re超碰| 久久久久9| 色欲日韩欧美在线一区| 在线强奷到舒服的无码视频| 91艹| 亚洲 欧美 日韩 国产一区二区| AV在线性爱| 日本免费中文字幕在线| 激情小说亚洲| 屁股久久久久久久久久| 男人 天堂 日 亚洲| 老女人爆菊| 牛黄色久午久| 2019AV天堂| 日本Suv精品一区二区| 精品国产99| 嗯嗯嗯好爽| 精品久久久久久亚洲| 一区二区三区在线日韩影院观看| 午夜无码精品免费看性色| 少妇天堂网络| 9久热这里只有精品| 深田咏美亚洲精品福利社| 国产精品视频内谢女人| 日韩伦理视频| 亚洲中字慕不卡| 91热情品| 最新岛国大片| 日本熟妇色熟妇在线视频播放| 男人天堂欧美| 在线视频资源| 亚洲第二页| 欧美人妻二区三区| 亚av顶级裸体一区二区三区四区五区 | 激情五月天丁香社区| 精品久久久久久中文字幕视频免费| 一区二区三区色综合| 五月天婷婷基地| 96超碰网| 欧美色狠| 天天综合网网欲色| 日韩美女操b| AV在线性爱| www…国产操逼| 久99久视频| 欧美日韩色综合网| 浪人综合网| 国产亚洲日本精品在线| 国产野战露脸在线播放| 日韩紧密久久| 麻豆精品A片免费观看| 久久精品老司| 色爽——AV| 色淫网站优优视频| 网站A V在线| 郑州宾馆老熟女露脸啪啪| 九九99精品视频在线观看| 99免费在线视频| 日韩三级一区 | 在线播放欧洲免费av| 麻豆区久久久久亚| 丁香五月成人| 97超碰免费人人性爱| 超碰97人妻免费在线| 好爽免费视频,| 亚洲欧洲日本精品中文a∨| 欧洲色综合| 欧州一区二区三区四区| 91被操| 色九九九综合| 亚洲少妇诱惑| 操逼片中文| 欧美精品成人一区二区在线观看 | 国产老女人久久毛| 蜜桃视频一区二区三区| av中文字幕在线熟女| 日韩无码三级影院| 诱惑网综合| 亚洲图片 91| 久久久久9999妇女| 久久在肏| 国产成人bd在线观看| 黄色小视频日本txt| 久久久久亚洲Aⅴ无码| 狠狠操使劲操| 99操逼| 性九九九九九九| 亚洲精品天天影视综合网 | 呦呦一区| 91综合网站| 久久久久96| 欧美熟女激情| AV中文在线可看| 青青草乱入乱欲视频在线观看| 亚州日韩97| 国产精品亚洲免费| 在线观看免费视频国产| 日韩性爱网址| 久九九九九九九热| 天天日天天看| 99热在线播放| 国产精品在线免费| 国产白丝精品在线观看| 欧美性爱网97| 97玖玖超碰| 天天欧美| 亚洲性天堂| 女人爽到高潮久久久| www.人人cao| www.狠狠| 天天视频综合在线观看视频| 国产午夜激片Av毛片不卡| 中出91视频| 99久久精品国产高潮| 欧美在线中M| 国产日韩精品人妻久久久久色欲网站| 动漫区日韩区欧美区| 久久久蜜桃臀无码视频| 按摩中文字幕| 97天堂| 动漫爆乳3D奶水一区在线观看| 超碰无码五月97| 色噜噜精品一区二区三| 色香91| 麻豆久久视频在线地址| 日韩BBN| 操逼操逼视频操逼| 97亚洲国产| 激情接吻视频久久久久久| 在线综合网| 久久婷婷在线观看视频| 亚州综合电影| 中文字幕久久婷婷丁香五月天| 色99视频| 亚91网| 欧美99| 久久久久久久国产a∨| 天天干,夜夜爽| 欧美激情久| 国产精品一区二区三区免费视频| av资源在线播放天堂| 中文字幕少妇色 | 精品大全99999| 欧美日韩婷婷中文| 99精品高潮| 中文字幕一区电影在线观看| 日韩无码服务区| 亚洲成熟国产精品美女| 久久系列| 久久久精品一区二区| 丁香啪啪| 精品国产丝袜一区二区三区乱码| 北京美女一区二区| 少妇二级| 97人人超| 人人操人人干网页| 999999精品| 亚洲天堂另类小说男人| 欧美一区二区三区日韩| 大香蕉久久| 吉川爱美亚洲二区在线| 粉嫩国产精品久久久| AV无码久久久精品| 亚洲欧美国产中文视频| 五十路熟女在线不卡观看一区二区| 美女诱惑爱爱| 九热视频| www国产天美久久久| 超碰成人人人爽人人爽| 五月天AV资源| 丰满人妻一区二区中文| 欧美亚洲国产自久久| 日本精品高清一二区一本到| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 久久二| 国产25页| 自拍二页| 偷拍超碰| 2025亚洲男人天堂| 噜噜在线| 美国精品国产精品| 张柏芝国产一区在线观看| 亚洲中文丝袜美腿诱惑字幕| 欧美性五月| 人妻人人澡人人爽人人| 欧美成人综合| 亚洲AV不卡在线观看尤物| 夜夜操2028| 啪啪91| 欧美日韩性爱操大逼| 色操逼网| 国产黄色影片在线观看| 精品一区二区三区麻豆| 国产区在线| 97国产|免费| 超碰 欧美| 免费观看啪视频| 欧美黑人猛交春色影视大全| 中字乱伦AV| 国产亚洲欧美每日在线| 国产精品美女在线一区| 另类图片欧美激情综合| oumeisetu综合| 另类图片五月| 91精品老女人| 国产乱码久久| 大二网站亚洲| 99精品综合久久久久五月天| 蜜臀久久99精品久久久久久-DVD原版全| 色男人色天堂东京热| 大香蕉伊人网| 综合一区中亚洲国产成人综合精品| 女人喷水视频在线观看| 综精品久久久aaaa| 欧洲特黄毛片免费看欧洲毛片| 伊人97| 日本三级网页| 激情五月激情综合网| 天美传媒AV在线播放| 免费一级特黄特色大片在线观看看| 久久草在线综合视频| 一区二区影视| 密乳AV免费观看| 十八禁视频网站| 情色AV电影| 黄色av一区二区在线| 91网站18在线观看| 欧美高清16| 亚洲黑丝在线| 亚洲 se图 欧美电影| 欧美专区第一页| 久久久人妻| 精品性爱久久视频| 亚洲日产专区| 97草草| 一区操逼日比视频| 国色天香av| 亚欧Av| 黄色大香焦1级‘′‘| 大香蕉乱伦视频网| 亚洲图片日本AⅤ欧美在线| 三级特黄60分钟播放| 国产女性无套 免费观看| 天天爽人人综合免费7799| 9九九九九视频在线观看| 99在线精品观看99| 大香蕉综合| WWW啪啪的com| 九热中文字幕| 天天色欧美| 曰本熟女视频| 乱老熟女一区二区三区| 亚州精品人妻一二三区| 中文字幕一品色图| 久操电影| 人妻嗯啊啊在线播放 | 欧美日韩第一页| 久久熟女嫩草成人片免费| 亚洲熟女诱惑| 性爱综合网| 人人操人人摸超碰| 欧美国产一区二区三区麻豆传媒 | 精品一区二区三区蜜桃臀赵总 | 婷婷五月天久久精品视频一区二区三区| 欧美一品道| 精品国产91av一区二区三区| 精品一区二区三区18| 97网站在线观看 | 家庭乱伦麻豆| 国产激情综合五月久久| 国产情色在线| 天天搞在线综合网| 亚洲图片 欧美电影| 操美女人妻| 久久亚洲骚逼综合| 五月婷婷久久综合| 色情综合| www久久久| 91狠狠综合久久久久久| 色色婷婷丁香| 欧美在线视频99| 日本成人电影资源网| 天堂资源站| 水多多映视AV| 精品妇操一区二区三区| 操逼网免费无码视频| 超碰97COm中文| 午夜精品久久久久| 色玖玖| 亚洲 小说 欧美 激情 另类| 亚洲综合 欧美| 天天爱天天韩国日本牛牛牛牛| 美女久久久久久久久久久| 国产农村妇女精品一二区| 99久久久久久亚洲精品不卡| 大香蕉92| 99抽插| 日韩AV色图| 欧美久久婷婷| 亚拍在线| 97久久久久| 国产精品不卡一区二区电影| 日韩精品碰碰| 亚洲蜜乳av| 国产精点久久久成人| 噜噜吧,噜噜色,噜噜| 日本三级A片网站com| 少妇丝袜在线观看AV| 久久草视频污视频| av网站在线看| 国产精品69久久久久孕妇欧美| 欧美毛片在线网| 婷婷色网| 国产男人又猛又粗又爽| 欧美另类精品xxxx| 色色色网站| 欧美91久久久久| 久久久久人妻二区精品叶可怜| 91c色| 亚洲区限制级 99| 色呦呦呦在线观看视频| 久久久久斤小| 国产成人无码网站在线视频| 日本2020一区二区| 99热这里只有精品8| 日本欧美不卡| 一区二区久久天天干狠狠| 中文乱码字幕观看视频| 99国内精品| 久久大黄片| 好爽,再快点啊哈嗯嗯嗯嗯| 九九九九九九视频免费| 污到发麻的视频 国产| 日韩欧美~中文字| 99爱爱| 玖玖爱在线视频免费观看| 殴美综合色88| 欧美网站免费| 国人欧美精品一区二区| 91N欧美| 久热一区二区| 精品久久9| 先锋影音av先锋一区| 91美女视屏| 又大又长又粗又爽又黄| 国产风韵犹存熟妇三区| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 97国产人人| www.AV有限公司一区| 日韩av影片在线观看| 免费视频一二三区| 久久久精品中文字幕爱豆| 国产成人网址| 精品国产99| 成人婷婷丁香| 日韩中文字幕视频在线观看| 97啪啪| 九九久久国产精品怡红院| 欧美色五月| 无遮挡男女激烈动态图| 久久久精| 91老熟女老女人国产老太| 日夜啪电影| 999国产精品999| 黄色激情电影在线观看| 欧美性爱综合,免费| 91人妻人人澡人人爽人人精品| 欧美熟女丝袜| 亚洲天堂一二| 亚洲有码 视频一区| 婷婷丁香五月激情啪啪| 久久久久国产精品片区无码直播| 亚洲伊人a线观看视频| 天天草天天日| 老熟妇乱轮| 乱伦一二三区| 我要色综合网| 少妇的嫩逼图片| 人妻久热在线| 夜夜人妻爽| 久久久久久久久久久久九| 男人天堂站| 日韩精品99久久久久久中文字幕 | 热的中文 热的有码 热的国产| 蜜臀AV成人精品蜜臀AV久久| 超碰人妻天天干| 国产精品操| 一起草在线视频| 青青草五月份天| 四虎精品永久在线观看| 91老司机视频| 淫荡少妇免费| 一区二区娱乐网站| 一块操欧美| 日本中文熟女视频| 色天使亚洲综合在线观看| 18禁在线视频| www成人啪啪18秘 免费| 欧美性爱视频免费一区一A| 国产呦精品一区二区三区下载| 日韩欧美亚洲一区二区三区影院| 乱精品一区字幕二区| 在线亚洲精品久久久| 日韩毛片9| 亚洲一区日韩精品| 嗯啊不要啊在线| 亚洲人久久久网| 国产60页| 激情视屏国产乱伦强奸| 久草精品国产蜜臀| 国产精品网址| 370p日韩欧美亚洲精品| 歐美一級亂黃99在綫精品| 超碰欧美97资源| 午夜一区二区三区国产| 蜜桃久久久久久| 欧美 亚洲| 首页中文字幕中文字幕免费| 熟女欧美日韩综合婷婷| 另类天堂| 久久精品免费| 欧美91在线| 九九视品黄色| 国产又长又大又粗的视频| 秋霞成人一级在线观看| 精品美女在线视频| 国内精品久久人妻性色av| 神马久久久久眼| 蜜臀99久久精品久久久久久| 秋霞蝌科网日本一区| 久久99亚洲精品久久99果| 国产午夜视频| 欧美十八禁视频| 91jk色拍| 精品人体无圣光凹凸| 91久久久老司机| 国产AV无码AV| 日韩欧美偷拍美女视频| 操婷婷逼| 亚洲久久久| 亚洲免费成人在线高清无码视频 | 青青草日本中文字幕| 超碰亚洲97| 久久伦理视频久久大香蕉视频| 国产强奸乱伦欧美| 欧美在线视频99| 久久久久久性爱免费视频| 韩国黄色片精品久久久| 超碰精品人妻狠狠干| 中文字幕一区日韩精| 亚洲毛片基地专区| 午夜啊啊啊| 黑人美精品 A片| 色婷婷综合久久久久中文一区二区 | 日本在线不卡一二区| 日韩欧美女求操每天更新| 欧美乱色| 精品一区二区成人动漫| 亚洲欧美色图小说| 色97国产69香蕉| 亚洲AV无线| 啊啊啊啊啊操我视频| 久久精品国产亚洲AV清纯| 97人人干人人操| 国产91亚洲精品一区二区三区| 亚洲诱惑| 夜夜狼人妻| 欧美色婷婷| av黄图片在线观看| 中文字幕成人乱码熟女精品国50| 99精品丰满人妻| 爆乳免费黄网站| 久久性爱网站| 精品亚洲| 国产拍偷精品网站| 日韩三级伊人| 婷婷三区| 2011国产精品| 日韩一级二级| 三级三级三级日本99| 亚洲aV性爱| 乱伦熟女区| 天天色天天干天天爱| 天天看夜夜看日日干| 99999国产精品| 蜜臀AV午夜精品久| 凹凸视频在线一区二区| 国产久久久久久| 亚洲精品久久久久毛片A片拉屎 | 久热这里只有精品9| 亚洲精品蜜桃久久久久久久| 亚洲性少妇| 91超碰在线播放| 色综合大香蕉| 国产在线综合网| 26uuu性物| 99精品成人免费看| 欧美一级色| 久久亚洲不卡| 色av中文字幕| 91老司机在线视频免费观看 | 国产美女裸体秘 永久无遮挡| a片久久久久久久久久久久| 欧美日韩电影成人在线| 91三级理论片播放器| 九月色婷婷| 伊色久人大在线| 五月婷婷激情网| 啊v视频在线观看| 天天干天天爽| 搞中出视频在线观看| 91碰碰| 在线观看亚洲成人精品| 欧美成人一区二区三区在线播放| 大香蕉九九| 久久久久久久久久久人妻| 国产精品免费1区2区视频| 国产操伦| 亚洲精品欧美专业| 老女人碰碰在线碰碰视频| 麻豆av一区二区| 超碰在线香蕉| 午夜啊啊啊| 一级二级在线观看| 思思99热| 91欧美www| 99性爱在线观看| 超碰97资源中文字幕| 亚洲色电影在线| 国产三区免费在线观看| 亚州色图欧美| 久久黄色视频一区二区三区| 强奸少妇AV导航网| 福利大香蕉| 在线A日本| 亚洲欧洲无码一区夜| 中文字幕一区二区日韩网| 亚洲中文字幕妇伦久久| 国产操逼网站亚洲一级黄色| 吻戏激情性巴克| 九九九九精品九九九九| 久久99操天天日| 久操电影| 美女大乳久久久久久久女人18| 情色大香蕉| 99精品视频在线观看| 情色五月天就去干| 亚洲男人天堂Av| 神马午夜久久| 日韩情色AV| 丰满高潮18xxxx| 日韩欧视频| 99色悠悠| 亚洲欧美在线观看无码| 亚洲国产精品久久久久婷婷老年 | 大香蕉淫人| 日本伦乱九九九综合| 狠狠色婷婷777| 加勒比中文av| 女人一区| 立川理惠无码一区二区| 久久春色| 成人在线午夜视频一区| 91狠狠综合久久| 午夜福利一区二区影院| 色五月AV在线| 欧美激情亚洲色图| 黑人精品成人一区二区三区| 日韩一级成人毛片免费观看 | 无码聚合| 欧美超碰97| 亚洲性感丝袜诱惑在线观看| 男人天堂2017| 久久禁| 欧美综合网1| 女同亚洲欧美一二三区久久电影| 国产最新小视频在线播放下载 | 欧美偷拍| 999熟女精品| 国产夫妻一区二区| 国产版a级片直播在线| 日韩无码精品综合久久| 亚洲男人在线观看天堂| 操老熟女AV| 亚洲欧洲美腿丝袜| 97电影院超碰| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 麻豆黄色五月天| 亚洲AV无码国产成人| 麻豆视频国产一区二区| 老熟女网站| 自拍亚洲综合| 日本 免费 一区二区三区 久久香蕉| 综合激情五月丁香| 色优久久| 97五月天| 天天色综合天天操| 精品黑人一区二区| 日韩中文字幕视频| 在线观看高清AV| 日本人妻中文字幕精品| 成人av性爱电影在线观看| 日韩日本欧美在线观看| 国产探花日韩援交| 久久性生大片免费观看性| 午夜视频久久久| 九九九不卡| 日本成人在线不卡一区二区三区| 欧美色偷偷| 成人乱人伦一区二区| 麻豆国产原创AV色哟哟| 亚洲色系另类精品国产| 精品久久久久久中文字幕视频免费| 欧美在线亚洲| 大二网站亚洲| 亚洲成A∨人影院在线欢看| 精品无码久久久久久久久果冻糖心| 超碰亚洲97| 精品国产Av无码久久久亚洲| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 91老熟女视频| 精品欧美乱码久| 人人模人人看| 久草尤物| 大香蕉亚洲中文| 97一区二区三区视频| 久久久久久久久九九久孕交| 欧美手机在线综合| 日本孕妇一区二区视频操逼免费看 | 天天操福利视频综合网站| 欧美999999| 午夜男人的天堂| 一级黄色视频网| 欧美少妇一区二区三区| 日本黄色精品| 嗯啊抽插大香蕉网页| 亚洲免费精品一区| 夜夜黄| 成人性爱全视频观看| 精品国产72| 日韩三级伊人| 亚洲天堂,男人| 久久女女| 一区在线观看中文字幕| 日本九九久久99| 在线观看亚洲成人精品| 熟妇一区二区三区| 欧美综合天天| 天天肏夜夜肏| 大香蕉日亚洲日本亚大| 无码WWW免费视频网站| 亚洲自拍欧美国产首页网曝| 1000部熟女视频在线观看| 国产91美女高潮| 60秒不遮不挡| 欧美大香蕉卡久久| 欧美爆乳精品一区二区| 色九月综合| 国产免费操逼| 天天做天天爱天天爽AV| 人妻丰满熟妇av无码区蜜桃| 亚洲AV无码乱码| 97天天做| 久久久久久国产手机AV| 大香伊人在线一区| 亚洲精品第一| 99re黄 | 欧洲在线性爱视频| juliaann精品熟女一区| 日韩欧美中文字幕搭讪巨乳美人妻视频| 国内自拍 日韩激情 99| 欧美亚洲首页| 久久偷拍人| 国产激情综合五月久久| 日韩无码一级黄色av片| 中文字幕第23区| 亚洲色五月| 欧美日本中字另类在线| 人妻熟女一区二区在线视频| 久久亚州高清| 久99久视频| 久久亚洲欧美中文字幕国语| 亚洲第一页综合在线| 亚洲、日韩、综合、另类| 日韩丰满熟妇| 亚洲欧美天堂| 久热精品在线| 亚洲精品99| 人干人人人操人人摸| 超碰欧美| 97超碰中文字幕| 亚洲精品骚逼| 日韩丝袜人妻AV| 亚洲激情四射| 午夜.DJ高清在线观看免费7| av亚欧| 欧中日成人免费影视| 91在线视频免费播放| 亚洲色图图片| 欧美高清91| 亚洲91射| 蜜桃精品一区二区三区久在线| 亚洲一二三精品久久网| 97天天摸天天碰| 狠狠综合| 秋霞一级鲁丝片A片| 试看日韩黄片| 大JI巴好深好爽又大又粗视频| 亚洲人人夜夜澡人人爽| 色拍偷亚洲| 久久一级无码精品毛片6| 欧美中日韩XXXX| 精品无人区麻豆乱码1区2区图片| AV色图| 国内97干免费看| 亚洲图片 激情小说| 91丝袜人妻| 久久超碰爱| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 大香蕉五月天| 亚洲精品丝袜-不卡成人免费……| 亚洲午夜福利在线影院| 99在线精品观看99| 久久伊人在线五区| 激情综合av| 亚洲情色五月天 | 大香交| 人妻少妇精品| 久草视频在线视频在线视频在线观看 | 日韩综合无码一区久久92| 欧美操人视频| 丁香五月天激情网站| 91大胆欧美| 中文字幕诱惑制服人妻丝袜美丝袜美| 9久9久| 高清无码在线播放网站| 中文字幕一区二区三区高清| 久久婷婷视频| 大肉棒导航| 亚洲乱熟女一区二区| 国产精品com| 99色色网| 加勒比av网| 狠狠超| 视频在线观看免费一区二区三区 | 国产一区二区精品久久99| 婷婷五月天成人| 毛片17S| 人妻内射一区二区在线视频| 我想要 啊 啊 啊| 99热最新| 久久人妻少妇| 亚洲啪啪视频一区二区| 爱干爱射网啊啊啊| 天综合网欧美| 加勒比无码毛片| 综合五月婷婷亚洲一区| 大香蕉 222| 少妇久久久久久久| 97超碰jingpin| 国产精品欧美在线观看| 柠檬AV导航| 天天操熟妇| 国产精品无码在线| 精品无码一区二区三区| 日韩精品在线放| 偷拍超碰| 依人大香蕉| 啊啊啊啊在线观看网址| 日韩操啪| 夜夜爽33333| 免费看国产大AB| 黄色大香焦1级‘′‘| 日日AAvv| 亚洲精品国产熟女| 亚洲AV在线资源| 91精品国产日韩欧美综合| 97免费视频网| A 天堂在线观看视频| 果冻传媒一区二区三区| 国产精品岛国片在线观看| 青青草依人大香蕉| 在线天堂999| 色狠狠 - 百度| 久久久久久加勒比| 欲色影视综合吧| 久久久免费一级黄片| 亚州综合色| 999久久芭蕾| 欧美最婬乱婬爆婬性视频 | 99久久无色码| 日韩视频啪啪| 国产女s强制榨精视频| 青青草狠狠撸| 亚州情色j区| 极品尤物女神在线观看| 亚洲色图欧美激情| 东京热AV男人的天堂| 78p欧美| 欧美很很操视频| 操操吧亚洲乱伦视频| 密臀在线视频| 亭亭在线资源| 日日干男人的天堂| 久久精品人体| 激情五月综合| 国产乱伦性爱AV| 探花视频免费观看国产专区| 91痴汉| 久久国产精品视频| 大香蕉人妻| 97综合在线| 久久免费99精品久久久久久| 人人爱人人乐人人操| 久久亚洲av成人无码国产| 青青操网| 亚洲视频精选| 2017天天操天天日| 欧美色图另类图片| 欧色网址| 亚洲色图A| 性综合网| 日韩欧美午夜一区二区| 黄色免费一级在线毛片| 久久久精品网站| 中国AAAAAA黄色片| 以及麻豆国产入口在线观看免费| 日欧操屄| 亚洲不卡三级手机播放| 欧美Aⅴ| 日韩综合97p| 91痴汉| 酒色综合网| 精品午夜福利| 天天搞在线综合网| 天堂中文日本在线观看| 东京热一区二区中文字幕| 人人操人人93| 天堂中文资源在线bt| 亚洲精品久| 婷婷尹人大香蕉免费| 老鸭窝亚洲毛片| 大香蕉之青青草原| 综合亚洲欧美| 久久精品国产精品一区 | 伊人aaa| 1024精品在线| 国产专区第一页| 操久久久久久| 97超碰影音| 韩国一级婬片A片无码天美| 久久激情五月| 九七毛片九九毛片| 天美精品原创av片国产| av一区二区三区 中文| 亚洲码和欧洲精品激情系列| 综合激情一一91| 夜夜精品视频| 不卡啪啪视频| 欧美一二在线| 亚洲久久久久| 人妻嗯啊啊在线播放| 日本新免费二区三区| 免费人成毛片乱码| 亚洲一本大道中文字幕无码在线| 日本不卡高清免v欧美日韩在线观看| 亚洲极品| 久久精品店| 中文字幕加勒比海高清无码免费视频 | 大屁股人妻女教师撅着屁股| 免费啪啪一级视频| 久久九精品| 91丨九色丨国产丨人妻在线| 麻豆AV一区二区| 精品国产Av无码久久久亚洲| 久操九九九九| 蜜乳视频网站| 日韩9999| 国产1024在线播放| 精品一区二区麻豆| 亚洲本色精品一区二区久久| 91肏屄网| 午夜乱轮操逼视频免费看| 97人人草| 亚洲国产综合视频| 国厂麻豆77q4| 高清成年美女黄网站免费大全| AV色五月天| 99性视频| 亚洲毛片基地专区| 99999精品成人| 久久久97| 97综合在线观看| 日韩综合无码色欲vv| 大香蕉综合在线| 午夜婷婷| 国产强奸91| 日本欧美不卡| 精品二999| 超碰97爽| 1769一区二区| 中英熟女操女| 长久操视频| 看看小穴| 九色PORNY9l原创自拍| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 啪啪啪综合| 欧美日韩国产电影| 亚州少妇| 韩国一级婬片A片无码天美| 91欧美亚洲| 天操天操夜操夜月操月年年操操| 日韩无码操逼片| 美女干逼2| 欧美色棕合| 成人欧美一区二区三区黑人一| 国产女人和拘做爰视频 | 日本亚欧爱爱| 久久不卡一区二区| 国产欧美日韩在线观看麻豆传媒公司| 亚洲精品无码久久AV| 9丨久久九九九| 中文一区在线日| 麻豆黄四叶草网站| 亚91亚洲网| 男人天堂站| 夜夜高潮夜夜爽| 久久偷拍人| 亚洲人妖网| 四季AV一区二区凹凸精品小说| 亚洲欧美色综合| 中文字幕在线观看第二页| 极品丝袜无码| 国产精品麻豆成人av| 97精品在线视频| 国产精品久久久久久久久久久久久久| 伊人网在线点播| 日曰骚久久精品| …亚洲黄色厕厕女女在线播…| 熟妇人妻精品一区二区| 亚洲中文字幕av| 欧美色偷偷| 国产福利电影| 五月天婷精品激情| 在线观看色视频| 欧美不卡二区| 伊人久久艹| 婷婷丁香五月激情啪啪| 亚洲一卡2卡3卡4卡乱码网站| 福利伊人玖玖国产| 99re在线| 啊啊啊好湿久久| 嫩草影院永久在线制服丝袜| 屁股久久久久久久久| 欧美 亚洲 在线| 亚洲毛片久久| 亚洲精品免费中文字幕| 强奸乱伦日韩AV| 亚洲国产综合久久久性感熟妇| 97网址97| 亚洲欧美另类激情小说| 男女性感激情网站| 九九综合色| 婷婷美人网| 欧美AB在线| 九月丁香综合网| 欧洲精品在线播放| 久久久性爱| 亚州免费啪啪视频| 亚洲操操操| 四虎免费在线播放| 99精品欧美一区二区三区桃色| a久久| 国产路线专区| 操我无码| 色拍偷亚洲| 欧美大香蕉同搞| 老汉网| 99人妻碰碰碰久久久久禁片| 天综合网| 色妇综合网| 水野优香在线观看| 男人的天堂2000| AAAAAAAAA黄片| 日韩欧美偷拍美女视频| 天天草夜夜草高潮片| 草伊人高潮喷水超碰| 91一区二区三区蜜桃| 色色色综合网| 婷婷久草| 免费av大片| 色色综合97| 性爱视频无打码在线观看| 色天堂综合| 亚洲av性爱电影| 九九热在线视频| 国产97亚洲| 91美女看B| 天天干人妇| 亚洲久久久| 亚洲视频小说| 免费看久久久性性| a啊啊啊啊啊啊啊啊一区二区| 92福利社视频| 亚洲春色一区二区三区| 天天内射| 国产久久久久久久久一区二区| 女生久久网| 超碰天天操| 亚洲天天艹| 丰满人妻一区二区三区四区| 精品国产乱码久久久兰草影视| 女人喷水视频在线观看| 综合夜夜| 欧美性生活内射| 蜜臀久久99精品久久久久久久久| 日韩无码三级影院| 岛国毛片手机在线观看| 97超碰资源网| 日人妻视频91| 久久春色| 色老汉色| www久久99| 性色av蜜臀av色欲aV| 蜜臀久久99精品久久久| 国产一区二区精品在线视频| 九九九久久久久| 国产一区二区三区中文字幕| 91动漫操逼视频| 亚洲中文字幕精品一区| 欧美色97| 亚洲欧美综合网站| 亚洲熟久久| 大香蕉99热| 国产成人主播| 好吊色一区| 欧美中字二区| 色色99| 久久透逼视频| 97久操| 精品中文一区二区| 曰本熟女视频| 欧亚第一综合网| 女同在线视频一区| 野狼激情网| 日韩内射视频| 嗯阿好爽好紧| 91爰爱欧美| 2019亚洲男人天堂| 偷拍亚洲视频一区二区三区四区| 超碰偷拍| 不卡在线观看视频| 超碰九7| 国产日韩精品无码去免费专区国产|