日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
啊啊啊好舒服好爽啊啊啊视频| 1024精品在线| 久jiu久神马影院| 五月婷婷影院| 99热这里都是精品| 国内精品999| 99久久久久| 伊人成人中文字幕久久网| 日本三级中国三级99人妇网站| 色五月婷婷麻豆在| 七久久久| 欧美日韩婷婷中文| 欧美黑人性猛交91| 本道在线| 欧洲欧美视频一区二区| 狠狠躁久久躁| 色婷婷国产精品一区在线观看| 国产精品天堂| 国产成年女人免费视频播放a| 91av一区二区在线观看| 女人午夜视频777| 无码操逼网| 激情综合五月| 天天综合麻豆视频| 人妻一区二区三区熟女| 人妻81p| 色婷婷九月| 一及黄久一点| 激情在线青青操| AV和黑人在线播放| 香蕉一区二区三区在线视频| 97超碰精品成| 亚洲 日本 国产 综合| 丁香五月婷婷色| 亚洲影视综合网| 大香蕉 222| 欧美精品在线观看| 午夜精品久久久久久久| 99色婷婷中文字幕乱色| av在线免费一区二区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 火箭成精品视频884必出精品| 日韩av不卡在线观看| 人妻在线大香蕉| 中日亚韩免费视频| 97ai亚洲| 午夜精品久久久99| 亚洲1区2区三区高清中文字幕| 亚洲人码13| 六月婷婷色综合| 99热在线观看| 天美精品一区二区三区四区在线观看| 国产亚洲中文不卡二区| 青青草成人视频在线观看二区| 久久精品欧美一区二区三区不卡| 91热色| 天天cao在线| 亚洲日本激情| 久久中文字幕人妻熟av女蜜柚| 人妻精品视频一区二区| 少妇综合| Julia Annxxxxx| 丁香五月天啪啪| 黄色无码高清黄色无码网站| 99xav| 丁香五月天激情综合| 试看60秒 爽| 好屌色综合| 啪啪综合网| 欧美AAAA黄片| 亚洲欧美综合| 亚洲久久天堂| 日本蜜桃| 五月婷婷综合在线| 91干熟女| 久久精品欧美一区二区三区不卡| 97美日韩视频| 加勒比性爱成人在线| 蜜臀国产AV中文字幕| 2021久久国产综合精品青草| 欧美性91| 日日AAvv| www.男人天堂| 日韩钢筋无码高清啾啾啾| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 91精品久久久| 亚洲91网| 加勒比av网| 蜜奶av| av九九| 91c色| 亚洲日韩国产精品| 强被迫伦姧在线观看无码网站| 中文欧丝袜诱惑| 国产一级久久久| 天天操狠狠日夜夜干超碰撸com视频在线观看| 中文字幕一区电影在线观看| 国产偷拍自拍在线视频| 国模无码人体一区二区三| 国产在线激情| 啊啊啊轻点在线观看| 麻豆福利视频导航| 一个人在线看的黄色电影网站| 激情专区综合| 成人性爱电影网| 亚洲最大的综合性av| 精品熟妇视频一区二区| 18禁网站在线播放| 亚洲av无码成电影在线播放| 中字幕人妻一区二区三区| 天天射夜夜操| 色综合国产在线观看| 伊人九九九| 日本淫穴在线| 狠狠2050在线观看| 99黄页网站| 美女啪欧美一区| 日韩乱码Av| www.狠狠干.coom| 综合色色婷婷| 九九九九久久久| 性色一线| 日韩精品人妻中文字幕有码午| 久久久蜜桃一区二区三区| 99热只有这里有精品| 欧美日韩国产高清在线一二三区 | 加勒比AV网| 精品女人999| 99性爱视频| 成人三级片一区二区三区视频| 中日韩一区二区三区欧美| 久久这里都是精品| 日本一区二区三区四区五区六区七区八区九区| 大香蕉综合在线| 国内一级精品| 亚洲强奸乱伦影视网| 日本熟妇色熟妇在线视频播放| 亚洲高清在线| 91色婷婷综合久久中文字幕二区| 99婷婷一区二区| 欧美精品久久久久久久丰满| 天天天天干| 国产乱婷婷精品二区三区| 亚洲不雅视频1区二区| 免费啪啪一级视频| 这里只有精品视频在线| 首页亚洲国产高跟丝袜诱惑视频| 综合国产97| 大香伊人在线一区| 欧美日韩狠狠爱| 99re在线视频| 97视频免费在线观看| 亚洲欧美成人网站AAA| 一本久道久久综合狠狠爱一密臀精| 97欧美综合| 高清国产无码av| 国产高清MV操逼视频| 日韩视频啪啪| 丁香五月天婷婷姐| 欧美综合自拍亚洲综合图| 九九热三级片| 国产成人一级av88| 精品超碰中文在线| 一区二区三区四区在线不卡| 97免费视频在线| 久久99草| 全免费a敌肛交毛片免费| 啊啊啊啊好大好硬啊啊啊啊啊 | 亚洲国产综合久久天堂| 亚洲无线观看久久| 欧美亚洲日韩16色| 亚洲综合113页| 精品久久久一本一道| 天天看天天干| 欧美丝袜中文字幕07在线| 欧美曰韩国产精品| 久久老熟女| 中文字幕乱亚洲美女精品一区| 福利天堂| 人人干黄色| 色呦色呦色精品| 综合情欲网| 亚洲美乱| 中文字幕一区日韩精| 欧美三级中文字幕hd| 亚洲AV麻豆Aⅴ无码电影一| 久久久久久裸体| 97干日韩| 99re99在线视频| 欧美日韩另类在线播放| 啊啊啊操一区| 精品国产乱子伦一区二区三区,精品一| 熟妇乱伦一区二区| 免费观看欧美日韩操逼视频| 一二区在线观看视频| 尤物视频一区| 欧美久久久| 边做饭边操逼逼| 伊人成人中文字幕久久网| 日本一级不卡一二区| 久热影视| 九X超碰| 凹凸精品熟女在线观看| www.狠狠| AV中亚| 色色丁香| 国产女人视频三四五区| 嗯啊啊啊轻点视频 | 日本丝袜人妻内射| 日本九九久久99| 国产视频一区二区三区在线免费观看 | 久操av在线| xxx0国产在线播放| 国产精品3| 国产欧美日韩精品中文| 大香蕉男人的天堂| 日韩丰满熟妇| 国产嫩草精品A88AV| 欧美精品日韩一区二区| 亚洲综合嫩| 久久亚洲av成人无码国产| 怡红院亚洲怡春院av| 精品国产一级久久| 欧美 亚洲| 婷婷久草一区二区三区| 日本成a人v网站在线观看| 97视频观看| 日韩欧美亚欧在线视频| 久久久久9999妇女| 天天爽人人综合免费7799| 深喉吞精| 宗合情欲网| 亚洲毛片基地专区| 欧美夜夜骑视频| 人妻日日干| 超碰久草| 九九成人精品| 浪人综合网| 久99在线免费观看视频| 啊啊啊用力在线观看| 国产精品高潮久久久无码| 欧美亚洲丝袜美女电影| 久久久久亚洲?V片无码V| 亚洲系列欧美| 九九九九九九九精品视频| 国内偷拍精品一区二区| 涩涩久久精品| 亚洲色图在线视频| 亚洲系列第一页| 欧美激情内射| 一级黄碟在线观看| 品亲网欧美品亲网| 999久久久精品国产| 久久久精品电影| 老司机免费视频在线91| 青娱乐导航AV| 婷婷五月综合在线| 狠狠操官网| 亚洲图片视频小说| 午夜天堂精品久久久久91| 蜜臀久久99精品久久久久久无删减 | 蜜臀在线视频| 亚洲久草AV色图| 色哟哟的毛片| 国产精品一级特黄aaa大片在线观看| 欧美色97| 亚洲色图加勒比| 日本视频一区二区三区| AAAA欧美日韩| 久久久亚洲熟妇资源| 久草精品热视| 长长久久88视频| 男人a天堂手机在线版| 中文字幕精品码亚洲| 九九热精彩视频| 涩涩五月天| 四虎影视永久在线免费| 国产97亚洲| 久久久天美| 久久偷拍人| 亚州伊人色综台| 美女极品一区二区三区| 鸥美插入视频| 久久线上视频免费看| AV在线播放网址| 亚洲成人性爱在线观看| 一起草日韩| 翔田千里A片一区二区| 亚洲国产中文字幕| 超碰97欧美日韩| 欧美性爱在线无码| 伊人影院综合是一个与深夜成人在线| 久久专区| 色噜噜狠狠色综无码久久合欧美| 精品丰满熟妇人妻一区| 蜜桃臀一区二区三区久久| 国产成自自拍在线观看| 天美av在线观看| 婷婷五月在线视频| 九九热最新| 久久婷婷亚洲| 视频二区美腿丝袜制服人妻欧美| 婷婷99| 亚洲AV麻豆Aⅴ无码电影一| 白嫩91在线亚洲| 欧美天天在线| 亚州五月| 天天久久| 久久东京热久久| 国产精品操| 欧中日成人免费影视| 中文字幕精品免费一区二区| 色97综合中文字幕| 偷拍新久久| 1区2区3区中文字幕日韩| 99999精品视频| 亚洲精品欧美专业| 伊人一区二区三区| 日本ZZ高免费A级视频| 丝袜色综合| 夜夜黄| 60秒不遮不挡| 国产女同在线观看视频| wwwxxx日本爽| 欧美午夜一区二区三区| 香蕉婷婷| 水澄无码AV| 蜜臀久久在线视频| 校园春色 亚洲| 无码人妻一区二区三区色欲aⅴ| 亚洲欧美中文一区二区三| 97亚洲综合影院| 97综合在线| 大色综合| 国产路线专区| 欧美91变态| 97久久精品亚洲| 日日日日日| 久久久久久久91| 国内一区二区免费| 精品亚洲黄色片 国产精品导航一区二区 | 内射夫妻三片| a级理论午夜日本| 无码 黑人一区二区三区| 美女操逼福利视频| 色香综合天天影视综合| 国产9熟妇视频网站| 亚洲欧美激情小说| 伊人嫩草| 欧美熟妇精品黑人巨大91| 亚洲精品亚洲人成人网| 天天爱综合网| 96久久久久| 久久久亚洲Av| 五月婷婷丁香| 91精品免费| 97手机日韩| 一二三四视频中文字幕在线看| 亚洲日韩美女中文字幕乱| 亚洲无码99| 成人在线永久| 97精品一区二区视频在线观看| 操逼网站视频漫画国产| 精品视频日日夜夜| 少妇二级| 亚州Av天美传媒| 亚洲 欧美 精品专区 极品| 秋霞蝌科网日本一区| 成人一区二区三区四区| 久久五十路熟女人妻| 久草视频在线视频在线视频在线观看| av三级电影在线播放| 亚洲丝袜少妇在线| 亚洲操操操无码| 免费在线看黄片av| 国产亚洲精品第一最新| 麻豆福利视频导航| 农村女一级毛卡片| 五月丁香影院| 色97欧美| 久久久久久大| 国产欧美亚洲精品a第2页| 青青草精品| 麻豆AV短剧| 丝袜喷水在线| 亚洲日韩青青草色月| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 色呦呦、国产精品| 欧美亚洲国产自久久| 91九久| 黄资源| 九九热re99re6在线精品| 亚洲一二三四区| 日韩欧美成人午夜福利| 99色视频| av久日| 凹凸 69堂 在线播放| 国产精品禁久久久精品| 日日不卡av| 人妻81p| 伊人AAA| 欧美日韩国产男人| 一区二区亚州激情久婷婷欧美| 九九九九精品精| 无码精品久久久天天影视| 婷婷综合五月天| 国产乱人妻精品入口| 午夜爽爽爽| 欧美劲爆视频一区二区| 精品性爱久久视频| 中文操逼字幕| 大香蕉宗合网在线| 日韩猛交| 日韩欧美女优电影| 亚洲在线91| 麻豆国产免费影片| 啊嗯嗯啊好大好爽| 日本三级网页| 久久骚| h无码动漫在线观看| 蜜臀亚洲中文| 国产黄色视频久久| 一区二区三区日韩欧美 | 日韩在线视频1234| 大肥女高潮bbwbbwhd视频| 色99色| 国产精品白丝AV| 99久久久99久久91熟女| 2017,超碰| 蜜臀国产AV中文字幕| 狠狠干91| 青青草在线视频欧美| 亚洲性综合11| 干婷婷综合网| 久久日韩毛| 欧美真人抽搐一进一出gif| 久操九九九九| 国产又猛又粗又爽又黄| 在线免费观看日韩一区| 久久精品99久久久久久| 精品无码一区二区| 亚洲色图欧美视频| 性爱乱伦网址| JIZZJIZZ国产精品喷水| 国产成人五月天丁香花| 蜜臀在线免费观看在线免费观看| 嫩呦国产一区二区三区AV| 劲爆欧美人妖三区91| 久久99精品视频| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 国产精品另类| 久草婷婷| 国产按摩一区二区三区| 秋霞网—男女啪啪亚洲免费体验区 | 色色网91| 亚洲 欧美 日韩 国产一区二区| 丁香色婷婷| 午夜120视频在线观看| 污电影在线观看| 亚洲五区熟女| 久久草草欧美精品| 日本操BAV| 翔田千里A片一区二区| 伊人97| 国产精品午夜福利视频| 99re69综合| 99热免费| 91狠婷| 99热免费| 噜噜噜在线视频| 国产成人网| 欧美激情黑人| 日本网色| 毛片久久| 亚洲视频二区| 九九九九九精品十六| 久久久久久午夜男人的天堂| 婷婷尹人大香蕉免费| 人人摸人人干人人拍97| 久草视频在线视频在线视频在线观看 | 久色网| 十八禁视频网站| 717影院理论午夜伦八戒| 五月婷婷六月丁香网址| 99老司机精品视频在线观看| 黄色网址在线免费观看| 日韩欧美中文日韩欧美色| 丰满人妻一区二区三区四区| 国产AV无码AV| 五月婷婷深深爱| 精品国产自在在线99| 亚洲中文字幕有码视频一区二区三区| 欧美久久九九| 亚洲另类久操网| 日本999精品视频| 欧美97视频| 强乱老妇中文字幕| 欧美一区二区男人天堂| 亚洲色图尤物视频| 国产做?爰片久久毛片?片美国| 伊人色综合网电影| 亚洲夜夜欢无码一区二区| 久久麻豆一区二区| 国产 日韩,欧美 自拍| 超碰97人妻免费在线| 国产大学生口爆吞精合集| 成人网址在线观看| 丰满人妻-区二区三区免费| 国产精品欧美激在线| 99999这里都精品| 91亚洲欧洲| 国产精品呦一区二区三区| 日本肉体xxxx裸交| 欧美大片天天看| 婷婷激情五月综合| 久久青青草原免费视频| 激情综合五月天| 大屁股熟女一区二区三区| 熟女91网站| 国产av尤物| 精品欧美А∨无码黑人大荫蒂 | 精品69网| 天天躁日日躁XXXXYY| 一区二区三区在线美女| 亚洲男人bt天堂| 久久久久久无码人妻中文字幕| 亚洲成人贴图| 欧美78p| 偷拍片久久| 欧美性生活免费网| 成人热久久精品| 精品日韩人妻视频| 亚洲综合小视频小说在线观看 | 人妻人妻天天碰| 黄色激情电影在线观看| 日欧美色| 一个国产在线综合网站| 99综合网| 人人性爱视频免费| 国产精品小视频一区二区三区| 国产400孕妇孕交群| 成人av免费观看| 夜夜躁狠狠躁日日躁av| 亚洲日产专区| 亚洲国产精品成人综合| 亚洲色性情三级| 国产一区二区三区中文字幕| 天天久久久久久| 99热这里只有精品9| 97免费视频在线| 刺激性视频黄页| 国产一区自拍欧美日韩| 情色大香蕉| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 超碰人人乐97| 亚洲在线| 91麻豆天美传媒HD| 久久久91| 日本熟妇人妻中出视频| 欧美高清91| 91色黑人少妇| 天天做日日做| 九九精品美女高溯喷水| 国产农村妇女精品| 青青青草伊人精品| 草b在线 | 国产精品麻豆成人av| 97精品国产精品免费观看| 操逼视频免费日韩无码| 欧美亚洲情色| 天天综合香 ld视频| 欧亚免费视频| 欧美影院一区二区三区| 国产AV线| oumeizonghese,www| 7777奇米影视久久| 熟女精品日韩一区二区三区| 五月天加勒比啪| 嗯……啊…嗯嗯…啊…好舒服| 久久久精品视频免费观看| 青娱乐国产剧情av一区| 野狼福利社区| 99热婷婷一区二区三| 少妇色综合| 亚洲国成人情色好看电影| 国内外色色色色色成人视频| 日韩成人电影AV| 亚洲最新a在线观看| 亚洲午夜精品久久久中文影院| 日本黄页视频在线观看| 日韩啪啪啪视频| 色婷婷综合久久中文字幕雪峰| 麻豆精品久久久久久久| 99精品网| 精品久久久久9999| 亚洲色图欧美色图制服丝袜| 97日视频| 亚洲高清男人天堂| 岛国小电影| 久偷拍| 亚洲欧美日韩偷拍色图| 人妻精品一区二区| 人人操人人色网| A级毛片在线看免费| 国产成人精品必看| 欧美一区二区亚洲天堂| 丁香五月综合| 东北女人| 婷婷8月天青娱乐| 国产高清成人免费视频| 国产v片在线免费观看| 国产精品极品美女视频| 久久欧美性爱视频| ′ !γ}丶。。久久精品欧美一区二区三区| 五月天婷婷综合网| 欧美后入视频| 992视频一区| 熟女这里只有精品6| 国产中文字幕在线点播| 久久色情| 97亚洲一区| 久久人妻一区二区三区高清| 久久AV无码AV| 成人国产精品三级A片| 日韩紧密久久| 欧美日韩不卡传媒| 成年女人黄网站| 有码免费观看| 花花AV导航| 人妻激情在线视频| 操东北女人| 99热精品在线在线| 一区二区三区四区五区久久久久久| 男女一进一出视频久久| 91粉嫩萝控精品福利网站_精品影音先锋国| 丰满翘臀美女影院视频| 亚洲精品91| 国产高清精品一区二区三区毛片| 日本91白丝| 野狼福利社区| 色性综合| 操一操摸一摸| 天天舔天天 | 翔田千里AV无码秘 三区| 国产激情视频在线观看| 久久精品国产97欧美精品亚洲| 亚洲少妇综合在线播放| 2000亚洲男人天堂| 在线免费观看日韩一区| 亚洲情色在线| 日韩av一级黄片| 狠操91,com| 久久久久婷婷| 天堂性色| 韩日男人的天堂| 99在线免费公开视频| 日韩天天本| 青青草久久| 国产精品无码久久久久2028| 日日夜夜模| 亚洲欲| 久久97资源 网| 啊啊啊 在线| 日日骚一区二区三区| A 天堂| 天天干一干| 丝袜 中出 制服 人妻 美腿 中文字幕| 欧美黄片欧美黄片xxx| 青青欧美在线| 一区二区三区美女超清| 色噜噜人妻丝袜AV资源| 欧美的性爱网站免费| 黄色十八禁网站| 高清无码人妻久久久一区二区三区aⅴ| 第一高清av中文字幕| 一本大道青青| 激激五月| 亚洲综合网91| www.狠狠| 国产 日韩,欧美 自拍| AV天天综合| 日韩中文字幕视频| 无码久| 黄色高清无码无码破解免费暗网| 99久久久| 男人的天堂2018.| 无码不卡亚洲成?人片| 久久久久久久 九九九九九九九| 搡老熟女免费视频 | JIZZJIZZ国产精品喷水| 中文字幕av片| 欧美人妻久久精品二区三区 | 日韩无码嘿咻黑热久| www激情| 337p大胆噜噜噜噜噜91Av| 国产一区二区精品久久99| 国内一区二区免费| 1769成人国产精品视频| 久久大黄片| 伦激情人妻另类人妻| 美女尤物人人操| 啊啊好多水| 婷婷激情五月天小说网| aa片毛片| 91痴汉| 久久久久国产一区二| 久久毛卡| 免费?级毛片无码?∨蜜芽试看| 精品人妻一区二区三区视频| WWW美腿丝袜香蕉中文| 99亚洲人人| 日本孕妇孕交| 国产久久天堂资源| 97免费在线| 久九干| 三级特黄60分钟播放| 欧美亚洲激情小说| 99只有精品| 国产激情在线观看| 综合色99| 青青草在线视频播放器| 亚欧韩av| 欧美天天综合在线| 婷婷色综合欧美日韩| 在线有码中文字幕| 99超碰网| 亚码激情| 60秒不遮不挡| 少妇熟女一区二区三区| 久久啊啊啊| 丝袜人妻av一区二区| 性交一区二区在线播放| 亚洲欧美日韩中文播放| 另类亚洲一区二区三区| 农村妇女一级二级三级视频| 国产又色又粗又黄又爽| 色官网色综合| 欧美成人精品一区| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 亚洲在线A| 欧美日韩天堂| 久久欧美1卡2卡3| 丝袜美腿诱惑亚洲欧美视频在线观看 | 国产精品午夜福利| 操淫穴亚洲五月丁香| 伊人久久大香线综合无码| 天天操狠狠日夜夜干超碰撸com视频在线观看 | japan日本高清乱xxxx| 1769一区| 黄色片A级一区二区三区| 国产精品又黄又猛又粗| 无码高清操逼| 婷婷在线视频在线观看| 九月激情婷婷| 久久黄色视频一区二区三区 | 亚洲色图20p| 欧美黄色图片| 亚洲1区| 国产午夜福利视频在线| 色牛牛AV| 精品国产一区二区三区四区在线看| 伊人网青青| 国产性久久久| 日日操丁香五月天| 黄片aaaaa一区| 人妻99p| 色妺妺在线视频| 一级aaaaa欧美中文字幕录像片| 天堂九九九九九九九九九| 中文字幕无码不卡啪啪| 中文字幕精品日韩中文字幕| 亚洲瓯美色图| 蜜桃狠狠色伊人亚洲综合网站| 精品久久久亚洲AV成人网站| 99热大香蕉伊在线| 黄片aaaaa一区| 天天插夜夜爽| 亚洲国产婷婷在线播放| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 成人毛片免费| 婷婷伊人一区| 亚欧色图在线激情| 九九无码久久精品视频| 风月影院十八禁| 屌色在线97视频| 日韩熟女精一区二区三区不卡| 丁香六月婷| 9久热这里只有精品| 九月丁香| 91爱| 中文字幕视频2区| 欧美激情综合网| 91人妻丝袜无码| 眼镜人妻101.com| 老女人碰碰在线碰碰视频| 亚洲无码国产精品久久| 国产乱人妻精品入口| 成人aⅴ一区二区三区| 四季AV综合网址| 福利社区午夜一区二区| 97超碰中文字幕| 婷婷大香蕉| 综合色91| 99国产在线绯色一区| 日韩性爱毛片操骚逼| 人妻熟妇久草在线| 欧美成人性爱视频大全| 亚洲久9| A啊啊在线观看| 午夜精品久久一区二区| aaa淫乱视频| 亚洲黄网在哪免费看| 麻豆熟妇乱妇熟色A片在线看| 色999亚洲人成色| 中文久久| 国产免费一区| 女色视频社区| 熟女一区二区| 欧亚性爱在线视频| 亚州精品人妻一二三区| 国产精品亚洲美女久久久久| 中日韓欧美高清| 男人把坤坤插入女人的下体 | 久草色在线观看| 玖玖97综合| 欧美一区二区三区另类精品| 久区视频| 99综合自拍| 日欧操屄视频| 东京热视频网| 中韩中文字幕在线观看| 国产原创精品| 天天干人妇| 被操高清无码视频| 欧美综色欧| 色婷婷在线视频精品导航| 国产 v乱码一区二| 丁香婷婷五月| 综合91网| 中文字幕五区| 亚洲蜜桃V妇女| 国产极品粉嫩馒头一线天av| 天天天操天天天爱| 色综合潮| 天天综合网国产| 欧美一级A片在线看视频性色| 91伊人| 亚洲中文sv| 中文字幕女同在线| 97干com| 精品久久人妻成人网| 成人av福利在线观看| 中文乱码字幕观看| 日韩欧美中文字亚洲慕| 曰本精品久久久| 日本三级韩国三级99| av天堂5| 清纯唯美亚洲综合| 亚洲综合在线第一页| 久久综合九九| 人妻丝袜一区二区三区在线| 丁香五月电影| 人妻第一页| 久久久婷| 欧日a| 麻豆a'v电影| 97超久碰| 99精品免费| 极品极品色影院| 亚洲国产成人精品无码专区| www.99色| 超碰97中文| 欧美乱欲| 1240青青草一区二区三区视频天爱| 97日韩欧美亚洲| 91色堂| 亚洲综合一| 成熟熟女国产精品一区二区| 男人天堂综合| 中文字幕丝袜人妻| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日韩欧美aⅴ综合网站发布| 国产无码精品久久久久久| 亚洲精品九九九| 激情色图| 日韩色香| 国产白丝av| 国产日韩精品suv| 精品欧美不卡在线播放| 91人人| av影片在线观看不卡| 9久久久久| 1769成人国产精品视频| 干少妇视频| 国产精品乱码久久久久| 欧美亚洲成人在线一区二区三区| 少妇被玩视频二三区| 91黑丝少妇| 天美精品一区二区三区四区在线观看| 99re在线观看| 久久亚洲色图中文字幕| 精品国产乱码久久久兰草影视| 青青伊人加勒比海| 9 1超碰九色| 日日躁夜夜躁狠狠躁超爽| 高清无码91| 日韩视频中文字幕| 可以免费看黄片的视频| 日韩亚洲中文字幕在线| 白嫩少妇| 黄人人操人人操| 逼逼逼逼操操操操操操操操操午夜剧场| 91精品人妻电影| 久久久五月天| 久久色激情一区二区三区| 日日干夜夜操视频h| 亚州大图综合色图| 后入国产| 天天影视色香欲综合网小说| 在线观看免费视频国产| 婷婷AV一区二区三区| 国产又粗又又黄又猛| 久极品在线观看| 亚洲美女 晚间男人天堂| 国产精品久久久久久久久久二区三区| 肥臀熟女一区二区三区视频| 欧美日韩亚洲天堂| 眼镜人妻101.com| 国产一区二区在线电影| 午夜天天碰综合视频| 国产亚卅97| 91亚洲黄色网| 翔田千里Av在线| 8050午夜少妇无码| 日韩伦理视频| 91女优在线观看| 欧美日韩在线小说| 国产精品久久久久久久黄无码 | 立川理惠被中出无码| 国模不卡| 四虎影视在线| 久久99深爱久久99精品| 91搡老女人老妇女老熟女歌词翻译| 亚洲激情在线观看一区| 99综合| 一区二区 日韩 欧美 国产 传媒| 久久精品高清无码一区| 国产成人久久精品蜜臀| 亚洲欧综合另类无码一区| 天天日天天爽| 丝袜美腿校园春色| 麻豆精品.欧美精品.日韩精品.| 一类av片在线看| 九九热九九热| 激情婷婷丁香| 一级岛国大片| 日韩乱码Av| 亚洲美腿丝袜香蕉影视欧美成人| 欧美激情视频在线一区| 综合色久| 久久男人精品| 日本伦理一区二区| 91精品人妻一区二区三区蜜臀| 国产对白刺激视频| 亚洲色堂免费视频| 外国免费性情大片| 亚洲色图欧美色图日韩色图| 丝袜夫妻自拍| 春色91| 亚洲四虎熟女精品| 大香蕉青青9| 国产兽交视频在线播放| 96精品在线| 亚洲综合伊人无码久久| 熟女色综合久久| 情色五月天久久久| 日本孕妇一区二区视频操逼免费看 | 91 亚洲 欧洲| aV中文麻| 亚洲熟女中文字幕在线| 五十路人妻在线| 日韩射精| 另类小说五月天| 在线天堂资源亚洲| 午夜精品视频777| 热99这里只有精品| 另类一区| 欧色综合| 日产精品久久久一区二区| 欧美大香蕉久| 思思热在线观看| 天天看特黄的免费网站| 9久久久久久| 黑人狂躁日本妞一区二区三区| 人妻久久久久久| 好吊色一区| 91亚洲欧美激情| 国产区91柔拿会所技师| http://qxhbdz.com| 亚洲综人| 欧美色www亚洲国产阿娇要播| 日本三级R| 啊啊啊啊啊好大好舒服想要| 天美传媒婬乱在| 国产精品蜜乳AV| 国产四虎在线| 欧美天天综合在线| 日本www操操操| 久久久久久AⅤ无码免费肉站| 精品一区二区啪啪啪| 屁股久久久久久久久久| xxx亚洲午夜天堂| 国产隔壁老王影院在线| 精品中文日韩字幕视频| 国产Aα| 老鸭窝成人| 欧美夜夜狠| 亚洲欧美国产中文视频| 大吊色| 嗯啊视频免费在线观看| 九九热午夜欧亚国产视频| 婷婷丁香在线| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 激情综合网一盗摄| 亚洲黄色a级片| 色网亚洲人| 狠狠中文字幕| 91国产操逼视频| 是还免费视频1727我| 狼人久草| 日本操逼aaaaa| 超碰97在线中文| 欧美亚洲中文字幕| 久久久久久久久999| 亚洲天堂自拍| 激情专区综合| 国产又粗又大硬免费色网视频| 欧美中文字幕一区| 久久久久国产精品片区无码直播| 97国产|免费| 免费精品AB| 色噜噜婷婷| 男人天堂无码| a在线视频免费观看| 欧美性少妇| 五月色综合| 亚洲男人天堂AV| 东京热男人的天堂网| 久草在线| 四季AV综合网址| 思思热免费在线视频| 久久婷五月天| 91天堂网| 人澡逼| 国产大片精久久久久久| 黄色片大香蕉| 国产精品久久久久久高清无码免费看| 久久精品99久久久久久| 亚洲av在线免费观看| 日韩人成网站在线播放| 黄片www视频免费| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 男人网站婷婷| 欧美成人都市人妻| 午夜120视频在线观看| 极品色| 精品十八在线观看| 欧美成人亚洲精品| 久久婷五月天| 欧美性爱一级操| 国产兽交视频在线播放| 97中文热色| 青青操97| 国产成人综合网| 凹凸视频在线观看伊人| 国语对白露脸XXXXXX | 久久免费看高潮毛片韩国| 久久久国产三级黄色片| 国产精品麻豆视频网站| 人人么人人操| 国产99热| 91久久久老司机| 熟妇熟女一区二三区| 长长久久曰曰夜夜成人网| 嗯嗯啊啊的视频| 翔田千里av一区二区三区| 亚洲欧美电影| 一区| 欧美亚洲尤物久久| 啊啊啊草死我| 亚洲人妻爽爽爽| 五月丁香综合啪啪| www.av不卡中文字幕| 成 人 A V免费视频在线观看| 97网址www| 2023天天操夜夜操| 欧亚第一综合网| 青娱乐久久艹| 青操影院| 99综合视频一体| 欧美不卡在线一区二区| 欧美在线综合| 亚洲高清视频在线免费观看| 色欲天天婬色婬香WWW夜色| 嗯啊免费视频| 中日韩欧美精品无码AⅤ一区二区| 亚洲一本色码中文字幕| 久久激情综合| 51国产午夜精品视频| 中文字幕精品三级久久久| 澳门人妻久久| 亚洲最大无码中文字幕网站| 97色网| 九九自拍伦理| 欧美另类色图片| 免费簧片在线观看| 91丝袜在线播放| 国产精品电影推荐| 中文字幕av色| 色综合婷婷| 一级黄色视频网| 中文字幕后石码四区五区| 毛片麻豆91糖心精品毛情片| 亚洲高清无码在线桃色| a人欧美综合天堂麻豆| 加勒比日本在线| 国产成人精品午夜福利| 啊啊啊啊在线播放| 尤物AV免费网站| 97久久国产| 久久久蜜桃臀无码视频| 久久久性| 久久这里是精品| 激情久久av一区av二区av| 天天干一干| 人妻夜夜爽天天爽麻豆三区网站 | 男人高清无码一区二区| 四虎国产精品永久在线囯在线| 大奶的诱惑| 国产日本顶级一区二区三区| 91欧洲入口| 中出20p| 久草综合网| 97鸡把在线视频| 九九热精品视频六| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 97操碰| av2014 日韩在线中文字幕| 97精品一区| 蜜桃网熟妇| 大香蕉99re| 黄页av| 亚洲精品国产精品成人| 国产精品不卡一区二区电影| 亚洲黄色视频在线观看视频| 欧美黄色手机在线观看| 久久男人的天堂| AAAA级日本片免费视频| 久久久久久久强迫|