免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

瑞薩RZ/N2L QSPI啟動(dòng)與參數(shù)存儲(chǔ)設(shè)計(jì)實(shí)戰(zhàn)解析

瑞薩RZ/N2L QSPI啟動(dòng)與參數(shù)存儲(chǔ)設(shè)計(jì)實(shí)戰(zhàn)解析 做嵌入式這么多年第一次認(rèn)真用瑞薩RZ/N2L做量產(chǎn)項(xiàng)目遇到的第一道坎就是啟動(dòng)方式。原先方案是SPI NOR存固件、I2C EEPROM存參數(shù)板子改版時(shí)客戶要求少放器件干脆把參數(shù)也塞進(jìn)同一顆QSPI Flash里。這個(gè)決定看起來省事實(shí)際做下來牽扯到啟動(dòng)模式配置、BootROM對(duì)Flash的初始化時(shí)序、RASC生成的驅(qū)動(dòng)代碼以及參數(shù)存儲(chǔ)的磨損均衡和掉電保護(hù)一環(huán)扣一環(huán)每一環(huán)都有值得記錄的坑。這篇文章就是這次實(shí)戰(zhàn)的完整記錄核心圍繞兩件事RZ/N2L怎么從QSPI Flash啟動(dòng)以及參數(shù)存儲(chǔ)怎么做才能扛得住長(zhǎng)時(shí)間運(yùn)行。內(nèi)容包括硬件接法、RASC工程配置、Keil環(huán)境搭建、底層驅(qū)動(dòng)移植、參數(shù)區(qū)規(guī)劃和常見故障排查適合準(zhǔn)備用RZ/N2L做產(chǎn)品、或者想把代碼和參數(shù)統(tǒng)一放到外部Flash上的朋友。如果你用過瑞薩RA6M5或者熟悉e2 studio那套操作上手RZ/N2L會(huì)更輕松因?yàn)榕渲盟悸肥窍嗤ǖ牡讓蛹?xì)節(jié)差異不小建議還是從頭過一遍。1. 為什么我選了QSPI啟動(dòng)需求拆解與方案對(duì)比1.1 啟動(dòng)方式選型先把硬件資源算清楚RZ/N2L支持多種啟動(dòng)介質(zhì)包括QSPI Flash、SD卡、串行接口等。項(xiàng)目里選擇QSPI啟動(dòng)不是拍腦袋決定的主要從三個(gè)方面考量。第一是引腳開銷。RZ/N2L作為MPU級(jí)別的芯片功能外設(shè)多引腳本來就不寬裕。QSPI接口只需要SCLK、CS、IO0到IO3六根信號(hào)線就能接一顆大容量NOR Flash而并行NOR需要幾十根線在小型化板卡上完全不現(xiàn)實(shí)。第二是容量和成本。QSPI NOR Flash的單價(jià)和容量比EEPROM友好太多一顆16MB的W25Q128或者國(guó)產(chǎn)GD25Q128價(jià)格只有同容量并行Flash的零頭空間還綽綽有余。固件、文件系統(tǒng)、參數(shù)區(qū)可以全放進(jìn)去產(chǎn)品后續(xù)要加OTA升級(jí)也留得住空間。第三是XIP能力。QSPI控制器支持內(nèi)存映射模式Flash可以被映射到CPU的地址空間代碼可以直接在Flash上執(zhí)行不需要上電后先搬運(yùn)到SRAM再跑。這一點(diǎn)對(duì)啟動(dòng)速度幫助很大BootROM把QSPI初始化好之后CPU取指直接走內(nèi)存映射通道省掉了先加載后跳轉(zhuǎn)的那段等待。1.2 參數(shù)存儲(chǔ)選擇QSPI Flash到底合不合適很多人覺得參數(shù)存儲(chǔ)應(yīng)該老老實(shí)實(shí)用EEPROM擔(dān)心Flash磨損和掉電丟數(shù)據(jù)。這個(gè)顧慮在十年前有道理但放到現(xiàn)在的應(yīng)用場(chǎng)景只要設(shè)計(jì)合理QSPI NOR Flash做參數(shù)存儲(chǔ)完全夠用甚至更合適。NOR Flash的特點(diǎn)是按扇區(qū)擦除、按頁寫入擦除操作會(huì)把扇區(qū)全部置為0xFF寫入只能把1寫成0。這個(gè)特性決定了參數(shù)存儲(chǔ)不能像EEPROM那樣原地覆蓋必須做雙備份或者輪換寫入。但換個(gè)角度想正因?yàn)椴翆憜挝淮蠓炊浦闳ピO(shè)計(jì)合理的寫入策略最終的效果是數(shù)據(jù)可靠性比EEPROM方案更高因?yàn)槊恳环輸?shù)據(jù)都會(huì)被校驗(yàn)、被備份、被輪換。參數(shù)存儲(chǔ)對(duì)Flash的另一個(gè)要求是掉電保護(hù)。實(shí)際產(chǎn)品中參數(shù)寫入瞬間掉電是常態(tài)如果只寫一個(gè)區(qū)域斷電后數(shù)據(jù)可能半新半舊。QSPI方案配合雙Slot設(shè)計(jì)和CRC校驗(yàn)可以保證掉電后要么拿到舊數(shù)據(jù)要么拿到新數(shù)據(jù)不會(huì)出現(xiàn)中間態(tài)。2. 硬件設(shè)計(jì)與啟動(dòng)引腳配置先把底子打牢2.1 啟動(dòng)模式引腳和QSPI信號(hào)一個(gè)都不能接錯(cuò)RZ/N2L的啟動(dòng)介質(zhì)選擇由啟動(dòng)模式引腳的上下拉電平?jīng)Q定。具體是MD_BOOT還是其他命名一定要以芯片數(shù)據(jù)手冊(cè)和硬件設(shè)計(jì)手冊(cè)為準(zhǔn)原理圖階段就要和FAE確認(rèn)清楚。我這次就吃了個(gè)虧以為啟動(dòng)引腳默認(rèn)拉低就是QSPI啟動(dòng)結(jié)果打樣回來發(fā)現(xiàn)默認(rèn)電平對(duì)應(yīng)的是串行接口模式BootROM壓根沒去初始化QSPI調(diào)試器連上后CPU直接跑飛。啟動(dòng)模式引腳的電平需要在復(fù)位釋放前穩(wěn)定所以不要圖省事直接接固定電平最好預(yù)留0歐電阻或者跳線方便量產(chǎn)階段切換啟動(dòng)介質(zhì)。比如調(diào)試時(shí)用串行接口模式燒寫B(tài)ootloader測(cè)試完成后切回QSPI啟動(dòng)這個(gè)跳線能避免反復(fù)焊Flash。QSPI信號(hào)線的接法也要注意。WP和HOLD引腳在四線模式下會(huì)復(fù)用為IO2和IO3如果不用四線模式這兩個(gè)引腳絕對(duì)不能懸空。懸空狀態(tài)下Flash在復(fù)位或上電瞬間可能誤進(jìn)入HOLD狀態(tài)導(dǎo)致通信一直掛起。正確的做法是分別通過10K電阻上拉到VCC或下拉到GND具體選擇取決于Flash芯片手冊(cè)。2.2 信號(hào)完整性和電源處理高頻啟動(dòng)別翻車QSPI工作在幾十MHz到上百M(fèi)Hz信號(hào)完整性比SPI模式要求高。PCB上QSPI四根數(shù)據(jù)線盡量等長(zhǎng)誤差控制在5mm以內(nèi)SCLK和數(shù)據(jù)線之間不要差太多否則高速讀時(shí)序會(huì)出現(xiàn)采樣點(diǎn)偏移。走線避免跨分割底層如果有完整地平面信號(hào)質(zhì)量會(huì)明顯好過跨區(qū)走線。電源方面Flash的VCC引腳要就近放一個(gè)0.1uF陶瓷電容如果板上有空間再并一個(gè)1uF電容。QSPI Flash對(duì)電源紋波不算特別敏感但如果Flash供電和主控?cái)?shù)字電源共用一條細(xì)線擦除瞬間的大電流沖擊可能引起波形毛刺嚴(yán)重時(shí)造成通信錯(cuò)誤。還有一個(gè)小細(xì)節(jié)RZ/N2L的QSPI控制器時(shí)鐘源來自內(nèi)部PLL還是外部晶振決定了啟動(dòng)時(shí)Flash最高能跑多快。BootROM初始化QSPI時(shí)用的是系統(tǒng)默認(rèn)時(shí)鐘如果你的外部Flash最高支持133MHz但BootROM階段只跑到幾十MHz這沒關(guān)系只要應(yīng)用代碼里重新初始化QSPI把它切換到高速模式即可。啟動(dòng)階段不用追求極限速度穩(wěn)定才是第一位的。3. RASCKeil環(huán)境搭建從配置到第一行代碼3.1 RASC創(chuàng)建工程先選對(duì)芯片型號(hào)和FSP版本瑞薩的圖形化配置工具RASCRenesas Advanced Smart Configurator是RZ/N2L開發(fā)的主入口和e2 studio里的配置界面是同一套東西。如果你是從RA6M5這類RA系列轉(zhuǎn)過來會(huì)發(fā)現(xiàn)操作方式很熟悉但RZ/N2L屬于RZ系列FSP套件版本和RA系列不完全一樣生成的代碼結(jié)構(gòu)也有差異。打開RASC后第一步是選擇具體芯片型號(hào)。RZ/N2L下面還有多個(gè)子型號(hào)區(qū)別主要在封裝、內(nèi)置SRAM大小、外設(shè)數(shù)量上。選錯(cuò)型號(hào)會(huì)導(dǎo)致引腳分配不對(duì)后期改起來非常痛苦。我建議在原理圖定稿后就把型號(hào)確認(rèn)好RASC建工程時(shí)直接鎖定。創(chuàng)建工程時(shí)還需要選目標(biāo)編譯器。RASC支持生成Keil、IAR、GCC等工具鏈的工程文件。我們用的是Keil MDK所以在RASC里選擇對(duì)應(yīng)的工具鏈生成后直接用MDK打開工程不需要手動(dòng)移植。FSP版本方面不要盲目追求最新版。有些新版本對(duì)老型號(hào)的支持存在回歸問題我踩過一次升級(jí)FSP后QSPI的片選時(shí)序配置項(xiàng)位置變了生成代碼和手冊(cè)對(duì)不上。穩(wěn)妥做法是選擇當(dāng)前型號(hào)的長(zhǎng)期支持版本至少等一個(gè)版本發(fā)布三個(gè)月后再考慮升級(jí)。3.2 QSPI外設(shè)配置重點(diǎn)看時(shí)序參數(shù)在RASC的Stacks配置頁里添加QSPI驅(qū)動(dòng)配置界面會(huì)列出一堆選項(xiàng)包括Bus Width總線寬度、Command Sequence命令序列、時(shí)鐘分頻等。這些參數(shù)不是隨便填的要和實(shí)際Flash芯片的指令集對(duì)應(yīng)上。例如W25Q128JV的頁寫指令有0x02單線和0x32四線頁寫部分廠商是0x32擦除指令有扇區(qū)擦除0x20、塊擦除0xD8。RASC配置界面里會(huì)把對(duì)應(yīng)的操作類型列出你需要把Flash手冊(cè)上的指令碼填進(jìn)去。填錯(cuò)了不會(huì)立刻報(bào)錯(cuò)但讀寫數(shù)據(jù)會(huì)出現(xiàn)詭異性錯(cuò)誤。時(shí)鐘分頻配置要略留余量。如果Flash標(biāo)稱最高支持104MHzQSPI時(shí)鐘設(shè)置為80MHz到90MHz比較穩(wěn)妥這個(gè)頻率貼上限跑長(zhǎng)時(shí)間工作加上溫度變化時(shí)序余量不足會(huì)導(dǎo)致偶發(fā)讀錯(cuò)。不要為了跑分好看把頻率拉到極限嵌入式產(chǎn)品穩(wěn)定壓倒一切。RASC生成代碼后QSPI驅(qū)動(dòng)的初始化、讀寫接口都會(huì)被封裝好實(shí)際使用時(shí)通常從R_QSPI_Open開始然后通過R_QSPI_Read、R_QSPI_Write、R_QSPI_Erase等接口操作Flash。具體函數(shù)名以生成代碼為準(zhǔn)但調(diào)用邏輯和標(biāo)準(zhǔn)FSP驅(qū)動(dòng)是一致的熟悉一家以后換型號(hào)很容易上手。3.3 Keil工程導(dǎo)入與下載算法配置RASC生成完工程用Keil MDK打開后第一個(gè)要處理的問題是下載算法。默認(rèn)工程里一般只包含片內(nèi)Flash的編程算法外部QSPI Flash不在其中直接點(diǎn)下載會(huì)提示找不到算法。Keil里為外部Flash添加下載算法有兩種方式。一種是選擇Keil安裝目錄下現(xiàn)成的Flash算法文件比如針對(duì)W25Q系列通常能找到對(duì)應(yīng)的.FLM文件另一種是通過調(diào)試器的QSPI Flash Loader實(shí)現(xiàn)J-Link的J-Flash軟件支持大多數(shù)常見QSPI Flash型號(hào)配置好之后可以在線燒寫。如果芯片的QSPI Flash型號(hào)比較冷門找不到現(xiàn)成下載算法還有一個(gè)通用辦法先用串行接口啟動(dòng)模式通過UART把一段一級(jí)Bootloader燒到片內(nèi)SRAM再由Bootloader通過QSPI驅(qū)動(dòng)把完整的Bootloader和應(yīng)用固件寫到外部Flash。這個(gè)流程雖然繞但在量產(chǎn)階段很實(shí)用尤其是調(diào)試器算法兼容性出問題時(shí)。下載算法配置好之后還有一個(gè)坑Keil的Flash Download選項(xiàng)里Programming Algorithm和RAM for Algorithm這兩組地址空間要和芯片的QSPI映射地址范圍匹配。RZ/N2L的QSPI內(nèi)存映射地址通常是0x80000000開頭的一段區(qū)間算法配置里的起始地址必須寫對(duì)這個(gè)值否則程序能下載但上電后無法從Flash啟動(dòng)。4. QSPI底層驅(qū)動(dòng)快速移植讀、寫、擦除完整實(shí)現(xiàn)4.1 QSPI控制器的工作方式先理解再動(dòng)手RZ/N2L的QSPI控制器支持兩種工作模式間接模式和內(nèi)存映射模式。間接模式適合指令發(fā)送、狀態(tài)讀取、小塊數(shù)據(jù)寫入內(nèi)存映射模式適合大塊數(shù)據(jù)讀取也就是XIP。理解這兩種模式的區(qū)別對(duì)接下來的代碼設(shè)計(jì)很重要。間接模式下代碼像操作普通外設(shè)一樣往控制器的傳輸寄存器里寫數(shù)據(jù)觸發(fā)QSPI控制器自動(dòng)產(chǎn)生SCLK時(shí)序。這種方式靈活可以發(fā)任意指令缺點(diǎn)是效率偏低每筆數(shù)據(jù)傳輸都要軟件參與。內(nèi)存映射模式下Flash被映射到CPU地址空間CPU直接讀地址就能拿到數(shù)據(jù)效率最高但不適合寫入操作因?yàn)閷懖僮餍枰暾牟翆懥鞒?。參?shù)存儲(chǔ)的優(yōu)化思路就在這里讀取參數(shù)時(shí)走內(nèi)存映射模式直接以指針方式訪問寫入?yún)?shù)時(shí)切換到間接模式執(zhí)行擦除、寫使能、頁寫一系列命令。不少工程師忽略了這個(gè)區(qū)分全程用間接模式讀Flash導(dǎo)致系統(tǒng)啟動(dòng)時(shí)讀參數(shù)耗時(shí)幾十毫秒完全沒有發(fā)揮QSPI的性能優(yōu)勢(shì)。4.2 核心驅(qū)動(dòng)代碼忙檢測(cè)、頁寫、扇區(qū)擦除QSPI NOR Flash的操作基礎(chǔ)是命令序列。常見的命令包括寫使能0x06、讀狀態(tài)寄存器0x05、頁寫0x02、扇區(qū)擦除0x20、塊擦除0xD8、讀數(shù)據(jù)0x03單線高速讀0x0B。驅(qū)動(dòng)設(shè)計(jì)時(shí)把這些命令封裝成基礎(chǔ)函數(shù)上層按需組合。下面這段代碼是一個(gè)精簡(jiǎn)的忙等待和頁寫實(shí)現(xiàn)基于瑞薩FSP生成代碼的基礎(chǔ)上做的簡(jiǎn)化實(shí)際工程中要做超時(shí)保護(hù)/* 讀QSPI Flash狀態(tài)寄存器 */ static uint8_t qspi_read_status(void) { uint8_t status 0; uint8_t cmd 0x05; /* Read Status Register-1 */ R_QSPI_Command(cmd, 1, status, 1); return status; } /* 等待Flash空閑帶超時(shí) */ static int qspi_wait_busy(uint32_t timeout_ms) { uint32_t tick 0; while (tick timeout_ms) { if ((qspi_read_status() 0x01) 0) { return 0; } R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_MILLISECONDS); tick; } return -1; } /* 頁寫len為1~256字節(jié) */ static int qspi_page_program(uint32_t addr, const uint8_t *buf, uint16_t len) { uint8_t write_enable 0x06; R_QSPI_Command(write_enable, 1, NULL, 0); return R_QSPI_Write(addr, buf, len); } /* 扇區(qū)擦除4KB */ static int qspi_sector_erase(uint32_t addr) { uint8_t write_enable 0x06; uint8_t erase_cmd 0x20; R_QSPI_Command(write_enable, 1, NULL, 0); R_QSPI_Command(erase_cmd, 1, NULL, 0); return qspi_wait_busy(500); }頁寫有個(gè)容易被忽略的坑如果寫入數(shù)據(jù)跨過了256字節(jié)頁邊界Flash內(nèi)部會(huì)自動(dòng)回卷把后半段數(shù)據(jù)寫到頁首導(dǎo)致數(shù)據(jù)錯(cuò)亂。所以驅(qū)動(dòng)里一定要做長(zhǎng)度和跨頁判斷超過頁邊界就拆分成多次寫入每次最多寫到本頁結(jié)尾。擦除等待時(shí)間也要給足。扇區(qū)擦除典型時(shí)間是50ms到400ms塊擦除更長(zhǎng)。等待循環(huán)里如果超時(shí)閾值設(shè)置太短會(huì)誤報(bào)出錯(cuò)。我習(xí)慣把扇區(qū)擦除超時(shí)設(shè)置到500ms塊擦除設(shè)置到2s給芯片留足余量。4.3 讀性能優(yōu)化內(nèi)存映射模式一次搞定實(shí)際產(chǎn)品里參數(shù)結(jié)構(gòu)體可能包含幾十個(gè)字段分布在幾百字節(jié)范圍內(nèi)。如果用間接模式一條條讀每次都要拉起CS、發(fā)送命令效率非常低。正確做法是在系統(tǒng)初始化時(shí)把QSPI控制器切換到內(nèi)存映射模式然后直接用指針讀取#define QSPI_MAPPED_BASE 0x80000000UL #define PARAM_AREA_OFFSET 0x00100000UL const param_struct_t *param_ptr; param_ptr (const param_struct_t *)(QSPI_MAPPED_BASE PARAM_AREA_OFFSET); if (param_ptr-magic PARAM_MAGIC) { /* 參數(shù)有效直接使用 */ local_param *param_ptr; }這段代碼的執(zhí)行速度比間接模式快一個(gè)數(shù)量級(jí)讀取時(shí)不占用CPU等待時(shí)間。寫入時(shí)再切換回間接模式完成擦寫后重新切回內(nèi)存映射模式。需要注意的是切換操作要嚴(yán)格配對(duì)防止寫操作執(zhí)行到一半切模式導(dǎo)致總線異常。5. 參數(shù)存儲(chǔ)優(yōu)化實(shí)戰(zhàn)磨損均衡與掉電保護(hù)5.1 存儲(chǔ)區(qū)布局設(shè)計(jì)代碼和參數(shù)分家參數(shù)存儲(chǔ)設(shè)計(jì)的首要原則是參數(shù)區(qū)和代碼區(qū)必須物理隔離不能混在一起。否則一次參數(shù)擦除失誤可能把固件代碼一同抹掉產(chǎn)品直接變磚。我習(xí)慣把QSPI Flash分成四個(gè)區(qū)域一級(jí)Bootloader、應(yīng)用固件區(qū)、參數(shù)存儲(chǔ)區(qū)、日志區(qū)。典型布局參考如下區(qū)域起始地址大小用途Bootloader0x00000064KB啟動(dòng)加載、異常恢復(fù)應(yīng)用固件0x0100001MB主程序XIP運(yùn)行參數(shù)存儲(chǔ)0x200000256KB參數(shù)雙Slot輪換日志區(qū)0x240000剩余空間運(yùn)行日志、升級(jí)記錄參數(shù)區(qū)劃分256KB相對(duì)整個(gè)Flash容量不算大但用雙Slot輪換設(shè)計(jì)已經(jīng)非常寬裕。每個(gè)Slot對(duì)齊到扇區(qū)邊界方便獨(dú)立擦除。如果固件本身不足1MB可以把參數(shù)區(qū)擴(kuò)大存儲(chǔ)余量更充足。參數(shù)結(jié)構(gòu)體建議這樣定義typedef struct { uint32_t magic; /* 固定魔數(shù)識(shí)別參數(shù)有效性 */ uint32_t version; /* 參數(shù)版本號(hào) */ uint32_t sequence; /* 遞增序號(hào)區(qū)分新舊 */ uint32_t crc32; /* CRC校驗(yàn)值 */ uint8_t data[512]; /* 實(shí)際參數(shù)字段 */ } param_slot_t;magic用于快速判斷區(qū)域是否被寫過version支持不同版本固件之間參數(shù)格式升級(jí)sequence在雙Slot設(shè)計(jì)中區(qū)分新舊數(shù)據(jù)crc32確保數(shù)據(jù)完整性。這四樣缺一不可少了任何一個(gè)后續(xù)排查都會(huì)很痛苦。5.2 雙Slot輪換寫入掉電也不怕參數(shù)寫入最怕掉電。設(shè)想一下寫主Slot到一半斷電主Slot的數(shù)據(jù)既不是舊值也不是新值如果系統(tǒng)只認(rèn)主Slot這次斷電就造成參數(shù)損壞。雙Slot設(shè)計(jì)就是為了解決這個(gè)問題。寫入流程這樣設(shè)計(jì)讀取當(dāng)前有效Slot的sequence值記為old_seq。擦除空閑Slot把新參數(shù)和遞增后的sequence寫入該Slot。寫入完成后讀回校驗(yàn)CRC正確才認(rèn)為寫入成功。將另一個(gè)Slot標(biāo)記為無效把magic清掉。上電時(shí)掃描兩個(gè)Slot取magic有效且sequence較大的那個(gè)作為當(dāng)前參數(shù)。這里的關(guān)鍵在于任何時(shí)候至少保留一份完整有效的參數(shù)。寫入過程只動(dòng)空閑Slot老數(shù)據(jù)始終在另一個(gè)Slot里躺著就算寫一半掉電上電后仍能讀到完整舊數(shù)據(jù)。實(shí)現(xiàn)時(shí)用一段簡(jiǎn)單的掃描函數(shù)static param_slot_t *find_valid_slot(void) { param_slot_t *slots[2]; int idx; slots[0] (param_slot_t *)(QSPI_MAPPED_BASE SLOT0_OFFSET); slots[1] (param_slot_t *)(QSPI_MAPPED_BASE SLOT1_OFFSET); /* 先判斷magic是否都有效 */ if (slots[0]-magic ! PARAM_MAGIC slots[1]-magic ! PARAM_MAGIC) { return NULL; /* 兩個(gè)槽都無效使用默認(rèn)參數(shù) */ } idx 0; if (slots[1]-magic PARAM_MAGIC) { if (slots[0]-magic ! PARAM_MAGIC || slots[1]-sequence slots[0]-sequence) { idx 1; } } if (crc32_check(slots[idx]) ! 0) { return NULL; /* CRC校驗(yàn)失敗用默認(rèn)參數(shù)并報(bào)警 */ } return slots[idx]; }這段邏輯還要配合CRC校驗(yàn)。CRC計(jì)算放在寫入之前讀回校驗(yàn)放在上電階段。不要省CRC魔數(shù)只能在某種程度上防止未擦除區(qū)域被誤讀但無法防止數(shù)據(jù)位翻轉(zhuǎn)或者部分寫失敗。CRC才是數(shù)據(jù)完整性的最終保障。5.3 磨損均衡計(jì)算Flash壽命到底夠不夠雙Slot方案解決了掉電保護(hù)問題但磨損均衡的效果取決于Slot數(shù)量和寫入頻率。這里做一個(gè)簡(jiǎn)單計(jì)算把理論壽命算清楚。假設(shè)使用W25Q12816MB參數(shù)區(qū)256KB劃分為兩個(gè)Slot每個(gè)Slot占128KB一個(gè)Slot內(nèi)包含32個(gè)4KB扇區(qū)。每次參數(shù)更新寫一個(gè)扇區(qū)。Flash扇區(qū)擦寫壽命為10萬次。兩個(gè)Slot始終各有一個(gè)扇區(qū)在參與寫入磨損均衡后相當(dāng)于有64個(gè)扇區(qū)輪流被擦寫實(shí)際上每次寫一個(gè)扇區(qū)后下次會(huì)優(yōu)先選擇擦寫次數(shù)最少的扇區(qū)。那么使用壽命約為64個(gè)扇區(qū) × 100,000次 / 每天寫入次數(shù) 6,400,000 / 每天寫入次數(shù)如果設(shè)備每10分鐘寫一次參數(shù)一天144次壽命約為44444天超過120年。就算每秒鐘寫一次一天86400次壽命也有74天對(duì)于參數(shù)保存來說完全夠用。這個(gè)計(jì)算說明一個(gè)道理磨損均衡的效果取決于參與輪換的扇區(qū)數(shù)量。如果只用固定一個(gè)扇區(qū)擦寫10萬次壽命很快耗盡但只要把參與輪換的扇區(qū)數(shù)量做大壽命會(huì)線性增長(zhǎng)。所以參數(shù)區(qū)不要?jiǎng)澐值脫笓杆阉讯嘟o幾個(gè)扇區(qū)產(chǎn)品生命周期內(nèi)的磨損問題基本不用再管。6. 啟動(dòng)與存儲(chǔ)故障排查我踩過的坑都在這里6.1 啟動(dòng)失敗反復(fù)重啟先查BootROM階段遇到上電后系統(tǒng)反復(fù)重啟或者完全沒有響應(yīng)按下面的順序排查。首先檢查啟動(dòng)模式引腳的最終電平是否和預(yù)期一致。用萬用表量一下復(fù)位釋放時(shí)的電平不要只看原理圖。我遇到過原理圖上標(biāo)示正確但PCB布線時(shí)通過一個(gè)串聯(lián)電阻接到了錯(cuò)誤電平的情況。其次確認(rèn)Flash芯片是否被BootROM正確識(shí)別。RZ/N2L的BootROM在執(zhí)行QSPI啟動(dòng)時(shí)會(huì)從Flash的起始位置讀取有效引導(dǎo)頭引導(dǎo)頭的結(jié)構(gòu)在芯片應(yīng)用手冊(cè)里有明確說明。如果引導(dǎo)頭內(nèi)容不對(duì)BootROM會(huì)靜默放棄之后的行為取決于其他啟動(dòng)源是否配置。第三步是檢查Flash里是否確實(shí)燒寫了Bootloader。用調(diào)試器讀出Flash起始地址的二進(jìn)制數(shù)據(jù)看是否有意料之外的全FF或者全00。全FF說明Flash沒燒進(jìn)去或者擦除后未編程全00說明寫操作異常通常與寫使能時(shí)序有關(guān)。6.2 參數(shù)偶發(fā)丟失CRC和掉電時(shí)序是重點(diǎn)參數(shù)偶發(fā)丟失是排查起來最頭疼的問題因?yàn)閱栴}不一定能穩(wěn)定復(fù)現(xiàn)。我遇到過的原因主要有三類。第一類是CRC校驗(yàn)邏輯漏了字節(jié)。曾經(jīng)有個(gè)同事把結(jié)構(gòu)體里padding區(qū)也算進(jìn)CRC結(jié)果不同編譯優(yōu)化級(jí)別下結(jié)構(gòu)體填充字節(jié)不同導(dǎo)致同一份參數(shù)在不同固件下校驗(yàn)結(jié)果不一致。解決方案是定義一個(gè)固定布局的參數(shù)結(jié)構(gòu)體顯式添加保留字節(jié)CRC只計(jì)算固定區(qū)域。第二類是掉電瞬間的Flash內(nèi)部狀態(tài)被破壞。QSPI Flash在寫入過程中掉電Flash內(nèi)部的高壓發(fā)生器可能處于中間狀態(tài)雖然雙Slot機(jī)制能保住有效數(shù)據(jù)但下次擦除這個(gè)損壞的Slot時(shí)如果寫入電壓不穩(wěn)定擦除時(shí)間會(huì)異常拉長(zhǎng)。解決辦法是給Flash供電加一點(diǎn)儲(chǔ)能電容讓掉電后還能維持幾十毫秒供電把正在進(jìn)行的擦寫流程走完。第三類是WP引腳保護(hù)意外開啟。很多Flash有狀態(tài)寄存器保護(hù)位一旦設(shè)置扇區(qū)或塊無法擦除。如果代碼里沒有寫狀態(tài)寄存器的操作但有外部干擾觸發(fā)了保護(hù)后續(xù)寫操作會(huì)一直失敗。排查時(shí)可以讀取狀態(tài)寄存器檢查BP位是否被意外置位。6.3 擦寫卡死和讀取錯(cuò)亂信號(hào)問題和驅(qū)動(dòng)問題兩手抓擦寫卡死最直接的原因是等待超時(shí)邏輯沒有生效流程一直卡在忙輪詢里。排查時(shí)要確認(rèn)超時(shí)計(jì)數(shù)器是否運(yùn)行正常以及是否在中斷環(huán)境下調(diào)用了驅(qū)動(dòng)且沒有處理臨界區(qū)。讀取錯(cuò)亂常見于高速模式。把QSPI時(shí)鐘從100MHz降到50MHz后故障消失基本可以斷定是信號(hào)完整性問題。排查PCB布線、串聯(lián)電阻取值、Flash供電濾波逐步降低時(shí)鐘直到穩(wěn)定。有時(shí)候問題不在硬件而是四線模式下的IO2/IO3引腳的復(fù)用配置不完整導(dǎo)致寫命令發(fā)出時(shí)數(shù)據(jù)線狀態(tài)錯(cuò)誤?,F(xiàn)象可能原因排查方法上電不啟動(dòng)復(fù)位循環(huán)啟動(dòng)模式引腳電平錯(cuò)誤萬用表量復(fù)位釋放時(shí)引腳電平下載報(bào)錯(cuò)找不到Flash算法Keil缺少對(duì)應(yīng).FLM或地址配置不對(duì)核對(duì)QSPI映射地址替換下載算法參數(shù)偶爾全零或全FFCRC校驗(yàn)失誤或雙Slot邏輯缺陷檢查CRC計(jì)算范圍打印兩個(gè)Slot有效狀態(tài)擦除200ms后仍返回忙狀態(tài)寄存器保護(hù)位被置位讀取SR檢查BP位數(shù)據(jù)高速讀錯(cuò)低速正常信號(hào)完整性問題降低時(shí)鐘、檢查布線等長(zhǎng)QSPI初始化后讀寫全失敗命令序列配置和Flash型號(hào)不匹配對(duì)照Flash手冊(cè)核對(duì)指令碼排查這類問題效率最高的手段是提前在代碼里埋好診斷信息。每步初始化、每次擦寫執(zhí)行、每個(gè)CRC校驗(yàn)都記錄狀態(tài)碼。產(chǎn)品量產(chǎn)后出問題沒有l(wèi)og根本無從下手。日志區(qū)劃分出來的空間不是擺設(shè)就算只是異常時(shí)寫一個(gè)16字節(jié)的錯(cuò)誤碼也比整片F(xiàn)lash拆下來讀數(shù)據(jù)要靠譜。從RASC配置到Keil調(diào)試從間接模式到內(nèi)存映射模式這套方案跑通之后RZ/N2L的QSPI啟動(dòng)和參數(shù)存儲(chǔ)就不再是風(fēng)險(xiǎn)點(diǎn)了。以后再做新項(xiàng)目如果還是RZ系列配外部Flash我大概率會(huì)直接復(fù)用這套框架——把雙Slot輪換邏輯做成獨(dú)立模塊底層驅(qū)動(dòng)換成對(duì)應(yīng)芯片的FSP接口上層業(yè)務(wù)邏輯幾乎不用改。有一點(diǎn)想額外提醒量產(chǎn)固件里的QSPI時(shí)鐘頻率、超時(shí)時(shí)間這類參數(shù)一定要留成宏定義別散落在代碼里。后期換Flash型號(hào)或者調(diào)整PCB布局只需要改一處配置重新編譯就能用省去大范圍排查的工夫。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情色情五月天| 99.色| 亚洲欧洲中文日韩久久AV乱码| 丁香伊人五月色婷婷五十路| 婷婷色婷婷| 婷婷激情五月天在线视频| 激情久久伊人| 99热只有| 伊人五月婷婷| 婷婷五月天电影区小说区| 亚洲午夜一区二区| 婷婷五月天VI| 九九热视频在线观看| 开心日韩丁香婷婷五月| 久久天天天| AA片在线观看视频在线播放| 久久亚洲婷婷| www.色婷婷.com| 亚洲激情av| 99人妻碰碰久久久禁片| 五月丁香大香蕉| 激情5月婷婷| 少妇日麻屄| 色五月婷婷综合在线| 国产精品大香蕉| z色五月播播久久| 玖月婷婷爱丁香| 九九久久视频| 色婷婷视频| 激情综合在线播放| 级人人91| 在线综合亚洲欧美65| 亚洲AV免费在线| 婷婷色激情五月天| 久久久久人妻精选| 大伊久久| 色青五月天| 天天色播| 天天做天天爱天天日| 色婷婷AⅤ| 日日夜夜干| 五月婷婷亚洲| www.henhenl| 五月天婷婷影院影院| 99热精品观看| 99久热在线精品| 婷综合六月| 俺也去色| 久久XX日本综合| 色婷婷导航| 五月天激情网站| 五月婷婷丁香在线| 久久婷婷五月综合色和| 亚洲VA口| 亚州操人在线视频| 婷婷丁香六月| 精品一区二区三区四区五区六区| 综合激情站| 色在线99| 色五月婷婷自拍| 9 9热这里有精品| 欧美97超碰| 亚洲精品又粗又大又爽A片| 婷婷激情综合| 精品欧美一区二区三区久久久| 丁香五月婷婷在线| 婷婷色综合| 99热精品在线观看| 97超级啪啪在线观看| 五月丁香啪| 丁香五月成人网| 99九九久久| 九九热大香蕉| 亚洲精品一区中文字幕乱码| 久操香蕉| 亚洲AV日韩无码| 九九精品热播| 色色色色色色色综合| WWW,激情五月天,COM| .操區COm| 亚洲六月色| 五月婷婷综合久久| 玖玖资源在线视频| 先锋影音av色五月天资源站| 玖玖午夜视频| va婷婷在线| 丁香婷婷免费| 99热这里精品| 婷婷六月丁香五月| 在线一起草av| 综合婷| 99人人操| 五月丁香婷婷国产精品综合| 色五月激情| 99精品久久| 亚洲这里只有精品| 99ri视频在线观看| 婷婷色色狠狠| 综合激情视频| 1000部毛片A片免费观看| 黄桃AV无码免费一区二区三区 | 日韩伊人大香蕉| 色在线免费观看| 婷婷玖玖丁香| 色婷婷综合五月| 精品五月天| 五月婷婷六月情| 欧美色色色色色| 精品少妇人妻AV无码专区偷人| 噢美99| 激情四射婷婷| 欧美25p| 五月天精品视频| 一级AV片| 99亚洲综合| 婷婷六月激情综合| 成人精品视频99在线观看免费| 丁香婷婷五月激情四射网| 无码髙清| 综合网视频| 无人精品在线视频| 色就色94欧美setu| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 婷婷五月天视频在线观看| 丁香五月手机在线| 婷婷五月另类网站| 婷婷中文字幕版| 激情综合国产| 五月色亭丁香| 亚洲综合色五月| 五月天丁香| 免费观看全黄做爰的视频| 亚洲视频国产一区| 九九热最新| 五月丁香六月| 综合五月草| 天堂网啪啪| 五月天婷婷小说| 色婷婷性爱| 丁香婷婷六月激情| 九九精品综合| 婷婷少妇激情| 婷婷五月天成人| 亚洲宗合激情| 九九草热在线观看| 天天碰夜夜操| 丁香激激情网| hd五月婷婷在线| 伊人久久大香蕉网| 久久九⑨| 丁香九月综合激情| 色九亚洲| 啪啪操超碰| 91九九九九九九| 五月六月丁香婷婷在线观看| 成人无码髙潮喷水A片| 91九色国产| 99热在线看片| 热99精品视频五月| 激情亚洲婷婷| 五月丁香久久网| 综合色播| www..999热久| 99免费视频| 欧美久久网| 久久婷婷综合五月趴| 五月丁香六月激情欧美综合| 怕怕av| 色噜噜婷婷| 日本综合色图| 思思热在线观看| 日本老女人黄页在线播放| 欧洲亚洲免费视频9| 国产成人高清| 深爱激情五月天| 日本精品在线噜噜噜| 婷婷五月激情图片| 天天日天天干天天爱| 久久怕怕视频| 这里只精品热在线18| 九九成人电影婷婷| 丁香 亚洲 久久| 丁香五月久久社区| 婷婷丁香五月综合| 亚洲、热| 综合久久97| 婷婷五月天综合在线 | 伊人春天av| 99亚洲视频| 五月婷婷色影院| 婷婷黄色| 男人的天堂婷婷色五月| 激情五月久久| 婷婷丁香五月精品| 色综合香蕉| 狠狠人妻色综合| 成人片在线免费看| 天天操夜夜操| 激情深爱五月| 天天爱天天日| 欧美激情 日韩无码 婷婷 五月天| 国产亚洲精品久久一区二区三区| 五月天激日本色情在线| 丁香五月综合激情久久潮喷| 久久精彩免费视频| 婷婷丁香五月在线播放| 人妻熟人中文字幕一区二区| 亚洲成人在线综合| 五月婷婷之六月丁香| 99ri6在线视频| 九九热在线精品视频| 日本久久婷婷| 香蕉99网| 欧洲电影在线观看免费版英语版| 色色五月天网站| 操操操av| 99热碰碰热| 亚洲爆乳无码精品AAA片蜜桃| 97好吊操| 色五月天.con| 一本色道久久88加勒比—| 免费黄色片子| 五月亭亭直播| 天天综合亚洲综合| 狠狠另类视频| 亚洲色综合| 99久久婷婷国产综合亚洲| 激情五月色婷婷| 91丨九色丨高潮丰满日本| 亭亭丁香久久五月| 91九色国产在线| 成人AV片播放| 久九男女天堂| 色综合色色| 丁香五月开心亚洲| 很很操很很操| 色五月xxx| 久久99三级在线视频| 五月婷婷啪啪| 色爱五月天| 五月丁香啪啪综合| www色婷婷久久综合久色| 日日操夜夜操狠狠操| 久久久久思思热| 亚洲激情 久久| 色九月综合网| 九九综合五月欧美| 9精品国产在热久久| 91丨九色丨大屁股| 天天艹夜夜艹| 狠狠干无码| 99看片| 99色在线视频| 99热国品免费| 色婷婷五月影视| 97久操视频| 五月婷婷视频| 日本婷婷色| 国产亚洲精品AAAAAAA片| 国产亚洲精久久久久| 激情文学天天| 一区二区三区四区五区| 在线视频色五月| 操操天堂| 日日夜夜狠狠婷婷色| 五月婷婷丁香综合| 99re66热这里只有精品| 久久婷婷五月综合精品蜜芽| 大香蕉网站,大香蕉综合| 亚洲一级AV在线免费播放| 日本婷婷色| 狠狠色综合无线观看| 日韩人妻AV在线| 激情婷婷丁香| 色婷婷色和| 97碰碰九九视频| 另类色网| 99热只有国产在线精品| 亚洲一区二区无码蜜乳av| 99视频精品视频| 九九热这里都是精品6| 色婷婷基地| 天天肏视频| 久99在线视频| 色五月婷婷久久| 91无码视频| 我爱大香蕉| 这里只有精品亚洲| 五月丁香激情婷婷综合字幕| 久久在这里有精品| VfJxEwPH| 亚洲丁香花色| 综合天堂AV久久久久久久| 影音先锋男人女人| se99热久久一本| 噢美99| 97操碰人免费| 激情综合网五月丁香| 99热精品在线观看| 国产精品A片| 精品三区影院| 五月婷婷中文字幕| 99精品成人无码A片观看金桔| 蜜桃婷婷丁香综合久久开心亚洲| 欧美久久网| 久久国产性爱A V| 91dy.av| 婷婷五月花西瓜| 婷婷久久99| 九九色婷婷| 亚洲激情网| 激情五月天。| 另类视频一区| 成人片黄网站色大片免费毛片| 99视频只有精品| 97人碰人操| 天天干,天天操,天天射| 99re热99| 亚洲熟妇AV综合网五月丁香伊人 | 婷婷丁香成人| 中文字幕婷婷在线| WWW、日本色丁香、co m| 99爱这里只有精品| 九九久久网| 91精品久久久久久| 无码 av电影| 国内久久亭亭| 天天天天天天噜| 香蕉婷婷| 婷色视频| 天天做天天爱综合| 国产FREESEXVIDEOS性中国| 99热久久日本| 天天色综合综合| 99色干| 色婷青青| 99久视频| 久久婷狠狠色| 婷婷五月天A V| 欧美在线97| 五月丁香花开综合网| 婷婷射丁香| 桃色成人网| 五月天婷婷涩涩| 99re这里只有精品国产99| 色婷婷五月综合| 国产精品久久久久久久久久免费| 99热99ai| 开心五月婷婷| 丁香六月久久| 九九精品视频在线观看| 337p大胆噜噜噜噜噜91Av| 婷婷色在线视频| 俺也去婷婷五月天第五色| 久草热在线视频| 久久99热网| www.久久爱.com| 五月成人综合| 五月天精品综合在线| 亚洲不卡欧洲| 大香蕉久久久| 婷婷五月,偷窥偷拍网| 丝雨一区二区| 五月丁香婷婷三级| 天堂成人A片永久免费网站| 991国产精选视频在线播放下载| 青青草护士中出内射-欧美电影在线天堂新版 | 婷婷激情五月呦呦| 99re在线观看视频| 欧美在线视频99| 久久精品99久久久久久| 六月婷久久| 激情五月婷婷啪啪| www.91婷婷| 国产色色小草视频| 激情五月综合婷婷| 久久婷婷网站| 激情六月综合| 色婷婷欧美在线| 丁香六月综合激情| 婷婷五月天视频在线观看| 99热这里都是精品| 99热精在线九九久久保| 超碰人妻公开在线| 五月六月丁香激情| www.ywav| 天天综合在线网| 婷婷综合九色伊人| 色天天综合| 狠狠狠狠狠狠草| 玖玖资源天天无码| 婷婷五月色色| 亚洲va成人va成人va在线观看| 五月丁香久久网| av亚洲国产小电影| 五月婷婷综合在线| 99热欧美在线观看| 欧美成人A片AAA片在线播放| 婷婷激情四射| 色婷婷亚洲婷婷| 都市激情五月婷婷综合| 久久精品五月| 激情五月天 婷婷| 伊人丁香六月婷婷| 五月婷婷 自拍| 人人干人人看| 六月丁香婷婷视频综合在线观看 | 亚洲综合成人网| 丁香五月在线伊人| 香蕉久操| 99精品自拍| 五月色婷婷影视在线电影| 天天综合天综合久久网| 九色91视频| av婷婷丁香 六月| 色色丁香婷婷五月天| 国产va视频| 婷婷成人在线| 图片区 小说区 区 亚洲五月| 五月丁香五月婷婷在线观看| 久色视频在线| 麻豆精品| site:picc-up.com| 五月久久网| 国产亚洲精品AAAAAAA片| 婷婷综合六月| 91精品熟女| 在线综合91| 99综合网| 99热主页日本| 婷婷五月天激情综合网| 99色色网| 色婷婷综合丁香五月天| 国产又粗又大又爽又黄| 国产在线黄色| 婷婷综合五月天| 欧爱综合视频| 色婷婷狠狠干| 五月 成人 婷婷| 尤物一区二区| 日本欧美成人片AAAA| 久久综合影院| 岛国AV网| 九色色| 狠狠搞五月天| 丁香狠狠操| 五月丁香婷婷激情图片| 六月婷婷综合| 偷拍五月丁香| 色私五月婷婷| 五月狠狠| 99激情在线| 夜丁香五月婷婷| 色欲婷婷夜夜| 色婷久久| 色欲婷婷五月天| ou洲色吧| 中文字幕高清av| 操一区| 成人av在线电影| 五月天激情久久| 99精品网站| 婷婷另类开心| 亚洲色色爱| 色性综合| 五月天婷婷色在线视频免费观看| www.99热在线观看| 久久免费试看120秒| 亚洲区在线| 国产精品久久久久久妇女6080| 狠狠色丁香| 日本九九视频| 久综合色| 国产精品涩涩涩视频网站| 午夜婷婷| 九九成人视频| 成人做爰A片免费看视频| 久久久久er热| 人人爱操| 亚洲乱码日产精品BD| 五月天另类激情在线| 在线视频另类| 99热这里只有精品青草| 五月丁香综合网| 国产99久久久国产精品免费看| 婷婷五月天av| 麻豆WWWCOM内射软件| 最近韩国日本免费高清观看| 国产在线aaa片一区二区99| 大香蕉综合| 超碰在线人妻| 色婷婷六月| 97色射| 五月婷婷先锋| 99视频在线啪| 丁香激惜男女| 国语精品探花| 久久婷婷91| 久久婷婷五月天| 99∨VTV| 久久五月天 91| 色色色色色综合| 色婷婷69| 干婷婷五月天| 丁香六月色婷婷| 超碰人人超碰| www.色五月| 97亚洲视频在线| 大香蕉视频婷婷| 欧美婷婷精品激| 97视频.干com| 九九九激情网| 婷婷天堂视频| 夜夜躁狠狠| 色情一区二区播放| 欧美大道不卡| 99国产精品久久久久久久久久久| 99在线播放| 丁香婷婷性爱| 久噜久噜| 亚洲视频一区| 婷婷色五月天色| 五月天综合久久| 五月天成人网婷婷| 操逼三区| 丁香五月玖玖| 丁香五月婷婷五月天在线| 亚洲激情色色| 色色色色网| 五月丁香综合精品欧美| 成人精品一区二区三区四区五区 | 久热这里只有精品在线观看| 色婷婷的五月天| 99九九久久| www.91五月| 91ncm视频| 一区二区三区四区无码| 五月性色| 操B无码视频国语| 伊人9在线| 人人舔人人色人人高潮| 婷婷午夜激情| 夜色爱爱亚洲| 日韩六十路91性交电影| 丁香婷婷久久| 日韩无码系列| 九九热短视频在线观看 | 天天搞天天色综合| 天天爽夜夜爽天天爽夜夜爽| 99网| 超碰在线99| 婷婷色在线视频| 丁香六月成人| www.日日日.com| 99久久99九九九99九他书对| 婷婷激情五月视频| 精品久久人妻| 日本波多野结衣视频| 天天做综合| 日本色色网站| 日本久久极品| 色99在线视频| 婷婷五月超碰| 五月婷婷久草在线视频综合| 夜夜嗨一区二区三区直播内容 | 婷婷玖玖五月天| aaa久久久| oumeisesewang| 久久久性爱视频| 亚洲成人av在线播放| 99国产性感视频| 丁香六月婷婷久久综合| 综合色天天| 五月色婷婷综合| 色偷偷色婷婷| 天天色亚洲| 日本久久九| 婷婷五月久久| 国产永久一黄| 天天干天天插| 五月天婷婷基地综合网| 日本色图综合| 丁香六月婷婷综合色| 99操碰| 色播综合| 少妇熟女视频一区二区三区| 九九亚洲小视频| seav天堂| 日日撸夜夜操| 中文字幕日韩成人| 婷婷色在线观看| 人人爱干人人爱草| 欧美电影在线观看| www.sezonghe| 婷婷丁香先锋资源网站| 九九色热视频| 国产综合色婷婷精品久久| 六月丁香婷婷六月激情综合| 婷婷日本在线| 激情婷婷丁香| 97精品综合久久| 婷婷五月天激情文学| 丁香婷婷基地| 91狠狠综合久久久久久| 在线综合亚洲欧美65| 久久66精品| 综合久久十三| 久狠狠狠| 最新激情五月天| 艹B高清无码| 五月天天爽| 久久九九精彩| 成人在线观看精品| 玖玖资源在线视频| 99热99成人| 青柠影视免费高清电视剧| 夜夜撸天天日| 激情婷婷久久| 午夜不卡久久精品无码免费| AVDV久久| 青草久久五月婷伊人| 狠狠色综合五月人人| 丁香五月香蕉| 另类色网| 日韩久综合| 中文字幕网伦射乱中文| 玖玖资源站中文| caop在线| 国产女18毛片多18精品| 人人摸人人摸| 韩国天天婷婷| 五月丁香六月婷婷综合在线| 亚洲不卡123| 香蕉综合网| 日韩五月丁香| 久久久18| 激情小说之五月| 国产午夜成人AV在线播放| 久久五月天色| 婷婷五月天无码熟女| 大香蕉天堂色| 婷婷六月色| 欧美狠狠色| 新激情五月开心五月婷婷五月丁香五月| 五月丁香最新| 五月天色小说| 99久久激情视频| www.夜夜操| 99热99热在线观看| 色九亚洲| 9精品一区| 国产露脸150部国语对白| 婷婷激情视频| 一本久道综合色婷婷五月| 亚洲日韩国产黑丝黑丝AVAV一区二区三区 | 99在线爽| 先锋五月婷婷丁香草草| 开心久久网婷婷| 国产伦亲子伦亲子视频观看| 思思热99热| 欧美激情VA永久在线播放| 激情五月丁香激情综合网| 久久婷婷网| 色五月婷婷影院| 成人αV视频免费观看| 丁香五月色| 99亚洲视频| 日本丰满久久| 丰满少妇猛烈A片免费看观看| 99久.| 99热免费观看| 欧美啪啪9| 99热99热在线| 色综合激情| 五月天激情网页| 婷婷五月天成人基地| 欧美丁香婷婷天天操| 亚洲美女高潮久久久久久69| 婷婷五月丁香综合激情| 婷婷久久久久| 在线观看的av| 色综合中文| 99碰网站| 噜噜噜噜噜在线| 色情久久久| 日韩av在线免费观看| 狠狠综合久久综合| 黄页免费一级视频懂色| 色婷婷综合成人| 色婷婷超碰| www,色婷婷| 五月婷婷综合久久| 色,激情五月天| 五月婷婷色播视频| www.91.com处女在线直播| 狠狠色婷婷7777久综合| 婷婷情色五月天| 成年人夜夜喷水| 性生活视频98791| 青青草Avb在线| 久久与婷婷| 国产操碰| 婷婷六月爽| 精品怡红九九九| 久久丁香久久| 天堂综合久| 丁香色色网| 嫩草AV久久伊人妇女超级A| 99国产精品白浆在线观看免费| 欧美顶级少妇做爰HD| 男人先锋久久| 伊人色综合影院视频| 综合色99| 26UUU亚洲欧美| 日韩十国产极品久久| 九月色婷婷综合| 五月叮香啪| 日本一級黃色一級片| 婷婷香蕉精品| 美女激情综合| 99精品在| 可以看的av| 99热伊人| 777久久久| 五月丁香六月综合情在线观看| 九九热这里只有精品12| 97干综合网| 人妻中文在线| 免费精品99| 在线中文字幕视频| 婷婷丁香熟女| 色婷婷a v| 综合欧美五月婷婷| 26uuu欧美日本| 九热视频| 伊人久久大香线蕉亚洲五月天,| 久久99精品日本| 人妻尝试久久久久久久久久久久| 色99热| 202丰满熟女妇大| 激情 婷婷 插| 免费黄色视频网址| 最新无毒无码AV| 91黄操| 综合激情五月四射婷婷| 久久婷婷六月综合综合色| 99啪啪视频| 九一牛视频探花| 狠狠狠狠狠狠草| 天堂久久性| 欧美成人在线观看| 色色综合网站| 婷婷五月天综合久久| 少妇出轨做爰高潮A片| 色呦呦美女| 丁香婷婷婷五月| 久久久人妻| 日本色色网站| 操一操| 中字幕视频在线永久在线观看免费| 久久激情天堂| 操逼棍操逼| 中文字幕有多少字| 激情五月天久久丁香| www.五月.com| 九九在线精品| 99综合视频在线| 六月婷婷八月丁香| 中文字幕高清av| 毛片新网地| 五月天激情四射| 久久与婷婷| 五月丁香婷婷深深爱| 天天色2017| 色欲日日躁| 26uuu日韩| 婷婷五月天AV网| 色色五月天丁香婷婷| 色色网91| 涩综合婷婷| 亚洲AV成人无码精品| 激情婷婷五月天伊人在线观看| 色五月婷婷大香蕉| 久99久视频免费观看| 亚洲操b| 91高潮喷水久久久久久久久| 色五月丁香伊人| 免费超碰在线观看| 人妻肉射免费观看| 99久久国产综合精品五月天喷水\| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 99热九九热| 入口五月婷婷六月香| 五月婷婷偷拍| 91视频一起草| 天天干天天干天天操| 亚洲激情av| 婷婷久久网| 狠狠爱夜夜| 天天爽天天操| 日本乱论99| 成人在线日韩欧美| 啪啪一区| 成人综合网站| 秋霞电影理论| 六月丁香开心婷婷欧美| 婷婷激情社区| 免费看成人747474九号视频在线观看| 另类图片色五月| 五月天丁香综合| 综合色情网| WWW.五月天9999| 少妇做爰免费视看片| 开心五月丁香综合久久| 成人五月天综合网| 五月开心久久| 99色在线视频| 国产看真人毛片爱做A片| 久久这里99| 亚洲激情Av| 色五月涩涩婷婷| 热中文字幕| 精品亚洲国产成人A片在线鸭王| 开心五月激情站| 超碰丁香五月| 九九aV| 六月婷婷狠狠| 五月婷丁香久久综合| 91九色中文字幕女在线观看| 99re66热这里只有精品| 欧美大肥婆大肥BBBBB| 天天久| 日韩色色色色色| 激情又色又爽又黄的A片| 亚洲精品永久久久久久| 丁香婷婷性爱| 偷偷与邻居做爰完整视频| 激情五月婷婷丁香| 丁香五月天导航| 激情文学综合婷婷五月天丁香花| 99狠狠| www.zbzhongsen.com| 久久99久久99精品免视看婷婷| 亚洲无码成人网| 五月丁香综合网| 久久99免费视频| 超碰在线91| 色情网综合| 综合激情五月丁香| 九九热免费| 日本99视频| 丁香五月97视频| 亚洲人妻AV| 丁香六月久久| 亚洲精品五十一区| 91爱操| 操逼亚洲天堂| 婷婷五月天亚洲| 五月丁香婷婷欧美| 五月天亚洲最大成人| 99视频在线观看网址| 色五月婷婷五月天| 欧美日比视频| 婷婷五月色丁香在线看| 女性自慰系列第五页| 亚洲成人AV一区在线观看| 五月天综合| 久久久精品人妻| 5月丁香六月婷婷| www.激情.com.| 婷婷va| 亚洲电影中文字幕| 夜夜操狠狠操| 久久久99久久| 色婷婷超碰| 五月婷婷欧美激情| 五月天伊人av| 亚洲五月天,激情视频| 色偷偷人人| 玩熟女五十AV一二三区| 九九激情网| 狠狠综合久久| 99视频在线精品| 色色色色色色色色网站| 日日干夜夜撸夜夜骑| 思思99热这里只有精品| 99热国内精品| 大香蕉九九操| 在线免费观看激情视频| 超碰操日| 狠狠操狠狠色| 超碰在线99| 亚洲激情综合| 综激情网| 五月丁香久久| 色~性~乱~伦~噜| 天天插天天日| 久久婷婷内射| 女人被男人吃奶到高潮| 99在线小视频| 五月婷婷在线免费观看 | 伊人婷婷五月天av| 丁香婷婷久久综合在线| 久久久久9久无码视频| 激情人妻蜜夜系列区| 成人精品一区日本无码网| 五月婷婷婷婷| 综合五月天| 五月天婷婷小说| 久久久97| 色婷婷成人做爰A片免费看网站| 99在线精品观看99| 99ER热精品视频| 五月天色色无码| 99精品视频在线观看| 久9综合| 久久九九99.www| 色婷婷五月综合色婷婷| 狠狠色大香蕉| 日本久久爽| 日本一级特黄大片AAAAA级| 超碰人人操| 99riAV国产精品视频| 欧洲一区二区| 99久久a线观| 成人婷婷深爱综合网| 操一区| 欧美性爱五月天| 丁香五月色情| 狠狠爱婷婷五月天| 免费观看2018www黄色操逼网站| 九月婷婷综合网| 热99这里只是精品| 五月婷婷内射网| 99热这里只有精品69| www夜夜操com| AV在线大香蕉| 久热99| 国产乱妇乱子在线播视频播放网站| 国产真人做爰视频免费| 天堂在线婷婷| 99福利导航| 亚洲激情 久久| 精品亚洲VA网站| 国产成人高清| 色五月婷婷中文字幕| 日本乱子人伦在线视频| 亚洲欧美成人在线观看| 久久香蕉影院| 日批在线看| 久久久久婷| 激情综合五月天| 色婷婷综合在线| 狠狠艹狠狠艹| 五月天 另类图片| 成人AV中文字幕| 日本无码专区| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 婷婷大香焦| 久综合色| 呦呦视频无码播放| 99视频久久| 91无码一区人妻A片蜜| 超碰在线94| 伊人丁香五月| 国产性爱一级| 久久久亚洲精品一区二区三区浴池 | 伊人六月丁香婷婷| 五月婷婷婷丁香播| 五月Huangsewang| 五月停停999| 婷婷综合色五月天| www.婷婷五月| 久久婷婷五月综合色天| 天天肏屄夜夜爽| 五月丁香六月玩女人| 强辱丰满人妻HD中文字幕| 日本久久人| 亚洲激情高潮| 大香蕉久久| 欧美偷偷操| 伊久久婷婷| 五月丁香免费看| 中文字幕精品无码一区二区| 久/久精品99看9| 婷婷五月天啪啪| 婷婷午夜天| 99色精品| 综合久久人妻| 久久久久久五月天| 91久久99久久91熟女精品| 四月婷婷丁香| 天久综合91综合首页| www.婷婷五月天,com| 久久婷婷久久| 九九久久污| 人妻性爱av网站| 伊人久久婷婷| 在线超碰91| 日日色综合| 五月丁香婷婷欧美色图视频五月丁香777电影| 这里都是精品99| 大香蕉中文| 亚洲国产成人AV在线| 婷婷亚洲在线| 99久久婷婷| 92国产福利| 五月六月丁香激情| 99视频免费播放| 九九热区一区二区三区| 狠狠操狠狠| 都市激情蜜桃婷婷五月天| 婷婷精品免费久久| 五月丁香黄色| 激情五月婷| 99在线资源视频| 开心久久爱五月天| 激情五月天 婷婷| 91超碰人人操| 久久婷婷五月天激情四射| 五月丁香五月婷婷| 婷婷色色宗合网| 六月激情综合| 九九中文字幕九| 第四色大香蕉| 91丁香婷婷综合资源| av狠狠操| 99 re视频一区| 五月丁香综合网| 五月丁香琪琪| www.婷婷五月天.com| 亚洲成人另类| 婷婷色操| 丁香六月激情| 色五月 五月婷婷| 婷婷五月天成人五月天| 午夜精品久久久久久久爽| 国产阿姨日皮艹逼内射视频 | 色婷婷色综合久久精品V| 天天撸夜夜爽| www.cao.com久久| 婷婷六月久久综合导航| 香港九九六区八区99| 色情五月停停丁香| 2021日韩无码| 91九色在线| 五月开心婷婷极品激情| 美国少妇性做爰| 五月天黄色激情小说| 成人国产欧美大片一区| 精品51XX| 亚洲AV无码成人精品区电影网| 操久久网| 五月丁香激情综合网官网| 微拍92| 97干网站| 婷婷成人综合| 少妇人妻偷人精品无码视频新浪 | 亚洲成人中心| 久久婷婷五月天激情新地址| 免费超碰在线观看| 五月色天情| 91vip在线观看| 9l视频自拍9l九色成人| 天天爽综合网| 婷婷色啪| 日日夜夜干| 99这里只有精| 亚洲五月婷| 亚洲岛国电影| 九九99精品视频| 99爱最新免费视频在线观看| 欧美久人人| 久久婷婷五月综合| 五月丁香激情婷婷| 中文字幕,综合,91| 久久久久久久11111111111| 天天干狠狠| 丁香六月婷婷缴情欧美| 青吴乐视频| 亚洲五月天激情| 婷婷五月天男人影院色色网| 亚洲av免费在线| 麻豆AV一区二区三区| 丁香六月天婷婷开心综合| 婷婷六月激情| AV在线不卡播放| 五月婷婷AV| 日本在线噜噜| ay2区| 青草青草久9视频在线视频| 91久久99久久91熟女精品| 天天综合在线网| 五月婷婷色男女| 大香线蕉伊人| 婷婷天堂综合网| 337p大胆噜噜噜噜噜91Av| 丁香五月婷在线| 色 免费网站视频| 黄色短视频在线观看| 日产精品久久久久久久蜜臀| 色九月婷婷丁香| 好激情在线综合网| 日日骑夜夜撸| 91精品婷婷国产综合| 久久婷婷老| 九九这里只有精品| 成人婷99最新| 色五婷婷开心缴| sewuyuejiqingwang| 丁香五月婷婷久久综合激情网 | 激情五月天婷婷在线网址发给我| 欧美亚洲婷婷五月| 狠狠五月激情在线| 色婷丁香| 91色在线 | 日韩| 色丁香五月婷婷综合久久| 精品无码久久久久久久久| 成人短视频在线观看| 色亚洲欧洲| 伊人丁香六月婷婷| 日本精品在线噜噜噜| 色9月| 91色吧网| 欧美日韩中国| 久久久色情| www。久久久久一b。Cc| 99久久亚洲精品视频| 开心五月婷婷综合在线精品素人| 色情婷婷久久五月天| 久久女婷| 五月天婷婷色色| 九九这里都是精品| 成人丁香五月| 丁香五婷婷| 99久在线精品99re5热视频| 99成人免费热视频| 人人摸人人干人人做| 99热这里精| 国产精品蜜臀99| 无码人妻一区二区三区四区| 婷婷开心青青草| 久久色五月天| 99热久久这里只有精品| 丁香五月综合高清在线| 噜噜干日本| 色婷婷久久综合久色综| 九月性爱网| 碰碰碰97免费精彩视频| 日韩精品VIP| 亚洲AV无码影院| 日韩国产AV播放| www,久久久人人| 激情婷婷五月丁香啪啪啪| 日日夜夜亚洲一区| 亚洲欧洲中文日韩久久AV乱码| 亚洲成人AV电影在线| av操逼网| 9热久久| 激情五月最新网址| 成人资源在线| 久久AAAA片一区二区| 90色免费视频| 国产精品久久久久9999小说| 婷婷五月另类网站| 九热视频| 日韩三及成人AV片| 五月丁香亭亭操逼| 五月婷婷丁香综合| 色9色| 激情婷婷狠狠干| 无码人妻一区| 五月天婷婷AV| 婷婷五月天av| 成人精品视频99在线观看免费| 香蕉网婷婷| 日本情色一区二区| 99热亚洲精品| 久久五月天激情美女| 99综合99| 五月婷婷激情综合网 | 一本色道久久88加勒比—| 色情丁香五月婷婷精品| 色五月激情网| 五月婷婷成人网首页| 五月丁香六月婷婷久久| 久久色9| 大地9中文在线观看免费高清| 婷婷五月丁香色色| 色婷婷亚洲婷婷| 亚洲色婷婷99一9|| 五月丁香激情综合久久| 色综合色综合网| 天天日色情| 五月婷婷六月丁香玖玖玫瑰91| 亚洲小说五月婷婷| 色在线视频网2025| 亚洲五月天婷婷| 大香焦A∨| 久久大香蕉| 五月丁香六月香综合激情| 玖玖色综合网| 欧美顶级少妇做爰HD| www色哟哟| 婷婷丁香视频在线观看免费| 天天综合网网欲色| 五月丁香啪| 97碰精品| 国产 A片 自拍| 人人操五月天| 日本少妇裸体做爰高潮片| 新激情综合| 欧美猛片| 天天插天天插天天插天天插| 国产亚洲精品AAAAAAA片| 亚洲婷婷婷| 国产精品久久久60086| 色优久久| 五月天堂色色| 丁香婷婷色五月天| 五月丁香婷婷六月| 久操干| 五月欧美色色五月| 激情图片五月天| 婷婷久久婷婷色五月| 99re思思| 99久久久久| 久久久色情| 久久婷婷欧美| 日本五月婷| 1024操逼视频| 亚洲色婷婷视频| 香蕉久久av一区二区三区| 99超级碰免费视频| 激情综合网五月激情| 99精品无码视频| 色五月天在线观看| 亚洲天堂色| 六月丁香婷婷拍拍| 操碰91| 色婷婷综合影院| 久热网站| 欧美日韩色色| www好屌操| 99久re热视频精品98| 99热新网址| 色综合久久88色综合天天看| 超碰自拍天堂| 激情五月深爱婷婷| 天天干天天日蜜臀av| 亚洲avjiujiur91| 久久综合五月| 99综合久久| 久久色五月| www超碰com| 操一操| 另类国产欧美视频| 人妻尝试久久久久久久久久久久| 一本色道久久88综合日韩精品| 秋霞三级色戒| 婷婷五月在线观看| 日本WWW九九九| 深爱激情五月网| 91成人电影| 99免费视频| 99热老网站|