亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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
返回資訊列表
97热视频在线观看| 人妻一区二区三区四区视频| 国产AV精久久| 91夜夜蜜桃臀1区2区3区| 欧美美女视频| 丁香六月婷婷| 欧美色九九| 一区二区三区四区久久视1| 麻豆三极片| 人妻少妇精品一区二区三区| 少妇大屁屁| 亚洲成人久久一区二区| 天堂涩涩| 日韩三级天堂在线观看| 蜜臀99久久精品| 国模无码一区二区三区在线| 国产妇女精品视频青青草| 一区二区精品日韩欧美在线观看| 五月天AV资源| com 首页 18岁 禁区 女优 免费 精选 同城| 精品国产72| 中国人高清www色视频免费| 精品日日人妻| 熟妇综合一区二区三区| 丰满人妻一区二区三区| 麻豆视频一区二区| 老司机福利青青草| 午夜毛片高清免费不卡| 国语国产操逼伊人AV网| 久久综合女优| 影音先锋国产精品| 色97国产69香蕉| 成年女人黄网站| 97精品视频网站| 深夜国产一区二区三区在线看| 97精品97| 日韩精品中文字幕二区| 白丝AV| 4141514逼喷水三级片| 色综合国产在线观看| 97资源超碰| 综合伊人网12色| 久久爽爽精品| 综合色图区| 夜夜精品视频| 天天内射| 日本色色色| 精品久9| 少妇免费视频| 亚洲精品人妻在线| 秋霞Av理论一级在线| 天操老女人| 操逼操逼逼操操逼91| 久久久久久久久久久精| 亚洲人精品久久久| 午夜人妻精品综合在线| 青青免费在线视频一区 | 久久男人精品| 美女十八禁| 国产精品青青草| 久久国产免费激情视频| 久艹日日日| 一区二区视频你懂的| www.色婷婷色综合| 无码 黑人一区二区三区| 久久久久九九九九九| 国产超碰在线| 亚洲av综合色区无码一| 91熟女视频| 舔舔啊| 嗯嗯嗯啊啊啊在线免费观看| 免费精品福利在线观看| 自拍偷拍 高清无码| 日本媚薬中文字幕在线| 五月开心久久AV官网| 免费观看欧美日韩操逼视频| 熟妇操花| 国产极品精品美女视频| 色五月av| 久久久神马影院| 狠狠狠一区二区三区| 韩日性爱av| 99夜夜操| 亚洲精品九九九九九九| 天美传媒在线一区| 自拍丝袜美腿人妻| 精品四五区| 九九综合久久| 精品欧美А∨无码黑人大荫蒂| 蜜臀网 一区| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 欧美亚洲天堂| 欧美在线亚洲| 精品国产乱码久久久影院| 午夜啊啊啊| 91女在线观看| 亚洲日本加勒比在线| 一级黄色性爱A级片| 亚洲精品白浆高清久久久久久 | WWW啪啪的com| 国产高清免费不卡av| 99re免费| 成年人黄色视频免费| 男人的天堂VA| 成人小电影网站tex| 高清无码91| AV丝袜东京热| 免费看污网址| 国产污视频麻豆传媒一区二区| 色婷婷视频| 免费啪啪一级视频| 97任你吞精| 日韩亚洲中文字幕在线| 国产精品婬乱一级毛片彝族| 91成人久久| 欧美日韩不卡a片| 人人模人人看| 内射小黄片| 精品亚洲成人免费在线| 日韩欧美午夜一区二区| 国产传媒午夜理伦精品| 欧美一区二区三区互相| 成人免费看吃奶视频网站| 日本中文字幕不卡视频| 亚洲综合另类小说色区亚洲成av人片在www| 呦呦一区| 狠狠中文字幕| 国产懂色精品国产av| 日韩一区二区高清在线观看的| 欧美精品日韩久久久九| 人人看欧美性爱| 九色精品视频导航1| 嗯啊抽插大香蕉网页| 岛国毛片在线观看免费| 又大又长又粗又爽又黄| 丁香五月综合| 久久久久9| 熟女乱伦二区| 亚洲精品天天影视综合网 | 超碰97欧美日韩| 久九干| 99精品丰满人妻无| 美女淫穴| 呻吟 欧美 日本 中出| 亚州九九九精品视频| 久久久内射良家| 国桃视频产巨乳精品一区二区在线| 国产女人9999| 97亚洲综合| 国产又粗又大硬免费色网视频| 26uuu久久| 成人av在线播放| 91在线视频观看国产| 日本一区二区做爱的视频| 日韩精品中文字幕二区| 婷婷久草一区二区三区| 亚州色图片在线色| 国产成人五月天丁香花| 色综合国产在线观看| 国产精品亚洲天堂网址| 婷婷尹人大香蕉免费| 99999精品视频| 久久久久久中文版| 诱惑网综合| 成人性爱免费播放| 无码WWW免费视频网站| 精品性爱无码在线播放| 91在线限制级| 狠狠爱夜夜| 国产丝袜欧美在线视频| 六月丁香婷| 久久天天躁日日躁狠狠躁| 日本不卡免费二区| 日韩AV无码网站| 亚洲成a人片在线观看中文!!!| 激情深爱五月天| 久久超碰免费的| 中出20p| 中文字幕蜜乳av| hd成人一区二区在线| 91亚州日韩高清| 欧美在线色| 天天狂操夜夜狂日| 手机在线播放国产福利| 亚洲精品久久久久久久久豆丁网| 使劲用力艹少妇视频一区二区| 欧洲亚洲人妻无码久久三区四区| 中日韩久久久| 嗯嗯嗯啊啊啊在线免费观看| 亚洲色图欧美色图综合| 日本色色视频网站| 一区二区日韩欧美久久| 欧美青青草视频| 香蕉视频欧美一卡二卡| 亚洲AV无码乱码在线观看性色| 极品粉嫩一区二区| 国产精品一区二区a| 日韩av影片在线观看| 久久久久久久少妇| 日韩欧美加勒比| 国产一区二区欧美日本| 加勒比av官网在线| 亚洲成a人片在线观看中文!!!| 久久久不能久久久久| #NAME?| 亚洲 欧美 偷拍 唯美| 区日韩亚洲乱码av电影| 婷婷性网| 操比国产| 俺也射| 91人妻精华帖| 亚洲色资源| 96精品久久久久久久久久| 丁香六月啪| 久久人妻无码毛片A片麻豆| 亚洲无码太久| 97干天天| 亚洲成人日韩小说| 中文幕97| 密乳无码| 一区二区三区色综合| 日韩熟女操逼| 亚州色图狠狠干| 97日韩欧美| 婷婷香蕉欧美在线一区二区三区| 欧美97爱| 欧美日韩夜夜| 日本道不卡| 精品国产一区二区三区av在线资源| 欧美图片色五月天| 99热综合| 日韩一区二区精彩视频| 9热9热综合网| 天天摸夜夜添无码小视频| 精品176精品2| 国产精品久久久三级无码| 超碰9 7女人 | 美女露胸露奶头| 97欧美在线| 熟妇最新先锋一二三区| 欧美性爱18观看| 天天弄欧美| 大香蕉免费3| 亚洲日韩青青草色月| 一级性爱视频免费在线| 亚洲视频二区| 色情乱伦AV| 久久精品国产97欧美精品亚洲| 超碰人人超在线观看| 中文在线视频| 五月婷婷五月天| 台湾佬大香蕉| 97久久免费| WWW啪啪的com| 校园春色美腿丝袜| 免费观看欧美日韩操逼视频| 亚洲啪啪综合?v一区综合精品区| 99操| 久久肏大逼| 可以免费观看的av| 欧美日韩97| 伊人97色天使| 人人摸人人摸人人干| 天天天干977| 91九久| 影视综合无码少妇| 网友自拍第1页 | 欧美日韩操逼动图| 9 7超碰在线免费观看| 超碰色大香蕉| 干婷婷综合网| 搡老女人老91妇女熟女| 久久久久久久伊人精品| 插入综合网| 97日韩欧美亚洲| 亚洲蜜乳av| 久久九七| 秋霞 色色| 国产懂色精品国产av| 精品十三区| 国产一级内射高清视频| 熟妇人妻精品一区二区视频色欲| 97国产中文| 久久久久久久国产视频| 91精品国久久久久久无码| 天天懆天天日| 亚洲一区二区三区婷婷| 欧美论理片| 日本福利社| 日本人体九九九九九九| 亚洲夜夜欢无码一区二区| 日产狠狠干| 真实高潮91| 91 丝袜在线播放| 国产女人高潮视频| 99热这里只有精品18| 亚欧国产无码精品在线| 亚州,欧美在线| 亚洲最大成人a毛毛片| 极品后入免费视频| 国产一区二区三区久久久精品| 内射日韩大臀美女| 精品视频一区二区| 欧美色图偷拍另类| 第四色奇米影视777| 亚洲天堂自拍| 日本熟女中文字幕一区| 色拍偷亚洲| 亚洲成?V人片在线观看福利| 天天干人人乐| 欧美少妇一区二区三区| 亚洲一区二区三区春色| 成人久久无码www| 强奸乱伦AV网址| 中文字幕88av在线| 自拍偷拍 日韩无码| 色哟哟av| 欧美色棕合| a亚洲欧美色欲| 欧美性爱一区| 久久婷五月| 欧美综合网在线| 精品久久久久久中文字幕三区| 日欧美色| 人人做人人妻人人夜视频| 国内外激情在线| 屌逼麻豆| 少妇啪啪自拍| 国产精品网址| 欧美少妇高潮久久91| 久久精品色欧美aⅴ一区二区| 亚洲性综合11| 91九色丨国产丨爆乳| 欧美一级美片在线观看免费| www男人天堂| 欧美午夜精品久久久久久超碰| 妇女性内射冈站HDWWWCOM| 亚洲无限观看| 日日狠狠久久偷偷色综合免费| 亚洲欧洲日本精品中文a∨| 中文一区在线日| 激情第四色| 在线观看不卡一区二区三区| 中日韓欧美高清| 激情婷婷| 国产三区免费在线观看| 免费人成毛片乱码| 941超碰| 久久发布国产伦子伦精品| 最新三级网址| 五月天综合| 日韩久久.一级黄色片| 91黑丝露脚| 精品久久97观看在线视频| 新视频sss国产| 91狠婷| 欧美96精品在线| 免费av在线播放二区| 99精品在线| 伊人网综合在线视频| 人妻天堂三区| 欧美在线视频观看一二三四区高清| 人妻少妇av在线观看| 日本人妻丰满熟妇久久久久久| 偷拍在线观看视频| 激情一区二区三区在线观看| 亚洲精品尤物yw在线影院| 精品美女少妇一区二区| 97免费视频在线观看视频| 国产精品久久久亚洲第一牛牛_在线观看| 国产乱伦亚洲色图高清无码| 91精品国产综合久久久蜜臀| 日本福利二区视频| 天天干2区3区| 超碰78| 丝袜内射| 中文字幕天天操| 啊啊啊com| 久久婷婷精品| 久久国产乱子伦精品免费女人| 99精品人妻| 人妻人久久精品中文字幕| 亚洲国产精品久久久男人的天堂| 偷拍网站久久男女男| 国产成人无码网站在线视频| yellow网站免费观看日韩高清无码| 91一区二区三区蜜桃| 蜜臀久久久99久久久久 | 乱伦图一区| 日日噜噜夜夜狠狠视频无| 亚洲在线| 中文字幕熟女人妻丝袜| 黑人娇小av在线播放| 男人天堂新| 国产综合久久久麻桃个| 激情小说亚洲| 欧美国产精品久久九九| 伊人操你| 福利伊人玖玖国产| 精品久久久久久中文| 国产精品黄色三级av| 国产中文字幕曰本毛片| 国产乱人伦AVA麻豆软件.| 国产精品熟女九色九色蜜臀| 久久这里是精品| TS人妖另类精品视频系列| 国产成人91一区二区三区| 亚洲人体视频在线观看| 自拍偷拍 高清无码| 久久久亚洲欧美综合| 精品亚洲国产成人av网站| 强奸乱伦AV一天堂网| 天天插夜夜爽| 九九九精品一区二区无码| 93人人操人人| 无码乱人伦中文视频| 综合久久9| 天天做天天爱天天爽AV| 天综合网| av天堂5| 久久久9 9 9精品| 北京专精特新企业招聘信息| 中文字幕视频2区| 日本综合久久| 久久久国产护士丝袜美腿一| a级免费在线观看| 亚洲激情欧美色图| 亚洲男人的天堂va亚洲男人社| 男人网站婷婷| 午夜成人爽爽爽爽A片李冰冰| 97亚洲色图| 超碰亚洲欧美日韩无| 美女久久久久久久| 丝袜色综合| 国产区在线| 欧美成人性爱视频在线播放| 激情视屏国产乱伦强奸| 色穴精品| 人妻素股| 欧美日韩亚洲少妇寂寞影院正在播放 | 欧美另类色图片| 99天天超碰| 九一国产精品| 国产精品爆乳懂色蜜乳| www.av在线观看| 天美av在线观看| 欧美天天影院| 亚洲一区二区三区不卡国产欧美| 狠狠色综合网| 一区中文字幕二区日韩| 老熟乱一区二区三区四区| 色欲久久久久综合网| 动漫爆乳3D奶水一区在线观看 | 欧美激情精品久久久| 欧美亚洲91| 韩国手机不卡无码三级视频| 亚洲夜色在线| 色97国产69香蕉| 国产成人无码a| 99九九精品| 97一本大道亚洲一区| 亚洲人天堂| 国产呦精品一区二区三区下载| 久操大香蕉手机视频在线看 | 亚洲免费97免费| 欧美色涩| 人夜夜精品网站香蕉嫩草| 国产99999久久精品| 美女尤物福利视频| 91九九九吃| 天天看精品动漫视频一区| 亚洲精品成人动漫在线| 天天影视激情欧美| 人人操欧美风骚| 亚洲中文字幕97久久精品少妇| 久久天天躁日日躁狠狠躁 | 大香蕉性欧美| 九月婷婷| 国产传媒一区二区三区| 天天精品| 91美女片在线| 国产精品天美传媒| {男男暴菊gay无套网站| 超碰天天操| 蜜乳AV免费观看| 久久综合女优| 天天躁日日躁xxxxx| 欧美综合网1| 67194国产| 亚洲91网| 日韩欧亚中文在线| 日韩啪啪啪啪啪| 在线视频亚洲无码| 欧美情色贴图| 亚洲色图日韩丝袜制服一区二区五月在线| 九九热超碰| 在线视频 亚洲精品| 国产精品欧美激在线| 伊人久久久日韩一区| 亚洲国产精品久久久男人的天堂| 亚洲 自拍偷拍 欧美| 国产久9| 操我无码| 在线日韩精品一区二区三区| 欧美亚洲se91| 久久精品99| 91殴美大片| 噜噜噜在线视频| 操老熟女AV| 日韩偷拍一区二区三区| 91精品久久久久久77777| 国产www色在线观看| 一个人免费视频观看在线WWW| 蜜桃在线观看一区二区三区| 狠狠色狠狠色狠狠五月| 96精品久久| 91九九九小逼| 国产中文大片资源中文字幕| 欧美日韩中文字幕人妻| 日本成a人v网站在线观看| 插老姨肥穴| 嫩草影院性色| 综合网97| 99激情视频| 精品国产三级av韩国在线| 67194无码不卡| AV色五月天| 96精品在线| 亚洲h片在线免费观看| 亚洲中字慕不卡| 久久久久久久久久久久久久9999| 先锋激情∨在线视频播放| 97 国产精品| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久人妻熟女一区二区| 9久精品视频在线观看| 国产乱伦亚洲色图高清无码| 日本加勒比无码专区一二三| 国产精品对白内射| 欧美人妻久久精品二区三区| 亚州色综合| 精品欧美日韩在线观看| 欧美白嫩女HD| 把腿张开老子CAO烂你| 国产免费一区2区3区| 蜜桃臀 后入 一区 二区 三区 在线| 欧美成人性爱视频免费观看| 中文字幕精品免费一区二区| 97国产综合欧美| 天堂麻豆天美| 亚洲美乱| 91视频国品一二三区| 100啪啪视频大全| 日逼97| 久久久久幕乱码| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 一本久久久精品| 夜夜骑操视频| 啊啊啊啊啊在线观看网址| 99热9| 亚欧国产无码精品在线| 国语对白在线播放视频| 亚洲一卡2卡3卡4卡乱码网站 | 强歼乱伦资源网| 91视频精品| 亚洲91色| 久久有码视频| #NAME?| 国产污视频麻豆传媒一区二区 | 强免费黄色网址| 日韩国产在线观看av| 日韩精品国产一区二区| 午夜a成v人电影| 天堂69亚洲精品中文字| 日韩性爱小视频| 六月丁香五月婷婷| 蜜臀少妇一区二区| 日韩AV电影网站| 性欧美另类高清| 宅男91视频在线播放| http://qxhbdz.com| 亚洲影视综合网| 日本福利二区视频| 丁香五月婷婷啪啪| 性欧美另类高清| 国产suv精品一区二区四区999| 青娱乐亚洲热| 情色av电影| 大香蕉伊在线久草麻豆天堂故事| 亚洲 欧美 另类 日韩 人妻一区| 综合天天网| 午夜AV污污污| 精品人妻久久久| 九九九国产| 老司机福利社视频在线观看| 9精品久久久久| 欲色啪| 欧美激情内射| 国产成年女黄特黄| 天天插夜夜操| 国产福利影视| 亚洲一区日韩| 9/A片| 欧美后入视频| 97干日韩| 殴美日韩m| 色欲久久99国产精品久久久久久| 国产精品3| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 91一区二区| 国产精品久久久蜜臀| 黑人天8A∨高清网站| 极品色电影院| 97欧美超碰| 青娱乐休闲视频在线观看| 亚洲国产精品9999在线观看| 婷婷五月天久久久| 涩涩久久精品| 中国人高清www色视频免费| 黑人操一区二区| 蜜桃精品一区二区三区ww| 丝袜亚洲91| 综合91网| 肏逼福利网站| 一区二区娱乐网站| 美女AV一区二区| 亚洲欧美在线综合| 一级乱伦网站| 717影院理论午夜伦八戒| 亚洲图片激情综合另类| 狠狠狠狠狠| 欧美青青视频| 亚洲在线91| 日本性爱不卡视频| 五月天综合网| 91女优在线观看| 97久久超碰| 日韩一级片| 色www精品视频在线观看| 久久丝袜| 久草电影网| 天天懆天天日| 天美传媒av 在线| 亚洲欧美日韩中文久久自慰| 91社区伊人| 91精品伊人久久久大香线蕉91 | 视频分类 国内精品| 一区,二区,三区网站| 青青草依人大香蕉| 日韩免费在线视频观看| 91九九九馒头| JuliaAnnXXX888| 蜜乳AV一区| 少妇六月天| 亚洲高清91| 另类小色呦| 熟妇高潮一区二| 国产v亚洲v日韩v欧美v片另类| 国产一区二区啪啪视频| 欧美亚洲美少妇一区二区| 超碰97久久| 天天日天天爽| 天堂av最新电影网| 极品尤物女神在线观看| 嗯嗯啊啊好疼| 成人性爱av| 97色色色综合网站| 噜噜瑟| 一级久久性爱视频| 青青三级视频| 爽极品影院| 78久久久| 黄色片A级一区二区三区| 久久亚洲不卡| 日韩在线97| 尤物视频视频官网| 97香蕉碰碰人妻国产欧美| 精品无码久久久久| 国产91啪| 青青草伊人久久| 无码 黑人一区二区三区| 九月AV| 黑人综合网| 久久综合18p| 91精片| 日本色婷婷| 日韩欧美中文字幕搭讪巨乳美人妻视频| 久久久久久精品免费看A级| 热久久无毒不卡| 亚洲九月丁香| jiujiujiujingpin| 久热香蕉精品在线视频| 热G综合热G中文| 偷拍 亚洲| 男女激烈网站最新| 欧洲站一级二级三级h| 成功精品影院| 18禁在线视频| 91狠狠狠| 色女综合| 亚州操逼网| 欧美欧美啪啪视频| 少妇特黄一区二区三区| 欧洲中文字幕| 干婷婷综合网| 综合色欧美| 黄色成品网站| av日韩国产一区二区| 婷婷五月天无码| 国产亚洲在线观看| 久久久久久久伊人精品| 蜜臀网址在线| 女人的久久久| 午夜黄色免费在线观看| 日韩欧无码一区二区三区免费不卡| 婷婷情色五月天| 大香樵伊人网| 太久视频| 免费av高清无码| 蜜桃天美传媒AV一区二区三区| 亚洲影院小综合| 97精品综合久久| 高潮的A片激情扒开一区| 91日产桃蜜| 日本东京热大香蕉a片| 国产午夜精品理论片a大结局| 蜜桃臀一区二区aV| 国产又大又粗又长视频在线| 91性高潮久久久久久久久| 亚洲男人的天堂va亚洲男人社| 五月婷婷影院| www.99中文字幕| 放黄片放3级黄片没穿衣服| 91插B网站| 色婷婷丁香五月| 极品综合| 国产自啪精品视频网站黑丝| 中文字幕亚洲欧美在线不卡| 国产精品探花色| 后入人妻无码| 69AV女优男人的天堂| 夜夜操美女| 久久免费99精品久久久久久| 青草综合| 青娱乐淫乱1314| 美女久久久| 人妻熟女一区二区| 欧美日韩国产电影| 久久97资源 网| 97人人射| 丁香六月啪| 国产欧美日韩在线不卡第一页| 日本操逼视频导航| 污电影在线观看| 亚州中文字幕超碰97| 久久一二三级一一一| 亚洲不卡不卡中文字幕不卡| 大胆91| 久久av网| 免费网站观看www在线观| 亚洲精品欧美专业| 综合网欧| 男人天堂综合| 中日韩久久久免费看| 九九九九九九免费视频| 激情亚洲天堂| 久日91在线| 男人的天堂无码| 国产成人啪一区二区| 久久精品一区二区三区蜜桃臀| 黄色十八禁| 干b网| 性爱欧美五月| 欧美九一精品久久久熟妇| 狠狠爱AV| 男人天堂新在线| 国产91 丝袜在线播放00-百度| 91成人18| 中文色综合| 国产日韩色综合| 国产91啪| 九九99精品| 天综合中文| 欧美日韩m| 国产免费一区| yazhououmeizongya| 69久久久久久久久久久久久| 国产超碰欧美| 试看60秒 爽| 成人性爱高清视频免费看| 久久五月天婷婷| 欧美日韩岛国大片在线观看| 丁香五月天激情综合| 夂久色| 蜜桃视频一区二区三区在线观看| 天天色踪合| 舔足天天操天天射| av无线看| 亚洲AV免费在线| 一区 欧美 日韩 麻豆| 亚洲宗合网| 精品久操| 色悠久| 亚洲精品天堂久久A∨51成人漫| 国产高清成人传媒影视| 久久久久中出| 久久风骚城市| 无码久久国产| 日韩成人网址| 9久久美女首页| 中文字幕三四五区| 亚洲暴力强奸AV| 国产一区二区三区精品观看啪| 中文字幕一区二区三区蜜臀| 97国产精品久久久久| 人人操 欧美| 97福利视频| 99精品人人爽| 91在线免费精品视频| 香蕉综合网| 久草精品一区 | 91n.欧美| 黄色免费网| 蜜臀av一区二区三区免费观看| 99精品人人爽| 美日韩男女操屄视频| 色婷婷小说| 97视频在线观看网站| 日本操逼视频免费| 国产一级高跟丝袜| 成 人 影视 一区 二区 三区 四区 | 亚洲欧美一区二区不卡视频播放 | 破处bbq| 国产精品无码久久久久2025| 国产高清1234区| 日本三级精品| 亚洲av乱伦色图网站| 啊啊啊好疼| 综合五月婷婷亚洲一区| 久久久99999久网站| 999久久久免费精品国产牛牛| 欧美久久伊人| 免费97视频| 69视频入口| 91xingse| 伊人骚琪琪亚洲天堂网站| 丁香五月性| 色777999综合| 中文字幕性感少妇av| 9999亚洲电影| 免费啪啪av| 久久久网一区| 亚洲 欧美 偷拍 唯美| 91麻豆天美国产| 波多野结衣AV无码一区| a级免费在线观看| 精品精品精品| 日韩熟女精一区二区三区不卡| 久久久久成人蜜桃精品| 无码人妻丰满热妇又大又粗| 开心激情站| 久久男人的天堂| 欧美日韩小说| 久久久久9999妇女| www.夜夜操| 国产一区二区a毛片| 亚洲综合首页| 干B网| 国内伊人久久久久久网站视频| 北京美女一区二区| 狠狠搞 亚洲91| 素人播放一区| 国产高清成人mv在线观看| 色臀AV| 色噜噜国产精品视频一区二区| 精品人妻一二三四区视频| 97露脸精品丝袜| 欧美三级一级| 欧美中文字幕男人天堂久久精品| 强奸a片网| 亚洲欧美一区二区网址| 亚洲色91| 思思热国产高清| 日本影视久久免费| 欧美αv.com| 亚洲三区视频| 日韩性爱视频免费在线| AA丁香综合激情| 九九热精品免费视频| www.97在线| 综合久欧洲| 欧美日韩精品国产91| 91丨精品丨国产丨丝袜| 九九九九精品视频| 大JI巴好深好爽又大又粗视频| 91综合无码| 丁香五六月啪啪| 免费黄色A片| 亚洲国男人的天堂| 人妻在线大香蕉| 风间由美日韩欧美久久| 啪啪性爱免费视频| 熟妇的味道HD中文字幕| 久精品无码av一区二免费国产在线观看| 色色色99| 久艹99| 黄页视频网站野外| 婷婷激情一区二区三区俺也去| 欧美色图99| 亚洲日韩美国人妻| 九九九九九九亚洲| 欧美综合综合| 福利操逼| 强奸乱伦动态污图免费 | 久久人人看| 国产久久一区二区| 性综合网| 蜜桃色色网站视频三区| av 模特一区了| 精品少妇人妻av久久免费| 国产精品 亚洲情色| 亚洲高清欧美总合| 欧美性爱十八禁| 骚货人妻偷情自拍在线视频| 婷婷人妻激情| 红杏大香蕉| 狠狠躁天天躁日日躁97| 四虎国产精品永久地址入口| 青青草伊人久久| 亚洲人成网站7777| 色女综合| 97在线观看| 大香蕉在线视频15| 午夜美女诱惑电源网| www.色婷婷色综合| 97免费视频在线观看| 看看小穴| 黄片色区软件| 91N综合网| 国产农村妇女精品一| 一本久道在线综合视频| 搞中出视频在线观看| 老熟妇一区二区三区…| 四虎AV无码| 精品一区二区成人动漫| 91成人无码| 亚洲熟女偷拍在线观看| 丁香六月婷婷| 国产亚洲精品A在线观看下载| 另类av综合久久| 日韩欧美视频青青| 99久久精品国产高潮| 欧美一级在线观看成人| 女人的天堂大香蕉网| www.丁香五月| 岛国片在线播放| 欧美色图 色综合图| 91女优在线观看| 欧美日韩少妇色情| 久久久久13| 欧美日韩国产色图在线| 日本操逼视频在线| 97国产精品一区| 高潮9999外国| 亚洲drav色图| 黄色高清久久无码依人| 精品婷婷| 亚洲九九九| 日韩欧美女求操每天更新| 欧美一区二区传媒| 五月激情影院| 久久久久久电影| 人人操人人爽人人操人人| 操熟女91| 天美传媒婬乱在| 大香蕉一人| 超碰到97情色| 超碰97在线中文| 中文字幕免费看| 欧美在线l亚洲| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 国产久9| 亚州欧美一区| 天天爱综合网| 久肏视频字幕| 亚洲人妻精品一区二区| 97日韩| 欧美日本中字另类在线| a v网站在线播放| 精品国产精品一区二区| 婷婷综合激情| 江都AV在线| 青青草精玖玖69精品| 中文字幕一区二区三区蜜臀| 91neishe| 欧美日动态视频| 亚洲影院小综合| 天天干1区2区在线| 综合色区偷拍| 日韩字幕一区| 探花精品视频| 天天综合网国产| 97热视频在线观看| 亚洲一区二区中文字幕| 亚洲高清无毛一区二区| 亚洲精品国产无码高清| 九月丁香| 97er欧美性| wuyechaopeng| A级国产欧美激情在线| 5278欧美一区二区三区| 歐美一級亂黃99在綫精品| 青青草久久| 啪啪啪精品| 五月丁香啪| 97伦乱| 黑人狂躁日本妞一区二区三区| 99色热国产视频精品| 嗯~啊~快点 死我视频| 日韩啪啪视频| 国产在线精品偷| 久湿久久| 2018色综合天天操| 91视频观看网站| 欧美丝袜91| 操b在线观看| AV 少妇 人妻 偷拍| 日本欧美不卡| 日韩精品三区四区| 翔田千里AV无码秘 三区| 91色碰| 俄罗斯一区二区视频在线观看| 日本999精品视频| J?P?NESEHD熟女熟妇伦| 一起草AV| 欧美999| 久久精品免费| 欧美αv.com| 日日嗨AV一区二区夜夜| 久热免费视频| 亚欧色图在线激情| 精品人妻二区三区| 男女猛烈无遮掩视频免费软件| 亚州综合电影| 国内毛片欧美香蕉精品| 99www.bibizy香蕉资源国产一区二区三区高清 | 青青操狠狠撩| 三四中文字幕| 人妻精品一区二区全免费| 亚洲一级性爱视频免费看| 91精品人妻一区二区三区蜜臀| 丰满翘臀美女影院视频| 六月婷激情福利天堂69| 亚洲国产丝袜熟女av| 欧美成人国产精品| 超碰97资源中文字幕| 妺妺跟我一起洗澡没忍住| 色五月AV| 综合九九| 天天做天天爱天天爽AV| 欧美刺激色黄片免费看| 国产丝袜欧美在线视频| 男人的天堂在线| 国产精品一区二区在钱播放| 不卡啪啪视频| 国产熟妇 码视频户外直播| 日韩精品电影| 亚州精品丝袜-不卡成人免费| 久久成人国产| 欧美成年人性爱视频免费观看| 51一区二区三区| www.91欧美| 亚洲大色堂| 亚洲精品国产av天美传媒| 91天天日| 天天综合网久久ww| 午夜呻吟欧美| 三上制服丝AV| 青青草天天亲夜夜操网| 日韩欧美经典在线观看| 97爱综合| 久久久精品网| 国产精品白丝| 黄色免费一级在线毛片| 中文字幕乱码人妻二区三区 | 亚洲丝袜少妇在线| 欧美午夜熟妇黑人精品91| 蜜臀久久99精品久久久久久酒店| 亚洲同性aV综合| 精品视频一二三中文| 激情另类激情| 久久久久久久97| 伊人黄色片| 亚洲五月婷婷| 91蜜臀在线久久久久| 日韩精品9999| 蜜臀一二三区| 九九热三级片| 欧美日韩不卡a片| 性色乱AV一区二区| 日韩97视频| 噜噜噜噜久久久精品免费| 欧美日韩97| 激情网色| 美女AV一区二区| 婷婷五月天AV| 久久神马影院| 久久久久久加勒比| 亚洲国产精品99久久久| 99久在线精品99re8热| 91夜夜蜜桃臀1区2区3区| 日本最新1区2区3区| 2021国产成人精品久久| 综合网色| 大奶啊啊好爽 | 八戒无码国产午夜福利| 口爆综合网| 青青草中出视频 | 色诱avtt| 亚洲一区在线观看欧洲| 亚洲欧洲小说图片视频 | 十八禁视频一区二区| 久久精品中文字幕无码l| 亚洲五月婷| 91撸色网 玖玖网 欧美| 亚洲综合校园春色| 久久久蜜桃臀无码视频| 久久国产乱子伦精品免费女人| 黄色AAAAA欧美| 五月天色综合| 和协影院中文字幕三区| 日韩精品人妻中文字幕久久久| 在线日韩日本亚洲国产| 在线观看亚洲专区| 国产精选视频| 五月天丁香网| 被男人吃奶很爽的毛片| 啊啊啊啊操死我了| 一区,二区,三区视频| 亚洲精品丝袜-不卡成人免费……| 日逼五月天| 色欲人妻一区二区在线| 精品九九| 免费综合亚洲中文| 国产精品69人妻无码久久久| 骚货操死你| 欧美日韩操逼动图| 亚洲综合嫩| 午夜精品久久久久久久第一页按摩| 999久久久免费精品国产牛牛| 天天天天天干夜夜夜夜夜操| 日本精品免费一区二区三区四区| 久久超碰97| 99色在线| 91色夜| 99热亚洲| 欧美色图亚州激情| 久久久9视频| 日韩啪啪视频| 999亚洲国产视频|