日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

STM32F407 HAL庫(kù)FLASH讀寫(xiě)全解析:從原理到避坑實(shí)踐

STM32F407 HAL庫(kù)FLASH讀寫(xiě)全解析:從原理到避坑實(shí)踐 1. 項(xiàng)目緣起為什么需要手動(dòng)操作STM32F407的FLASH最近在做一個(gè)基于STM32F407VET6的數(shù)據(jù)采集項(xiàng)目需要將設(shè)備運(yùn)行過(guò)程中的關(guān)鍵參數(shù)比如校準(zhǔn)系數(shù)、運(yùn)行時(shí)間、故障記錄等保存下來(lái)即使設(shè)備斷電重啟也不能丟失。最開(kāi)始我圖省事直接用了芯片內(nèi)部的備份寄存器BKP但很快就發(fā)現(xiàn)容量太小根本不夠用。然后我又考慮外掛一個(gè)EEPROM或者鐵電存儲(chǔ)器但這會(huì)增加BOM成本和PCB面積對(duì)于成本敏感的項(xiàng)目來(lái)說(shuō)不太劃算。這時(shí)候自然就想到了STM32芯片內(nèi)部自帶的FLASH存儲(chǔ)器。這顆STM32F407VET6有高達(dá)512KB的主存儲(chǔ)區(qū)Main Flash Memory除了存放程序代碼剩下的空間完全可以用來(lái)存儲(chǔ)用戶(hù)數(shù)據(jù)。這聽(tīng)起來(lái)是個(gè)完美的方案零成本、不占引腳、容量足夠。但當(dāng)我真正開(kāi)始動(dòng)手時(shí)才發(fā)現(xiàn)HAL庫(kù)里關(guān)于FLASH讀寫(xiě)的坑遠(yuǎn)比想象中要多。網(wǎng)上一搜滿(mǎn)屏都是“Flash Download Failed”、“Operation Timeout”之類(lèi)的錯(cuò)誤很多教程也只是貼幾行代碼背后的原理和注意事項(xiàng)講得不清不楚。所以我決定結(jié)合自己的踩坑經(jīng)歷把STM32F407VET6使用HAL庫(kù)進(jìn)行FLASH讀寫(xiě)的完整流程、底層原理和那些“手冊(cè)上不會(huì)寫(xiě)”的細(xì)節(jié)徹底梳理一遍。無(wú)論你是想保存參數(shù)還是實(shí)現(xiàn)IAP在應(yīng)用編程功能這篇文章都能幫你避開(kāi)我走過(guò)的彎路。2. 核心概念厘清STM32F407的存儲(chǔ)結(jié)構(gòu)與FLASH特性在動(dòng)手寫(xiě)代碼之前我們必須先搞清楚操作對(duì)象。很多操作失敗根源在于對(duì)FLASH的物理特性和內(nèi)存布局理解不透。2.1 內(nèi)存地圖與扇區(qū)劃分STM32F407VET6的FLASH主存儲(chǔ)區(qū)地址從0x0800 0000開(kāi)始大小為512KB。這512KB并不是一整塊而是被劃分成了多個(gè)扇區(qū)Sector每個(gè)扇區(qū)的大小不同。這是FLASH操作中最關(guān)鍵的一點(diǎn)因?yàn)椴脸僮鞅仨氁陨葏^(qū)為單位進(jìn)行而編程寫(xiě)入則可以按更小的粒度字節(jié)、半字、字進(jìn)行。對(duì)于STM32F407其扇區(qū)劃分如下表所示這是你必須背下來(lái)或者隨時(shí)能查到的信息扇區(qū)編號(hào)扇區(qū)地址范圍大小備注Sector 00x0800 0000 - 0x0800 3FFF16 KB通常存放啟動(dòng)代碼、中斷向量表Sector 10x0800 4000 - 0x0800 7FFF16 KBSector 20x0800 8000 - 0x0800 BFFF16 KBSector 30x0800 C000 - 0x0800 FFFF16 KBSector 40x0801 0000 - 0x0801 FFFF64 KBSector 50x0802 0000 - 0x0803 FFFF128 KBSector 60x0804 0000 - 0x0805 FFFF128 KBSector 70x0806 0000 - 0x0807 FFFF128 KBSTM32F407VET6的最后一個(gè)扇區(qū)為什么扇區(qū)大小不一樣這是由FLASH的物理結(jié)構(gòu)決定的。不同大小的扇區(qū)在擦除時(shí)間、耐用性上可能略有差異。在設(shè)計(jì)存儲(chǔ)方案時(shí)我們通常會(huì)選擇靠后的、容量較大的扇區(qū)如Sector 5, 6, 7來(lái)存放用戶(hù)數(shù)據(jù)以避免影響前部存放的程序代碼。2.2 FLASH與RAM、ROM的本質(zhì)區(qū)別在熱搜詞里看到了“rom和ram,flash,sram的區(qū)別”這里簡(jiǎn)單提一下這對(duì)理解操作限制很重要RAM (如SRAM)隨機(jī)存取存儲(chǔ)器可隨時(shí)讀寫(xiě)速度快但斷電后數(shù)據(jù)丟失。STM32F407有192KB的SRAM。ROM只讀存儲(chǔ)器在MCU語(yǔ)境下通常指程序存儲(chǔ)器即FLASH。FLASH一種非易失性存儲(chǔ)器斷電數(shù)據(jù)不丟失。但其寫(xiě)入編程和擦除有嚴(yán)格限制寫(xiě)前必擦FLASH的位只能從1變成0。如果想把0變成1必須進(jìn)行扇區(qū)擦除操作將整個(gè)扇區(qū)恢復(fù)為全10xFF狀態(tài)。擦除單位大最小擦除單位是一個(gè)扇區(qū)如上表所示至少16KB。你不能只擦除一個(gè)字節(jié)。編程單位小寫(xiě)入時(shí)可以按字節(jié)、半字16位、字32位或雙字64位進(jìn)行但必須對(duì)齊到相應(yīng)的內(nèi)存地址例如字寫(xiě)入地址必須是4的倍數(shù)。壽命有限FLASH有擦寫(xiě)次數(shù)限制STM32F407的典型值是1萬(wàn)次。頻繁擦寫(xiě)同一區(qū)域會(huì)導(dǎo)致該區(qū)域提前損壞。2.3 HAL庫(kù)的FLASH驅(qū)動(dòng)模型ST的HAL庫(kù)提供了stm32f4xx_hal_flash.c/.h和stm32f4xx_hal_flash_ex.c/.h兩個(gè)文件來(lái)操作FLASH。其核心操作封裝成了幾個(gè)關(guān)鍵函數(shù)擦除HAL_FLASHEx_Erase()用于擦除一個(gè)或多個(gè)扇區(qū)。編程HAL_FLASH_Program()用于寫(xiě)入數(shù)據(jù)你可以選擇編程寬度FLASH_TYPEPROGRAM_BYTE,FLASH_TYPEPROGRAM_HALFWORD,FLASH_TYPEPROGRAM_WORD,FLASH_TYPEPROGRAM_DOUBLEWORD。解鎖/上鎖HAL_FLASH_Unlock()和HAL_FLASH_Lock()。在對(duì)FLASH進(jìn)行寫(xiě)或擦除操作前必須解鎖操作完成后建議重新上鎖以防止誤操作。狀態(tài)獲取與清除HAL_FLASH_GetError()用于獲取操作錯(cuò)誤標(biāo)志這在調(diào)試時(shí)至關(guān)重要。HAL庫(kù)的好處是封裝了底層寄存器操作但壞處是它隱藏了一些細(xì)節(jié)如果不知道這些細(xì)節(jié)就會(huì)遇到各種“玄學(xué)”錯(cuò)誤。3. 實(shí)戰(zhàn)第一步FLASH讀操作與地址規(guī)劃讀操作是最簡(jiǎn)單的因?yàn)镕LASH在正常情況下隨時(shí)可讀。但“讀什么”和“從哪里讀”需要精心設(shè)計(jì)。3.1 如何安全地規(guī)劃數(shù)據(jù)存儲(chǔ)地址你不能隨便選一個(gè)地址就開(kāi)始寫(xiě)。必須確保這個(gè)地址區(qū)域沒(méi)有被你的程序代碼占用。位于FLASH的地址范圍內(nèi)。最好在一個(gè)獨(dú)立的扇區(qū)內(nèi)方便管理。方法一修改鏈接腳本推薦這是最規(guī)范的做法。以Keil MDK為例你需要修改項(xiàng)目的分散加載文件.sct。在LR_IROM1區(qū)域中明確指定程序代碼的結(jié)束地址為數(shù)據(jù)存儲(chǔ)預(yù)留空間。例如如果你的程序代碼大概有200KB你可以讓代碼占用0x0800 0000到0x0803 2000然后從0x0803 2000開(kāi)始也就是Sector 5的起始地址附近作為數(shù)據(jù)區(qū)。方法二手動(dòng)計(jì)算并硬編碼地址快速原型對(duì)于快速測(cè)試你可以直接查看編譯生成的.map文件找到程序代碼的最終大小然后選擇一個(gè)靠后的、確信不會(huì)沖突的扇區(qū)地址。例如直接定義#define DATA_FLASH_SECTOR FLASH_SECTOR_5 #define DATA_FLASH_SECTOR_SIZE (128 * 1024) // 128KB #define DATA_FLASH_START_ADDR 0x08020000 // Sector 5起始地址 #define USER_DATA_ADDR (DATA_FLASH_START_ADDR 0x1000) // 從扇區(qū)內(nèi)部偏移0x1000開(kāi)始存避免擦除邊界問(wèn)題注意USER_DATA_ADDR最好在扇區(qū)內(nèi)有一個(gè)偏移。因?yàn)槿绻銖纳葏^(qū)起始地址0x08020000開(kāi)始存儲(chǔ)將來(lái)擦除這個(gè)扇區(qū)時(shí)你的數(shù)據(jù)就沒(méi)了。稍微偏移一點(diǎn)可以讓你在調(diào)試時(shí)即使誤擦除整個(gè)扇區(qū)也只是丟失數(shù)據(jù)而不會(huì)影響到緊挨著的其他扇區(qū)如果那里有代碼的話。3.2 執(zhí)行讀操作讀操作就是直接指針訪問(wèn)因?yàn)镕LASH內(nèi)存映射到了CPU的地址空間。uint32_t read_data; read_data *(__IO uint32_t*)USER_DATA_ADDR; // 讀取一個(gè)32位數(shù)據(jù)或者讀取一個(gè)結(jié)構(gòu)體typedef struct { uint32_t param1; float param2; uint8_t flag; } UserData_t; UserData_t my_data; memcpy(my_data, (void*)USER_DATA_ADDR, sizeof(UserData_t));這里用memcpy是安全的因?yàn)橹皇亲x取。(__IO uint32_t*)中的__IO是STM32 HAL庫(kù)中定義的宏等同于volatile關(guān)鍵字告訴編譯器不要優(yōu)化對(duì)此地址的訪問(wèn)因?yàn)樗闹悼赡鼙挥布淖冸m然FLASH內(nèi)容不會(huì)變但這是個(gè)好習(xí)慣。4. 實(shí)戰(zhàn)第二步FLASH寫(xiě)編程與擦除操作詳解這是最核心也是最容易出錯(cuò)的部分。請(qǐng)嚴(yán)格按照以下流程操作。4.1 完整操作流程與代碼框架一個(gè)安全的FLASH寫(xiě)入流程必須遵循解鎖 - 擦除如需- 編程 - 上鎖并且每一步都要檢查錯(cuò)誤。HAL_StatusTypeDef Flash_WriteData(uint32_t address, uint64_t data, uint32_t data_width) { HAL_StatusTypeDef status; FLASH_EraseInitTypeDef EraseInitStruct; uint32_t SectorError 0; // 1. 檢查地址是否對(duì)齊根據(jù)編程寬度 if((data_width FLASH_TYPEPROGRAM_WORD (address 0x3)) || (data_width FLASH_TYPEPROGRAM_HALFWORD (address 0x1)) || (data_width FLASH_TYPEPROGRAM_DOUBLEWORD (address 0x7))) { return HAL_ERROR; // 地址未對(duì)齊 } // 2. 解鎖FLASH HAL_FLASH_Unlock(); // 3. 檢查目標(biāo)地址是否需要擦除如果不想全為1 // 注意這是一個(gè)簡(jiǎn)化的檢查實(shí)際應(yīng)檢查你要寫(xiě)入的所有位。 // 如果目標(biāo)地址當(dāng)前值與你想要寫(xiě)入的值在“位與”后不等于你想要的值說(shuō)明需要擦除。 // 為簡(jiǎn)單起見(jiàn)通常我們?cè)趯?xiě)入新一批數(shù)據(jù)前直接擦除整個(gè)扇區(qū)。 // 本例假設(shè)調(diào)用此函數(shù)前已確保扇區(qū)被擦除。 // 4. 執(zhí)行編程操作 status HAL_FLASH_Program(data_width, address, data); if(status ! HAL_OK) { // 編程失敗獲取錯(cuò)誤信息 uint32_t error HAL_FLASH_GetError(); // 這里可以打印或處理錯(cuò)誤例如if(error HAL_FLASH_ERROR_PROGRAM) ... HAL_FLASH_Lock(); // 失敗也要記得上鎖 return status; } // 5. 上鎖FLASH HAL_FLASH_Lock(); return HAL_OK; }4.2 擦除操作的深層解析與避坑指南單獨(dú)把擦除拿出來(lái)講因?yàn)樗匾恕AL_StatusTypeDef Flash_EraseSector(uint32_t sector) { HAL_StatusTypeDef status; FLASH_EraseInitTypeDef EraseInitStruct; uint32_t SectorError 0; // 1. 解鎖 HAL_FLASH_Unlock(); // 2. 配置擦除參數(shù) EraseInitStruct.TypeErase FLASH_TYPEERASE_SECTORS; // 按扇區(qū)擦除 EraseInitStruct.Banks FLASH_BANK_1; // F407只有一個(gè)Bank EraseInitStruct.Sector sector; // 要擦除的扇區(qū)號(hào) EraseInitStruct.NbSectors 1; // 擦除1個(gè)扇區(qū) EraseInitStruct.VoltageRange FLASH_VOLTAGE_RANGE_3; // 2.7V - 3.6V電壓范圍必須正確 // 3. 執(zhí)行擦除 status HAL_FLASHEx_Erase(EraseInitStruct, SectorError); if (status ! HAL_OK) { // 擦除失敗SectorError會(huì)返回是哪個(gè)扇區(qū)出錯(cuò) uint32_t flash_error HAL_FLASH_GetError(); HAL_FLASH_Lock(); return status; } // 4. 驗(yàn)證擦除是否成功可選但推薦 // 簡(jiǎn)單驗(yàn)證讀取擦除區(qū)域的首個(gè)雙字64位看是否為0xFFFFFFFF FFFFFFFF uint64_t *check_addr (uint64_t*) (0x08000000 (sector * 0x20000)); // 簡(jiǎn)化計(jì)算實(shí)際需根據(jù)扇區(qū)表 if(*check_addr ! 0xFFFFFFFFFFFFFFFF) { // 擦除驗(yàn)證失敗 HAL_FLASH_Lock(); return HAL_ERROR; } HAL_FLASH_Lock(); return HAL_OK; }關(guān)鍵避坑點(diǎn)VoltageRange參數(shù)這是新手最容易忽略的地方STM32F4系列FLASH的操作電壓范圍必須正確設(shè)置。對(duì)于主頻在150MHz及以下的F407工作在2.7V-3.6V應(yīng)使用FLASH_VOLTAGE_RANGE_3。如果設(shè)置錯(cuò)誤比如用了FLASH_VOLTAGE_RANGE_1擦除或編程操作會(huì)直接失敗并可能置位HAL_FLASH_ERROR_PROGRAM或HAL_FLASH_ERROR_OPERATION錯(cuò)誤標(biāo)志。擦除期間的中斷FLASH擦除是耗時(shí)操作幾十毫秒。在擦除期間CPU會(huì)暫停執(zhí)行指令即代碼執(zhí)行會(huì)停住直到擦除完成。這意味著你的SysTick定時(shí)器會(huì)“丟時(shí)”導(dǎo)致HAL_Delay不準(zhǔn)RTOS的心跳可能異常。所有中斷都會(huì)被阻塞。如果此時(shí)有通信中斷如UART、SPI發(fā)生數(shù)據(jù)可能會(huì)丟失。解決方案在擦除或編程關(guān)鍵代碼段前后可以考慮關(guān)閉全局中斷__disable_irq()和__enable_irq()但需謹(jǐn)慎評(píng)估對(duì)系統(tǒng)實(shí)時(shí)性的影響。更好的方案是將FLASH操作放在低優(yōu)先級(jí)任務(wù)或空閑鉤子函數(shù)中并確保系統(tǒng)在操作期間處于“安全狀態(tài)”。擦除后的驗(yàn)證雖然HAL庫(kù)函數(shù)返回成功但硬件操作仍有極低概率失敗。對(duì)于關(guān)鍵數(shù)據(jù)在擦除或?qū)懭牒筮M(jìn)行一次讀回驗(yàn)證是良好的工程習(xí)慣。5. 高級(jí)議題數(shù)據(jù)管理、磨損均衡與IAP基礎(chǔ)直接按地址讀寫(xiě)只是基礎(chǔ)要想在實(shí)際項(xiàng)目中可靠使用還需要考慮更多。5.1 數(shù)據(jù)結(jié)構(gòu)與存儲(chǔ)策略你不能像操作數(shù)組一樣隨意寫(xiě)入FLASH。一個(gè)常見(jiàn)的策略是定義固定的數(shù)據(jù)結(jié)構(gòu)并預(yù)留“備份扇區(qū)”。typedef struct __packed { // 使用__packed避免編譯器對(duì)齊填充 uint32_t magic_number; // 魔數(shù)用于標(biāo)識(shí)數(shù)據(jù)塊是否有效例如0xAA55CC33 uint32_t data_version; uint32_t system_up_time; float calibration_factor[10]; uint8_t checksum; // 簡(jiǎn)單的校驗(yàn)和 } SystemParams_t; // 使用兩個(gè)扇區(qū)交替存儲(chǔ) #define PARAMS_SECTOR_A FLASH_SECTOR_6 #define PARAMS_SECTOR_B FLASH_SECTOR_7 #define PARAMS_ADDR_A 0x08040000 // Sector 6起始 #define PARAMS_ADDR_B 0x08060000 // Sector 7起始寫(xiě)入策略每次需要更新參數(shù)時(shí)將新數(shù)據(jù)寫(xiě)入當(dāng)前未使用的扇區(qū)例如上次用了A這次就寫(xiě)B(tài)。寫(xiě)入完成后計(jì)算校驗(yàn)和并更新魔數(shù)。最后擦除舊的扇區(qū)。 這樣做的好處是即使在寫(xiě)入過(guò)程中斷電舊的備份數(shù)據(jù)仍然完好系統(tǒng)重啟后可以根據(jù)魔數(shù)和校驗(yàn)和找到最新的有效數(shù)據(jù)。這被稱(chēng)為“原子性”更新。5.2 磨損均衡初步思考FLASH壽命約1萬(wàn)次如果頻繁更新同一個(gè)地址該處會(huì)很快損壞。上述的“雙扇區(qū)備份”是一種簡(jiǎn)單的磨損均衡。更復(fù)雜的方案可以設(shè)計(jì)一個(gè)小型的類(lèi)文件系統(tǒng)或環(huán)形隊(duì)列將數(shù)據(jù)分散到扇區(qū)內(nèi)更多的頁(yè)上。但對(duì)于大多數(shù)應(yīng)用雙扇區(qū)或四扇區(qū)輪換已經(jīng)足夠。5.3 與IAP的結(jié)合與注意事項(xiàng)IAPIn Application Programming是FLASH操作的典型應(yīng)用即通過(guò)串口、網(wǎng)絡(luò)等方式更新自身程序。其核心思想是將程序分為兩部分Bootloader存放在靠前的扇區(qū)如Sector 0-1和Application存放在后面的扇區(qū)如Sector 2開(kāi)始。Bootloader負(fù)責(zé)接收新固件并調(diào)用FLASH擦寫(xiě)API將其寫(xiě)入Application區(qū)域。跳轉(zhuǎn)到新的Application地址執(zhí)行。在做IAP時(shí)本文提到的所有要點(diǎn)依然適用并且要額外注意中斷向量表重映射Application的中斷向量表需要偏移。在Application的main函數(shù)最開(kāi)始通常需要調(diào)用SCB-VTOR FLASH_BASE | 0x10000;假設(shè)Application從0x08010000開(kāi)始來(lái)重設(shè)向量表偏移。Bootloader與App的FLASH操作沖突Bootloader在擦寫(xiě)App區(qū)域時(shí)絕對(duì)不能執(zhí)行位于正在被擦寫(xiě)區(qū)域的代碼。通常Bootloader需要把自己拷貝到RAM中運(yùn)行或者極其小心地安排代碼流程。使用HAL庫(kù)的FLASH操作函數(shù)時(shí)這些函數(shù)本身必須位于不會(huì)被擦除的內(nèi)存中比如Bootloader所在的扇區(qū)。鏈接腳本的精確配置必須為Bootloader和Application分別編寫(xiě)精確的鏈接腳本嚴(yán)格劃分FLASH和RAM的使用范圍避免重疊。6. 調(diào)試噩夢(mèng)常見(jiàn)錯(cuò)誤分析與解決方法結(jié)合熱搜詞里的“flash download failed”、“operation timeout”等這里集中排坑。6.1 “Flash Download Failed - Target DLL has been cancelled” / “Cortex-M3/M4”這個(gè)錯(cuò)誤通常發(fā)生在使用JTAG/SWD下載器如ST-Link通過(guò)IDEKeil, IAR下載程序時(shí)與我們的HAL庫(kù)FLASH操作無(wú)直接關(guān)系。但它可能間接相關(guān)。根本原因調(diào)試器DLL與目標(biāo)芯片的通信被意外中斷。觸發(fā)場(chǎng)景你的程序里包含了FLASH擦寫(xiě)代碼并且沒(méi)有正確解鎖/上鎖導(dǎo)致芯片的FLASH接口處于一種不穩(wěn)定或受保護(hù)的狀態(tài)調(diào)試器無(wú)法正常訪問(wèn)。你修改了芯片的選項(xiàng)字節(jié)Option Bytes特別是讀保護(hù)RDP等級(jí)導(dǎo)致調(diào)試接口被禁用。硬件連接不穩(wěn)定電源噪聲大。解決方法檢查代碼確保每次FLASH操作后都執(zhí)行了HAL_FLASH_Lock()。如果懷疑FLASH被鎖嘗試完全斷電重啟板子和調(diào)試器然后使用“擦除全片”的功能再下載。使用ST官方的“STM32CubeProgrammer”工具連接時(shí)選擇“Under Reset”模式往往能解決頑固的鎖死問(wèn)題。檢查BOOT0/BOOT1引腳確保芯片處于從主FLASH啟動(dòng)的模式。6.2 “Operation Timeout” / “Flash Timeout”這個(gè)錯(cuò)誤發(fā)生在運(yùn)行時(shí)是你的HAL庫(kù)FLASH操作函數(shù)返回了超時(shí)錯(cuò)誤。原因分析HAL_FLASH_Program或HAL_FLASHEx_Erase函數(shù)內(nèi)部在啟動(dòng)操作后會(huì)等待一個(gè)硬件標(biāo)志位FLASH_FLAG_BSY清除。如果等待時(shí)間超過(guò)了FLASH_TIMEOUT_VALUE在stm32f4xx_hal_flash.h中定義默認(rèn)是50000就會(huì)返回超時(shí)。為什么超時(shí)電壓范圍VoltageRange設(shè)置錯(cuò)誤如前所述這是首要懷疑對(duì)象。操作了受保護(hù)的扇區(qū)你嘗試擦寫(xiě)的前面幾個(gè)扇區(qū)比如Sector 0可能存放著正在運(yùn)行的代碼。擦除自身會(huì)導(dǎo)致不可預(yù)知的行為并超時(shí)。永遠(yuǎn)不要擦除當(dāng)前正在執(zhí)行代碼所在的扇區(qū)FLASH未解鎖雖然HAL函數(shù)會(huì)檢查但確保你先調(diào)用了HAL_FLASH_Unlock()。硬件故障FLASH存儲(chǔ)器物理?yè)p壞罕見(jiàn)。排查步驟單步調(diào)試在調(diào)用擦寫(xiě)函數(shù)前檢查傳入的VoltageRange、Sector等參數(shù)是否正確。檢查HAL_FLASH_GetError()返回的具體錯(cuò)誤碼它能提供更精確的線索如寫(xiě)保護(hù)錯(cuò)誤、編程對(duì)齊錯(cuò)誤等。確保你的操作地址是合法的FLASH地址并且是空閑的。6.3 數(shù)據(jù)寫(xiě)入后讀出來(lái)不對(duì)地址不對(duì)齊這是最常見(jiàn)的原因。試圖在地址0x08020001寫(xiě)入一個(gè)32位字FLASH_TYPEPROGRAM_WORD會(huì)導(dǎo)致失敗。請(qǐng)使用FLASH_TYPEPROGRAM_BYTE或確保地址4字節(jié)對(duì)齊。未擦除就寫(xiě)入FLASH位只能從1變0。如果你要寫(xiě)入的數(shù)據(jù)位是1而對(duì)應(yīng)FLASH位置已經(jīng)是0那么寫(xiě)入后該位仍然是0。例如FLASH原有值是0xFFFF FFFE最后一位是0你想寫(xiě)入0xFFFF FFFF結(jié)果是0xFFFF FFFE因?yàn)?無(wú)法變成1。務(wù)必確保目標(biāo)區(qū)域在寫(xiě)入前已被擦除成全0xFF狀態(tài)。數(shù)據(jù)類(lèi)型與編程寬度不匹配如果你用一個(gè)uint8_t變量卻用FLASH_TYPEPROGRAM_WORD模式去編程HAL函數(shù)會(huì)把你變量地址開(kāi)始的4個(gè)字節(jié)可能包含其他無(wú)關(guān)數(shù)據(jù)一起寫(xiě)入FLASH造成混亂。確保你傳遞給HAL_FLASH_Program的Data參數(shù)的類(lèi)型和大小與TypeProgram匹配。6.4 操作FLASH后系統(tǒng)異?;蛩罊C(jī)中斷被阻塞如前所述FLASH操作期間CPU停頓。如果此時(shí)有嚴(yán)格定時(shí)要求的系統(tǒng)如USB、以太網(wǎng)或看門(mén)狗會(huì)導(dǎo)致系統(tǒng)崩潰。解決方案是在FLASH操作期間臨時(shí)提升相關(guān)中斷的優(yōu)先級(jí)或?qū)LASH操作放在系統(tǒng)空閑時(shí)進(jìn)行并考慮暫時(shí)禁用看門(mén)狗。代碼緩存與預(yù)取STM32F4有指令緩存I-Cache和數(shù)據(jù)緩存D-Cache。當(dāng)你修改了FLASH內(nèi)容特別是程序代碼區(qū)如IAP時(shí)需要無(wú)效化緩存否則CPU可能讀到舊的指令。相關(guān)函數(shù)是SCB_InvalidateICache()和SCB_InvalidateDCache()。對(duì)于只操作數(shù)據(jù)區(qū)的情況通常問(wèn)題不大但知道這個(gè)機(jī)制很重要。最后也是最關(guān)鍵的一點(diǎn)在開(kāi)發(fā)階段務(wù)必先在一個(gè)獨(dú)立的、遠(yuǎn)離你程序代碼的扇區(qū)比如最后一個(gè)扇區(qū)進(jìn)行FLASH讀寫(xiě)測(cè)試。準(zhǔn)備好一個(gè)能通過(guò)串口打印調(diào)試信息的環(huán)境把每一步的返回狀態(tài)、錯(cuò)誤碼、操作前后的數(shù)據(jù)都打印出來(lái)。FLASH操作無(wú)小事一次錯(cuò)誤的擦除可能就意味著你需要重新下載整個(gè)程序。耐心、細(xì)致地驗(yàn)證每個(gè)步驟才能讓你的數(shù)據(jù)在芯片內(nèi)部安然無(wú)恙。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲91在线| 色黄污美女啪啪啪免费网站| 无码黑人精品一区二区三区三| 男人的天堂2019AV| 91熟女视频网| 亚洲成人久久美女| 97欧美色| 男女性感激情网站| 色大师网站www永久网站视频| 天美麻豆一区二区三区| 六月丁香五月婷婷| 中国少妇啪啪视频| www超碰| julia中文字幕在线观看| 亚洲中文字幕在现观看| 91天天日| 摸奶性爱视频网站在线免费播放| 久久极品伊人| 78操B| 欧美色五月| 久久精品无码不卡| 2020国产精品| 天堂亚洲欧美| 欧美日韩第一页| 91久久国产精品| 婷婷视频在线免费观看| 91无码人妻| 五月天我淫我色av| 亚热日本熟女| 黄色av片三级三级三级免费看| 少妇与黑人高潮在线| 超碰人人干天天射| 六九九九| 午夜国产综合视频在线观看 | 人妻熟女一区二区三区视频| 亚码激情| 天天谢天天干| 天天操人人操骚逼网站| 久久久久成人蜜桃精品| 九久9精品| 欧美亚州手机在线| 欧美亚洲国产91在线| 看黑丝美女操逼青青网站| 日韩亚洲中文字幕在线| 少妇高潮喷水无套久久久久久| 国产精品成人无码a v毛片| 大香网伊人久久综合网eew| 另类小说综合网| 青青操日韩| 在线国产一区二区av| 日韩色图 一区二区| 五月天大香蕉| 午夜舔阴达高潮视频免费看| 男人天堂最新手机版在线青青草| 亚洲色堂免费视频| 小情侣高清国产在线视频| 久久人妻熟女一区二区| 上床不卡网站| 狠狠干,狠狠操| 九九九久久久| 国产精品在线网站| 日本曲间由美性生活片| 欧美成人四级在线播放| 91人人| 青青草手机在线免费观看| 国产女人和拘做爰视频| 91香蕉国产尤物视频| 蜜臀久久在线视频| 婷婷在线视频| 视频黄色国产一级| 国产精品久久久久久久久久久久久久吹 | 亚洲资源网| 中文字幕日本久久| 成年人黄色小视频网站| 国产真实子伦对白| 亚洲国产97在线精品一区| 国产无遮挡| 国产精品蜜乳AV| 色九九久九九| 91少妇高潮| 蜜色网色哟哟| 人妻AV在线| 国产无码久久高清| 国产精品一区二区三区在线| 91亚洲黄色网| 91性感网站| www鬼畜国产男人的天堂| 91成人久久 | 一区二区三区四区色图| 国产精品交换一区二区| 精品国产精品一区二区| 国产a片操逼| 国产色图乱伦| 91精品人妻| 国产乱不卡| 国产精品欧美激在线| av天堂影视中文在字幕在线中文| 欧美精品久久久久久久久88| 一本色道久久天天射天天干| 日本不卡五区| 一级性爱视频免费观看| 91内射| 日韩精品人妻一区二区| 大香蕉日亚洲日本亚大| 免费看污网站| 天天看片麻豆| 99抽插| 色妹子A V| 超碰碰碰碰| 成人三一级一片aaa| 家庭乱伦麻豆| 亚洲91色| 午夜精品久久久久久久久久蜜桃| 亚洲日韩精品久久久久一区壹牛| 国产亚洲99久久精品熟| 亚洲男人综合| wwwxxx日本爽| 思思热er精品视频| 国产精品自产拍在线观看社区| 亚洲欧美国产中文视频| 91精品微拍福利| 国产呦精品系列在线观看| 亚洲图片小说欧洲| 91熟女网| 中文乱码字幕观看视频| 亚洲一区二区三区在线激情| 好色综合| 91精品人| 综合欧美激情网| 日韩黄片视频试看| av一区二区三区 中文| 亚洲精品一区二区免费在线观看| 综合激情一一91| 人妻少妇久久| yaouchengrenav| 青青操网| 久久久久国产一区二| 中文字幕精品日韩中文字幕| 丁香婷婷久久| 亚洲有码 视频一区| 高树玛利亚无码流出| 久久精品免费| 蜜桃精品一区二区三区ww| 中文字幕 一区二区 亚洲无码| 97最新在线播放视频| 殴美牲| 国产精品天美传媒| 在线一区| 国产黑白丝在线| 97久久国产精品女不卡| 大香蕉黄色一级片免费看| 综合免费无码中文| 色墦五月丁香| 人妻AV 中文字幕的| 神马福利久草| 欧美日韩人妻少妇 一区二区三区| 超碰视97中文| 超碰97人人cao| 操逼逼福利视频| 中文字幕在线观看视频www| 极品五月天噜噜| 乱码熟妇人妻久久久| 久久九九热| 中文字幕在线免费观看 | 国产人妻精品一区二区三区秋霞| 久久大香蕉97| 可能人人看人人摸| 性欧美另类高清| 丝袜综合色图| 亚洲91在线| 欧美18 在线观看| 国产精品久久久久久 百度| 激情五月天婷婷| 国产青一二三| 网友自拍第1页| 欧美黄色片在线播放| 九热视频| 久久宗合亚洲| 久久大| 国产三区免费在线观看| 品亲网欧美品亲网| 囯戸精品高潮呻吟旡码| 97福利视频| 91jk色拍| 91天天| 黄网在线播放| 東南亚性呦成人伦理资源在线视频| 亚洲影院成人| av操操不卡| 国产路线专区| 成人三级片无码| 91红杏| 97日亚洲欧美| 亚洲综合五月天| 综合激情一一91| 九九九久久久| 国产精品色哟哟| 国产精品播放| 97色欧州| 久久久久久久伊人精品| 夜夜狠狠躁日日躁色视频| 国产精品熟女一区二区三区| 蜜臀少妇一区二区| 久久产精品一区二区三区电影| 国产亚州高清国产拍精| 在线中文AV| 99老司机精品视频在线观看| 亚洲男人的天堂AV| 日熟女| 一区二区三区四区五区高清无码永久视频| 欧美色图91| 中文激情网| 91在线国产后入风骚翘臀美女素人| 亚洲一卡二卡在线免费| 99www.bibizy香蕉资源国产一区二区三区高清 | 亚洲欧美经典一区二区| 亚洲熟女乱色一区二区三区久久久 | 欧色性第一页| 亚洲欧美国产其他二区| 噜噜瑟| 熟女视频久久| 欧美亚洲国产日本在线,久久精品国产| 色哟哟AⅤ| 久久綜合很很很| 久久久久久电影| 欧美久久毛片基地| 99re98| 区日韩亚洲乱码av电影| 熟女激情综合网| 国产精品久久久777| 亚洲欧美高清无码| 国产女主播视频在线观看| 精品一区二区成人| 亚洲色图欧洲| 伊人久久大香蕉线AV五月天| 能在线播放的国产三级| 日韩二区三四区五区六区在线看| 人人爱人人操人人性| 欧洲精品区| 久操精品网| 日夜伊人网| 久久久久久久久久久久黄色 | 国产超碰97| 黄色小视频日本txt| 亚洲第一在线视频| 日韩综合无码色欲vv| 欧美性色欧美| 日本一二三免费久久| 中文字幕久久精视频久久大全| AV天天在线观看| ′ !γ}丶。。久久精品欧美一区二区三区| 一级啊性爱在线视频| 免费的很黄很污的全部视频| 黄色免费网| 久久久99免费| 人人插人人搞人人操| 亚洲综合中文字幕有码| 久操精品网| 自拍偷拍2025在线观看| 性爱久久| 91丝袜激情在线| 后入式在线免费观看60秒| 欧美成人色| 人妻人妻天天碰| 亚州欧美色图| 男人久久天堂| 久久精品国产亚洲AV无码做| 91爱综合| 国产精品日日摸天天碰| 国产亚洲女v在线观看| 亚洲少妇诱惑| 97精品国产| 五月天激情小说| 色呦色呦色精品| 午夜福利无毒不卡| 亚洲另类色图片| 九热中文字幕| 久热69九色熟妇97| 国产白丝av| 97九色人妻| 亚洲国产97| 97精品一二区| 国产中出内射一区二区| 精品女人999| 亚洲欧美综合| 91成人精品| 欧美日韩国内不卡| 久久精品国产97欧美精品亚洲| 亚洲精品a人片在线观看视| 亚洲图片欧洲图片aⅴ| 色婷婷综合网| 国产精品久久久久久 百度| 亚洲一区二区中文字幕| 超碰97资源中文字幕| 极品色综合| 日韩性爱长视频免费| 欧美姓爱综合网| 国产深喉| 欧美在线l亚洲| 无码137片内射在线影院| 2019男人的天堂| 一卡二卡三卡| 四虎免费视频| 久污| 999色欧美中文字幕| 玖玖爱综合| 一区二区三区男女操逼黄色小电影| 今日头条成人一区二区三区四虎精品| 97精品人妻一二三四| 超碰97人人cao| 探花精品视频| 99re黄 | 日韩99神马视频片| 色噜噜日韩精品| 26uuu欧美| 精品一二三区四视频| 色色毛片| 亚洲中文制服诱惑| 日韩小电影| 免费一级性爱久久| 青青青国产手线观看视频2| 六月婷婷色综合| 欧美性视频二区三区| 久久久性爱| 青青伊人这里只有精品| 超碰 av 女人天堂| 日本午夜操逼| 伊人久大| 91oumei| 午夜福利在线合集| 97超碰逼| 国产精品一二三在线看| 日本超碰97日韩精品人妻| 国产一区二区a毛片| 欧美熟女妇同| 综合色图区| 国产综合日韩伦理| 欧美在线色图| 在线国产福利网址导航| 超碰2017| 婷婷色网| 日本一区三级韩国| 久久xxxx| 风流老熟女一区二区三区l| 91精品国产一区三一| 长长久久88视频| 久久人人爽人人爽人人片Ⅴ| 久久婷婷成人综合色怡春院| 青青草久久在线| 日韩精品高清资源在线| 亚洲欧美精品一区天堂久久| 黄网色一区二区三区四区精品| 天天看天天干| 91精品微拍福利| 超碰免费人妻在线| 一区二区无码视频| 欧美啪啪天堂| 青青草伊人久久| 在线啊v一区| 一级岛国大片| 大屁股人妻女教师撅着屁股| 九九九九九精品视频| 日韩 欧美 国产 麻豆| 亚洲色图国产另类| 国厂麻豆77q4| 久久精品国产久精国产| 99热日| 97干在线| 日本伦理一区二区| 免费啪啪一级视频| 久久性爱视频免费看| 日韩在线地址一| 丁香五月激情综合国产| 五月天偷拍| 91久久精品蜜臀| 欧美精品久久96人妻无码| 91九色丨国产丨爆乳| 久久婷五月| 色播综合| 熟女色图在线| 伊人991| 欧洲亚洲综合| 极品美女嘿咻| 久久久久久中文| 欧美色图综合网| 少妇啪啪自拍| 青娱乐久久艹| 69综合网| 久久久久久久97| 久久久天堂| 亚洲国产丝袜熟女av| 人人人人插| 夜夜嗨AV一区天天| 中文熟女五十乱码在线| 国产精品久久妻无码网站| 91丨豆花丨熟女| 婷婷亚洲综合| 国产精品乱码久久久久久| 伊人91| 亚洲精品乱码久久久久久蜜桃麻豆| 天天操天天射青青草| 久久精品一区二区三区不卡| 91成人在线| 欧美se综合| 亚洲制服欧美另类内射| 躁躁日曰躁2020| 日本孕妇一区二区视频操逼免费看 | 日韩av色图综合| 熟妇艹鸡八| av黄图片在线观看| 97久久超碰国产网站| 鸥美中出| 国产成人在线观看网址| 67914亚洲精品| 欲色综合| 色综合av综合久久| 99re只有精品| 亚洲熟妇A V黑人| 9色在线| 色麻豆AV| 日韩在线观看字幕精品| 青木玲在线不卡| 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩啊V| 老熟妇乱轮| 五月天社区| 三级色影综合网| 国产一区二区三区久久久精品| 宅男91视频在线播放| 后入式五六区| 日本福利二区视频| 东京热毛片调教| 91久久精品国产| 三男一女不戴套的A片| 日韩精彩免费| 九七超碰| 老熟妇一区二区三区啪啪| 国产福利在线视频网站| 色欲久久99精品久久| 曰韩精品九九无码| 人人摸.人人色| 成人精品视频一区二区| 91成人精品在线播放| 美女高潮国产高清| 五十路熟女工口 | 翔田千里无码中出中文字幕| 日本一久是| 精品亚洲黄色片 国产精品导航一区二区 | 亚洲熟女综合| 日日操丁香五月天| 久久亚洲一区女同性恋中文字幕 | 黄色片,com| 亚洲中文字幕一区二区| 久草男人天堂| 精品一区96| 亚洲1区| 亚洲AV无码黄色强奸| 亚洲色阁| 欧美综合色,www| 久久久91福利姬| 日韩精品三区四区| 日韩精品黄片免费观看| 亚洲欧美一区二区网址| 97就爱干| 秋霞福利网| 亚洲美腿丝袜香蕉影视欧美成人| 97超碰中文| 99热国产精品| 91亚洲最新在线| 9丨久久九九九| 日韩一卡二卡三卡| chaopen97久久| 91天堂| 日日AAvv| 色图综合网| 三级激情网站| 99久久久久| 91在线免费观看处女| 精品97精品97| 日韩精品三级| 国产精品白丝在线播放| 日本欧美亚洲高清在线看| 天天干美少妇一区| 97 视频在线| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 欧美日韩情色一区二区| 精品无码久久久久久久杏吧| 天堂岛av| 亚洲高清综合网| 九九热只有精品| 超碰九九| 我想要啊 啊 啊| 熟妇操花| 亚洲国产精品无码AV在线| 亚洲精品日韩国产欧美| 人妻干天天| 日韩中文字幕国产| 超碰2017| 九九碰九九爱97超碰| 67914亚洲精品| 久久久久久久久久久久黄色 | 中文字幕色AV| 国产精品3| www.成人无码| 黄骗免费| AV一区观看| 97碰| 东京太热男人的天堂久久久| 超碰久久草| 午夜精品一区二区三区三上悠亚| 日韩综合色网| 无码直播久久久| 色婷婷在线视频| 午夜一区| 日本天天人人狠狠在线日美女 | 插穴性爱视频在线观看| 青椒国产97在线熟女| 琪琪精品免费一区二区三区 | 天天色黄色影院天天操| 美女操逼A A| 久久黄黄黄| 人人妻人人澡人人爽人人精品浪潮| 青青草玖玖爱| 亚洲丝袜诱惑| aaaa少妇高潮大片| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 日韩9999| 欧美精品宗合| 五月丁香啪啪啪| 午夜毛片高清免费不卡| 俞拍久久国应视频| 麻豆国产精品午夜视频| 高清国产无码av| 日本三级A片网站com| 日韩三级在线观看网站| 欧美日韩国内不卡| 久久天天躁日日躁狠狠躁 | 日韩人妻少妇 一区二区三区| 亚洲宗合网| 天天日夜干| yellow网站免费观看日韩高清无码| 欧美在线干| 刺激性视频黄页| 欧美九一精品久久久熟妇| 成人免费性爱视视| 最新一二三区视频| 久久久久夜夜夜夜| 一区二区三区四区色图| 欧美熟妇色| 手机看av网站在线看| 日韩中文字幕2020| 亚洲中文字幕精品一区| 亚洲天堂区| 超碰无码五月97| 日本羞羞的视频在线播放| 人妻日日干| 青青青草原| 嗯啊不要啊在线| 视频二区美腿制服人妻欧美| JULIA一区二区三区在线播放| 韩日巨乳美女免费视频在线观看| 日本人妻中文字幕精品| 亚洲色图加勒比| 99视频这有这里有精品| 亚洲色资源| 国产精品美女在线一区| 男人的天堂.com| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 丝袜亚洲综合| 超碰这里有精品| 久久色情| 亚洲欧美成人网站AAA| 色性荡荡荡荡视频| 最新国内自拍av免费| 91熟女综合| 日本日逼高清| 精品人妻一区二区三区免费视频| 伊人久久婷婷| 色在线综合| 97在线视频免费看| 日韩精品三级片长长久久| 欧美视频中文字幕区| 91在线免费精品视频| 日日A∨| 亚洲色综合| 99国产精品| 香蕉久久精品| 亚州精人品大香蕉| 国产精品探花视频| 在线视频 亚洲精品| 日韩图色| 九9热伊人| 国产九九久久久精品| 欧美伊人久久综合网| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | av网站国产主播在线| AV中文字幕三四五| a片 xxxx受爽视频| 色色青青久久| 嗯嗯,啊啊,国产精品| 日韩欧美视频青青| 美女黄频a美女大全免费皮| 熟女乱3伦999| 国产强奸乱伦欧美| 91狠狠| 日本精品人妻少妇一区二区| 五月丁香久久| 中文字幕在线观看丝袜| 乱伦日本色图AⅤ| 国产精品久久久久久久电影渣男| 国产欧美日产一区二区三区 - 国产欧美日 | 人妻熟女一区二区在线视频| 99夜夜操| www.acm成人黄色毛片| 2020中文字幕在线| 性感美女91影视| 97在线观看免费| 高清不卡一二三区视频......| 国产区91柔拿会所技师| 99久久综合网| 国产专区路线| 国产精品久久久久久夜夜夜夜| 91丝袜美腿片| 欧美情色贴图| 尤物AV免费网站| 亚洲精品九九九九九九| 999久久芭蕾| 欧美超碰在线| 青青操综合网| 亚洲最大91网| 丁香婷婷激情五月天无毒不卡| 欧美综合传媒| 精品一区二区三区国产| 日韩视频啪啪| 大香蕉丝袜一级片| 97摸视频| 久热91| 天天影视激情欧美| 深喉吞精| 乳欲人妻办公室奶水| 水野优香在线观看| 99热自拍| 午夜无码熟妇丰满人妻| 亚洲欧美不卡线| 啪啪视频亚洲第一| 亚洲色图殴美色图激情乱伦| 日韩一区二区精品视频| 91高清日| 岛园激情| 0755午夜福利视频| 最新中文字幕在线亚洲| 综合视频91| 亚洲精品成人动漫在线| 97AV爱| 精品一区二区三区18| 人人操,人人插| 最新中文字幕精品在线| 精品无吗久久| 国产精品久久久久无码Av网曝门| 欧洲色| 又大又大又大又粗爽高潮观看| 99热在线播放| 精品97久久| 日韩性爱高清免费视频| 欧美久久人妻少妇一区二区| 国产丁香精品露脸视频| 欧美日韩1234| 久久亚洲熟妇在线视频| 亚洲精品国产专区在线观看| 嗯嗯啊好大| 国产三级资源在线观看| 亚洲色图国产另类| 国产曰批免费观看久久久| 亚洲视频,小说| 丰满岳乱妇一区二区三区| 久久久禁| 国产综合网站在线播放| 久久嫩草国产成人一区| 色小视频蜜乳| 亚洲 欧美 第一页 | 久久线上视频免费看| 久久久草成人网站久久久草成人久久久草久久久| 欧美日韩系列| 伊人网av| 精品免费成人久久| 久久久久久午夜男人的天堂| 蜜臀久久久99久久久久| 97这里都是精品| 亚洲欧洲综合视频在线| 草草电影院| 蜜臀一二三区| 国产免费大片| 国产高清精品一区二区三区毛片 | 欧美热图99| 蜜桃传媒一区二区亚洲| 国产精品无码在线| 日韩成人高清一区二区| 九九九只有精品| 亚洲精品美女操逼| 丁香五月天啪啪| 免费的黄片有限公司| 蜜桃传媒一区二区亚洲| 国产精品无码在线| www.99中文字幕| 九九综合九九综合| 超碰色综合| 啪啪啪亚欧美视频| 九九九只有精品| 91爰爱欧美| 一区二区三区在线资源| 亚洲成人久久一区二区| 亚洲中文字幕在线视频一区二区| 伊人性在线视频| 亚洲综合校园春色| 熟女精品一区二区三区| 97国产成人精品免费视频| 一本色道久久天天射天天干| 久久久人妻| 五月天人妻综合| 精品人妻视频一区二区三区蜜桃视频| 日本高清一区二区在线| 国产黄色 A 片免费看| 亚洲精美粉嫩嫩泬在线观看| 丰满人妻无码一区二区三区| 亚洲va有码在线天堂| 强奸乱伦资源| 香蕉人人操tv| 欧美 亚洲 偷拍自拍| 无码137片内射在线影院| 视频一区二区免费在线| 免费又黄又裸乳的视频| A片 AV一级在线播放观看免费 | 中文字暮97| 91大神电影天堂| 日日干男人的天堂| 熟妇一区,二区,三区。| 91n欧美| 人人操,人人插| 日韩黄色一区二区三区| 久久久久久午夜男人的天堂| 亚洲一区日韩精品中文字幕| 一起草精品人妻| 囯产操逼片| 青青草在线成人视频| 大香蕉日亚洲日本亚大| 精…码一二三区| 在线观看高清AV| 日本综合久久| 啊嗯嗯啊好大好爽| 久久久久9999精品九九九| 综合少妇网| 欧 美 自 拍 偷 拍| 午夜色婷婷| 丰满搜索结果 -第18页- 久久高清无码| 国产深喉| 一级久久性爱视频| 久久久久网站-538在线视频-欧美永久乱码| 欧美精品,四区。五区| 国内一级精品| 在线看片国产精品每日更新| 免費黃色視頻觀看一| 亚洲精品国产精品乱码不卡| 四虎在线免费视频| 日本色色色视频| 国产精品久久久777| 色网在线| 琪琪精品免费一区二区三区| 97国产天堂岛| 吖在线不卡一区二区国产剧情| 成年男人的天堂| 成年人黄色视频免费| 亚欧精品久久久久久久久久久| 亚洲日韩黑丝| 免费久久一级毛片大黄| 五月丁香综合| 国产精品嫩草影院午夜两性| 欧美 传媒 麻豆 日韩 偷拍| A 天堂| 久久一二三四五六七八九区区区| 国产超碰国产97| 久久久久九九九| 国产超碰国产97| 久久加勒比| 老鸭窝亚洲毛片| 干我久操| 韩国嫰模上门援交视频| 蜜桃av综合网发布| 97爱爱爱| 天天摸夜夜操视频| 亚洲精品色| 欧洲在线性爱视频| 天天干,夜夜爽| 日日躁夜夜躁狠狠躁超爽| julia高潮后不停追击中出| 日韩欧美性爱电影在线观看| AV中文字幕剧情1区2区3| 黑人精品成人一区二区三区| 男人的天堂VA| 美女干逼2| 四虎影视在线| 午夜国产成人福利视频| 亚洲成人激情小说视频| 久久天天躁日日躁狠狠躁| 精品一区二区综合熟妇| 北京美女一区二区| 插入综合网| 人妻中文字幕精品无码| 无码操逼视频一下| 九月伊人中文字幕| 97超色| 91最新综合| 国产精品色| 大香蕉乱级| 国产成人亚洲精品无码最新在线| 蜜臀Av一区二区三区| 99re6国产精品99re| 26uuu国产| 国产精品无码论坛| 人妻偷拍一区二区三区| 日日超碰亚洲| 精品无码一区二区三区色欲| www.久久超碰| 国产嫩草精品A88AV| 99这里都是精品| 亚洲色悠悠久久88| 欧美色图在线视频少妇| 国产久久久久影院老熟女| 九九热男人天堂| 女色视频社区| 九九精品美女高溯喷水| 99热精品在线在线| 大香蕉伊人一区在线观看| 成人小电影网站tex| 国内精品久9| 亚洲图片小说欧洲| 啪啪啪综合| 磁力99AV| 欧洲人妻视频| 欧美v日韩v亚洲v最新在线| 成人青青草原伊人| 四虎免费看黄| 激情啪啪视频| 我想要啊 啊 啊| 97视频免费在线观看| 18禁免费视频| 日韩乱伦影音先锋| h无码动漫在线观看| 91色色色| 炮色五月| 国产又大又粗又长视频在线| 玖玖爱一区在线| 日韩99999| 精品视频久久| 中国人高清www色视频免费| 99热伊人| 最近2019中文字幕国语免费版| 91校园春色长篇| 麻豆精品三区视频| 亚洲天天操| 在线视频日韩欧美国产| 宗合情欲网| 中文字幕伊人| 极品人妻少妇综合| 夜夜精品视频| 亚洲自拍天堂| 一区二区首页| 亚洲狠| 51一区二区三区| 精品少妇后入一区二区三区四区人妻巨乳| 欧美性爱一区| 亚洲天堂2020| 激情六月婷婷| 伊色综合天堂色97| 97在线免费视频观看| 国产家庭乱伦表演| 99re视频在线观看这里只有精品| m欧洲一级午老| 亚洲成人无码影院| 精品熟妇视频一区二区| 黄色人人| 日日干夜夜欢| 国模无码一区二区三区在线| 亚洲天堂女优在线| 操一操摸一摸| 九九性爱网| 97网站在线观看| 亚洲成人免费中文字幕| 69精品在线| AV麻豆免费一区| 久久精品老司| 丰满人妻一区二区三区性色| 亚州日韩97| 国产亚洲精品无码三区| 1二区9| 天天操天天射天天日| 美女网站黄页| av天堂手机版追回| 久久久18禁| 国产男女无套视频免费观看| 精精品人妻一区二区三区| 国产av白丝| 精品国产91av一区二区三区| 久久精品人妻一区二区三区| 久久,精品一二三| 清纯唯美亚洲综合| 精品网站99999| 国产亚洲性生活视频播放| 啊啊啊啊啊啊啊啊啊啊在线观看| 无码伊人久久大杳蕉中文无码| 久久久久久九九九九| 97丝袜亚洲在线播放| 欧美成人性爱视频大全| 人人贴人人摸| 92一区二区| 97国产精品在线观看| 北野未奈加勒比av| 麻豆国产av网| 91精品久久综合熟女| 五月情色天| 国产肏屁眼视频| 天天透伊人| 91久操| 岛国视频免费在线观看| 久偷拍欧美日韩三区| 天天日日日射| 欧美午夜精品久久久久久3D| 一区二区三区视频在线观看免费| 九九免费影片| 天天影视91看看| 99最新日韩偷拍视频| 91丝袜在线视频| 日本人体九九九九九九| 色哟哟511老熟女| 亚洲αv一区二区三区| 婷婷久久久精品| 青操影院| Julia Annxxxxx| 中文字幕视频2区| 欧美综合站| 91xingse| 在线黄色污污网站| 99啪啪| 91女优在线观看| 色哟哟AV| 曰本特级特黄特色黄色A级网站高清在线免费看 | 青椒国产97在线熟女| 黄片直播三级黄片两女一男| 99久久网站| 午夜男人天堂| 亚洲精品 欧美精品| 18禁久极品美女久久哦哟呀!| 国产精品午夜福利| 欧美综合在线91| 欧美综合综合| 亚洲无码偷拍| 精品国产www久久| 亚洲日韩AV视色| 天天夜夜久久| 午夜九九| 国产午夜福利专区综合| 亚洲黄色视频在线观看视频| 丁香五月激情综合国产| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 99re69综合| 色眯眯射| 69天堂| 狠狠色婷婷7777久| 国产成人天堂| 97超碰站| 极品极品色影院| 免费成人在线熟妇网| 日本布卡一区二三区| 亚洲成人在线高清| 调教熟妇 久久久久久| 亚洲drav色图| 翔田千里无码中出中文字幕| 精品大久久| 亚洲色图日韩丝袜制服一区二区五月在线| 91肉片| 温婉少妇玩3p| 91热色| 少妇一区二区三区| 青青草中文-久久青草精品一区二区三| 亚洲淫乱骚妇AV| 久久黄色视频一区二区三区 | 超碰在线一区二区| 久久久18| 国产精品伦理| 日本三级中国三级99人妇网站| 蘋果手機免費看成人Av| 波多野42部无码喷潮在线观看| 亚洲人精品久久久喷水| 美女诱惑一区| 静品嫩模一区二区| 九九九久| 爱爱60秒免费视频| 久久激情婷婷| 中文字幕精品久久久久人妻红杏ⅰ| 一中国女人毛片水真多| 一区二区激情国产熟女| 超碰97丝袜| 国产大学生高潮在线播放| 午夜传煤十二区精品| 极品色www影院| 国产精品操| 亚洲激情 欧美色图| 国内毛片无遮挡国产| 操久久久久久| 欧美乱欲| 九一综合精品视品av| 中文字幕一区二区三区字幕| 农村妇女精品一区二区| 国产操伦| 九九色色| 大香蕉性欧美| 中文97国产| 久9视频| 亚洲熟女av中文字幕| 夜夜 中文视频rt| 蜜臀精品1区2区| 9久精品| 亚洲五码一区二区三区| 美女裸体无遮挡永久免费观看网站| 亚洲中亚日激情视频| 中文字幕性感少妇av| 成人a大片在线观看| 电家庭影院午夜69久久夜色精品国产69乱| 国产精品3| 天天舔天天| 激情五月婷婷| 一区二区三区探花在线观看| TS人妖另类精品视频系列| 久久久九九| 欧美日本视频一区| 97精品一二区| 色哟哟国产精品免费网址| 亚洲国产精品99久久久| 日韩精品资源专区二区| 人人操人人色网| 伊人热综合| 天天综合网~91| 国产精品久久久九九九| 久久精品中文| 久久久熟妇熟女国产| 久久久一区二区三区四曲免费听| 2020国产精品| 极品综合| 人妻精品一区二区在线| 熟女人妻一区二区三区| 麻豆啪啪啪视频| 欧美色色色| 亚射在线| Aa东京男人的天堂| 日本在线伊人啪啪| 天天干人人看综合| 日本韩国国产精品一区| 久久草草亚洲蜜桃臀| 无码人妻丰满热妇又大又粗| 视频分类 国内精品| 亚洲色吧网| 久九九九九九九热| 欧美黑人与女人91~| 99九九久久| 天天超级碰碰碰| 欧美 日韩第一性色| 伊人国产成人av网站| 欧美一级在线观看成人| 午夜激情成人在线观看| 欧美国产日韩高清在线| 神马久久久久眼| 欧美熟妇操操视频| 亚洲少妇色图自慰直播| 91精品网站| 无码精品人妻一区二区三区妖精| 乱精品一区字幕二区| 伊人97色天使| 大香久久| 懂色Av| 99热这里| 亚洲999综合| 成人精品久久久午夜福利| 逼逼逼逼操操操操操操操操操午夜剧场| 99re在线观看| 国产性刺激| 色吧91| 丁香五月影院| 亚洲色图综合网| 色欲av一区二区三区蜜芽| 老鸭窝亚洲毛片| 日本色日夜干| 隔壁邻居波多野结衣中文字幕| 殴美,日韩国产伦精品| 亚洲熟女综合一区二区| 国产欧美一区激情交| 日产精品久久久一区二区| 岛国网址国产 | 亚洲自拍欧美色综合| 蜜臀99久久精品久久久懂爱| 欧美性爱十八禁| 欧美午夜色妇色鬼| 亚洲第一页第二页激情| 中文字幕一区二区视频在线观看| 久操综合在线| 国产呦精品系列在线观看| 香蕉一区二区三区在线视频| 国产一级舔足在线观看| 亚州精品丝袜-不卡成人免费| 免费视频在线一区二区不卡| 秋霞视频一区二区| 伦理第一页| 成人影 天天操 亚洲| ,成人免费啪啪视频| 综合网~91综合网| 九月激情婷婷| 91人妻视频在线| 青草精品视频一日本久久久久网站| 床上啊啊啊一区二区三区| 96精品久久久久久久久久| 香蕉久久精品| 韩国一级婬片A片AAAAA| 人人操人人摸人人骑| 91国产精品在线看| 操逼视频色| 一本色道综合久久欧美日韩精品| 国产天天骚| 97精品综合久久| 91美女在线观看| 久久九九精品一区二区| 日日干日日操五月天伦理视频| 国产精品激情久久久久久久| 97超碰美女| 97视频免费在线| 超碰人妻久久人妻中文97| 丁香五月天堂网| 国产日韩在线播放av| 啊啊啊啊啊在线| 久久精品女同亚洲女同13| 欧美猛交黑寡妇中文字幕| 91oumei| 精品区国产区一区二区三区| 91色花堂| 秋霞久久亚洲精品成人| 草草草视频| 东京太热男人的天堂久久久| 91麻豆天美国产欧美日| 99精彩视频| 日韩图区 偷拍| 人人操,人人插| 嗯嗯啊啊啊好爽| 日韩中文字幕熟妇人妻| 欧美 亚洲 制服 精品| 国产美女高潮叫床视频| 男男H黄动漫啪啪无遮挡网站| 日韩一二三区| 久久久免费视频18| 国产精品电| 9Ⅰ超碰| 国内外内射高清视频| 超碰九7免费| 免费人成毛片乱码|