久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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
返回資訊列表
亚洲电影中字一区二区| 蜜汁欧美| 舔足天天操天天射| 五月天春色激情网| 岛国不卡超碰护士AV在线播放| 天天上日日上日韩精品| av一区二区三区四区| 国产婷婷综合在线观看| 欧美日韩性爱无码| 亚洲欧美在线综合| 韩日精品福利视频一区不卡在线免| 九九久久一区二区伦理| 色哟哟国产精品免费网址| 开心激情站| 天天躁狠狠躁av| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 美女诱惑久久| 2019久久久久久久久福利| 人人天天欧洲| 淫淫综合网| 欧美日韩午夜精品一区二区三区| 丰满少妇人妻久久久久久| 精品9999| 精品少妇一区二区三区在线视频| 久久高清无码夜夜操| 日韩成人私密一级精品av| 蜜乳AV免费观看| 国产原创自拍| 狠狠入| 日韩强奸av| 狠狠躁AV| 欧美中文字幕日韩在线| 裸体美女久久久| 日韩人妻有码免费视频| 国产成人精品一区| 9九九九九视频在线观看| 欧美激情 一区| 噜噜噜在线视频| 精品国产99| 亚洲欧美综合网站| 网页导航五月天免费一二三区| 亚洲色图自拍| 欧美老妇曰批的视频| 亚洲精品天天影视综合网 | 免费国产电影一区二区| 亚洲中文字幕乱码无码一区二区| 国产精品99精品视频网站| 青青草乱入乱欲视频在线观看| WWW操逼| 99黄页网站| 偷看洗澡一二三区美女| 久久东京热久久| 俺去也婷婷| 综合另类| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚洲精品国产熟女| 日韩欧美偷拍美女视频| 久久老子无码午夜伦不卡| 91av天美性媒精品视频| 探花一区在线| 加勒比综合网| 老熟女天天操| 性老妇一区二区三区| 乱伦熟妇一区二区| 青青草久草AV| 91丨九色丨东北熟女| 91成人无码| 96免费视频在线| 精品国产www久久| 久久岛国| 足交视频老司机| 大奶啊啊好爽| 亚洲制服aⅴ中文字幕| 亚洲天堂东京热| 国产三级多多影院2022国产AA一级毛片无码 | 午夜激情成人在线观看| 日韩无码服务区| 91丝袜美女| 91天堂色男人的天堂| 欧美激情精品久久久久久| 丝袜制服字幕在线| 97人人操人人摸人人爱| 天天看天天日天天操| 东京热亚洲一区二区| 久久久99免费| 热99这里有精品综合久久| 欧美91久久久久| 欧美婷婷| 中文字幕精品区先锋资源| 91少妇| 亚洲精品黑丝| 亚洲操操操无码| 人人插人人搞人人操| 2019精品国产无码成人| 亚洲一区二区av| 综合色一区三区二区| 绑缚麻绳人妻寝取完整版| 天天舔天天 | 天堂涩涩| 鲁鲁色综合网| 精品久久久久久亚洲| 韩国一级AAA| 日韩在线观看三级电影| 亚洲欧美国产中文视频| 精品国产Av无码久久久伦古装| 大香蕉日韩欧美| 九九热视频在线观看| 逼逼逼逼操操操操操操操操操午夜剧场| 99热| 97在线免费观看| 色偷综合| 欧美久久婷| 亚洲。日韩。欧美| 色婷婷99| 大香蕉五月天| 先锋精品av色鲁| 亚洲综合色婷婷| 草草影院最新网址| 另类TS人妖一区二区三区| 丰满人妻一区二区三区色-百度| 亚洲色图A| 国产久久久久影院老熟女| 91老司机在线视频免费观看| 亚洲图片欧美日韩| 一区二区三区网站日日骚| 乱人伦 国语对白:视频直接看| 五月丁香综合激情| 中文字幕啊啊啊在线观看视频| 久久人人爽人人爽人人片Ⅴ| 色噜噜人妻丝袜a∨先锋影| 黄片www视频免费| 日韩精品-原创伙伴| 久久系列| 中文字幕乱妇免费视频| 2017大香蕉| 99精品国产户外露出| 中文字幕蜜乳av| 放黄片放3级黄片没穿衣服| 你懂的在线观看区国产| 五月天丁香婷婷综合网站| 国产精品一区午夜福利| 日本视频在线观看污污污| 亚洲最大无码中文字幕网站| 一区二区三区精品黑丝白丝酒店对鸡 | 夜夜操美女| 牛牛操视频逼| 久久香蕉综合一本到3atv| 色婷婷基地| 欧美性爱三区二区| 香蕉在线一区二区三区| 99热免费精品| 青青草日本无码| 日本啊啊啊啊啊视频| 330Dv国产女人终合视频极品人与兽 | 亚洲成人福利电影免费| 丁香五月激情综合国产| 日韩亚洲97| 91男人综合| 婷婷另类小说| 黑人综合网| 精品国产91av一区二区三区 | 91精品无码人妻系列| 激情综合久久| 久久亚洲色图中文字幕| 91中文字幕制服丝袜免费视频| 青娱乐国产剧情av一区| 97人妻免费中文字幕| 99久久精品国产高潮| 日韩久久三区| 日韩淫色网| 精品综合久久久久久五月天| 色欧洲| 国产免费一区| 啊啊啊啊啊啊啊国| 久久久国产亚洲精品系列| 欧美狠狠弄| 国产精品成人无码a v毛片| 97人人爱人人做人人乐| 免费观看的黄色的网站| 99re综合伊人| 亚洲综合码| 日本性一区| 久久久91| 很黄很污的免费网站| 欧美亚洲清纯| 欧美亚洲美少妇一区二区| 好爽要喷了| 74成人在线| 精品久久久亚洲AV成人网站| 日韩 欧美 校园一区| 九区国产| 国产女同视频在线播放| 无码伊人久久大杳蕉中文无码| 中文字幕精品一区二区精| 成人精品在线观看| 午夜噜噜噜| 欧美人与性动交a美精品| 欧美日韩理论一区| 国产午夜在线观看| 少妇被玩视频二三区| 一区二区视频在看| 成全在线观看免费观看| 日韩久久超碰色| 精…码一二三区| 精品国产一级久久| 日韩78m视频| 牛牛AV人人夜夜澡人人爽| 日本 欧美 亚中文字幕| 蜜臀99久久国产| 国产中文字幕曰本毛片| 亚洲少妇激情一区二区三区| 黄页视频网站野外| 九九九九九九九九九九九蜜桃| 欧美天天综合网| 再深点灬舒服灬太大了好硬好爽| 人妻精品一区二区全免费| 91色婷婷综合久久中文字幕二区| 亚洲国产日韩欧美熟妇在线| 日日骚av| 激情深爱五月天| 亚洲宗合网| 日本天天操| 欧美日韩天堂| 99自拍视频在线| 97超碰9| 爱av免费| 国产精彩女在线观看视频| 亚洲综合另类小说色区亚洲成av人片在www| 色九月| 我想要 啊 啊 啊| 精品无码不卡视频| 操逼www.| 男女性感激情网站| 中日韓欧美高清| 78m成人视线| 国产精品色约约| 乱伦图一区| 欧美成人精品一区| 国产精品人妻无码久久久互動交流| 91bbb| 久久97视频| 玖玖爱在线视频免费观看| 亚洲国产婷婷在线播放| 日韩人妻 中文字幕| 东北操逼| 秋霞网—男女啪啪亚洲免费体验区| 91亚洲人| 国产极品久久久| 另类老少妇| 一品道视频一区二区三区| 岛国小电影| 国产强奸乱伦xd| 亚洲古典另类欧美在线| 成人精品视频一区二区| 亚洲中文字幕av | 欧美国产伊人久久久久| 国产亚洲精品久久久久小| 国产又粗又大硬免费色网视频| 热久久精品| 极品尤物在线观看| 亚洲精品毛片在线观看| 婷婷五月激情综合| 成人电影一区| 大香蕉综合网| 久久99操天天日| 中文字幕视频在线观看| 国产怡红院| 变态另类专区| 射丝袜高跟鞋99| 日韩无码a片| 外国91| 夜夜嗷嗷一区二区| 日韩999| 91人人| 亚洲综合校园春色| 乱理日韩中文| 99re国产中文字幕| 日韩中文字幕精品一区在线| 亚洲国产97| 欧美综合97www| 欧亚性爱视频免费看| 久操电影| 日韩电影中文字幕| 青青草影视蜜久久| 91色人| 久偷拍欧美日韩三区| 午夜福利视频在线一区| A V视频日本| 97免费在线视频| 国产午夜精品一区二区三区牛牛| 激情色色| 国内偷拍精品一区二区| 蜜臀99久久精品久久久懂爱| 欧美天天搞| 久久人妻少妇| 自拍亚洲综合| 婷婷激情综合网| 亚洲暴力强奸AV| 97天堂| 综合网久久| 亚洲天堂性爱| 欧美日韩222| av九九| 国产精品宅男免费| 日韩无码三级影院| 久久草草亚洲蜜桃臀| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 老熟女阿 国产91| 蜜臀久久99精品| 射丝袜高跟鞋99| 综合熟女| 天天日天天色| 精品少妇后入一区二区三区四区人妻巨乳| 密桃99999| www.色婷婷.com| 郑州宾馆老熟女露脸啪啪| 中国操逼无码| 亚洲婷婷丁香在线| 美女视频尤物网在线看| 亚洲97| 亚洲风情在线观看| 激情色图| 久久受www免费人成| 亚洲高清无毛一区二区| 成人无码在线超碰网| 韩国一级AAA| 亚洲网站一区二区在线| 亚洲好看强奸乱伦| 干婷婷综合网| 五月丁香综合| 内射日韩大臀美女| 四季AV综合网址| 欧美性爱一区二区三区四区| 欧美啪啪天堂| 黄色工厂这里只有精品| 亚洲一区二区三区AV无码| 日本性一区| 17c嫩草51久久91嫩草| 久久久精品网站| 国产一级高清免费观看| 91亚洲高清| 久艹99| 久操免费电影| 亚洲成人久久美女| 麻豆成人影音在线| 久久久999国产精品| 欧美综合色| 1204av韩国| 久久精品国产72国产精品福利| 福利视频网站| 亚洲婷婷丁香在线| 亚洲天堂男人| 97在线播放| 丰满欧美少妇| 黄色av播放免不| 亚洲黄色影视| 91超碰丝袜制服| 人、人、摸,人、人、草| 黄片视频观看| 青草青青久久久久久国产| 国产熟女少妇一区| 亚洲精品啪视频| 色综合天天| 久久精品99| 欧美在线啊啊啊 | 四虎免费看黄| 黄色二级片网站| 无套后入双马尾| 色哟哟综合| 国产精品色色| 欧美洲精品一级| 在线免费观看高清无码视频| 亚洲91在线播放影院| 婷婷五月天伊人| 97超碰资源网| 亚洲在线综合| 久久男人精品| 成人女人国产| 国产资源中文字幕在线| 久久超碰爱| 久久久一二三四区| 亚洲国产精品9999在线观看| 福利伊人玖玖国产| 中文字幕精品一区二区精品| 骚货 中文字幕 av| 岛国色情视频在线观看| 一区 欧美 日韩 麻豆| 香蕉99秘 一区精品蜜桃臀| 国产第25页在线观看| 日韩不卡网操逼中文字幕日韩| 漂亮人妻被强中文字幕hd| 久久香蕉综合一本到3atv| 啊啊啊不要好爽日韩无码一区| 欧美激情综合| 日韩一999精品| 亚洲无992tv| 猛交交| 91天堂丝袜美腿| 乱伦系列一区二区| 久热99999| 国产视频一区二区三区在线免费观看 | 国产免费一区二区三区最新不卡| 人妻蜜桃臀| 久久久精品成人国产| 中文字幕精品专区搜索结果91| 国产精品久久久久久高清无码免费看 | 色诱avtt| 久久无码成人| 九九九热精品| 性久久久| 婷婷久草| 色九久| 色综合91| 久久久久99999| 极品五月天噜噜| 91超碰在线| 久久不卡一区二区| 久久性爱精品一区| 久久久内射良家| 欧美一区二区福利在线| 久久久精品中文字幕麻豆| 国产精品制服丝袜清纯唯美| 欧美激情 一区| 99亚洲精品| 清纯唯美亚洲| 国产精品一区二区后入| 日韩九区| 欧美综合1性辶| 情色五月天久久久| 日本五十路熟女一区二区| 青青草五月份天| 91 亚洲 欧洲| 乱论91| 东京太热男人的天堂久久久| 蜜臀AV一区二区三区激情综合| 青青免费在线视频一区| 狠狠操狠狠燥| 色五月首页| 亚洲久9| 五月婷婷综合网| 超碰色综合| 亚洲丝袜二区| 久久久久久久亚洲Av无码| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 一本色道久久综合精品婷婷| 日韩三级在线观看mp4| 天天天天天天天天天天干美女| 日本不卡一二区| 色偷偷色偷偷欧美日韩| 日本久久精品| 91人妻精华帖| 中英熟女操女| 传媒在线观看一区二区三区| 久热精品色情| 亚洲中文字幕精品久久久久久直播| 在线综合网| 亚热日本熟女| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 国产午夜精品理论片a大结局| 日韩色女精品| 麻豆福利视频导航| 精品人妻伦一二三区久久| 在线有码中文字幕| 91N综合网| 91黑丝美女| 久久五月份| 中文字幕123| 亚洲精品自拍| 熟妇综合一区二区三区| 久久精品国产亚洲av水密被窝| 人妻熟女一区二区三区在线| 92福利社视频| 欧美亚洲韩国视频十五区| 婷婷国产精品九区| 色av中文字幕| 人人做天天爱| JIZZJIZZ国产精品喷水| CCYY草草影院地址入口| 99青青草国产视频| 一二三四日本视频高清| 少妇蜜汁| 综精品久久久aaaa| 欧美一区二区三区大综合| 亚洲图片视频小说| 国产黄片精品在线| 最新中文字幕在线亚洲| 91人妻精华帖| AV在线性爱| 老司机福利青青草| 国产成人五月天丁香花| 97超碰欧美手机在线| 亚洲涩涩| 欧美日韩人人精品| 激情婷婷五月天| 国产无马av| 午夜国产成人福利视频| 中文自拍欧美影视| 午夜高清成人在线视频| 99久国产精品午夜性色福利| 黄片qw| 在线观看亚洲成人精品| 亚洲高清欧美总合| 国产精品乱码久久| 久九九九九九九九热| 日韩 欧美 国产 麻豆| 熟妇一区二区三区| 亚洲精品骚逼| 亚洲有码第一页| 日日夜夜模| 狠狠干妹子| 久草久日| 久久久久久久9| 国产路线专区| 粉嫩av久久一区二区三区| 26UUU欧美日本| 福利视频香蕉免费一区二区在线| 九热中文字幕| 国产美女口爆吞精视频| 操屄日韩| 国产肏逼网站| 国产精品岛国片在线观看| 91精品国久久久久久无码| 欧美日日夜夜| 男女性扦B| 久艹视频在线| 久久性爱视频99| 蜜桃丰满熟妇av无码区不卡| 色悠久久久av| 久久久96| 国产久久久久久久久一区二区 | 一区二区三区精品黑丝白丝酒店对鸡 | 国产精品999zyz| 免费看欧美美女黄色大片| 精精夜夜| 久久久久久久久久久精| 欧美A片中文字幕| A片三级无码| 男人久久精品| 久综合国内精品自在自线| 97婷婷色| 国产久9| 国产精品毛片?v一区二区三区| 狠狠色噜噜狠狠狠狠狠色综合久久| 亚洲日韩成人性爱视频| 91久久久老司机| 欧美在线播放| 九九热免费国产视频婷婷伊人| 日本精品性生活久久久| 天天躁日日躁AAAAXXXX国产 | 岛国黄| 夜夜操狠狠操| 久久香蕉国产线看观看亚洲女人 | 久久精品电影在线| 亚洲九九夜夜| 激情久久日韩精品中文字幕麻豆| 国产高清26uuu| 欧美亚洲成人在线一区二区三区| 免费公开人人操| 色噜噜人妻丝袜AV资源| 狼狼色丁香久久婷婷综合五月| 午夜成人福利影视| 12一15性XXXX粉嫩国产| 成人五月天色网| 秋霞久久亚洲精品成人| 欧美 亚洲 偷拍自拍| 欧美人妻色| 操逼片国产| 欧美天天弄| 亚洲综合影视| 亚洲无码超碰免费| 色哟哟AV| 色一射色一射| 噜噜噜在线视频| 女人的久久久| 男女真人网18| 国内伊人久久久久久网站视频| 欧美最婬乱婬爆婬性视频| 亚洲激情深爱文学小说网站| 人妻熟女一区在| 97大色网| 亚洲有薄码区日本系列中文字幕| 亚州综合色| 国产精品在线网站| 色一射色一射| 国产乱伦亚洲色图高清无码| 综合网欧| 爱做久久久久久| 国产粉嫩蜜臀av一区二区三区| 欧美一级专区免费大片| 亚洲中文字母在线播放| 欧美大波激情xxxx| 99999国产精品| 射丝袜大香蕉| 国产少妇高潮| 97色欧州| 国产91精品福利在线| 亚洲福利影院一区久久| 日日骚一区二区三区| 亚洲情色综合网| 亚洲夜夜欢无码一区二区| 精品无码不卡视频| 狠狠爱夜夜干| 黄污污污污| 涩五月婷婷| 亚洲激情四射| 欧美在线干| 日本人妻A片成人免费看片| h无码动漫在线观看| 超碰在线91| 欧美偷拍区| 久久久专区| 俺去俺来也在线www| 国产91丝袜 在线播放| 亚洲暴力强奸AV| 国产污视频麻豆传媒一区二区| 色色色日本| 人妻黑丝袜电影| 99精品成人免费看| 九九九九精| 色蜜AV| 超碰成人人人爽人人爽| 97资源免费视频| 天堂8在线新版官网| 91亚洲图片| 狠肏骚人妻| 日本一区二区三区四区免费观看| 欧亚三区动漫| 超碰97资源大奶| 国产aⅴ无码片毛片一级网站| 青女在线| 人妻在线视频| 免费超碰97久久| 五月天婷婷久久| 国产高清视频无码在线| 欧美日韩美女精品久草一区二区三区| 免费A V在线| 校园春色美腿丝袜 | 国产精品午夜高潮呻吟久久av| 少妇天堂| 秋霞午夜视频一区二区| 无码精品一区二区三区潘金莲| 欧美日韩电影一区二区| 大香蕉av在线| 天堂а√在线最新版在线| 四虎影视国产精品| 六月丁香久久| 久久久久亚洲熟妇熟女| 欧美在线大香999| 抽查国产福利主播| 任你爽视频| 亚洲无码国产精品久久| 男女国产精品| 伊人久久亚洲色欲综合网站| 色丁香五月婷婷| αⅴ天堂| 最新亚洲黄色免费电影| 久草电影网| 96久久久精品| 日韩在线人妻网站| 亚洲性爱无码乱伦av| 蜜臀无码视频在线观看| 无码男人天堂| 色999人与兽| 婷婷91| 国产黄色 A 片免费看| www久久精品| 黄色不卡视频| 精品一区二区啪啪啪| 青青草毛片| 蜜臀va69| 啊啊啊啊啊啊好湿好爽视频| 日本亚洲熟女视频| 人人操人人摸人人看人人插| 天天看天天日天天操| 欧中美三级一区二区三区| 学生妹天天看| 久久一二三四五六七八九区区| 大香蕉黄色一区| 久久久国产亚洲精品系列| 蜜桃香蕉久草精品在线| 色偷综合| 一二三四视频在线社区中文字幕| 久久婷婷色综合一区二区三区| 天天性射网| 97就爱干| 91伊人久久在线| 色九九九九| 日本久操视频| 国产精品老熟女一区二区| 五月丁香色综合| 精品久久99| 97人人操人人摸人人爱| 国产精品无码成人精品| 午夜男女爽爽大片免费观看| 黄色无码高清黄色无码网站| 97中文字幕一区| 国产国产亚洲一二三久久| 亚春色色| 伊香蕉综合久久久久久久噜噜噜| 97ai亚洲| 国产97在线视频| 岛国人妻少妇av在线观看| 蜜臀久久99精品久久久久免费观| 熟妇视频一区二区三区在线观看| 69综合网| 亚洲色图欧美另类在线| 内射卯月麻衣| 啊啊啊水好多| 蜜臀久久99精品久久久久久无删减| 国产精品播放| jizz啪啪| 天天草夜夜草高潮片| 亚洲国产精品无码AV在线| 99热在线观看| 超碰狠狠操| 性爱乱伦网址| 一区二区三区视频在线观看免费| 日韩av乱伦| 青青国产精品在线| 亚洲乱色视频一区、二区在线| 国产成人AV麻豆| 香蕉免费一区二区三区不读 | 韩美日操逼| 人人妻人射| 丰满人妻一区二区三区四区| 91亚洲最新在线| 久久久内射良家| 日本二三四区| 国产一区二区成人av在线播放| 黄页视频网站野外| 99视频内射三四| 亚洲五区熟女| 婷婷九月丁香| 日韩国产精品人妻无码久久久| 天天看天天在线精品| 亚洲一区日韩| 亚洲视频一二区| 亚洲精品97p| 日本中文字幕不卡视频| 最近的最新的中文字幕视频| 久久熟女人| 综合一区二区影视| a级免费在线观看| 亚欧Av| 日本国产成人亚洲精品无码| 精品黑人一区二区| 欧美最婬乱婬爆婬性视频| 操逼无毒无码免费视频| 91久久| 在线无码操| 人人操天天爽| 亚洲一区二区av| 久久亚洲欧美中文字幕国语 | 人妻激情在线视频| 首页亚洲国产高跟丝袜诱惑视频 | 精品国产一区二区三区香蕉欧美| 91色久| 青青草五月天| 天天综合网网欲色| 国产精品久久久久久久久AV大片 | 眼镜人妻101.com| 激情久久久| 99国产精品久久久久久久成人热| 天天情欲宗合网| 欧美A片中文字幕| 亚洲天堂区| 一区二区三区四区在线不卡| 国产91精品久久久久久久网曝门| 99色视频| 欧美性爱第一区| 99国产精品自在自在| 国产精品久久久久中文字幕| 日本福利二区视频| 少妇毛片久久| 台湾佬激情综合| 久久精品国产97欧美精品亚洲| 超碰 国产熟女精品一区| 欧美亚洲玖玖玖| 久久九九视频九九视频| 无遮挡男女激烈动态图| 日本不卡卡一区| 激情五月综合| 锕锕好爽 死我在线观看| 中文字幕天堂在线| 超碰亚洲97| 欧美性性性| 日韩精品一区的| 亚洲日本大香蕉1| 人妻精品一区二区在线| 成人综合网 欧美| 69丨亚洲丨精品丨入口免费播放| 欧美一区二区日韩三区| 91暧暧| 91人妻在线视频| 嗯嗯啊在线视频| 快灬快灬 一下爽蜜桃在线观看 | 久久色激情一区二区三区| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 青娱乐 成人娱乐在线| 日韩无码一区二区三区| 一个人免费HD91视频| 粘花网06av视频| 囯产精品久久久久久久久久梁医生 | 亚洲综合激情五月久久| 蜜屁av| AV天天在线观看| J?P?NESEHD熟女熟妇伦| 伊人AAA| 男人天堂欧美| 天天夜夜久久| 无码区蜜乳| 亚洲图片在线| 丁香激情五月| 成人性爱av| 加勒比伊人综合| 成人午夜无码视频| 亚洲中文字幕熟女| 伊人精品视频| 2018色综合天天操| 日韩成年人性爱视频| 亚洲精品欧洲精品| 国产尹人在线视频免费| 色综合av综合久久| 天天日天天操VV| av九九| 亚洲天天做日日做天天谢日日| 精品九九淫乱男| 亚洲另类电影| 亚洲色系另类精品国产| 综合天天。| 久久女人视频| 亚洲少妇中文字幕网址| 中文字幕午夜精品久久久| 亚洲天堂东京热| 999亚洲国产视频| 9997se| 97爱亚洲综合色| 国产亚洲在线观看| 91人妻精华帖| 熟女少妇视频| 精吧天堂| 玖玖综合色| 精品久久人妻成人网| 国产亚洲精品一区二区三区| 午夜操操操| 亚洲色欲一区二区三区| 色欲天天综合网| 国产精品无码久久久久2025| 综合色欧美| 黄色十八禁| 中文字幕亚洲欧美在线不卡| 欧美丰满熟妇XXXX性ppX人交| 欧美福利视频啊啊啊啊| 欧美亚洲手机在线| 日韩人妻精品中文字幕| 国产视频三区四区| 伊人91| 国产精品黄色三级av| 东京热一区二区中文字幕| 国产丝袜一区二区三区| 日韩操人| 九九久久一区二区伦理| 国产无马在线| 91久久久久久久久18| 日韩欧美天堂| AV丝袜东京热| 超碰 av 女人天堂| 七久久久| 国产激情久久久| 色综合尤物| 乳欲人妻办公室奶水| 放黄片放3级黄片没穿衣服| 欧美熟妇色| 性生活性生大爱77AV国产| 青青操在线亚洲视频观看欧美在线 | 欧美一区二区男人天堂| 亚州熟妇精品| 久久久久久91香蕉国产| 亚洲五区熟女| 亚洲熟妇丝袜在线观看| 欧美 亚洲 综合 制服| 五月香婷婷| 人妻久久久| 一二三区在线| 六月婷婷激情| 开心婷婷五月| www.色婷婷| 欧美国产日韩高清在线| 超碰人人在线| 婷婷五月色| 操逼网站地址| 亚洲第一无码播放立川理惠| 国产第25页在线观看| 国产成人手机视频激情| 亚洲av综合色区图片亚洲| 不卡av在线中文字幕| 日韩性爱视频在线免费观看| 国内一区二区免费| 97啪啪| 综合伊人激情| 国产极品精品美女视频| 欧美伊人久久综合网| 变态乱伦伪娘灌肠一区二区| 人人操人人摸人人看人人干| 97在线精品观看视频| 嫩草一区二区在线观看| 久久AV无码网址| 国产热RE99久久6国产精品首| 免费毛片在线播放| 婷婷五月天小说| 情色日播放AV| 第二页中文字幕| 亚州久久9| 欧美草草| 野狼福利社区| 日韩无码人妻| 人妻啪| 日本色婷婷| 中文字幕国产精品1区| 中日无幕一二三四区| 婷婷丁香一区二区三区| 黄色一区三区| 精品国产乱码久久久| 亚洲欧美国产va在线播放频| 久久青青草原免费视频| 一区三区啪啪| 99热这里只有精| 国产传媒1234区| 国产精品69久久久久孕妇欧美 | 亚洲一区深夜| 中出789在线视频| 成人AV在线网站| 国产精品96| 免费看A片毛毛片在线播| 丁香六月综合激情| 青青草大香蕉在线视频| 欧美色图在线视频少妇| 日日摸天天爽夜夜欢| 91色人妻| 成人AV超碰免费在线| 91操人| 久久久久久亚洲精品中文字幕人妻| a人片中文字幕一区二区| 又黄又硬又粗又长国产视频| 国产午夜精品理论片一二三区区| 黄色网址在线免费观看| 日韩欧美女优电影| 9999亚洲精品| 亚洲欧美不卡线| 丝袜剧情| 国产精品熟女AV中文字幕在线播放| 欧美日韩亚洲电影| 91精片| 欧美十八禁在线看| 亚洲欧美九九九| 欧美性爱超碰97| 岛国网址国产| 亚洲精品一二三四区| 屁股久久久久久久久| 国产强奸乱伦无码视频| 极品极品色影院| 天堂涩涩| 东京热一区二区中文字幕| 日本肉体xxxx裸交| 欧美少妇性乱| 午夜国产综合视频在线观看| 国内精品伊人久久久久影院会| 在线视频五十市| 91无遮挡| 国产成人亚洲精品无码古代早漏男| 人妻天天爽夜夜爽爽| 色综合大香蕉| 国产 v乱码一区二| 青青草色情网站视频| 97超碰色色| 99综合网| 亚洲综合有码| 久久久久久久久成人av解说| 伊人久久大香线综合无码| 另类图片综合| 久久久久成人蜜桃精品| 久9爱经典视频| 午夜120视频在线观看| 91偷拍欧美亚洲| w w w.久久精品| 日本天天色| 国产一区二区在线看| 欧美大香蕉专区网| 欧美日韩人妻婷婷一区| 亚洲人成网站7777| 97视频观看| 久久六六| 性色一线| 久久午夜色播影院免费高清| 久久精品国产精品亚洲艾通辽熟妇| 97国产中文| 中国探花熟女| 丰满欧美放荡少妇在线| 无码乱人伦中文视频| 久久 久久国内精品亚洲| jizzjizz欧美| 91色色综合| 欧美日韩国产高清在线一二三区| 熟女网站最新| 国产自产一区视频在线| 亚洲 欧美 另类 日韩 人妻一区| 激情五月综合开心五月| 伊人久久大香线综合无码| 国产极品精品美女视频| 欧美性爱一区| 五月天婷精品激情| 东京热AV男人的天堂| 欧美久热| 久午视频| 欧美亚综合色图| 亚洲日本激情| 国产99999久久精品| 无码日韩人妻av一| 久久久久久人| 欧美躁死她一区二区| 欧美日韩国产成人高清| 大香蕉操久久| 自拍偷拍国产欧美日韩韩| 免费网色网站| 国产女人91精品嗷嗷嗷嗷| 91美女视频。| 思思热在线视频精品| 探花视频免费观看国产专区| 精品十三区| 精品一区二区人妖| 国产综合久| 日日日啊啊啊| 美中日韩无码| 人妻精品一区二区| 青青青国产| 国产精品免费日韩| 欧美色图欧美| 吉田爱美AV在线| 自拍偷拍亚洲熟女妇人精品| 亚洲在线综合| 婷婷色香| 国产成人自拍视频在线| 久久一区二区三区四区五区| 91最新综合| 国产精品久久伊人| 欧美欧美啪啪视频| 天天天堂影视日韩亚洲91| 婷婷久久五月| 五十路六十路素人熟女| 国产91丝袜 在线播放| 97人人爱人人做人人乐| 91动漫操逼视频| 日本精品一区二区三区四区的功能| 欧美 亚洲 另类 综合| 天天操综合网| 国产精品无码久久久久2025| 在线观看啊啊啊啊啊| 97视频在线观看高清资源| 亚洲国产无码精品首页久久久| 婷婷色色五月天福利| 99热日| 殴美日韩m| 亚洲成人网站在线观看| 免费少妇一区二区| 日本久久999| 欧美另类色图片| 天天躁日日躁XXXXYY| 老司机深夜18禁污污网站| 激情综合 婷婷五月 红杏| 97色爱| 亚洲欧美一区二区三区在钱蜜桃| 国产精品色片一区二区| 欧差乱伦二三| 久9爱精品| 欧美97日韩精品| 国产精品久久久久久夜夜夜| 日本岛国黄色网址| 你想操日本小逼吗| 永久电影三级在线观看| 97亚洲综合在线| 五月天欧美色图| 9999亚洲电影| 亚洲 图片 欧美 色图| 九九伊人网| 一区二区三区激情在线观看| 高潮毛片无遮挡高清免费| 欧美色网| 午夜精品久久久99热蜜桃的功能特点| 日本人妻一区二区| 67914亚洲精品| 国产无马av| 综合欧美日韩在线观看| 2019精品国产无码成人| 日本一级特级毛片视频| 超碰九7免费| 精品久久久久综合无码| 人妻蜜桃臀| 941超碰| 伊人少妇久久久| 日韩资源网| 中出后入| 老熟妇一区二区三区啪啪| 快点操死我| 天天综和| 欧美超碰96| 秋霞男人网| 欧美白嫩女HD| 丝袜综合| 久久伊人青青草| 国产美女激情| 欧美日韩亚洲五月天婷婷| 国产美女口爆吞精| 日韩国产十八禁| 日韩精品人妻中文字幕久久久| 97在线欧洲| 神马久久久久久久久久| 亚洲黄日韩无码专区| 国产白领连续中出在线观看| 蜜桃臀 后入 一区 二区 三区 在线| 97精品综合| 性爱AV天堂| 天天日日本| 刺激精品视频| 大香蕉琪琪日本女优不卡| 嗯嗯啊啊啊啊轻点视频| 亚洲18禁| 99999精品成人| 97亚洲欧美日韩| 欧美日韩国产人人| 欧美色道啊| 中文字幕十五区| 91日日夜夜| 大香久久| 亚洲无码 国产无码| 日韩免费高清大片在线| 肏逼视频日本| 日韩av不卡在线看| 可以在线观看AV的网站| 日本在线不卡一二区| 欧美成人9797| 久久亚洲人妻| 60秒免费视频| 96麻豆精品一区二区三区| 国产精品久久久久久久无码AV| 岛国片在线播放| 在线性黄高清免费视频| 9l视频自拍9l九色成人| 极品白嫩福利在线| 美女AV一区二区| 成人九九| 亚洲本色精品一区二区久久| 黑人美精品 A片| 国产日本久久免费精品| 人妻加勒比东京热| 91爱做| 天堂亚洲欧美| 欧美日韩精品久久久久久久久东北老熟妇| AV电影在线播放| 亚洲色电影在线| 亚洲国产97|