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

ARTICLE DETAIL

資訊詳情

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

新唐M2L31 MCU集成ReRAM,存儲(chǔ)架構(gòu)變革與開(kāi)發(fā)實(shí)踐

新唐M2L31 MCU集成ReRAM,存儲(chǔ)架構(gòu)變革與開(kāi)發(fā)實(shí)踐 Nuvoton M2L31把ReRAM請(qǐng)進(jìn)MCU存儲(chǔ)這件事該換思路了做嵌入式這些年大家早就習(xí)慣了“MCU Flash SRAM”這套固定搭配代碼燒進(jìn)去、掉電不丟、跑起來(lái)夠快就完事了。但最近新唐Nuvoton推出的M2L31系列微控制器把ReRAM也就是憶阻器做成了片內(nèi)非易失性存儲(chǔ)這事值得好好聊聊。別一聽(tīng)“憶阻器”就覺(jué)得是實(shí)驗(yàn)室里的黑科技它現(xiàn)在已經(jīng)實(shí)打?qū)嵉剡M(jìn)到量產(chǎn)MCU里了。這篇博文就結(jié)合我實(shí)際調(diào)試低功耗Arm MCU的經(jīng)驗(yàn)把這個(gè)芯片背后的技術(shù)邏輯、開(kāi)發(fā)時(shí)要注意的細(xì)節(jié)以及整個(gè)行業(yè)存儲(chǔ)方案的走向一次講清楚。不管是做IoT終端、可穿戴設(shè)備還是工業(yè)傳感器這篇內(nèi)容都能幫你少走彎路。1. 內(nèi)容整體設(shè)計(jì)與思路拆解1.1 ReRAM到底是什么憑什么進(jìn)MCU先花點(diǎn)時(shí)間把ReRAM的原理講明白因?yàn)楹竺嫠嘘P(guān)于M2L31的開(kāi)發(fā)決策其實(shí)都繞不開(kāi)這個(gè)存儲(chǔ)單元的物理特性。ReRAM的全稱是Resistive Random-Access Memory中文叫阻變式存儲(chǔ)器。它的核心存儲(chǔ)單元是一個(gè)金屬-絕緣體-金屬的三層結(jié)構(gòu)中間的絕緣介質(zhì)材料常見(jiàn)的有HfO?、TaO?等在施加不同極性的電壓后會(huì)在高阻態(tài)和低阻態(tài)之間可逆切換。高阻態(tài)可以約定為邏輯“0”低阻態(tài)約定為邏輯“1”這樣就成了一個(gè)非易失存儲(chǔ)單元。這個(gè)機(jī)制在物理上叫“導(dǎo)電細(xì)絲的形成與斷裂”電場(chǎng)把氧空位排成一條細(xì)絲器件就導(dǎo)通反向電壓把細(xì)絲熔斷器件就恢復(fù)高阻。整個(gè)過(guò)程不需要像Flash那樣把電子注入浮柵或者從浮柵里拉出來(lái)所以ReRAM的寫(xiě)入速度天然就比Flash快好幾個(gè)數(shù)量級(jí)。那為什么現(xiàn)在才輪到它上MCU核心原因是Flash在先進(jìn)工藝節(jié)點(diǎn)下面臨的物理極限越來(lái)越難突破。大家都清楚Flash存儲(chǔ)陣列要占額外的光罩層工藝每往下走一代浮柵器件的電荷保持能力、耦合比、編程干擾這些問(wèn)題就越難平衡。MCU現(xiàn)在主流停留在40nm、55nm甚至更老的節(jié)點(diǎn)很大一部分原因就是“邏輯電路想升級(jí)工藝但Flash不答應(yīng)”。ReRAM的優(yōu)勢(shì)在于它的存儲(chǔ)單元和CMOS邏輯工藝兼容性非常好不需要額外的浮柵結(jié)構(gòu)理論上可以在更先進(jìn)的節(jié)點(diǎn)上和邏輯電路一起做出來(lái)。新唐把ReRAM做進(jìn)單片MCU里本質(zhì)上是在用這個(gè)技術(shù)特性換取更高的集成度、更快的寫(xiě)入速度和更低的工作電壓。另外要提一個(gè)很多人會(huì)忽略的指標(biāo)擦寫(xiě)粒度。Flash的最小擦除單位是一個(gè)扇區(qū)通常4KB你要改一個(gè)字節(jié)理論上要把整個(gè)扇區(qū)讀出來(lái)、擦掉、再寫(xiě)回去這個(gè)過(guò)程又慢又傷壽命。ReRAM沒(méi)有“擦除”這個(gè)前置動(dòng)作可以直接按字節(jié)或者按小頁(yè)覆寫(xiě)這對(duì)用MCU做數(shù)據(jù)記錄比如存?zhèn)鞲衅魅罩?、掉電保存參?shù)的場(chǎng)景來(lái)說(shuō)開(kāi)發(fā)體驗(yàn)是質(zhì)變級(jí)別的。1.2 為什么是新唐先量產(chǎn)M2L31的定位分析新唐這次把ReRAM MCU量產(chǎn)不是拍腦袋的決定。Nuvoton這幾年的產(chǎn)品線一直圍繞Arm Cortex-M系列深耕從M0、M4到M23、M33覆蓋了消費(fèi)電子到工業(yè)控制的大部分價(jià)位段。他們選擇在M2L31這個(gè)型號(hào)上首發(fā)ReRAM很顯然是經(jīng)過(guò)仔細(xì)考量的。從型號(hào)命名來(lái)看“M2”對(duì)應(yīng)Arm Cortex-M23內(nèi)核“L”代表低功耗Low Power“31”是產(chǎn)品序列號(hào)。M23核基于ARMv8-M架構(gòu)最大的特點(diǎn)是支持TrustZone安全擴(kuò)展同時(shí)把功耗控制做得非常細(xì)膩非常適合電池供電的IoT設(shè)備。新唐在一個(gè)“M23低功耗”的平臺(tái)上首發(fā)ReRAM邏輯上非常順低功耗設(shè)備對(duì)MCU的睡眠電流、喚醒時(shí)間、存儲(chǔ)寫(xiě)入功耗都有極致要求而ReRAM低電壓寫(xiě)入、無(wú)擦除延遲、掉電不丟的特性恰好能把這幾項(xiàng)全部拉滿。M2L31的具體配置從公開(kāi)資料來(lái)看它把ReRAM陣列直接集成在芯片內(nèi)部既當(dāng)程序存儲(chǔ)用也允許用戶把一部分容量劃成數(shù)據(jù)存儲(chǔ)區(qū)。這意味著以前“外掛EEPROM”或者“用Flash模擬EEPROM”的傳統(tǒng)做法在M2L31上可以直接砍掉一顆芯片就把主控和存儲(chǔ)都包圓了。對(duì)系統(tǒng)設(shè)計(jì)來(lái)說(shuō)BOM成本降低是其次布局面積縮小和故障點(diǎn)減少才是更實(shí)在的紅利。還有一個(gè)容易被忽視的定位考量可靠性。工業(yè)場(chǎng)景和車(chē)載場(chǎng)景對(duì)非易失存儲(chǔ)的寫(xiě)次數(shù)和極端溫度下的數(shù)據(jù)保持力有硬性要求傳統(tǒng)Flash在高溫下電荷泄漏是老大難問(wèn)題。ReRAM的導(dǎo)電細(xì)絲狀態(tài)和溫度的關(guān)系比浮柵電荷弱得多理論上在高溫環(huán)境下的數(shù)據(jù)保持力表現(xiàn)更好。新唐把首發(fā)型號(hào)定位在M23低功耗平臺(tái)說(shuō)明他們想先把“功耗”和“可靠性”這兩個(gè)標(biāo)簽打出去再往更高性能的M33/M55平臺(tái)擴(kuò)展。這個(gè)節(jié)奏和我接觸過(guò)的一些國(guó)產(chǎn)芯片廠商的做法很一致新技術(shù)先拿一個(gè)成熟內(nèi)核試水跑通供應(yīng)鏈和工具鏈再逐步鋪開(kāi)。1.3 用M2L31開(kāi)發(fā)的典型場(chǎng)景既然要聊實(shí)操就得先明確M2L31適合做什么。以我個(gè)人的理解它最典型的場(chǎng)景有這么幾類(lèi)第一類(lèi)是電池供電的低功耗傳感終端。比如智能門(mén)鎖、環(huán)境監(jiān)測(cè)節(jié)點(diǎn)、電子標(biāo)簽這類(lèi)設(shè)備MCU大部分時(shí)間在睡眠偶爾醒來(lái)讀一下傳感器、存一筆數(shù)據(jù)、發(fā)一條無(wú)線報(bào)文。這類(lèi)設(shè)備最怕的就是“存數(shù)據(jù)的時(shí)候要把Flash整個(gè)扇區(qū)擦掉”不僅慢而且瞬時(shí)電流大經(jīng)常把電源電壓拉出毛刺。ReRAM的可字節(jié)覆寫(xiě)特性以及寫(xiě)入時(shí)低功耗特性能讓數(shù)據(jù)記錄過(guò)程變得更平滑。第二類(lèi)是配置參數(shù)頻繁更新的設(shè)備。有些工業(yè)現(xiàn)場(chǎng)設(shè)備需要頻繁修改運(yùn)行參數(shù)如果用帶Flash的普通MCU寫(xiě)參數(shù)的時(shí)候得小心翼翼地做磨損均衡算法復(fù)雜還容易出bug。M2L31這種ReRAM方案寫(xiě)壽命遠(yuǎn)高于傳統(tǒng)EEPROM你可以把參數(shù)直接映射到固定地址每改一次直接覆寫(xiě)不用考慮擦除對(duì)壽命的影響代碼邏輯能簡(jiǎn)化一大截。第三類(lèi)是安全啟動(dòng)和密鑰存儲(chǔ)類(lèi)應(yīng)用。M23內(nèi)核帶TrustZone配合ReRAM的原生非易失特性可以把安全密鑰放在ReRAM的特定保護(hù)分區(qū)里。ReRAM的寫(xiě)入速度快也方便配合安全算法做臨時(shí)敏感數(shù)據(jù)的掉電保護(hù)。比如設(shè)備檢測(cè)到物理入侵要立刻擦除密鑰ReRAM的快速覆寫(xiě)能力能在極短時(shí)間內(nèi)完成銷(xiāo)毀動(dòng)作這是傳統(tǒng)Flash做不到的。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 存儲(chǔ)架構(gòu)變了代碼和數(shù)據(jù)的布局要重新想以前做MCU開(kāi)發(fā)代碼放在Flash里運(yùn)行時(shí)代碼可能拷貝到SRAM執(zhí)行尤其是做IAP升級(jí)或者低功耗模式的時(shí)候變量放SRAM配置數(shù)據(jù)模擬EEPROM放在Flash的某個(gè)扇區(qū)。到了M2L31上ReRAM既是程序存儲(chǔ)又是數(shù)據(jù)存儲(chǔ)但要注意它的存儲(chǔ)特性還是和Flash有區(qū)別的不能直接照搬以前的做法。第一個(gè)區(qū)別是寫(xiě)入壽命。ReRAM的耐久性雖然比Flash好很多但也不是無(wú)限次寫(xiě)入。你依然要有“分區(qū)域管理”的概念程序區(qū)寫(xiě)一次基本就不再動(dòng)了數(shù)據(jù)區(qū)才是頻繁擦寫(xiě)的地方所以要合理劃分ReRAM容量別把日志類(lèi)的頻繁寫(xiě)入操作和程序代碼放在同一個(gè)物理區(qū)域。好在M2L31的ReRAM陣列支持區(qū)域劃分具體容量邊界在開(kāi)發(fā)環(huán)境的頭文件里可以配置。我的建議是先把程序區(qū)留足剩下的空間再作為數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)里再做環(huán)形緩沖而不是隨便找個(gè)地址就開(kāi)始寫(xiě)。第二個(gè)區(qū)別是寫(xiě)入速度。ReRAM的字節(jié)寫(xiě)時(shí)間遠(yuǎn)快于Flash扇區(qū)擦除編程的時(shí)間但快不代表你可以在中斷服務(wù)函數(shù)里直接寫(xiě)。因?yàn)镽eRAM寫(xiě)入過(guò)程還是需要一定的時(shí)序控制而且寫(xiě)入過(guò)程中如果被更高優(yōu)先級(jí)的中斷打斷可能會(huì)造成寫(xiě)時(shí)序異常最壞情況下會(huì)導(dǎo)致寫(xiě)入數(shù)據(jù)錯(cuò)誤。我見(jiàn)過(guò)不少同事第一次用新型非易失存儲(chǔ)時(shí)直接在ADC中斷里寫(xiě)日志結(jié)果偶發(fā)性數(shù)據(jù)錯(cuò)亂。正確的做法是把待寫(xiě)數(shù)據(jù)放到SRAM緩沖區(qū)在主循環(huán)或者專門(mén)的任務(wù)里統(tǒng)一寫(xiě)入寫(xiě)之前關(guān)閉可嵌套中斷或者用互斥信號(hào)量保護(hù)。第三個(gè)區(qū)別是電源電壓。ReRAM寫(xiě)入時(shí)需要的內(nèi)部電壓通常由電荷泵提供和Flash類(lèi)似但峰值電流可能不同。如果你的系統(tǒng)是電池供電而且電池電壓已經(jīng)比較低寫(xiě)ReRAM的瞬間壓降可能導(dǎo)致掉電復(fù)位。實(shí)測(cè)下來(lái)最好在電路板上預(yù)留一個(gè)足夠容量的儲(chǔ)能電容或者在軟件上做“電壓監(jiān)測(cè)-寫(xiě)操作”的聯(lián)動(dòng)電壓低于閾值時(shí)延遲寫(xiě)入或暫停寫(xiě)入等電壓恢復(fù)再繼續(xù)。這個(gè)思路在傳統(tǒng)Flash方案里也有但ReRAM寫(xiě)入電流的波形不同需要實(shí)測(cè)確認(rèn)。2.2 Cortex-M23內(nèi)核調(diào)試與SWD接口細(xì)節(jié)M2L31的內(nèi)核是Cortex-M23在調(diào)試上有一個(gè)重要特性它和M3/M4/M33的調(diào)試組件不完全一樣。M23是ARMv8-M基線版本調(diào)試接口雖然還是SWDSerial Wire Debug但調(diào)試寄存器的布局有些差異。J-Link、DAP-Link這些主流調(diào)試器的新版本固件都支持M23不過(guò)用老版本調(diào)試器時(shí)可能識(shí)別不到這是第一個(gè)坑。SWD接口接線方面M2L31同樣只需要SWDIO、SWCLK、GND這三根線再加上可選的SWO。SWO在M23上不一定支持標(biāo)準(zhǔn)跟蹤輸出如果你需要實(shí)時(shí)跟蹤日志建議先查一下M2L31參考手冊(cè)里SWO是否映射到了ITM引腳。以我的經(jīng)驗(yàn)很多低功耗MCU的SWO引腳是復(fù)用其他功能的出廠默認(rèn)并不一定開(kāi)啟如果你在調(diào)試器里發(fā)現(xiàn)SWO沒(méi)有任何輸出先別懷疑硬件去翻一下引腳復(fù)用寄存器的默認(rèn)配置。另外M23內(nèi)核支持調(diào)試認(rèn)證Debug Authentication簡(jiǎn)單說(shuō)就是可以對(duì)調(diào)試口進(jìn)行安全鎖定。如果你在開(kāi)發(fā)過(guò)程中把調(diào)試口鎖了然后忘了密碼那芯片就只能通過(guò)全擦除或者特定解鎖序列恢復(fù)這個(gè)操作會(huì)連程序區(qū)一起清空。實(shí)際操作中我的建議是在開(kāi)發(fā)初期先不要使能調(diào)試口保護(hù)等所有代碼功能都驗(yàn)證完最后再做安全配置。不然中途想調(diào)bug結(jié)果調(diào)試口打不開(kāi)心態(tài)容易崩。M23還有一個(gè)特性叫“Execution Memory Protection”簡(jiǎn)稱EMP。它可以讓代碼區(qū)只能執(zhí)行不能讀或者不能同時(shí)讀寫(xiě)。這個(gè)特性在防固件提取方面很強(qiáng)但如果你調(diào)試時(shí)發(fā)現(xiàn)數(shù)據(jù)讀出來(lái)全是0xFF可以考慮是不是EMP把讀訪問(wèn)擋掉了。排查思路是先把EMP配置全部關(guān)閉確認(rèn)功能正常再逐步加保護(hù)策略。2.3 ReRAM驅(qū)動(dòng)與初始化流程在M2L31上做底層驅(qū)動(dòng)和傳統(tǒng)Flash驅(qū)動(dòng)有些區(qū)別。芯片出廠時(shí)ReRAM陣列一般是未編程狀態(tài)第一次上電需要先確認(rèn)存儲(chǔ)映射是否正常。一般流程是這樣第一步配置時(shí)鐘。ReRAM控制器掛在哪個(gè)總線時(shí)鐘域、是否需要使能讀寫(xiě)時(shí)鐘要先查數(shù)據(jù)手冊(cè)。如果時(shí)鐘沒(méi)開(kāi)對(duì)ReRAM地址的訪問(wèn)會(huì)直接觸發(fā)總線錯(cuò)誤HardFault。我踩過(guò)的坑是用Keil調(diào)試時(shí)程序跑飛了單步跟進(jìn)去發(fā)現(xiàn)是時(shí)鐘樹(shù)里某一位被默認(rèn)配置成關(guān)閉ReRAM地址空間訪問(wèn)直接總線錯(cuò)誤。第二步使能ReRAM控制器。有些MCU的ReRAM控制器默認(rèn)是禁用狀態(tài)需要往控制寄存器寫(xiě)解鎖序列才能啟用。解鎖序列的目的是防止軟件誤操作意外改變存儲(chǔ)區(qū)域的映射或保護(hù)屬性。千萬(wàn)別小看這一步驟如果使能順序不對(duì)后面所有讀寫(xiě)操作行為都是未定義的。第三步設(shè)置等待狀態(tài)和讀電流/寫(xiě)電流參數(shù)。ReRAM在不同電壓和溫度條件下可能需要不同的讀參考電流和寫(xiě)脈沖寬度。這些參數(shù)一般由廠家的初始化庫(kù)幫你配好但如果你跑在低電壓模式下可能需要手動(dòng)調(diào)一下。廠家的應(yīng)用筆記通常會(huì)給出不同電壓區(qū)間的推薦配置值。實(shí)際測(cè)試時(shí)跑一遍全地址讀寫(xiě)校驗(yàn)同時(shí)把供電電壓從高到低掃一遍能有效發(fā)現(xiàn)參數(shù)配置是否留有裕量。第四步劃分用戶數(shù)據(jù)區(qū)。通過(guò)配置寄存器把ReRAM陣列的一部分劃成用戶數(shù)據(jù)區(qū)。這個(gè)配置通常是一次性的建議在量產(chǎn)燒錄階段就固化好。不同區(qū)域的讀保護(hù)、寫(xiě)保護(hù)級(jí)別也要在初始化階段設(shè)置完成。3. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)3.1 開(kāi)發(fā)環(huán)境搭建從Keil到命令行交叉編譯先用最熟悉的Keil MDK來(lái)說(shuō)。M2L31屬于新唐的Arm Cortex-M系列直接在Keil的Device Database里選型號(hào)然后選對(duì)應(yīng)的Flash Algorithm燒錄算法。如果Keil版本太舊新唐提供的Pack包可能裝不上建議先把MDK升級(jí)到5.37以上。裝好Pack之后創(chuàng)建一個(gè)新工程在Device選擇界面找到M2L31工程模板會(huì)自動(dòng)帶出正確的啟動(dòng)文件和分散加載文件sct文件。工程建好后有個(gè)重要配置Debug頁(yè)的Flash Download選項(xiàng)。因?yàn)镽eRAM的燒錄算法和Flash不一樣需要把新唐提供的M2L31燒錄算法后綴通常為.FLM添加到燒錄列表里。如果你發(fā)現(xiàn)下載程序時(shí)報(bào)錯(cuò)“No Flash Device”十有八九就是這個(gè)算法沒(méi)添加。另外燒錄算法里的編程時(shí)間參數(shù)ReRAM比Flash快不少你可以根據(jù)實(shí)際燒錄速度適當(dāng)調(diào)整不過(guò)保持默認(rèn)就行。也有不少朋友習(xí)慣命令行交叉編譯流程特別是要做自動(dòng)化構(gòu)建的。M2L31自然也可以用Arm GNU工具鏈arm-none-eabi-gcc來(lái)編譯。需要注意的是用GCC時(shí)鏈接腳本要手動(dòng)編寫(xiě)要針對(duì)M2L31的ReRAM起始地址和大小做匹配。以我用新唐MCU的經(jīng)驗(yàn)他們的BSP里通常會(huì)提供GCC版本的鏈接腳本示例文件。你自己寫(xiě)的時(shí)候要注意ReRAM的起始地址最好通過(guò)宏定義引用別寫(xiě)死因?yàn)椴煌吞?hào)芯片的ReRAM容量有區(qū)別。在Linux主機(jī)上做Arm交叉編譯時(shí)還要留意啟動(dòng)文件里的堆棧初始化。M23內(nèi)核上電后會(huì)從向量表偏移0處取棧頂指針MSP從偏移4處取復(fù)位向量。如果你的鏈接腳本把向量表放在ReRAM開(kāi)頭那么這兩個(gè)值必須正確。實(shí)際中遇到的情況是有人把向量表放到SRAM里然后忘了配置MPU允許SRAM執(zhí)行結(jié)果一上電就進(jìn)HardFault。排查這類(lèi)問(wèn)題最快的辦法是用調(diào)試器讀PC寄存器和SP寄存器的值如果PC的值落在SRAM區(qū)域而MPU不允許執(zhí)行直接就能判斷是向量表放置問(wèn)題。3.2 最小系統(tǒng)設(shè)計(jì)與電源樹(shù)評(píng)估M2L31的硬件設(shè)計(jì)第一優(yōu)先級(jí)是電源。芯片通常有多個(gè)電源域核心邏輯、IO、ReRAM控制器可能分別供電。ReRAM寫(xiě)入時(shí)內(nèi)部電荷泵會(huì)從主電源取電瞬時(shí)電流可能比Flash編程還平滑但還是要留意電源路徑上的阻抗。PCB設(shè)計(jì)時(shí)靠近芯片電源引腳放一個(gè)0.1μF的陶瓷電容外加一個(gè)1μF~10μF的體電容是穩(wěn)妥的做法。如果系統(tǒng)還有射頻模塊電源紋波控制要更嚴(yán)格建議用LDO單獨(dú)給MCU供電避免射頻PA的大電流波動(dòng)影響到ReRAM寫(xiě)入時(shí)序。復(fù)位電路也要單獨(dú)提一下。M2L31的復(fù)位引腳建議接一個(gè)100nF電容到地加快上電復(fù)位時(shí)間。如果你的系統(tǒng)有外部看門(mén)狗注意看門(mén)狗超時(shí)時(shí)間和ReRAM寫(xiě)入時(shí)間要匹配。萬(wàn)一看門(mén)狗復(fù)位發(fā)生在ReRAM寫(xiě)入過(guò)程中可能出現(xiàn)寫(xiě)入不完整的情況。軟件上可以做一個(gè)“寫(xiě)入完成標(biāo)志”每次寫(xiě)ReRAM前先把目標(biāo)寫(xiě)入緩沖區(qū)里的數(shù)據(jù)備好再開(kāi)始寫(xiě)寫(xiě)完后在另一個(gè)固定的非易失地址置一個(gè)完成標(biāo)志位。上電初始化時(shí)先檢查這個(gè)標(biāo)志如果發(fā)現(xiàn)上次寫(xiě)操作沒(méi)完成就回滾到備份數(shù)據(jù)。這類(lèi)“先寫(xiě)數(shù)據(jù)、后寫(xiě)標(biāo)志”的事務(wù)性設(shè)計(jì)在數(shù)據(jù)記錄類(lèi)產(chǎn)品里很有用。3.3 第一個(gè)工程亮燈、按鍵存儲(chǔ)與回讀紙上談兵半天回到實(shí)際動(dòng)手。我一般拿到新開(kāi)發(fā)板先跑一個(gè)最簡(jiǎn)單的工程確認(rèn)芯片能跑起來(lái)、燒錄沒(méi)問(wèn)題然后再逐步驗(yàn)證外設(shè)和存儲(chǔ)特性。在M2L31上我先配置一個(gè)GPIO口驅(qū)動(dòng)LED再配置一個(gè)按鍵輸入然后做一個(gè)很基礎(chǔ)的功能按鍵每按一次把一個(gè)遞增計(jì)數(shù)器寫(xiě)入ReRAM用戶數(shù)據(jù)區(qū)同時(shí)LED翻轉(zhuǎn)一次。下次上電時(shí)從ReRAM讀出這個(gè)計(jì)數(shù)器顯示在串口上。這看起來(lái)簡(jiǎn)單但驗(yàn)證了“寫(xiě)入、保存、回讀”整條鏈路是把存儲(chǔ)方案跑通的關(guān)鍵第一步。#include NuMicro.h #define APP_DATA_ADDR 0x00010000 // 假設(shè)用戶數(shù)據(jù)區(qū)起始地址 volatile uint32_t g_counter 0; void WriteCounterToReRAM(uint32_t val) { uint32_t u32Addr APP_DATA_ADDR; uint32_t u32Data val; /* 解鎖ReRAM控制器寄存器 */ SYS_UnlockReg(); /* 關(guān)閉數(shù)據(jù)區(qū)緩存確保讀回的是物理存儲(chǔ)數(shù)值 */ ReRAM_DisableCache(); /* 直接按32位寫(xiě)入ReRAM支持字節(jié)/半字/字覆寫(xiě) */ ReRAM_Write(u32Addr, (uint32_t)u32Data, 4); /* 讀取校驗(yàn) */ volatile uint32_t chk *(volatile uint32_t *)u32Addr; if (chk ! val) { /* 寫(xiě)入校驗(yàn)失敗處理異常 */ } /* 重新鎖定寄存器 */ SYS_LockReg(); } int32_t main(void) { /* 初始化系統(tǒng)時(shí)鐘、GPIO示范代碼略 */ /* 上電讀取計(jì)數(shù)器 */ g_counter *(volatile uint32_t *)APP_DATA_ADDR; while (1) { if (按鍵按下) { g_counter; WriteCounterToReRAM(g_counter); LED翻轉(zhuǎn); } } }代碼里的WriteCounterToReRAM函數(shù)有幾個(gè)細(xì)節(jié)一是SYS_UnlockReg和SYS_LockReg的配對(duì)使用新唐的MCU對(duì)關(guān)鍵寄存器有寫(xiě)保護(hù)這也是防止誤操作的手段二是寫(xiě)入后立刻回讀校驗(yàn)確認(rèn)寫(xiě)入成功。因?yàn)镽eRAM寫(xiě)入比Flash快你可以每次寫(xiě)完后都做一次回讀而不必?fù)?dān)心性能損耗太嚴(yán)重。這里我想強(qiáng)調(diào)一個(gè)ReRAM和Flash不一樣的地方不需要先擦除。如果用傳統(tǒng)Flash按鍵每按一次就寫(xiě)一個(gè)32位計(jì)數(shù)器你首先得判斷當(dāng)前扇區(qū)是否全為0xFF也就是已經(jīng)被擦除過(guò)不是的話得先把舊數(shù)據(jù)讀出來(lái)、擦除整個(gè)扇區(qū)、再寫(xiě)回去。在ReRAM上直接按固定地址寫(xiě)就行大大簡(jiǎn)化了代碼。這也是為什么說(shuō)“開(kāi)發(fā)體驗(yàn)是質(zhì)變級(jí)別”的邏輯上的收益是很直接的。3.4 數(shù)據(jù)日志區(qū)的環(huán)形緩沖實(shí)現(xiàn)單計(jì)數(shù)器只是驗(yàn)證功能真正實(shí)用的是數(shù)據(jù)日志。傳感器節(jié)點(diǎn)要定期存儲(chǔ)一批數(shù)據(jù)比如溫度、濕度、電壓等。如果每次都往同一個(gè)地址寫(xiě)即使ReRAM壽命再長(zhǎng)也沒(méi)必要把磨損集中在一小塊區(qū)域。我建議在ReRAM數(shù)據(jù)區(qū)里做一個(gè)環(huán)形緩沖池固定長(zhǎng)度、順序?qū)懭?、滿則覆蓋最舊的數(shù)據(jù)。具體做法是把數(shù)據(jù)區(qū)劃分為N個(gè)固定大小的槽位每個(gè)槽位大小按最長(zhǎng)的單條記錄設(shè)計(jì)再在頭部放一個(gè)索引區(qū)。每次寫(xiě)入時(shí)先讀索引區(qū)找到當(dāng)前寫(xiě)位置把數(shù)據(jù)寫(xiě)到對(duì)應(yīng)槽位然后更新索引。不需要像Flash那樣考慮“擦除對(duì)齊”因?yàn)镽eRAM可以先覆寫(xiě)。但是要注意索引區(qū)的更新也是寫(xiě)入操作如果寫(xiě)數(shù)據(jù)和寫(xiě)索引之間掉電可能出現(xiàn)數(shù)據(jù)不一致。改進(jìn)辦法是索引區(qū)用雙備份先寫(xiě)“準(zhǔn)備更新”標(biāo)志再更新索引最后清掉“準(zhǔn)備更新”標(biāo)志上電恢復(fù)時(shí)如果發(fā)現(xiàn)“準(zhǔn)備更新”標(biāo)志存在就知道上次更新被中斷可以回退到備份索引。我見(jiàn)過(guò)有人用ReRAM做得更絕把每次采集的數(shù)據(jù)直接追加在數(shù)據(jù)區(qū)后面用GCGarbage Collection方式定期整理相當(dāng)于把SSD那套FTL思想搬到MCU內(nèi)部。但M2L31的容量有限不建議做太復(fù)雜的FTL簡(jiǎn)單環(huán)形緩沖就夠了。重點(diǎn)還是讓寫(xiě)入操作盡可能均勻地分布在不同物理地址充分發(fā)揮ReRAM壽命優(yōu)勢(shì)。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄4.1 燒錄失敗或調(diào)試器無(wú)法識(shí)別這個(gè)問(wèn)題排在第一位。現(xiàn)象是J-Link/DAP-Link連接時(shí)能讀到內(nèi)核IDCODE但下載程序時(shí)報(bào)錯(cuò)或者干脆連接不上。原因無(wú)非幾種一是內(nèi)核電源沒(méi)上電二是SWDIO/SWCLK引腳被復(fù)用成GPIO且外部接了強(qiáng)下拉電阻三是調(diào)試口被安全鎖定。排查方法先量電源引腳電壓確認(rèn)供電正常再用調(diào)試器最低速度如100kHz連接排除信號(hào)質(zhì)量或線上干擾問(wèn)題如果引腳被復(fù)用先按住復(fù)位引腳同時(shí)點(diǎn)擊連接在復(fù)位釋放瞬間把調(diào)試器附著上去有些情況下能搶回控制權(quán)如果被安全鎖定只能走芯片的解鎖流程注意解鎖流程通常會(huì)把整個(gè)非易失存儲(chǔ)清空。所以開(kāi)發(fā)過(guò)程中我通常不開(kāi)調(diào)試口保護(hù)等最后測(cè)試安全功能時(shí)再開(kāi)。用Keil時(shí)我還遇到過(guò)一種情況連接調(diào)試器后調(diào)用Flash Download提示算法加載失敗。這種一般是FLM文件路徑出錯(cuò)或者設(shè)備數(shù)據(jù)庫(kù)文件損壞重裝新唐的Pack包基本上能解決。另外如果用戶通過(guò)命令行工具如pyOCD下載先確認(rèn)pyOCD的target列表里包含M2L31沒(méi)有的話要更新到最新版本。4.2 ReRAM寫(xiě)入后數(shù)據(jù)不對(duì)或丟失寫(xiě)入后數(shù)據(jù)不對(duì)分兩種情況一種是寫(xiě)入校驗(yàn)立即失敗一種是當(dāng)前正常但掉電后下次上電讀出來(lái)是錯(cuò)的。立即失敗可能的原因有寫(xiě)保護(hù)未關(guān)閉目標(biāo)地址不對(duì)超出用戶數(shù)據(jù)區(qū)范圍或者寫(xiě)電流參數(shù)設(shè)置太小??梢韵扔霉俜降臒浌ぞ呋蛘連SP里的測(cè)試?yán)虒?duì)目標(biāo)地址做一遍全0x55/0xAA交替寫(xiě)入測(cè)試確認(rèn)基礎(chǔ)功能沒(méi)問(wèn)題。如果全地址測(cè)試通過(guò)但用戶程序失敗重點(diǎn)檢查程序里是否誤配了ReRAM控制寄存器。掉電后丟失的問(wèn)題大概率是上電時(shí)序或者復(fù)位時(shí)序?qū)е聦?xiě)入中斷。用示波器抓一下VDD在寫(xiě)入期間的波形如果存在毛刺或跌落就要加強(qiáng)電源濾波。軟件上要給寫(xiě)入任務(wù)加事務(wù)標(biāo)志避免因復(fù)位導(dǎo)致半寫(xiě)狀態(tài)。另外ReRAM的數(shù)據(jù)保持力在高溫下會(huì)下降如果產(chǎn)品有高溫存儲(chǔ)要求建議做高溫老化數(shù)據(jù)保持測(cè)試不要只看常溫。4.3 低功耗模式下ReRAM訪問(wèn)異常低功耗是M2L31的大賣(mài)點(diǎn)之一但在低功耗模式下訪問(wèn)ReRAM要特別小心。芯片進(jìn)入深度睡眠后主時(shí)鐘可能關(guān)了ReRAM控制器的時(shí)鐘如果也被關(guān)了喚醒后直接讀ReRAM就會(huì)掛死。解決思路是在設(shè)計(jì)低功耗流程時(shí)把“讀ReRAM”放在喚醒后時(shí)鐘穩(wěn)定階段進(jìn)行或者把需要快速訪問(wèn)的數(shù)據(jù)提前拷到SRAM。另外M23內(nèi)核在低功耗模式下可能有不同的電源域配置如果某個(gè)電源域被關(guān)掉而ReRAM控制器依賴該電源域即使時(shí)鐘恢復(fù)控制器狀態(tài)也可能不正常。穩(wěn)妥做法是喚醒后重新初始化ReRAM控制器再執(zhí)行讀寫(xiě)操作。這個(gè)初始化流程很短不影響用戶體驗(yàn)但能避免很多偶發(fā)問(wèn)題。我在實(shí)際測(cè)試中就遇到過(guò)睡眠喚醒后第一次讀ReRAM返回全0重新初始化控制器后完全正常。4.4 快速排查速查表問(wèn)題現(xiàn)象可能原因排查與解決調(diào)試器連接不上/下載失敗電源異常、SWD被復(fù)用、調(diào)試鎖量電壓、低速連接、按住復(fù)位搶連、走解鎖流程程序運(yùn)行HardFaultReRAM時(shí)鐘未開(kāi)、MPU/EMP配置不當(dāng)檢查時(shí)鐘樹(shù)寄存器、暫時(shí)關(guān)閉MPU/EMP保護(hù)寫(xiě)入校驗(yàn)失敗寫(xiě)保護(hù)未關(guān)、地址越界、參數(shù)配置不當(dāng)解鎖寄存器、確認(rèn)地址范圍、參考AN重新配置掉電后數(shù)據(jù)丟失寫(xiě)入期間復(fù)位、電源毛刺用事務(wù)標(biāo)志、加強(qiáng)電源濾波、做寫(xiě)入完成標(biāo)志睡眠喚醒后讀數(shù)據(jù)異常ReRAM控制器電源/時(shí)鐘域異常喚醒后重新初始化ReRAM控制器高溫下數(shù)據(jù)變化數(shù)據(jù)保持力受溫度影響做高溫老化測(cè)試、檢查器件規(guī)格書(shū)的保持時(shí)間指標(biāo)4.5 現(xiàn)場(chǎng)經(jīng)驗(yàn)別忽略“寫(xiě)后即讀”的價(jià)值最后分享一個(gè)關(guān)于可靠性的建議。不管用Flash還是ReRAM數(shù)據(jù)寫(xiě)完之后立刻回讀驗(yàn)證都是我極力推薦的做法。M2L31的寫(xiě)入速度快每次寫(xiě)后回讀的開(kāi)銷(xiāo)不大但能及時(shí)發(fā)現(xiàn)很多問(wèn)題特別是當(dāng)你在不同溫度和電壓區(qū)間做測(cè)試時(shí)。回讀校驗(yàn)不需要做全數(shù)據(jù)比對(duì)簡(jiǎn)單讀回來(lái)比較關(guān)鍵字節(jié)就行。如果校驗(yàn)失敗可以做一次重寫(xiě)再失敗就報(bào)警。這個(gè)低成本的習(xí)慣能在產(chǎn)品處于開(kāi)發(fā)階段時(shí)救你很多次。5. 對(duì)ReRAM上MCU這件事的后續(xù)展望M2L31只是個(gè)開(kāi)始。新唐把ReRAM首先用在M23內(nèi)核的MCU上跑通了從晶圓制造、封裝測(cè)試到軟件開(kāi)發(fā)工具鏈的整個(gè)生態(tài)。接下來(lái)如果這項(xiàng)技術(shù)在市場(chǎng)上被驗(yàn)證可靠大概率會(huì)向更高性能的Cortex-M33/M55平臺(tái)延伸甚至可能在MCU里集成更大容量的ReRAM陣列直接對(duì)標(biāo)一些低容量Flash芯片。到那時(shí)候MCU的片上存儲(chǔ)體系會(huì)發(fā)生真正的范式轉(zhuǎn)變不再有“程序存儲(chǔ)”和“數(shù)據(jù)存儲(chǔ)”的物理差別而是一整塊可快速隨機(jī)寫(xiě)入的非易失存儲(chǔ)空間讓開(kāi)發(fā)者用更簡(jiǎn)單的方法實(shí)現(xiàn)更可靠的功能。從開(kāi)發(fā)者的角度我對(duì)這項(xiàng)技術(shù)最大的感受是存儲(chǔ)管理的復(fù)雜度降低了。用Flash做EEPROM模擬、磨損均衡、扇區(qū)管理這些歷史包袱以后可能會(huì)慢慢變成少數(shù)工程師才需要懂的底層知識(shí)大多數(shù)應(yīng)用開(kāi)發(fā)者只需要像操作SRAM一樣操作非易失存儲(chǔ)。這背后既有硬件物理特性的功勞也得益于像新唐這樣的廠商愿意在第一線推動(dòng)新技術(shù)量產(chǎn)落地。如果你手上有電池供電、頻繁記錄數(shù)據(jù)、或者對(duì)寫(xiě)入延遲敏感的項(xiàng)目M2L31值得認(rèn)真評(píng)估一下。把傳統(tǒng)MCU方案里那些為了“伺候”Flash而寫(xiě)的各種別扭代碼簡(jiǎn)化掉你會(huì)發(fā)現(xiàn)開(kāi)發(fā)節(jié)奏快很多產(chǎn)品的長(zhǎng)期可靠性也更有底氣。希望這篇內(nèi)容能讓你少踩一些調(diào)試上的坑后面有機(jī)會(huì)我也打算再寫(xiě)寫(xiě)M2L31在具體垂直場(chǎng)景比如智能門(mén)鎖、冷鏈記錄儀里的完整項(xiàng)目實(shí)踐。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产激情在线| 大二网站亚洲| 中文字幕性感少妇av| 夜夜騷av、一區二區| 91精品人妻一区二区三区蜜臀| 精人妻无码一区二区三区伊人直播 | 亚洲图片欧美色图| 成人欧美一区二区三区黑人一| 亚洲AV不卡在线观看| 午夜视频好爽啊| 亚洲人妻熟妇三十三区| 中文字幕精品一区二区精| 97看操| 亚洲国产一级黄色视频| 久久一留热品黄| 日本孕妇一区二区视频操逼免费看 | 大香蕉乱级| www鬼畜国产男人的天堂| 97在线观| 无码91| 久久中出| 大香网伊人久久综合网eew| 国产精品白丝| 操b网站亚洲无码| 在线人成亚洲视频免费观看| 草久久久| 日韩去日本高清在| 亚洲性高潮| 99无码视频| 久久精品国产亚洲5555| 国产一区二区三区久久精品太古里| 欧美综合色图网| 26uuu国产免费观看| 亚洲精品黑丝| 日韩中文字幕二区| 久久久久久9| 爱爱动态试试看6 0秒| 欧美91视频| 97超碰国产精品| 青青操网| 91P0RNY大屁股人妻| 天天综合网~91| 少妇激情AV| 熟女一区二区三区四区| 97久操| 欧美综合天堂| 韩国一级做a久久久久| 亚洲欧美情色| 97啪啪| 国产精品96久久久久久| 偷拍综合网| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 丝袜喷水在线| 久久一区二区加油站| 日韩精品99久久久久久中文字幕| 欧美久久婷婷| 天天日骚逼熟女| 试看日韩黄片| 91九九九馒头| 大香蕉99999| 久久人人舔人人爽舔人人av片| 久热伊人| 超碰欧美COM| 影音先锋新男人| 67914亚洲精品| 午夜AV污污污| 丁香六月东京热| 国产天天骚| 久草免费在线视频| 婷婷99| 九久久精品| 精品人妻中文字幕4399| 双插在线| 日韩乱伦影音先锋| 日本不卡免费二区| 日韩欧美视频青青| 中字幕人妻一区二区三区| 亚洲av夫妻操穴网| 国产操逼视频在线观看| 国产一区二区精品在线视频| 狠狠激情综合狠狠操中文字幕| 天堂亚洲精品久久老牛| 欧美久热| 国产成年女人免费视频播放a| 日日夜夜青青草母狗| 日韩无码操逼片| 亚洲性感丝袜诱惑在线观看| 久久99久久99精品免视看婷婷| 久久久涩| 国产久久日| 偷窥自拍亚洲天堂网爆| 色五月综合网| 亚洲无码com| 国产九区| 蜜桃久久久久久久| 一区二区三区欧美激情| 热思思免费视频| ai欧美亚洲小说| 激情综合五月| 国产中文精品一区二区在线观看 | 欧美性生活男人的天堂| 综合大香蕉美。| 欧美另类色图片| 亚洲精品国产熟女久久久久久| 91在线丝袜| 天天影视网综合少妇| 曰韩操B| 欧美日韩小说| 日夜尻逼网| 欧美97在线观看| 五月天激情小说| 欧美综合娱乐久久| 嗯阿好爽好紧| 蜜臀国产AV中文字幕| 中文字幕一区二区在线日韩精品| 青娱乐淫乱1314| 天天澡天天爽日日AV| 四虎免费视频| 国内毛片无码一级毛片| 国产精品久久久久久久久AV大片| 男人天堂久久日韩| 夜夜久久久| 久久嫩草国产成人一区| 色情综合网| 不卡av在线中文字幕| 呦女网站| 97精品久久久久久久| 97超碰这里只有精品| 91AV老熟女视频| 亚洲影视高清第一页| sss视频华人在线| 色综合五月天| 91在线视频免费中出| 熟女被操视频网址| 三级片网站在线播放| 九九干| 一级黄色性爱A级片| 91丨国产丨白浆秘 洗澡动漫| 热热色青青草| 天天做天天爱| 草莓精品视频在线免费观看| 欧美aaaaaaa| 亚洲精品天堂久久A∨51成人漫| 日本高清免费一本视频在线观看| 一本色道久久天天射天天干| 91人妻尻屄视频| 女人高潮大叫一级毛片| 人妻碰碰碰碰碰碰| 超碰久在线天天做| 亚欧成人一级片在线播放| 999综合网| 蜜乳Av成人片网站| 婷婷中文字幕| 人妻少妇精品久久久| 亚洲素人综合| 国产兽交视频在线播放| 性爱av网站| 91蜜臀熟女| 天天干人妻| 久久超碰天天| 免费一级黄色录像影片| 夜色五月天| 欧洲乱码一区二区| 天天欧美| 在线国产一区二区av| 116美女午夜| 日韩欧美蜜桃精品久久中文字幕久久 | 操逼网站地址| 91国精产品| 欧美日韩国产成人高清| 日本福利社| 欧洲自拍色图gif在线| 精品人妻一区二区三区四区不卡在| 国产精品无码成人精品| 成人女人国产| 欧美性爱第一页久久| 九九在线视频| 91观看 国产白丝| 无码 有码 国产18p| 色呦呦、国产精品| 国产99999| 中文字幕 国产区| 60秒免费小视频| 日韩精品在线放| 亚洲国产精品久久久久婷婷青年| 国产三级中文字幕粉嫩 | 一起草视频在线| 亚洲欧美中文日韩视频中国语| 加勒比AV网| 东京热一区二区中文字幕| 色情五月综合婷婷| 97资源站日韩| 四虎永久在线精品免费网址| 亚洲中文字幕精品一区| 图色综合网| 激情小说图片亚洲首页| 久操 高清| 国产亚洲女v在线观看| 欧美78| 黄色片A级一区二区三区| 亚洲男人天堂2012| 在线看的av| 久久精品视频一区三区小泽玛利亚| 天天操人人操狠狠插| 91网站18在线| 婷婷六月色开| 日本人妻中文字幕| 欧美丝袜亚洲| 超碰性爱97| 亚洲欧美国产其他二区| 思思热国产高清| 夜夜国产一区| 亚洲成人av色网| 永久免费av无码网站国产app| 丝袜美腿射精91| 人妻22p| 国产亚洲精品精AV.| 中出20p| 日日日啊啊啊| 久久久五月天| 国语精品内射在线观看| 欧美高清18A片| 精品无码一区二区三区| 嗯嗯啊啊视频一区二区三区| 日韩另类| 欧美成人黄网色网站| 天天澡天天爽日日AV| 亚洲图片偷拍欧美| 加勒比综合a∨| 三级片网站在线播放| 久操 高清| 99精品网| 婷婷香蕉| 日韩九区| 9色在线| www成人啪啪18秘 免费| 91精品女厕偷拍视频| 3PAV乱伦视频| 国产精品白丝| 精品无码一区二区三区| 亚洲欧美日韩中文播放| 亚洲欧美人妻| 精品视频在线观看精品| 97超碰色| 精品亚洲一区在线观看| 情趣丝袜无码操逼视频| 国产区在线| 91国产丝袜白虎| 国产三级中文字幕粉嫩| 色香网| 蜜臀久久99精品久久久久电影| 香蕉色网| 99热这里都是精品| 欧美亚洲手机在线| 亚洲色图91| 日韩无码人妻| 男人的天堂亚洲| 久久婷婷影院| 日本女厕偷拍| 在线国产探花| 巨爆乳一区二区爆乳区| 欧美日日操| 青草av在线| 26uuu偷拍亚洲欧洲综合| 美女啊啊啊啊啊| 天天影视色香欲综合网小说| 96麻豆精品一区二区三区| 91 综合网| 精品性爱无码在线播放| 婷婷五月天网| 久久久久久波多野吉衣高潮| 四虎免费在线播放| 日韩精品在线视频在线观看| 静品嫩模一区二区| 国产午夜视频| 色婷婷一区二区三区久久| 综合影院永久入口国产| 国产精品自产拍在线观看社区| 九九AV| 97在线欧洲| 久久成人精品| 性色av蜜臀av色欲aV| 九九成人视频| 97国产精品久久久久| 97精| 麻豆区99999| 性生活性生大爱77AV国产| 五月婷亚洲精品天堂| 国产超碰| 色97综合中文字幕| 婷婷中文网| 上床不卡网站| 黄色激情电影在线观看| 18一区二区三区| 老熟女天天操| 99色在线| 亚洲男人电影天堂| 日本天堂网| 婷婷丁香激情| n1038 一二三区| 久一区久久蜜桃| 视频二区美腿丝袜制服人妻欧美| 亚洲自拍小说| 青青草日韩无码| 99热这里都是精品| 91九九九馒头| 亚洲国产精品9999在线观看| 久久亚洲熟妇在线视频| 涩涩五月天| 亚洲国产中文字幕| 亚洲九九夜夜| CCYY草草影院地址入口| 99色婷婷中文字幕乱色| 999国产精品999| 中文字幕精品三级久久久| 新婚人妻扶着粗大强行坐下| 欧美淫乱视频| 美女在线H91| 色综合V| 九九综合网| 国产福利小视频高清在线观看| 手机av亚洲丝袜美腿日韩第一页二页| 国产综合网站在线播放 | 色五月大香蕉| 国产美女在线精品免费看| 一区二区视频你懂的| 我要看免费韩日黄片| 97超碰久久| 天天色怡春院| 大香蕉伊人网WWWn0n| 大香网站| 亚洲在线网站| 白丝一区| 亚洲 欧美 日本 国内 首页| 亚洲欧洲日产国产综合网| 狠狠激情综合狠狠操中文字幕| 超碰97久久| 五毛骚逼极品美女怕怕| 性色高清在线| 怡红院视频在线| 这里都是精品在线观看| 亚洲91在线播放影院| 久久久9999| 91久热| 天堂网 主播 亚洲| 女人与公拘交酡2020视频| 色欲久久99精品久久| 久偷拍欧美日韩三区| 嗯嗯啊啊操死我| 亚洲人人操| 免费视频a级毛片免费视频| 99久国产精品午夜性色福利| www.av家庭乱伦| 夜夜欧美 | 亚州大图综合色图| 欧美日韩另类字幕中文| 日本顶级天天操狠狠操夜夜操中文字幕| 人妻激情偷乱视频一区二区三区 | 久久九色| 2017av无码免费无线播| 日本韩国国产精品一区| 久久久精品日本一道| 青青草依人大香蕉| 丰满欧美放荡少妇在线| 91在线丝袜| 欧美黑人168页欧美黑人167| 青青久日| 啊啊啊免费| 久久精品熟女亚洲AV麻豆软件| 国产人妻久久精品一区二区三区| 亚洲骚逼少妇| 欧美色综合| 精品国产乱码| 欧美性爱三区二区| AV污污污污| 五月婷在线| 国产久久一区二区午夜| 屌妞视频久久久久久久| 后入综合久久| 亚洲欧洲日本精品中文a∨| 搞中出久久| 秋霞视频一区二区| 国产偷仑| 久久久91| 欧美网站免费| 婷婷激情一区二区三区俺也去| 久久啊啊啊视频| 老熟乱一区二区三区四区| 精品99999| 亚洲系列第一页| 日韩国语字幕| 天躁夜夜躁2021| 美女裸体无遮挡永久免费观看网站| 国产性爱在线视频一区二区| 成人AV在线电影| 欧洲乱码视频| 立川理惠被中出无码| 人、人、摸,人、人、草| 日韩一级二级在线| 久久久久熟女| 亚洲成人久久美女| 亚洲欧美另类少妇精品| 欧洲自拍第一页| 无码高清少妇久久| 久久精品人体| 日韩78m视频| 久操频道免费在线呗看| 国产中文字幕在线点播| 亚洲人成网www| 欧美极品色| 92性色国产午夜福利在线661| 人人操人人摸人 | 欧洲亚洲国产综合在线| 国产日韩中文字幕欧美| 日美免费黄片| 日韩成人高清一区二区| 色偷偷色偷偷欧美日韩| 日本成人在线不卡一区二区三区 | 亚洲精品中文字幕一区在线视频| 可以在线观看的黄色网址| 人妻 制服 日韩 中文 在线| 加勒比大香蕉视频在线| 日韩99神马视频播放片在线播放| 久久色激情一区二区三区| 亚洲A色| 人人摸人人舔一区二区| 中英熟女操女| 麻豆国产视频精品观看| 综合久久婷婷| 狠色婷婷久久一区二区三区_| 四虎AV在线播放| 黄片视频,下载| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久草毛片| 精品成人无码| 中文字幕91综合| 人人操人人射人人干| 女优大全 - 91n| 欧美性爱十八禁| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国产又长又大又粗的视频| 久久大黄片| 国产男女无套视频免费观看| 超碰久在线天天做| 男人天堂网站| 色五月激情网| 欧美色图亚洲色| av凤凰久久久| 欧美啪啪色吧在线| 猛交交| 伊人超碰97| 国产免费一区在线观看| 超碰久草| 国产亚洲精品自在线亚洲情侣| 伊人午夜福利视频| 亚洲成人网站在线观看| 久热这里只有精品9| 日日日日日| 日韩成年人性爱视频| 女人一区| 日本色色色色色视频| 狠狠躁日日躁夜夜躁A| 午夜久久无码1000合集| 天堂成人网| 欧美一级专区免费大片| 婷婷丁香久久| 国产精品不卡av免费在线观看| 磁力99AV| 激情看片网站| 国产深夜福利| 大香网伊人久久综合网eew| 久久黄色视频一区二区三区 | 国内三级自拍小视频在线观看| 国产97在线 | 亚洲| 久久99草| 丰满人妻一区二区三区免费,| 水多多映视AV| 欧美日韩不卡传媒| 麻豆国产成人精品| av网站在线看| 亚洲熟妇A V黑人| 日韩精品操少妇| 国产这里只有精品| 日韩一区二区高清在线观看的| 97精品免费| 囯产精品强| 曰韩欧美国产传媒麻豆第一区| 亚洲制服欧美另类内射| 可以免费看黄片的视频| 青草成人免费视频一COm| 久久av色| 中文字幕在线观看第二页| 日韩婷婷| 国产亚洲精品第一最新| 岛国艾薇凹凸视频天堂| 影音先锋每日最新资源在线观看 | 超碰2017| 国产白丝网站| 热热色综合网| av橘色网站| 黑人与人妻| 色妺妺在线视频| 美女自卫慰黄网站免费| 这里都是精品在线观看| 首页中文字幕中文字幕免费| 国产www色在线观看| 国产精品亚洲无码| 国产黄片在线免费观看| 久久精品福利影院| 女人天堂av在线播放| 成人无码在线视频网站| 大香蕉免| 亚洲网污污污污| 啊啊啊啊,啊啊好多水| 国产精品一区二区密臀| 五月婷婷六月丁香网址| 色婷五月| 中出后入| 免费一级精品啪啪视频| 国产超碰人人爽人人做| 熟妇熟女一区二三区| 久久成人午夜狠狠| wwwxxx日本爽| 国产60区。| 亚洲高潮影院| 巨爆乳肉感一区二区三区竹菊影视 | 亚州免费啪啪视频| 白丝1区2区3区| 少妇精品久久久| 明星性猛交ⅹxxx乱大交| 丁香五月婷婷啪啪| 在线播放中文字幕| 能在线播放的国产三级| 殴美综合色88| 国内亚洲高清无码| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲国产精品成人久久蜜臀| 婷婷综合网| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 久久超碰天天| 国产日本久久免费精品| 玖玖爱伊人玖玖爱| 国产精品老师| 久久人妻| 激情文学 国产一二三aV| 综合亚洲欧美精品日韩?v| 久久九七| 午夜120视频在线观看| 国产男女无套97| 日韩福利综合一区| 91丨精品丨国产丨丝袜| 91强热人妻| 亚洲亚洲亚洲天堂天堂| 成人丁香五月| 久久性爱视频免费看| 久久欧洲| 日本一本道A级黄色毛片试看60分钟| 98福利在线视频| 日本中文字幕在线电影| 91综合色噜噜| 330dv亚洲成年视频网| 久久精品国产亚洲AV嘿嘿| 欧美在线大香999| 超碰亚洲欧美日韩无| 国产一在线观看| 91国精产品| 操操碰| 日本羞羞的视频在线播放| 亚洲天堂情色| 久久久无码国精品无码三区三区| 天天激情综合站| 久久久成人免费av电影| 中文字幕在线观看第二页| 少妇无码av专区线| 熟女人妻一区二区三区| 亚洲偷91色| 婷婷香蕉欧美在线一区二区三区| 久久五月天婷婷丁香中文字幕| 久久夜嗨| 欧美久久草熟女| 国产黄色 A 片免费看| 日本一二三免费久久| 日本淫色网| 在线看免费无码AV天堂的| 久久9久久| 青草园大香蕉| 亚洲五区熟女| 亚洲男人bt天堂| 国产精选三级在线观看| 中国国产精品一区视频| 亚洲精品国语在线播放| 国产99热| 欧美综合网在线| 久久精品国产久精国产| 欧美色图片91| 美女久久久久久久| 超碰国产情侣自拍网| 99无码视频| 国产极品一区二区三区三州| 国产一区二区三区视频在线看| 亚洲熟女av中文字幕| 日本幼女18+| 操死我了啊啊啊| 伊人伊人LD| 麻豆精品A片免费观看| 麻豆精品久久久久久久| 97午夜剧场日韩| 东京太热久久久| 国产精品白虎| 日本不卡卡一区| 午夜精品久久久久久久男人的天堂 | 99热精品青草在线| 做爱福利视频一区二区| 夜精品久无码| 色哟哟av| 啊啊啊啊网站| 美女诱惑久久| 欧美成人一级麻豆| 一区二区视频在线播放| 丁香啪啪| 大香蕉天天看妹子| 狠狠躁天天躁日日躁97| 久草这里只有精品| 一级二级三级黑人无码| 人妻 中文 日韩| 久久98| 冬京热男人的天堂| 91天堂色男人的天堂| 五月婷婷六月丁香| 91国产大片| 欧美96交| 国产亚洲欧美每日在线| 亚洲福利中文字幕在线| 欧美最婬乱婬爆婬性视频| 日韩少妇在线视频| 日韩猛交| 日韩中文字幕在线视频观看| 吉川爱美98堂在线| 伊人久久亚洲色欲综合网站 | 精品女同一区| 东京热视频网| 在线观看国产黄色| 国产 大胆 对白| 国产诱惑| 日本国产亚洲一区在线观看| 六月丁香网| 性性久久| 中文字幕精品一区二| 337p大胆噜噜噜噜噜91Av| 97精品在线| 先锋女优在线观看视频| 日欧操屄视频| 欧美性Fer办公室秘书| 少妇一区二区三区精选| 久久9久9久99久9久9| 天天欧美97| 久久国内| 超碰视97中文| 福利在线观看一区二区| 日韩情色AV| 人妻丰满熟妇一区二区三| 2011国产精品| 蜜臀久久99精品久久久久久婷婷| 五月婷婷激情综合| 91精品国产91久久久久久久久久久久| 无码逼| 999 久久久| 亚洲国产ⅴ高清在线观看| 日本精品国产视频| 亚洲国产欧美一区二区潘金莲| 在线观看AV不卡| 91精品无码久久久久久久| 91色图片| 另类亚洲一区二区三区| 色五月激情AV在线| 九九热超碰| 97碰碰色| 日韩av熟女一区二区三区成人| TS人妖另类精品视频系列| 伊人影院在线理论播放| 欧美视频一| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 久久精品福利影院| 久久久91福利姬| 激情色播| 久久只有精品| 成人日本片久久久蜜桃| 欧美国产日韩清纯唯美| 百度百度日本操逼| 天天热精品| 日本一级黄色电影| 国产亚洲精品A在线观看下载| 亚洲 综合 第一页| 人妻熟女字幕一区二区| 国产亚洲精品激情| 欧美姓爱综合网| 亚洲欧洲无码一区夜| 五月天婷婷色色| 伊人黄色片| 午夜噜噜噜| 色老牛| 操人妻丝袜高跟| 插日本熟女视频| 人妻无一区二区三区| 安微少妇操BBB| 亚洲欧美天堂在线| 大香蕉免费中文| 日本东京热加勒比久久| 久久超碰com| 黄站在线免费观看| 欧美乱妇狂野欧美在线视频| 玖玖爱综合| 成片免费观看视频大全| 亚洲AV无码AV吞精久久久久| 可以免费看黄片的视频| 无码人妻一区二区三区四区老鸭窝| 国产熟女二区| 天天综合网在线| 奸色色 男人天堂 天天射| 九九热精品| ?亚洲伊人伊成久久人综合网| 日逼视频日本| 国产精品久久久久中文字幕| 无码精品久久| 国产一区二区三区久久久精品| 91熟女视频| 欧美v日韩v亚洲v最新在线| 色色九区| 青青色在线观看| 大学生美女口爆| 啊啊啊啊啊好多水| 欧美少妇高潮视频| 熟妇熟女一区二区三区| 97资源久久| 天天干嫩逼网| 精品九九| 一级片在线观看高清无码| 美女极品一区二区三区| 免费作爱一级视频| 久久婷五月天| 欧美专利1区2区3区4区5区免费| 怡红院怡春院| 亚洲欧洲无码一区夜| 黄站在线免费观看| 欧美翘臀视频网站一区二区三区| 热99这里有精品综合久久 | 极品五月天噜噜| 亚州宗合另类| 91国产美女丝袜足交精品视频| 在线电影亚洲色图| 欧美精品精品一区二区| 国产人妖视频一区在线观看| 国产亚洲99久久精品| 五月天春色激情网| 天天激色| 天天干人人乐| 亚洲欧美在线观看免费| 色九九九九久| 免费超碰97久久| 婷婷五月天激情四射| 黄色片,com| 国产亚洲 中文欧美久久| 先锋音影AV| 91亚洲人| 影音先锋中文字幕日本好一区二区| 激情文学网伊人| 伊人色综合超碰| 啊啊啊啊好疼| 欧美网站免费| 秋霞福利网| 成人自拍三级在线观看| 亚洲.欧美.丝袜.中文.综合| 东京热精品97综合网| 亚洲天堂男人的天堂| 国产三级中文有码在线视频| 九一综合精品视品av| 91久热| 欧美性巨大╳╳╳╳╳高跟鞋| 久久99国产综合精品女同| 中文字幕福利视频一区二区三区在线观看| 日本色色视频网站| 97欧美精品综合| 不卡av免费在线网址| 熟妇熟女亚洲天堂网| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美亚洲另类在线蜜桃| 国产传媒美日韩av| 在线毛片片免费观看| 啊啊啊操一区| 色九久| 翘臀vidoes| 97超碰日韩| 欧美熟妇视频| 八戒午夜福利理论片| 亚洲熟妇乱女区二区三区| 天天日天天干少妇日| 欧美日日网| 72av视频| 天天透伊人| 狠狠爱综合网| 欧美另类自拍| 在线看的av| #NAME?| 国产小u女在线观看| 欧美的精品的视频| 韩国一区二区精品亚洲| 精品人妻中文字幕高清| 亚洲色图欧美另类在线| 亚洲成人性爱在线观看| 超碰碰97资源站| 牛牛操视频逼| 安微少妇操BBB| 超碰资源亚洲97| 乱伦图一区| 97中文字幕一区| 啊啊啊啊嗯嗯嗯用力好爽| 欧洲亚洲国产综合在线| 成人草草视频| 97色97好| 五月婷婷综合网| 小日子操bb在线看| 97天天综合| 伊人嫩草| 欧美性,色九九| 成人性爱电影网| 亚洲av综合伊人久久| 日本亚欧爱爱| 日日干男人的天堂| 国精品一区二区三| 婷婷五月天久久久| 思思热久久成人| 91免费看一区二区三区| 亚欧操逼片在线观看| 99re只有精品| 亚洲欧洲偷拍一区| 婷婷视频在线免费观看| 又粗又长又爽在线观看| 激情综合网亚洲| 天堂亚洲精品| 屁股久久久久久久久| 日日A∨| 四虎884a| 婷婷色香| 日韩国产十八禁| 亚洲 欧美 91| 殴美,日韩国产伦精品| 丁香啪啪| 免费看日产一区二区三区| 日本操逼视频导航| www.伪伪| 久久一级无码精品毛片6| 免费精品人妻一区二区三| 欧美偷拍区| 久久久精品中文字幕爱豆| 色综合加勒比| 亚洲97在线观看| 久久久久久久久久9| 友优传媒精品在线一区二区| 极品色综合| 偷拍视频青青草在线视频| 玖玖久久久| 日本一区不卡| 97精品免费视频网站| 久操频道免费在线呗看| 日韩熟女精一区二区三区不卡| 亚洲色人| 午夜视频好爽啊| 少妇高潮对白在线观看| 大香蕉九九| 97超碰国产精品| 日本999精品视频| 99re在线精品78| 国产熟女一区二区| 尹人免费观看视频在线| 精品一区二区成人| 色婷婷丁香五月| 国产精品suv一区| 天天久久久久久| 在线免费观看高清无码视频| 国产成年免费大片黄在线观看| 91丨九色丨国产打屁股| 欧美综合加勒比在线| 干美女人妻| 这里都是精品| 中日亚韩免费视频| 碰碰在线视频| 大香蕉手机在线| 亚洲在线91| 校园春色欧美| 女性喷水高潮在线观看| 人人操人人操人人操人人操人人操人人人11.CM | 欧美传媒一区| 在线a亚洲视频播放在线| 在线观看色视频| 亚洲 欧美 另类 综合 偷拍| 精品综合久久久久久97| 富女玩鸭子一级毛片| 五月婷在线| 91美女高潮| www亚洲免费| 亚洲精品一区中文字幕乱码| 果冻传媒一区二区三区| 一本色道综合久久欧美| 青青草五月份天| 久久五月天婷婷丁香中文字幕| 亚洲素人综合| 日本人妻中文字幕精品| 黄色二级片网站| 欧美色图 色综合图| 欧美一级黄片免费播放| 久久日本熟女精品一区| 天天插夜夜操| 久热69九色熟妇97| 亚洲图片欧美色| 亚洲 欧美 天天| 日韩15p| 丁香激情五月| 欧美少妇性乱| 日韩性爱视频在线免费观看 | 另类专区在线观看| 欧美影音在线| 久久成人午夜精品影院| 超碰碰97| 亚州熟女乱伦| 免费A V在线| 97超碰欧美手机在线| 99精品久久久久久久婷婷| 亚熟hd视频在线| 无码av永久免费专区网站| 青青草啪啪网| 黄片视频,下载| 久久久久久久国产| 亚洲欧综合另类无码一区| 日韩精品熟妇| 欧美日韩另类在线| 用力操死我| 国产v片在线免费观看| 熟女自慰久久久| 91狠狠综合网| 99在线观看无大码| 日韩99精品视频综合区| 蜜臀AV成人精品蜜臀| a级成人毛片免费视频高清| 亚洲AV不卡在线观看尤物| 亚洲色图尤物视频| 男人的天堂2000| 成人三一级一片aaa| 亚洲综合色在线| 欧美性爱伊人| 一区二区三区看视频| 人妻少妇视频在线播放| 天美传媒精品一区二区| 丁香五月综合| 日本人妻丰满熟妇久久久久久| 久9久| 国产精品毛片?v一区二区三区| 大香蕉伊然在亚洲91| 中日韩熟女| 东北老熟女| 玖玖97综合| 18禁在线视频| 少妇内射视频| 2020国产精品| 999久久久| 人人妻人人色| 色综合尤物| 99re9| 天天综合网入口~91| 欧美午夜视频精品久久| 蜜臀av网址| 99精品久久| 日韩在线国产字幕| 天天舔天天日天天射| 国产精品久久久三级无码| 性高潮久久久久久久久久久| 最新加勒比丝袜在线| 中文字幕一区二区三区字幕| 大香蕉色网| 国产精品电影| 日本高清免费一本视频在线观看| 人妻无码视频一区二区三区久久| 91熟女熟妇视频网站| 天天懆天天日| 九九九九九九综合| 亚洲美女色图| 色婷婷久久| A一区片| 鸥美中出| 日韩精品怡红院| 五月天综合网| 都市久久精品激情亚洲| 亚洲欧美天| 97超碰色屌| 美女尤物人人操| 2024年最新色情网站在线观看| av东京热男人的天堂| 婷婷综合网| 久草视频在线视频在线视频在线观看| 国产一二三福利视频网| 大香蕉国产中文自拍| 欧美综合站| 秋霞蝌科网日本一区| 国产9区| 麻豆熟妇乱妇熟色A片在线看| 久久嫩草国产成人一区| 91精品久久久久久77777| 亚洲成人一区二区精品| 校园春色综合网| 粉嫩久久久极品| 欧美|91色综合| www网站黄| 国产精品免费久久久久久久久久| 北京专精特新企业招聘信息| 亚洲偷拍自拍在线视频| 91精品无码久久久久久久| 亚洲高潮影院| 男人把坤坤插入女人的下体| 又大又黄国产| 精品-91人妻子系列| 激情综合网五月婷婷五月天| 国产精品久久aV| 9久久精品| 久热精品在线| 亚洲宗合网| 二对二中文字幕。| 亚洲综合网图| 夜夜爽爽爽| 欧美性爱另类综合| 国产AV毛片| 老熟女乱伦一区| 极品色| 极品少妇久久久| 色欲人妻一区二区在线| 色噜噜国产在线| 婷婷激情五月| 国产高清在线观看欧美| 自拍偷拍 日韩欧美| 最近二区三区视频大全| 欧美综合 站| 91精品国久久久久久无码| 不卡九肏| 欧美亚洲一区二区久久久婷精品大包诱| 五月丁香成人网| 91干熟女| 狠狠色婷婷7777久| 中日韩久久久| 欧美亚洲尤物久久| 亚洲色图欧美色图日韩色图| 在线观看一级α片刺激高潮视频| 97资源站日韩| 天天舔日美女视频| 啊啊在线| 伊人午夜福利视频| AV中文字幕剧情1区2区3| 视频在线观看一二三区| 国产剧情一区在线观看| 婷婷色一区| 熟女啪啪视频| 九九九九九九九精品视频| 久99久视频精选| 天综合中文| 国产黄a三级三级三级av在线看| 九九热在线精品视频| 亚洲久热| 免费精品99| 日韩人妻资源在线看| 99色色| 1024久久高清视频| 小情侣高清国产在线视频| 一级久久性爱视频| 色噜噜人妻丝袜a∨先锋影 | 狠狠图片青青草| 日韩钢筋无码高清啾啾啾| 久污| 久草成人影片| 亚洲国产精品久久久久婷婷老年| 久草成人影片| 久久在肏| 国产精品免费久久久久久久久久| 97超碰站| A片A5445444| 日韩卡一卡二卡三在线| 欧美一级做a爰片免费视频| 99精品久久久久久久婷婷蜜桃| α√在线| 人妻啊啊人妻啊| 一区二区三区网站日日骚| 久久m| 一本一道久久综合久久| 亚洲 欧美 日韩另类 麻豆| 亚洲综合九九| 18禁止看精品中文字幕| 久干9操| 2020国产精品| 国产日本熟女顶级一区二区三区视频 | 欧美一级久久久丰满| av国产无码| 欧美另类色| 99啪| 玖玖草久草99蜜月一区二区三区| 一区二区三区在线日韩影院观看| 91丝袜美女视频| 熟女这里只有精品6| AV在线性爱| 激情五月天丁香| 色老汉色| 精品国产99999| 国产午夜在线观看| 草草网站影院白丝内射| 99久久99久久综合| 一区二区首页| 97ai亚洲| 欧美日韩*字幕一区| 国产精品午夜高潮呻吟久久av| 啊啊啊用力在线观看| 欧美一级专区免费大片| 欧美亚洲美少妇一区二区| 91亚洲欧美激情| 97资源视频| 91大胆欧美| 亚洲无限观看| 91精品国产长腿丝袜美女| 欧美gv在线观看| 欧美十八禁在线看| 大香伊人在线一区| 亚洲中文sv| 伊人丁香五月婷婷| 99日韩| 国产25页| 97超碰碰| 中文字幕一区日韩精| 久久精品小视频| 老色鬼成人精品视频下载大在线观看| 国产精品96| 日欧毛片久久| 91综合网在线| 国产探花精品在线| 天天干天天日天天射黄色| 99re6国产精品99re| 白丝一区| www.狠狠操| av久日| 国产亚洲精品精AV.| 五月天精品| 白丝jkav| 熟妇熟女一区二区三区| 亚洲超碰AV| 亚洲综合骚逼| 在线视频97| 天天日B夜夜干B时时操B| 人人澡综合涩| 思思热一热婷婷热一热| 美女诱惑一区| 日韩成人性爱电影在线播放| 青青草精玖玖69精品| 啊啊啊爽爽| 99久久久无码精品国产人| 婷婷99狠狠| 97超碰国产亚洲精品| 无码高清国产AV|