久久亚洲成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
返回資訊列表
久久婷五月天| 大香蕉综合| 激情四射五月天| 成年人黄色| 久操B网| 色香综合| 99色在线| 一区,二区,三区网站| 九久精品| 青青草原人妻| 看免费的黄片| 久插综合| 激情啪啪拍91| 欧美美女视频| 色综合一区二区三巨| 97视频在线看| 色天堂在线观看| 久久天天艹| 日少妇亚洲版| 这里只有精品视频在线观看麻豆| 伊人青青草久久| 日韩操p| 久久久久国产精品人妻aⅴ天堂| 91熟女丨老女人| 天天操夜夜嗨| 人妻精品一区二区| 69一区二区三区| 99999精品视频| 2019精品国产无码成人| 亚洲在线观看| 性感女人网页在线观看视频| 亚欧视频在线| 99最新日韩偷拍视频| 久久午夜伦| 74成人在线| 欧美日日人人天天| 超碰在线人妻不卡| 人人操人人摸人人看人人干| 午夜欧美女人操逼| 天天天堂影视日韩亚洲91| 日本人妻伦在线中文字幕| 精品四五区| 网站A V在线| 热热热热日日漂亮永久永久国产日| 蜜乳AV一区| 97ai亚洲| 99国内熟女露脸视频| WWW4虎| 动漫爆乳3D奶水一区在线观看| 我要去看2个日本美女.com曹逼| 人妻丝袜日本| 日本一区不卡| 国产又黄又粗又猛大片| 亚洲一区日韩精品中文字幕| 欧美性爽xyxOOOO| 一级AAA片一区二区三区| 无码人妻精品一区二区三区九九| www.男人天堂| 国产精品午夜福利| 亚洲区小说| 2020中文字幕在线| 精品999999| 日日噜噜夜夜久久亚洲一区二区| 亚洲精品蜜桃久久久久久久| 国产深喉| 欧美黑人精品在线播放| 亚州色交| 青青草好吊| 大香蕉伊人网| 强奸乱伦AV网址| 国产AV高清AV无码| 欧美熟女丝袜| 97中文字幕一区| 人人人摸人人| 99这里有精品视频| 日本一卡二区在线| 中国国国产一级特黄毛片| 激情啪啪拍91| 91人妻久久久久久久久久久久久| 乱伦一二三| 日本三级中国三级99人妇网站| 东京成人一区| 精品国产乱子伦一区二区三区,精品一| 影音先锋日本乱伦| 综精品久久久aaaa| 熟妇综合一区二区三区| 亚洲一区二区三区AV无码| 夜夜操av亚洲一区二区| 偷拍偷窥与盗摄视频专区| 丁香六月婷| 碰人碰碰人人开房人肉| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 在线啊啊啊| 国产成人超碰在线| 自拍啪啪视频| 妇女乱色二区| 日韩91网| 亚洲欧美精品久| 日韩 成人 有码| 男人的天堂2000| 裸体美女久久久| 射丝袜大香蕉| 夜夜爽77777| 污啪啪啪视频| 国产成人自拍视频在线| 国产精品熟女乱伦| 免費黃色視頻觀看一| 国语对白在线播放视频| 亚洲av夫妻操穴网| 日日干男人的天堂| 插插综合网天天影视网| 免费日韩黄片| 91美女精品| 日韩免费三级黄片电影| 天天综合精品| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 人妻丝袜日本| 91激情| 91精品久久久久| 久久av无码| 超碰97色| www.天天干| 密臀在线免费观看| 麻豆 美女 丝袜 人妻 中文| 人人弄人人摸| 操死我干死我| 一区二区乱码福利| 2017天天插| 99久久久无码精品国产人| 日本操逼视频导航| 99色婷婷中文字幕乱色| 韩日巨乳美女免费视频在线观看| 九九热AV| 天堂种子在线www网资源| 一区,二区,三区网站| 久艹99| 色操逼网| 日夜久久久九九九久| 日本布卡一区二三区| 日韩性爱视频在线免费观看| 91丝袜美腿网站| 天天做天天爱| 人妻在线臀日韩| 亚洲黄色视频在线观看视频| 久久久久久久久久久久黄色| 久久婷婷热| 风韵犹存大大大大香蕉 | 嗯嗯嗯好爽| 内射中出日韩在线观看视频| 无码直播久久久| 欧洲射精91| 97精品一区二区视频| 巨爆乳肉感一区二区三区竹菊影视| 超碰精品人妻狠狠干| 日韩人妻精品久久久久| 91视频综合网| 亚洲青青草| 五月丁香网站| 9色国产精品一区粉嫩| av婷婷色网| 亚洲**2021在线观看| 日韩紧密久久| 性做久久久久久免费观看软件| 麻豆天美一区二区| 久久久性爱| 久草婷婷| 极品销魂美女一区二区 | 国产偷仑| 日本中文字幕在线视频| 日韩免费簧片| 亚洲综合嫩| 玖玖综合色| 婷婷色中文字幕| 欧美性爱日韩高清| 好爽视频在线观看视频 | 亚洲第2页| 综合伊人激情| 综合av社区| 色香天天| 亚洲精品乱码线路中文字幕| 国产精品一二三区福利| 都市久久精品激情亚洲| 屁股久久久久久久久久| 亚洲国产精品久久久久婷婷老年| 大香网伊人久久综合网eew| 东北女人av| 亚洲成人免费电影| 国模吧 一区二区三区| 97精品一区二区视频| 深夜激情| 乱子伦一区二区三区国产精品| 丝袜无码a片| 青青国产在线拍揄自揄拍| 色综合99999| 蜜桃臀av一区二区| 日韩15p| 欧美最婬乱婬爆婬性视频 | www.色婷婷色综合| 婷婷五月天激情网| 亚洲午夜免费狠狠干| 美女刺激久久国产欧美| 91久久久久久久久久久| 综合 青草 伊久久 影院 综合| 人妻天天操天天爽视频免费| 亚洲欧美setu| 清纯唯美综合| 五月丁香黄色网| 噜噜吧,噜噜色,噜噜| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 中文字幕精品资源在线| 天天插天天操| 天天操女人| 牛牛久久国产精品视频一二三| 任你干在线视频| 97久久久久| 日本中文熟女视频| 男人天堂久久精品| 97超碰精品图片| 久久东京伊人一本到鬼色| 欧美黑人精品一区二区| 亚洲欧美精品91| 人人考人人摸人人干| 天综合网| 亚洲色欧| 国产女性无套 免费观看| 91亚州日韩高清| 免费看国产大AB| 天天草天天日| 久久人妻视频网| 97网站在线观看| 欧美丰满少妇xx高潮| 激情五月综合网| 青草伊人网| 国产精品自在自拍视频| 久久影视二区三区行押| 九九成人| 欧美日韩天堂| 三级特黄60分钟播放| 中文字幕55555| 久久 精品| 97超碰jingpin| 少妇久久久久久久久| 色噜噜人妻丝袜a∨先锋影 | 婷婷九月国产| 中文字幕黑人大片| 粉嫩av在线一区二区| 美女黄页网站| 丁香五月影院| 日韩乱伦AⅤ| 大香蕉五月天婷婷| 极品少妇久久久| 自慰白浆在线观看| 亚洲开心网| 国产suv精品一区二区四| 国产精品又黄又猛又粗| 91欧美性| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 欧美78p| 香蕉综合网| 国产激情综合| 午夜.DJ高清在线观看免费7| 视频在线97| 中文字幕在线观看AV| 女同女同恋久久级三级| 蜜臀无码一区二区| 欧洲中文字幕| 国产欧美日韩在线不卡第一页| 激情欧美97| 夜夜福利| 久久久久久久久久久久黄色| 91色艳| 五月丁香六月婷| 日韩欧美成人性爱在线| 日韩性爱啪啪视频| 操人妻逼91| 97人妻碰碰中文无码久热丝袜| 亚洲人成网站7777| 天堂男人网| 999九九九九国产动| 久久色情| 91在线无码精品秘 软件| {男男暴菊gay无套网站| 毛片一区二区| 97日韩| 暴力av在线| 黑丝制服中文字幕| 日日夜夜摸| 国产精品天堂| 中国少妇啪啪视频| 校园春色美腿丝袜| 久久久久久99999国产精品| 狠狠2050在线观看| 伊人网一本| 精品二区久久| 久久婷婷成人综合色怡春院| 亚州精品丝袜-不卡成人免费| 3571色综合一区二区二区| 日本岛国黄色网址| 五月天婷婷影院| 少妇蜜汁| juliaann精品熟女一区| 操少妇很爽av| 有码人妻系列| 亚洲色堂免费视频| 97国伦国色| 久久免费看高潮毛片韩国| 双插在线| 强乱老妇中文字幕| 熟女五十路一区二区三| 大香樵伊人网| 欧美国产成人在线| 亚洲风情在线观看| 丁香色五月 97干| www色色色com| 夜夜操91744565| 欧美激情亚洲| 揉揉揉夜夜| 欧美视频激情久久久久久| 国模一区二区三区| 蜜桃视频一区二区三区在线观看| 欧美玖玖爱免费玖玖| 超碰在线免费一区二区三区| 天天躁日日躁xxxxx| 熟妇人妻精品一区二区视频色欲| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 思思热在线视频免费| 国产精品久久aV| 开心五月婷婷激情| 亚洲资源一区| 国产精品探花色| 精品v日韩欧美国产| 亚洲熟妇乱女区二区三区| 欧美久久人妻少妇一区二区| 激情六月天| 人看人人摸人人操| 日本肉体xxxx裸交| 六月丁香婷| 丰满人妻一区二区三区免费,| 国产AV超爽| 狠狠色丁香| 99热久| 懂色AV一区二区三区| 亚洲一区二区三区四区视频| 二男一女成人A片| 黄色电影观看久久9| 亚洲性爱无码乱伦av| 国产精品97超碰| 亚乱色| 9999免费精彩视频| 偷拍欧美激情| 精品人妻一区春色| 91 偷| 黄色片A级一区二区三区| 加勒比在线观看一区二区| 7777奇米影视久久| 九九性爱网| 少妇99成人麻豆| 成熟熟女国产精品一区二区| 九九热三级片| 黄色高清无码无码破解免费暗网 | AV无码久久久精品| 欧美丝袜激情| 亚洲超碰97| 亚洲 国产 精品一区| 国产无码一二三区| 伦在线97| 日韩高清黄片| 淮穴色AV| 99热8| 亚欧无码线免费观看视频| 自拍大香蕉乱插| 95精品在线| 久久久久久中文| JIZZJIZZ亚洲女人被躁| 麻豆国产尤物AV| 骚女高跟AV在线| 精品无码秘 人妻一区二区| 欧美黄片欧美黄片xxx| 日本污ww视频网站| 91精品婷婷国产综合久久| 激情小说图片亚洲首页| 色婷婷五月天| 91热热色| 不卡啪啪视频| 久久久性少妇| 乱伦系列一区二区| AV色五月天| 性色AV网站| 六月丁香五月婷婷| 九九久久国产精品怡红院| 国语国产操逼伊人AV网| 欧美伦乱爱| 欧美日韩在线视频网站| 激情露脸爱| 久久久久久久性爱| 亚洲宅男天堂| 夫妻日逼| 黑操B| 黑人综合网| 99久久久| 久久9999 | 夜夜欧美| 偷拍伦理视频| 最新日本中文字幕| 久久25| 加勒比伊人| 懂色AV一区二区三区| 欧美亚洲特P| 久久女婷| 欧美男人天堂| 亚洲AV资源| 久久精品午夜国产亚洲AV无码| 91老熟女逼| 国产精品白丝在线播放| A啊啊在线观看| 超碰人人操97碰| 亚洲美女色图| 51一区二区三区| 精品女同一区| 成人AV在线电影| 欧美组图日韩亚洲中文字幕| 亚洲吊色| 婷婷五月天成人网| 国产精品爱欲| 亚洲中文字幕久久无码精品| 色综合色综合网| 国产路线专区| 60秒免费小视频| 人人看黄色视频| 色超碰综合| 日本一本道A级黄色毛片试看60分钟| 亚洲国产精品久久久久婷婷老年| 丁香六月综合激情| 日韩成人在线性爱视频| 乱色老一区二区三区的观看方式| 国产精品自在自拍视频| 99热在线观看| 操淫穴亚洲五月丁香| 狼人久草| 9国产超碰| 久久婷婷亚洲欧| www激情| 欧美成人性爱视频在线播放| 怡红院久久老司机| 亚洲影视综合| 操b网站亚洲无码| 盗摄女人妻在线| 变态综合色| 日本裸体久久色噜噜| 国产隔壁老王影院在线| 曰本特级特黄特色黄色A级网站高清在线免费看 | 极品白嫩美女白浆成人福利在线看| 91伊人| 中文字幕-区二区三区四区视频中国| 免费观看的黄色的网站| 亚洲本色精品一区二区久久| 成年人免费观看网站| 六月婷激情福利天堂69| 人人透人人操| 黄片视频,下载| 久久精品超碰| 九九超碰综合网| 欧美性后入| 大香蕉五月天婷婷| 天天综合网日韩7799| 九九亚洲| 亚州,欧美在线| 九一性生活免费视频| 台湾佬激情综合| 国产懂色精品国产av| 男女啪啪网站免费视频| 人人妻人人玩人人澡人人爽| 久久久久96| 久久久性爱视频| 天天爽天天操| 国产乱码精品一区二区三区四川| 亚洲在饯| 白丝AV| 999色欧美中文字幕| 欧美伦乱爱| 无码操逼天堂| 久久婷婷视频| 国产成人bd在线观看| 51久久夜色精品国产麻豆| 97 色综合| 亚州,欧美在线| 蜜臀久久久国产| 日本中文字幕高跟| 99热超碰| 78p欧美| 一区二区你上我| 大香蕉五月天| 国内精品久久久久影院亚洲| 伊人女女资源在线观看| 强奸国产在线| 日韩激情中文字幕有码| 入口操逼网站| 91精品微拍福利| 亚洲国产成人精品999| 精品人妻一区二区三区日产| 神马午夜久久| 日韩兔费看黄片| 九九九九9999| 亚洲中字幕日本一区二区三区 | 校园春色综合| 999狠狠综合| 在线观看一卡二卡| 日本美女性生活久久久久久久| 大香交伊人网| 成 人 影视 一区 二区 三区 四区| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 91丝袜| 日本黄色天堂| 人人搡人人肉久久精品| 超碰在线观看av不卡| 亚洲天堂五月天国产| 超清福利精品视频在线| 91精品久久久| 久久草草亚洲蜜桃臀| 青草成人免费视频一COm| 97超碰超| 97久久久| 激情小说图片亚洲首页| 26uuu性物| 国产AV无码AV| 五月天婷婷色| 男插女青青影院| 91天射| 99久在线精品99re8热视频在线| 中文熟女五十乱码在线| 一区二区三区一亚洲中文字幕、综合区灬 | 欧美成人免费在线观看| 最新亚洲人成网站在线影院| 7777欧美成是人在线观看| 啪啪啪大香蕉| 午夜天堂精品久久| 亚洲色天堂九9| 天天澡天天狠天天天做| 国产日韩精品人妻久久久久色欲网站| 激情啪啪拍91| 国产青一二三| 久久欧洲| 色香天天| 中文字幕精品一区二区精| 午夜一区| 老汉网| 国产午夜精品一区二区三区牛牛| 日本中文字幕不卡视频| 午夜黄色免费在线观看| 亭亭丁香激情| 精品一区二区久久| 亚洲国产av中文字幕久久| 人人看人人摸人人色| 蜜桃中文字日产乱幕4区| 91欧美巨乳| 精品无码秘 人妻一区二区| 亚欧性爱ab| 欧美第38页| 亚洲欧美清纯| 一起草日韩| 97天天搞在线| www.久久最新地址| 欧美啪啪女女| 性性久久| 国产精品黑人一区二区三区| 久久99综合| 特级大荫道BBwBBwBBW| 亚洲国产福利视频| 天天谢天天干| 麻豆久久久久久久久丝袜| 97视频900| 少妇厨房愉情理伦片bd在线观看| 五月综合视频| 欧美在线第五页| 老司机深夜18禁污污网站| 久久天堂婷婷网| av草草在线电影| 色色网91| 97人肏| 另类欧美色| 精品一区二区综合熟妇| 久久久中文版| 欧美日韩国产一区二区小黄片大全| 婷色五月| 久久日韩肥臀| 99re在线观看| 亚欧美无遮挡| 激情五月天综合网| 精品免费囯产一区二区三区| av在线资源| 91色射| 丰满的三级少妇欧美久久久| 亚洲精品97中文字幕| 亚洲免费成人在线高清无码视频| 成年男人的天堂| 亚洲av成人精品一区| 精品久久久无码| 日韩人妻无码不卡网站| 曰韩成人免费视频| 久久久久久99999国产精品| a级成人毛片免费视频高清| 330dv亚洲成年视频网| 一级特黄aaa大片在线观看成人一级片在线观看| 一区二区三区网站日日骚| 91色图| 吉川爱美98堂在线| 眼镜人妻101.com| 日韩色女精品| 久久亚洲婷婷| 国产捆绑一区| 热久久九九热| 亚洲成?V人片在线观看福利| 97在线亚洲| 亚洲欧美国产日本一区二区三区| 99少妇| 91亚·色| 亚洲春色欧美激情自拍| av72网| 欧美成人一区二区三区在线播放| 偷拍导航视频网站| 亚洲色图欧美视频| 国产精品999aaa| 夜夜狠狠躁日日躁色视频| 三级色综合| 大香蕉日韩欧美| 性色一线| 免费的很黄很污的全部视频| 99日视频在线免费| 青青草原狼av| 亚洲中文国际强奸字幕| 99999久久精| 白丝1区2区3区| 色哟哟511老熟女| 亚洲av资源| 日韩久久超碰色| 国产精品探花在线| 日日夜夜摸| 后入式视频国产自| 狂操嫩妻视频一区二区三区| 6080YYY午夜理论片在线观看| 精人妻无码一区二区三区伊人直播 | 国产熟女少妇一区| 黄片qw| 天天欧美97| 色第一页| 五月婷在线| 国产精品一区二区久久精品| 亚洲操操操无码| 欧美性爱一区二区三区四区| 国产激情久久| 日本激情免费大片| 精品国产一区探花在线观看| 久久久九| 啊啊啊不要啊啊受不了了视频在线 | 国产精品久久久久久久久久久久久久久久| 福利在线观看一区二区| 国产无马在线| 欧美色图片| 亚洲第一视频 欧美风情 日韩| 欧美精品第四五页中文字幕在线观看| 婷婷91| 99热99在线播放激情| 天天综合97| 久久久九| 欧美97se| 水滴偷拍| 国产浮力影院第1页| 后入国产| 97超级色碰碰| 中国小夫妻勾搭露脸淫荡对白 | 91欧美综合在线| 国产精品肉丝自拍| 欧美亚洲日韩人妻在线观看| 370p日韩欧美亚洲精品| 啊啊啊好想要| 亚洲九九视频| 五毛骚逼极品美女怕怕| 色妹子A V| 亚洲九区| 黄色性爱网网| 激情视屏国产乱伦强奸| 亚洲 一区二区 自拍| 国产精品一区二区久久精品| 中欧人妻丝袜中文字幕| 91熟女丨老女人| 国产三级中文字幕粉嫩| 97jingpin| 91美女视频在线免费观看| 亚洲自拍另类丝袜综合| 欧美精品久久96人妻无码| 日韩一999精品| 日本一区二区三区精品| caopeng97| 97精品国产97久久久久久| 九九热精品| 国产视频不卡在线观看| 97任你吞精| 午夜影美女日鸡鸡天天视频国产| 性爱免费视频成人| 一起草日韩| 亚洲成人无码影院| 黄aaaaaaaaaaaaaaaaaa色网站| 凸凹视频在线观看| 日韩精品在线观看网站| 一块操欧美性爱| 亚洲中文字幕av| 妺妺跟我一起洗澡没忍住| 一区二区三区机械有限公司| 天天躁日日躁AAA片李宗瑞| 国产超碰人人爽人人做| 久久精品国产免费观看99| 激情久久av一区av二区av| www.色综合| 黑操B| 亚洲色图20p| 日产成人久久| 日韩内| 97这里只有精品| 亚瑟国产精品久久无码| 欧美日本国产日韩激情视频| 欧美v亚洲v日韩v最新在线二区| 国产精品香蕉热久久新品| 中文字幕av亚洲在线| 丁香六月婷婷| 不卡九肏| 免费99精品国产自在在线| 日本二区不卡| 欲香欲色综合天天伊人| 九九九精品成人免费视频小说| 亚洲 日本 国产 综合| 欧美性爱系列| 午夜福利久久久噜久噜久久综合| 精品人妻一二三四区视频| 久湿久久| 日本在线观看网址| 亚洲最大的综合性av| 男人天堂2019亚洲| 北条麻妃性愛视频| 亚洲国产97在线精品一区| 91成人18| 人人操人人摸人| 欧美专区在线| 色香91| 91精品人| 性爱av网站| 日本男人插女人的逼黄色| 人妻激情视频| 色y情视频免费看| 色婷婷在线视频| 欧美亚洲高清不卡| 青青草五月份天| 中文字幕精品一区欧美| 欧美色婷婷| 噜噜噜久久亚洲精品色情| 亚洲 欧美综合| 午夜无遮挡男女啪啪视频| 国产黄片在线免费观看| 超硑97精品| 亚洲资源一区| 免费在线观看国内色片网站网址| a男人的天堂| 97日韩欧美亚洲| 人妻一二三区| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 免费操逼91| 日本性爱网址| 日逼五月天| 中文字幕人妻资源在线| 五月婷婷色| 国产又长又大又粗的视频| 一道α片欧美| 天天操女人| 超碰碰97资源站| 大香蕉综合| 国产熟女自拍| 国产99精品一区二区三区免费| 青青草九九九九九| 春色91| 新婚人妻扶着粗大强行坐下| 欧姜老司机| 国产一在线观看| 亚洲精品色| 亚洲欧美小说| 防屏蔽在线视频| 九九亚洲| 蜜桃视频精品一区二区| 亚洲综合色图欧美| 妺妺跟我一起洗澡没忍住| 欧美亚洲影视| 亚洲精品久久久久毛片A片拉屎 | 亚洲精品人妻吞精av | 99re3这里只有精品| 国内偷拍精品一区二区| 亚洲成人性| 久操99| 91爱网| 天天日天天舔| 中文精品少妇天堂| 丁香五月大香蕉| 99久在线精品99re8蜜桃| 日韩精品一区二区三区色欲 | 人干人人人操人人摸| 99re99视频在线免费观看| 国产黄色小视频网站| 60秒试看最爽10分钟网站| 69XX一中文字幕人妻91| 乱理日韩中文| 欧美日韩性爱电影在线| 性交一区二区在线播放| aaaa少妇高潮大片| 亚洲春色欧美| 女人爽到高潮久久久| 亚洲精品久久久久毛片A片拉屎 | 精品人妻美妇91job| 中文字幕三四五区| 男人天堂.AB| 操逼逼一区视频| 色眯眯av| 欧美日韩性爱精品| 中文一区在线日| 蜜桃午夜视频一区二区 | 无码人妻一区二区三区色欲aⅴ| 97精品视频在线播放| 超碰久超碰久| 躁躁躁日日躁2020| 91精品国产日韩欧美综合| 伊人久久综合精品欧美| 秋霞免费AV| 日本高清_区二区三区| 国产热RE99久久6国产精品首| 亚洲97成人在线观看| 淫穴高潮色图| 国产成人主播| 超碰97综合网| 亚洲欧美自拍偷拍| 黄片不用下载在线观看| 蜜桃久久综合视频| 操逼视频国产无套| 人人九九精| 麻豆 欧美 日韩| 日韩精品一区二区日韩| 青青操日韩| 久久欧美1卡2卡3| 国产精品第一区第一页| 97在线观看免费| 毛片17S| 久操网址| 丰满少妇一区二区三区免费看| 熟女精品一区二区三区| 日韩黄片视频试看| 久久三区四区| 夜夜嗷嗷一区二区| 五月香婷婷| 91人妻最真实刺激绿帽| 欧美在线亚洲| 九九九热精品| 人妻出轨一区二区三区| 黄片www.| 蜜臀AV秘一区翔田千里| 亚洲交换| 日本999精品| 蜜桃视频精品一区二区| 国产色精品午夜大片| 91精品无码久久久久久久| 色哟哟av| 屁股久久久久久久久| 久久人人爽爽爽人久久久| 国产成人无码网站在线视频| 一区二区三区在线美女| 中文字幕三四五区| 蜜臀久久99精品久久久久电影| 欧美色图私拍91| 蜜桃视频精品一区二区| 曰韩无码777| 亚洲第一黄色av网站| 亚洲国产成人精品999| 色色九区| 国内精品久9| 亚洲九九爱| 人妻密肉在线观看| 久久婷婷一区二| 亚洲综合69| 欧美一二三区四五区| 夜夜爽77777| 日韩AV片| 人妻少妇色综合| 变态乱伦伪娘灌肠一区二区| 欧美日韩啪啪电影| 免费精品无码一级毛片牛牛影视| 九九热精品| 欧美草草高清日韩视频| 成人性交午夜免费片| 色哟哟av| 一区二区三区男人的天堂| 少妇专区一二三四五| 白丝少妇一区二区| 青青草成人视频在线观看二区| 欧美一区二区传媒| 和协无码影院| 人人摸人人干| 97色涩| 女人的天堂大香蕉网| 亚洲美欧999| 美女久久久久久久| 欧美天天谢综合网| 天天干人妻| 嗯~啊~快点 死我视频免费看网站| 97精品综合久久网| 福利在线视频一区二区| 亚洲 欧美 中文 日韩超碰 | 国产福利夜| 日日日啊啊啊| 亚洲综合贴图91| 成人天天爽| 激情文学亚洲| 日日夜夜骑| 色哟哟AⅤ| 午夜视频久久久久一区| 国产网红精品| A片三级无码| 色色色色网站| 久久女人一区二区三区| 精品免费一区二区三区在线亚洲人成| 亚洲熟妇乱女区二区三区| 亚洲欧美一区二区三区在钱蜜桃| 一区二区三区日韩欧美| 欧美亚州综合图片| 91网站在线播放| 偷偷人人精品女女久久| 日韩啊V| 人人摸.人人色| 久久精品色欧美aⅴ一区二区| 九九色图| 精品区9| 日韩精品作爱导航| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 欧美大香蕉久| 一区在线观看中文字幕| 日本91白丝| 久久久不卡区一区二区三区久久久| 亚洲人码13| 9久久久久| 亚洲天天操| 精品成人亚洲午夜电影| 热99这里只有精品| 91爽啪| 97网址97| 69一区二区三区 | 嫩草 我啊~嗯~在线| 欧美美女视频| 手机在线看片免费人成视频| 亚洲激情网一二三四区| m欧洲一级午老| 日韩有码中文字幕女同性恋 | 久久9精品| 欧美性爱无码一区二区三区| 青青伊人这里只有精品| 超碰爽人妻熟女Av| 青青草原成人| 亚洲春色欧美激情自拍| 日韩国产成人自拍视频| 欧美 亚洲 大香| 欧美91网| 一区二区三区成人高清视频| 成人性爱电影一区二区| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 五月丁香综合| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 一级@啪啪视频| 久久性爱大全| 亚洲视频一二区| 超碰97欧美| 亚洲欧美经典一区二区| 中文字幕55555| 超清中文乱码字幕| 亚洲成人久久一区二区| 樱花蜜乳av| 亚洲精品久| 一起草欧美| 亚洲男人天堂网久久| 今日头条成人一区二区三区四虎精品| 亚洲综合影视| 久妇网| 超碰诱惑| 五月激情啪啪| AV天堂国产| 精品国产三级av韩国在线| 欧美午夜色妇色鬼| 欧美天天弄| 色爱综合网| 91天天c| 亚洲成人性爱网站在线播放| 理论久久婷婷网 8| 手机久操欧美综合色码| 91国产操逼视频| 国产精品一区二区三区在线密挑| 91久久久老司机| 国产男女边吃边摸视频网站| 人人爱操| 婷婷精品久久av影视| 亚洲操逼无码| 成人一级二级| 日韩成人精品视频自拍| 美女黑人91神马| 欧美探花网| 久久6热精品99视频| 明星性猛交ⅹxxx乱大交| 狠狠中文字幕| 可乐操亚洲蜜911| 午夜天堂精品久久久久91| 亚洲熟女一区二区| 国产精品久久久鸭无码的功能| 夜色97| 超碰免费在线| 97这里有精品| 免费一级欧美片片线观看| 91美女高潮| 天天插天天插| 五月天亚洲色图| 色噜噜婷婷| 精品国产乱码久久久久久免费| 综合网色| 亚洲资源站| 超碰日本97美女人妻人人玩人人爱| 青草成人免费视频一COm| 色噜噜综合网| 国产伦精品| 人人操天天爽| 蜜乳性色无码专日粉嫩骚逼AV| 视频二区熟女人妻| 日韩999| 亚洲毛片基地专区| 国产精品制服丝袜中文字幕日韩一区二区三区| 亚洲不卡三级手机播放| 熟女自慰久久久| 家庭乱伦性爱av| 亚洲丝袜少妇在线| 日韩av三四区| 亚洲精品xxx| 日韩熟女精一区二区三区不卡| 偷窥自拍亚洲色图| 色汉综合| 四虎国产成人精品免费一女五男| 久久久久成人亚洲国产| 日本幼女18+| 久久精彩视频9| 亚洲色图欧美色图日韩色图| 一本色道久久综合精品婷婷| 偷拍 精品 另类 四区| 大香蕉一区二区在线观看.| 婷婷干黄色| 97超碰欧美中文字幕| 午夜综合在线| 青春草A| 日韩av色图综合| 久久激情综合| 色吧五月| 久操操| 91狠狠综合久久| 免费精品福利在线观看| 久久99人妖视频国产| 日韩欧美午夜视频在线| 国产精品999zyz| 特级毛片特黄久久免费看| 欧美日韩国产成人高清| A片大香蕉在线| 在免费jIzzjIzz在线视频| 91快色色色色色| 熟女精品一区二区三区| 国产超碰人人爽人人做| 国产精品经典一卡久久久| 欧美操逼视频二区| 欧美国产精品久久九九| 久久性爱精品一区| 亚洲有码 欧美精品| 天天操天天干一区二区 | 亚州九九九精品视频| 精品人妻二区三区| 特级丰满少妇一级AAAA爱毛片| se..亚洲欧美| 天天日天天舔东京热| 97天天摸天天碰| 老司机射| 成人26uuu| 日日夜夜摸| 亚洲日韩狠狠撸视频| 欧美老妇女内射网址| 夜夜影视四色| 欧美在线啊啊| 久久精品人妻一区二区三区| 久久久国产护士丝袜美腿一| 国产一级高清免费观看| 福利天天都操| 艳美熟妇先锋一二三区| 在线观看日韩av不卡| 日韩免费高清大片在线| 成人乱人伦一区二区| 欧美亚洲特P| 色老汉玖玖爱| 99热自拍| 亚欧无码在线| 99久久精品欧美国产| 日韩欧视频| 加勒比少妇AV婷婷六月天超碰超碰| 爆乳免费黄网站| 国产精品色| www.婷婷五月天| 亚洲第一在线视频| 中文字幕日韩人妻视频一区二区三区 | 天天操狠狠日夜夜干超碰撸com视频在线观看 | 九九久久99| 搡老女人老妇女老妇老熟女怎么读| 日本福利二区视频| 人人射人人操人人摸| 熟女激情综合网| 欧美大波激情xxxx| 一级性爱视频免费观看 | 大香蕉黄色一区| 新版天堂中文资源8在线| www.黄色在线| www..com操老师| 又粗又长又爽在线观看| 国产精品999zyz| 亚洲h片在线免费观看| 最新无码国产| 95自拍视频在线观看| 天天色天天干天天爱| 超碰国产精品无码| 欧美少妇人妻| 亚洲高清视频在线免费观看| 午夜AV人气不卡| 色婷婷久久综合超碰| 不卡一区视频| 涩涩久久精品| 99re6在线视频精品免费完整版安卓版| m欧洲一级午老| 很很很很操| 午夜精品人妻二区三区| 黑人综合色| 97色操| 2017天天拍大香蕉| 亚洲欧美日韩偷拍色图| 日韩大香蕉AV影片| 97国产超碰| 亚洲啪啪视频免费| 国产一国产一级毛片古装| 国产内射爽爽大片| 自拍偷拍国产欧美日韩韩| 亚洲免费成人在线高清无码视频| 可以在线观看AV的网站| 91粉嫩萝控精品福利网站_精品影音先锋国| 国产小u女在线观看| 婷婷激情五月天小说网| 天天摸夜夜添无码小视频| 丝袜美腿制服人妻二区中文字幕| 亚洲图片偷拍视频区| AV 少妇 人妻 偷拍| 久操婷婷| 欧美熟妇乱码在线一区| 青青草成人视频在线观看二区|