日韩精品一区二区三区在线视频放-无码中文字幕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天美传媒精品| 5月婷婷6月六月丁香| 天天操人人操狠狠插| 国产又粗又长又大的视频| 国产高清不卡视频| AV高清一区| 国产这里只有精品| 97人人射| 久久久九97| 国产 v乱码一区二| 中文字幕av亚洲在线| 亚洲国产美女久久久久| 凹凸精品熟女在线观看| 天堂性色| 78超碰| 欧美在线|亚洲| 日欧毛片久久| 60秒免费视频| 亚洲人妻久久久| 天天看特黄的免费网站| 国产25页| 久9久9精品| 日韩AV电影网站| 另类视频在线| 久久这里精品国产99丫e6| 中文字幕 人妻不满 在线视频| 欧美熟女操屄| 中文字幕在线免费观看视频| 91GD.COM| 国产精品电影| 国产原创精品| 香蕉免费一区二区三区不读| 久久高清无码夜夜操| 快点操死我| 亚洲不卡不卡中文字幕不卡 | 91黑丝露脚| 无码国产精品午夜不卡(| 超碰人妻天天干| 九九九九精品九九九九| 日本成人在线不卡一区二区三区| 97爱爱影院| 少妇人妻精品| 四虎免费视频| 99av| 免费的黄片有限公司| 影音先锋每日最新资源在线观看| 91精品女厕偷拍视频| 蜜乳av一区二区| 黄色电影观看久久9| 天天干干天天干干| 天堂中文日本在线观看| {男男暴菊gay无套网站| 久久性爱视频免费看| 国产传媒日韩欧美| 久久久久亚洲av综合波多野制衣| 午夜福利在线合集| 99re在线观看| 色吊丝 日日骚 清纯唯美| 啊啊啊慢点| 巨乳特殊服务按摩| 欧美不卡五十路| 在线毛片片免费观看| 91人妻精华帖| 激情小说五月天| 黑操B| 色制服丝袜夫妻av一区| 91 丝袜在线播放| 1级黄色夫妻对换性交免费看| 色就色综合| 亚洲aV无码成人在线观看| 九九色图| 夜夜青青无码影院| 午夜精品久久一区二区| 亚欧韩av| 伊人少妇久久久| 女生看匆91网站| 伊人影院日本| 色婷视频| 精品视频久久区| 欧美97爱| 免费黄色片子| 素颜老阿姨乱情色| 精品人妻一区二区三区日产乱码| 人人扣人人操| 超碰这里只有精品| 岛国网址国产 | 欧洲亚洲天堂精品| 在线αⅴ| 日韩一级二级在线| 亚洲欧美伦综合| 乱伦日本色图AⅤ| 91丝袜美女| 91色夜| 亚洲精品无码成人久久久99| 99色日| 在线播放成人高清免费视频| 96精品在线| 久啪视频| 大香蕉久久| 天天热精品| 中文字幕第9页萱萱影音先锋| 日韩视频啪啪| 99爱爱| 日本韩国国产精品一区| 日本孕妇孕交| 精品久久大胆人体| 日韩成人在线性爱视频| 秋霞男人网| 国产农村妇女精品| 9 9精品一区二区三区| se,,,亚洲欧美| 久久久久久久人妻丝袜| 欧成人精品H无码| 精品一级| 五月激情综合网| 欧美丝袜美女电影一二三四区| 黄色片,com| 亚洲吊色| 午夜爽爽爽在线观看永久入口姬片| 嗯嗯,好大,好爽,好骚| 亚洲色天| 天天弄欧美| 国产偷人伦激情在线观看| 久久综合婷婷| 中文字幕蜜乳av| 伊人天堂在线| 国产一区二区三区免费视频在性观看| 成人久久精品| 无码高清专| 欧美另类天堂| 欧美亚州手机在线| 日韩欧美大片免费高清啪啪| 久久久婷| 久久久久久AⅤ无码免费肉站| 91女优在线观看| av日韩在线观看电影| 校园春色 亚洲| 婷婷天堂站| 久久91精品国产9丨久久分亭| 亚洲一二三精品久久网| av无码精品久久久久| 91天天综合在线观看| 另类小说五月天| 天天肏天天干| 人人搡人人肉久久精品| 婷婷综合五月| 男人女人18禁片免费看网站| 青青草导航在线视频| 黄色av一区二区在线| 男人的天堂免费| 国产欧美一区二区| 无码在线亚洲| 污污汅18禁网站在线永久免费观看| 操逼短片| 99少妇精品视频| 性爱网站一区二区| 麻豆一区二区三区在线看| 亚洲色图大香| 中文字幕精品一区二区精| 91熟女少妇| 啪啪啪大香蕉| 日韩一级成人毛片免费观看 | 亚洲成人一区二区精品| 肉动漫无遮挡h在线观看| 欧美精品久久| 色一射色一射| 日韩久久激情精品| 九九视频黄色片| 中国和日本人色哪个不下载能放| 国模不卡一本二本三电影| 日本熟妇人妻中出视频| 一区二区三区美女超清| 人妻蜜桃臀| 色情亚洲日本成人| 99啪啪| 青青国产精品在线| 日本久久精品| 日韩A优精品在线观看| 亚洲色图91| 蜜桃网熟妇| 97久久久精品| 黑人天8A∨高清网站| 欧美在线观看综合国产| 日本三级网页| 国内精品久久人妻性色av| 成人国产二区三区在线,男女精品。| 久久综合久久综合人久久夜精品| 激情五月婷婷| 无码精品蜜桃一区二区三区ww| 一起草三级AV电影在线观看| 13小男生GAY自慰脱裤子| 清纯唯美综合| 欧美翘臀视频网站一区二区三区| 午夜啊啊| 97久操| 久久噜噜噜精品国产亚洲综合| 亚洲美女30b| 日本不卡三级网在线播放| 99热亚洲| 97大色网| 国产精品午夜成人福利| 日本亚洲vr欧美不卡高清专区| 新版天堂中文资源8在线| 国产精品嫩草影院免费| 国产无码一二三区| 日本中文字幕在线视频| 亚洲AV成人无码久久精品播放| 免费看国产曰批40分钟怎么下载| 成人七区| 伊人色综合网电影| 日韩精品一区二区三区色欲| 国产激情综合| 性吧在线视频| 熟妇亚洲一区二区三区| 中文字幕丝袜人妻| 久久精品中文字幕女同| 日韩综合97p| 少妇激情一区二区三区视频| 九热中文字幕| 免费αV在线视频| 一本色道综合久久欧美| 尹人大香蕉视频在线| 国产精品免费视频不卡| 久久久草成人网站久久久草成人久久久草久久久| 成片免费观看视频大全| 成人女人国产| 99少妇| 九九九精品| 都市久久精品激情亚洲| www黄片免费看com| 婷婷五月天激情小说| 日本高清电影欧美色图| 丁香五月天久久精品视频一区二区三区| 欧美成人综合| 2019男人的天堂| 凹凸精品熟女在线观看| 久久东京伊人一本到鬼色| 色婷五月| a人欧美综合天堂麻豆| 99只有精品| 一二三四区电影| 久久久久九九九九| 婷婷丁香一区二区三区| 试看60秒| 亚洲色91| 久精品无码av一区二免费国产在线观看| 亚州操逼网| 午夜精品一区二区三区三上悠亚| 精久久久91| 97精品人妻一二三四| 日本一级特级毛片视频| 婷婷九月| 国产情色第一第二页在线观看| AV天堂因数| 久久五月天婷婷丁香中文字幕| 成人午夜视频免费播放| 青青草成人视频在线观看二区| 久久黄黄黄| 丰满美女一级毛片在线播放| 亚洲av夫妻操穴网| 欧美色道啊| 国产精品久久久久久亚洲色欲| 国产精品自拍欧美在线| 一区二区蜜臀| 欧美岛国精品在线观看| 国产av尤物| 欧美亚洲成人在线一区二区三区| 欧美综合网| 99久久精品国产高潮| 四虎视频在线观看| 国产又黄又爽| 国产欧美日韩女同性恋ww喷水精品| 美女黄码视频午夜| 黄色免费网| 天天干美少妇一区| 欧美综合色图网| 欧美黑人精品一区二区| 亚洲Av噜噜一区二区三区妖精| 天美91| 亚洲 欧美 小说| 97色综合中文网| 性爱av网站| 欧美第二页午夜| 搞中出久久| 超碰97资源大奶| 亚州欧美色图| 日本97久久久精品| 欧美爱三级日韩久久| 性站 | 综合五月婷婷亚洲一区| 日韩精品9999| 蜜乳AV网址| 久久成人午夜狠狠| 欧美日韩性爱视屏免费看了| 熟妇一区,二区,三区。| 久久精品性| 国产又粗又长又大的视频| 在线可观看的黄色网址| 欧日韩一二三f区| 欧美日韩99| 国产白丝网站| 天美av在线观看| 中文字幕在线观看网址| 国产免费大片| 无码 黑人一区二区三区| 日韩中文字幕av在线播放| 亚洲日韩精品久久久久一区壹牛| 情色五月天网| 欧美特大黄一级片片免费| 熟妇女伦乱视频视频| 欧美 亚洲 偷拍自拍| 91日产桃蜜| 中文字幕日韩综合| 午夜福利1区2区3区| 欧美变态激情网| 夜夜草天天| 日韩精品熟妇| 久久黄色性爱视频| 精精品人妻一区二区三区| 99精品无码| 97这里只有精品| 一级黄碟在线观看| 在线99热| gogogo免费高清看中国国语| 啊啊啊好疼| 亚洲欧美精品91| 大二网站亚洲| 免费男人的天堂| 天美传媒国产原创中文字幕亚洲欧美另类 | 尤物黄色在线观看网站| 久久久青青草| 情色五月天网| 欧美熟爽综合| 三级片网站在线播放| 日韩一级久久毛片| 亚洲天天天| 一及黄久一点| 丁香五月久久| 麻花传媒免费网站在线观看| 丰满少妇一区二区三区免费看| 97精品第3页| 日本123区操B视频| 精品人妻av在线播放| 亚洲成人ab| 激情视频一二三| 久久精品国产精品亚洲艾通辽熟妇 | 探花精品视频| 久久久亚洲高清不打码| 色综合av综合久久| 91美女视频。| 欧美在线 亚洲| 毛片视频白嫩| 桃色五月天| 久草网站免费在线观看| 五月亭亭六月丁香| 97亚洲色图| 国产精品不卡一区二区三区| 夜夜狼人妻| 天天爽天天爽| 五月丁香综合| 婷婷视频网| 色哟哟的毛片| 制服乱伦| 三级三久久线久久99久目本WW| 麻豆综合一区av| 欧美色图亚洲激情| 一二三区精品视频| 啪啪啪亚欧美视频| 亚洲欧美清纯| 9 1果冻精品视频| 婷婷激情五月综合| 久久精品人妻一区二区三区| 久久精品91| 青青草日韩免费观看高清在线| 丝袜视频一区二区在线播放国产中文| 男人天堂站| 人妻日日夜夜精品| 大香蕉综合| 超碰公开久久网| 日本高清电影欧美色图| 日韩国产品视频中文字| 久久熟女人| 暖暖精品二区三区观看| 欧亚日韩三区| 吊色| 欧美午夜熟妇黑人精品91| 97久久国产精品| 天天综合网合集91| 91色插| 欧美激情综合网| 狠狠爱综合网| 亚洲无码 国产无码| 欧美亚洲综合高清在线| 日本操逼视频免费| 18啪啪手机免费性爱| 伦激情人妻另类人妻| 午夜无遮挡男女啪啪视频| 韩国一级婬片A片无码天美| 99热综合在线| 国产捆绑一区| 欧美狠狠操| 99在线免费视频| 草草草草视频| 99999精品视频| 人妻天天夜夜爽一区二区| 亚洲国产精品久久久久久久久久| 中文字幕一区二区三区人妻少妇在线 | 久久婷婷一区二| 欧美 日韩 另类 亚洲| 精品9999| 国产9区| 欧美日本中字另类在线| 99色色网| 九九九九九精品十六| 超碰天天去日穴| 国产成人久久精品蜜臀| 无码聚合| 91欧美长吊| 国产精品午夜精品| 中文AV制服乱伦| 国产精品999zyz| 亚洲色图激情小说| 人妻精品一区一区三区蜜桃91| 亚洲天堂男人天堂网| 日本三级一区二区 在线| 99九九精品| 亚州熟妇精品| 夜夜草天天| 4399成人黄A片| 天操老女人| 人人澡人人干| 亚洲1区2区三区高清中文字幕| 99re9在线| 亚洲999综合| 91丨人妻丨国产丨丝袜| 日韩欧美俄罗斯A片| 三级片大波波| 南澳成人一级片在线播放| 嗯啊视频免费在线观看| 中国熟女网站| 精品蜜乳AV免费观看| 色婷婷狠狠18禁| 99蜜桃臀久久久欧美精品网站| 91人人操| 超碰免费在线| 亚洲风情综合网| 日韩乱伦AⅤ| 91在线美女| 性色A∨91| 最新日韩黄片| 久久久久久免费电影| 日韩性爱1级片视频| 国产无遮挡| 久久久久久九九九| 99re这里只有精品中心播放| 清纯唯美亚洲综合| 久久99国产综合精品女同| 91高潮| 五月婷婷六月丁香| 久草在线| 国产黄色动态精品| 欧美日韩大黄片| 97在线无精品| 五月天黄色激情视频| 破处bbq| 乱伦熟女区| 超碰久久.com| 99精品网| 凹凸视频在线一区二区| 日本加靬比网站发布页| 欧美日韩不卡a片| 操逼999| 成年人性爱日韩| 91在线一起| 丁香九月激情| 欧美91精品国产自产| 蜜臀av中字字幕网站| 国产无码精品成人| 久湿久久| 久久久九97| 99婷婷一区二区| 91天美传媒在线观看| 操高情无码| 天天色综合影视网| 99热99re超碰精品| 亚洲中文一区二区三区| 丝袜美腿操av| 色婷婷综合久久中文字幕雪峰| 亚洲国产ⅴ高清在线观看| 中文无线日韩一区| 亚洲av在线免费观看| 国产无马在线| 午夜亚洲| 无码久| 99久久婷婷| 岛国免费视频在线| 蜜桃久久一区| 欧亚久久偷拍视频| 成人黑料社久久| 男女啪啪啪18禁网站| 亚洲伊人久久精品影院| 久久久九97| 精品国产Av无码久久久亚洲| 久操av在线| h在线看免费版在线看| 国产中文字幕在线点播| 啊啊啊啊在线播放| 欧美有码激情视频一区二区三区| 国产无马视频| 欧美色图91| 午夜啊啊啊| 91日韩在线| 国产一区二区免费福利片| 综合色久欲| 在线黄页看毛片| 色黄污美女啪啪啪免费网站| 亚洲少妇视频| jiujiujiujingpin| 麻豆60秒| 九九Av| 影视综合无码少妇| 91亚洲综合在线| 九七人妻在线| 蜜桃中文字日产乱幕4区| 免费AV播放| 成人av性爱电影在线观看| 国产AB视频| 大香蕉欧美国产日韩高潮| 五月丁香| 国产福利av精彩对白| 国产精品原创巨作?v网站| 蜜臀99精品国产高清在线观看| 青青草久久在线| 欧美熟爽综合| 婷婷五月天福利| 全球成人中文在线| 在线国产福利网址导航| 岛国免费视频在线| 97在线免费观看| 超碰4A| 99精品无码| 丝袜无码a片| 天天色香欲综合网| 欧美三级一级| 色婷婷丁香五月| 欧美欧美啪啪视频| 无遮挡男女激烈动态图| 亚洲日韩精品一区二区| 久久久日本电影| 999九九九九国产动| 夜夜综合| 91精品又粗又猛又爽| 亚州再线| 丰满少妇一区二区三区专区| 后入美女国产| 吻戏激情性巴克| 禁片 高清 在线观看视频网站| 秋霞视频一区二区| 欧美日韩操逼嗦吊| 婷婷六月色| 亚洲操逼网| 人妻AV 中文字幕的| 欧美很很操视频| 亚洲制服欧美另类内射| 成人在线日韩| 婷婷色综合| 亚码激情| 91/欧美| 99只有精品| 国产97综合| 久久r精品| 亚洲综合色图欧美| 国产精品99999| 天天草天天日| 在线看片国产精品每日更新| 99久久精品国产高潮| 国内自拍 日韩激情 99| 天天综合网一91网| 亚洲精品欧洲精品| 色眯眯av| 亚洲情色 自拍| 无码78| 亚洲乱色熟女一区| 激情综合二| 第四色奇米影视777| 果冻国产精品麻豆成人av| 毛片电影一区二区三区| 91丝袜美女| 美日韩一二三区| 9ⅰ久久久天天| 国产呦精品系列在线观看| 边做饭边操逼逼| 免费人成?大片在线播放| 婷婷五月av| 欧美色图亚洲色图成人在在线| 极品AV网站在线观看| 亚洲熟女一区二区| 一本大道不卡一二三区| 欧美日韩99| 蜜臀av中字字幕网站| 看看日B真人视频| 九九九九热| 国产一区二区视频在线播放| 亚洲情色五月天| 久操影视| 亚洲高清无毛一区二区| 性色av婷婷久久一区二区点复制| 久久97资源 网| 久久禁| www.亚洲黄色| 欧美视频在线第3页| 欧美999999| 日本中文熟女视频| 99爱在线视频| 亚洲视频二区 | 伊人九九九| 日韩在线观看字幕精品| 蜜色网色哟哟| 九九九九国产| 欧美亚洲中文字幕| 97久久久精品| 久久国产在线一区二区| 五月婷婷色色| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 亚洲欧美91√| 1769国内精品视频| 久久人人爽爽爽人久久久| 国产嫩草精品A88AV| 黄色区免费观看中文字幕| 美女露胸露屁股| av2014 日韩在线中文字幕| 日本熟妇人妻中出视频| 国产精品高潮久久AV| 国产精品麻豆成人av| 美女黄色一级A视频| 精品九九九九九九九| 欧美精品久久久久久久丰满| 亚洲日韩AV视色| 精品欧美乱码久| 丁香色五月 97干| 天天日骚逼熟女| 操逼不卡中文字幕| 久久爽爽精品| 99精品欧美一区二区三区桃色| 亚洲精品色| 秋霞一级鲁丝片A片| 色五91| 久96热在线观看视频| 欧美国产日韩清纯唯美| 欧美人妻制服| 欧美男女午夜啪啪| 丰满人妻一区二区三区色-百度| 私色综合网| 96久久久久| 九九热免费视频| 欧美第一页| 超碰 另类 欧美| 伊人久久综合影院精品久久久| yirendaxiangjiashipin| 久久国产逼| 欧洲精品在线播放| 久久五十路熟女人妻| 欧美天天综合站| 一级啊性爱在线视频| 久久三区四区| 蜜臀久久久久久999| 三级日本一区二区三区| WWW.加勒比人妻一区不卡.com| 国产精品原创巨作?v网站| 色天欧美| 大香蕉九九| 美女裸体无遮挡永久免费观看网站| 国产性感骚丝袜在线| 久久久亚洲高清不打码| 国产热av| 五月婷视频| 免费观看网黄| 国产熟女高潮一区二区三区| 啊啊啊啊嗯嗯嗯用力好爽| 84YTCOM性无码| 神马九九九| 超碰三级秋霞| 高潮毛片无遮挡高清免费| 在线播放中文字幕| 日韩人体偷拍| 午夜影美女日鸡鸡天天视频国产| 天天舔日美女视频| 蜜臀久久久国产| 90后性网国产欧美| 中文字幕一区二区免费在线| 日日玩天天干| 日本三级人妻a人妻一在线| 人人摸人人添人人操 | 久久人| 丁香五月天堂网| 亚洲欧美日韩免费电影| 四虎影视国产精品| 欧美日韩精品久久| 丁香五月天啪啪| 欧美亚洲第一页| 亚洲欧美97√| 午夜精品久久久99热蜜桃的功能特点| 懂色AV蜜臀无码精品APP| 神马久久午夜| 综合亚洲网| 久偷拍| 91操人| 久久高清欧美国产| 欧美国产精品久久九九| 欧综合网| 九九九九九九九九九九九蜜桃| 亚洲色图欧美色图制服丝袜| 日韩性爱播放| 小情侣高清国产在线视频| V A在线| 久久视频少妇美女| 日夜尻逼网| 欧美天天拍| 99在线精品视频| 午夜久久无码1000合集| 精品久久久久久无码| A 天堂| 黄色工厂这里只有精品| 久久久久九九九九九| 亚洲精品骚逼| 欧美亚洲美少妇一区二区| 成人五月香网在线| 99性爱| 日韩欧美经典在线观看| 日韩AC| 欧美一区二区三区另类精品| 天堂69亚洲精品中文字| 91狠狠综| 精品78| 黑人免费福利视频| 亚洲第一视频 欧美风情 日韩| 91/欧美| 欧美日韩少妇色情| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 黄色乱论网站| 99热免费| 九九热最新| 亚洲欧美一区二区三区在钱蜜桃 | 啊啊啊网站| 一本一道久久综合久久| 色老大| 蜜臀99久久精品久久久久久| 加勒比综合88| 丝袜足交视频| 国产福利电影| 午夜超爽| 爱做久久久久久| 亚欧性爱在线无码| 开心五月天激情网| 95精品在线| 日韩钢筋无码高清啾啾啾| 五月天伊人| 91欧美丝袜| 亚洲色图欧美色图综合| 91殴美| 精品无码欧美三级| 欧美黄色大片在线观看| 东京热男人的天堂精品| 蜜乳中文字幕a在线| 一牛影视成人片免费| 亚洲欧美日韩精品久久久一区二区 | 欧美日韩99精品麻豆传媒| 91亚·色| 久久精品99久久久久久| 久久熟女嫩草成人片免费| 国产精品自拍视频| 美国日韩黄片| 精品在线观看视频在线| 色一情一乱一乱一区91Av| 美女高潮视频91| 黄色十八禁| 人妻少妇精品久久久久久久| 日韩字幕一区| 五月综合色| 肥臀熟女福利视频一区二区| 亚洲。天堂。日本在线观看| 蜜臀99久| 日本Xx性爱| 性爱久久| 精品美女人人干| 天天肏天天干| 人人干人人搞人人摸| 伊人成人中文字幕久久网| 性色中出| 校园春色 欧美| 99在线免费公开视频| 久操大香蕉手机视频在线看| 大吊色| 91青青草| 国产av美女被艹的乱叫| 91亚洲影院综合| 亚州,欧美在线| 国产一级内射无挡观看| 五月激情综合网| 欧美精品欧美精品系列| 老司机午夜精品视频| 99热只有这里有精品| 中文字幕亚洲在线一区| 99re69| 久久久久97| 黄片直播三级黄片两女一男| 久久久久久久久久黄色网| 中文字幕丝袜| 久久欧美性爱视频| 91挑色欧美| 91P0RNY大屁股人妻| 久精品无码av一区二免费国产在线观看| 亚洲宗合电影| 蜜臀99久久国产| 久久婷婷综合国际产色怕| 爱爱动态120秒| 九九国产热| 天天日天天搞天天干| 久久久A∨| 久久激情视频| 久久久国产成人一区二区三区在线| 草蕉影视亚洲无码| 亚洲国产成人精品久久久国产成人一区二区 | 熟女六十路| 人妻少妇三级| 亚欧成人综合影院| 日本ZZ高免费A级视频| 久久伦理视频久久大香蕉视频| 一级性爱网| 五月综合久久| 婷婷10月天青娱乐| 黄色区免费观看中文字幕| 97AV在线免费观看| 欧美亚洲素人制服精品| 伊人久久大香蕉线AV五月天| 中亚黄色三级大片| 国模不卡| 香蕉一区二区三区在线视频| 亚洲欧美另类激情小说| 97人人射| 亚洲天堂一二| 黄污污污污| 亚洲第一页色网| 五月综合色| 奶水 人妻 哺乳 在线| 久久性爱视频| 友优传媒精品在线一区二区| 蜜臀久久99精品久久久老,,| 玖玖久久久| 激情图片伦理国产一区二区日韩| 野狼福利社区| caopeng97人妻| 日韩美女啪啪一区| 久久久久婷婷精品av电影| 色嗨嗨在线| 97亚洲色图| 亚洲中文字幕97久久精品少妇| 亚洲91色| 日韩AV一区二区三区三州三州| www.久久制服糖| 97一区二压| 国产精品三级视频网站 | 一区不卡在线观看av| 毛片麻豆91糖心精品毛情片| 亚欧高清在线| 大香蕉伊人网| 久久精9| 丁香五月婷婷基地| 97色在线视频| 国产第二页| 黄网色一区二区三区四区精品| 国产精品欧美在线观看| 丰满少妇一区二区三区专区| 国产精品一级毛片不卡视| 免费国产| 欧洲Au麻豆| 免费观看的黄色的网站| 丰满人妻一区二区三区免费| 亚洲AV免费在线| 人人玩人人添人人澡免费| 91精品国产91久久久久久久久久久久| 丁香婷婷色五月| 久操com| 色欲久久99精品久久| 久久久久久性爱视频| av最新免费中文字幕| www.男人的天堂| 91最新综合| 日本黄 R色 成 人网站| 国产精品美女久久久久久网站| 激情四射熟女丝袜| 人妻熟女字幕一区二区| 日va操| 久超碰这里只有精品| 丝袜喷水在线| 人妻少妇久久久| 日本操逼视频不卡直接放| 日本 情色 1区| 天堂在线一区二区| 亚洲色人妻综合| 欧美日韩性爱无码| 久久亚州精品成人Av无| 老司机福利社视频在线观看| 久久久久密臀视频| 91大胆欧美| 婷婷五月天色色| 99久久久久久久久| 国产精品人妻无码久久久互動交流| 精品无码一区二区三区| 五月天黄色av| 综合熟女| 亚洲无码久久久久久久| 色情成人五月天| 亚洲精品三区在线观看| 97在线观看| 国产第11页| 日本大香蕉| 欧美亚洲第1页| 激情网五月天| 91欧美| 亚洲AV无码黄色强奸| 美国人人操人人操| 91综合色噜噜| 深夜福利黄片| 一摸二插三插| 夜夜高潮夜夜爽国产伦精品| 成人精品水蜜桃久久久久久久| 人人摸人人干| 91网站18在线观看| 97超碰碰碰| 色婷婷激情| 久久久九97| 日本三级日本三级99| 国产精品午夜高潮呻吟久久av| 国产家庭乱伦网址| 亚欧视频在线| 久久久精品无码亚免费| 九月激情婷婷| 一级特级aaaa毛片免费观看| 自拍视频一区在线观看| 极品尤物自安慰| 国产精品免费美女视频| 一区二区三区探花在线观看| 国产黄片在线免费观看| 中文字幕乱在线伦视频中文字幕乱码在线| 亚洲一区日韩精品| 少妇被c 黄 免费观看| 91性高朝久久久久久久久| 狠狠久久手机视频精品| 夜夜草天天| 黄在线| 中文字幕精品日韩中文字幕| 丰满人妻av一区二区三区| 日韩免费大片一级播放| 人人看人人摸人人色| 一区二区三区探花在线观看| 青娱乐国产精品| 五月激情啪啪| 精品一区二区三区蜜桃臀赵总 | 91在线国产后入风骚翘臀美女素人| 色99久草| 亚洲 欧美综合| 国产1024在线播放| 国产精品福利资源在线尤物| 青娱乐欧美激情一区二区| 亚洲成人性| 日日操天天操| 中文字幕乱碼在线| 国产精品天干天干综合网麻豆 | 91干熟女| 国产夜夜艹| 国产白丝在线| 亚洲国产日韩精品久久久| 手机午夜电影神马久久| 91国模| 久久久精品国产亚洲伊人| 一区二区三区免费视频入口| 青春草莓视频在线观看网址| 久久无码成人| 久久久久久精品免费看A级| 成人在线视频二区| 人妻社区男人天堂| 日本精品一区二区三| 97视频900| 91丝袜美腿网站| 天天爽夜夜欢视| 国产精品三级视频网站| 色999亚洲人成色| 国产99999久久精品| 看免费的黄片| 精品国模无码| 亚洲 自拍偷拍 欧美| 亚洲无码太久| 欧美一级久久久久久久大片动画| 亚洲图片欧洲图片aⅴ| 97国产精品国| 亚洲AV成人无码一区二区三区在线观看 | 国产自产91区13区| 色婷婷网| 亚洲有码 视频一区| 国产成人主播| 男人天堂免费| 亚州综合在线| hd成人一区二区在线| 日本女人操逼| 96一区二区三区| 蜜桃久久精品一区二区三区| 殴美牲| 超碰综合97在线| 乱伦一区二区三区‘| 99热精品在线| 久久久久96| 人妻一区二区三区视频 | 欧美熟女丝袜| 欧美色999| 国产精品色色| 日日日日做夜夜夜夜做无码97| 日韩欧美午夜一区二区| 久草精品热视| 偷偷人人精品女女久久| 亚洲综合中文字幕有码| 美女裸体麻豆天美蜜桃91| 中文字幕精品探花视频| 久久久精品国产亚洲伊人| 久久久久幕乱码| 人人干人人操人人..com| 刺激精品视频| 中文日本免费高清| 欧美精品久久96人妻无码| 亚洲一区二区三区婷婷| 口爆综合网| 我爱搞逼综合网| 丰满高潮18xxxx| 免费99精品国产自在在线| www.久久制服糖| 欧美激情久| 人妻日日干| 久久综合久色欧美综合狠狠| 国产午夜无码片在线观看影视| 丰满搜索结果 -第18页- 久久高清无码| 亚洲无码视频免费在线观看网址!| 操人妻少妇中文| 日韩有码专区| 啊啊啊 在线观看| 99这里都是精品| 激情五月天色色网| 国产精品96久久久久久| 五月天婷婷成人网| 美女黄网| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 久久久久久人体| 99热9| 一二三区精品视频| 婷婷成人久久久精品| 理论久久婷婷网8| 91精品电影18| 一起草欧美| 久久久禁| 综合色99| 国产成年女黄特黄| 毛片17S| 女人被男人桶爽视频网站| 超碰综合97在线| 欧美色色色| 美女操逼A A| 欧美成不卡网| 黄页视频网站野外| 亚洲人妻爽爽爽| 亚洲天堂另类美腿| 日韩久久.一级黄色片| 国产97在线播放| 亚洲激情网一二三四区| Av手机版天堂网| 97视频在线免费| 国产成人亚洲精品自产在线| 操www| 色偷偷色偷偷欧美日韩| 丁香五月综合| 国产精品视频自拍在线| 大香蕉伊然在亚洲91| 五月黑AⅤ| 蜜乳AV一区| 亚洲中文字幕av| 美女诱惑在线一区| 亚洲精品一区中文字幕乱码| 大屁股人妻女教师撅着屁股| 少妇熟女视频一区二区三区| 99r九九| 91精品人妻电影| 88xx成人精品视频| 91国产丝袜白虎| 中文久久一区| 中文字幕在线观看丝袜| 欧美性爱1080p| 天堂综合网| 亚洲色棕合| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 天堂综合| 超碰97资源中文字幕| 人干人人人操人人摸| 精品免费视频国产一区| 999热日韩精品| 久久、1234| 啊啊啊啊啊在线观看网址| 国产精品老师| 久久久精品中文字幕爱豆| 97资源久久| 青青草在线视频播放器| 躁躁日曰躁2020| 丰满少妇一区二区三区四区观看 | 国产视频第二页| 狠狠操狠狠燥| 亚洲老熟妇xxx| 精品-91人妻子系列| 操逼无码一区| 欧美综合网在线| 欧美中日韩XXXX| 97操97干| 日本不卡码黄色| 无码99| 野狼激情网| 国产乱人伦AVA麻豆软件.| 最新亚洲人成网站在线影院| 日韩欧美性吧婷婷乱伦大香蕉| 97自拍一区| 91美女在线视频| 国产成自自拍在线观看| 久久人妻丝袜一区二区三| 黑人精品成人一区二区三区 | 久久久不卡区一区二区三区久久久| 美女诱惑爱爱| 五月天色色网站| 国产麻豆福利av在线播放| 天天插夜夜操| 久久综合国产精品国产| 操逼免费视频无码国产| 羞涩视频| 国产无码久久高清| 在线毛片片免费观看| 欧美色图20p| 凹凸视频在线一区二区| 天天草天天日| 国产9区| 乱伦一二三区| 亚洲欧美日韩免费电影| 日本成人免费一区二区三区| 午夜a成v人电影| 日韩Va亚洲va欧美Ⅴa久久| 女人综合网| 成人a v在线播放免费| 老熟女乱伦一区| 啪啪资源网| 福利伊人玖玖国产| 久久艹逼视频| 91爽啪|