大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間。
本篇是 i.MXRT1170 啟動(dòng)時(shí)間評測第五彈,前四篇分別給大家評測了 Raw NAND 啟動(dòng)時(shí)間(基于 MIMXRT1170-EVK_Rev.B)、Serial NOR 啟動(dòng)時(shí)間(基于 MIMXRT1170-EVB_Rev.A2)、1bit SPI NOR 恢復(fù)啟動(dòng)時(shí)間(基于 MIMXRT1170-EVK_Rev.C)、Serial NAND 啟動(dòng)時(shí)間(基于 MIMXRT1170-EVKB_Rev.B)。
關(guān)于 i.MXRT 系列從 SD/eMMC 啟動(dòng)使能方法,痞子衡寫過兩篇文章,分別是 《RT600從eMMC啟動(dòng)》、《RT1050從SD啟動(dòng)》,文章里的方法其實(shí)是通用整個(gè) i.MXRT 系列的(僅一些細(xì)微差異)。最近痞子衡在支持一個(gè) RT1170 客戶,他們使用了 eMMC 啟動(dòng),并且將板子寄給了痞子衡幫助調(diào)試問題,趁此機(jī)會(huì),痞子衡就在客戶板卡上詳細(xì)測試一下 eMMC 啟動(dòng)時(shí)間:
一、準(zhǔn)備工作
1.1 知識儲(chǔ)備
除了依賴的底層數(shù)據(jù)傳輸接口外設(shè)類型不同之外,SD/eMMC 啟動(dòng)流程和 Serial NAND/Raw NAND 啟動(dòng)流程幾乎是一致的,因?yàn)榇鎯?chǔ)介質(zhì)角度而言兩者都是 NAND,這里就不過多展開了,參考痞子衡前面測評文章 1.1 節(jié)。
不過這里需要特別注意的是,前面測評的啟動(dòng)設(shè)備(串并行NOR/NAND)讀寫數(shù)據(jù)率性能接近于接口速率(當(dāng)然 NAND 有額外 ECC 校驗(yàn)時(shí)間),但是 SD/eMMC 因?yàn)樯婕皦膲K管理/磨損平衡處理等,設(shè)備內(nèi)部處理會(huì)產(chǎn)生更多時(shí)間開銷,所以實(shí)際數(shù)據(jù)讀寫率跟數(shù)據(jù)接口速率之間存在一定差異,這個(gè)差異因廠商產(chǎn)品里的處理算法而異,需要翻看設(shè)備芯片數(shù)據(jù)手冊。
本次測試客戶板卡上用了一顆來自江波龍的兼容 eMMC5.1 標(biāo)準(zhǔn)的 8GB 容量芯片 FEMDME008G-A8A39,在其數(shù)據(jù)手冊上接口最高速率是 400MBps(HS400模式),但是實(shí)際數(shù)據(jù)讀寫率分別是 290MBps、115MBps。
eMMC 5.1 specification compatibility - Backward compatible to eMMC 4.41/4.5/5.0 Bus mode - Data bus width: 1 bit (default), 4 bits, 8 bits - Data transfer rate: up to 400 MB/s (HS 400) - MMC I/F Clock frequency: 0~ 200 MHz
1.2 時(shí)間界定
關(guān)于時(shí)間起點(diǎn)和終點(diǎn),參考《FlexSPI NOR啟動(dòng)時(shí)間》 里的1.2節(jié),雖然此次測試用得是客戶板卡,但是時(shí)間起點(diǎn)我們只需要選好 POR_B 測量點(diǎn)即可。
1.3 制作應(yīng)用程序
關(guān)于應(yīng)用程序制作,參考《Serial NAND啟動(dòng)時(shí)間》 里的1.3節(jié)。其實(shí) Non-XIP 程序制作一直有一個(gè)小限制,之前的測評文章里都沒有特別強(qiáng)調(diào),前段時(shí)間痞子衡終于專門寫了篇文章 《Non-XIP App一般鏈接限制》,大家可以了解一下。
1.4 下載應(yīng)用程序
應(yīng)用程序的下載需借助痞子衡開發(fā)的 NXP-MCUBootUtility 工具。由于 8bit eMMC 僅 uSDHC2 支持,客戶一般都將 eMMC 掛在 uSDHC2 引腳上,工具下載配置 eMMC 的時(shí)候,主要保證 instance 正確即可,至于其他速度模式方面的選擇,僅跟程序下載速度有關(guān),并不影響 eMMC 啟動(dòng)時(shí)間。
對 eMMC 啟動(dòng)時(shí)間產(chǎn)生影響得主要是 RT1170 芯片 fuse 里的如下配置,其中紅框選項(xiàng)是根據(jù)硬件情況必設(shè)的,籃圈選項(xiàng)是用戶可按自己要求選擇的(這里也是下一節(jié)測試啟動(dòng)時(shí)間的影響因子)。紫框里決定了 BootROM 運(yùn)行時(shí)的內(nèi)核主頻,CM7 做主核時(shí)默認(rèn)是 400MHz,可高配到 700MHz,這里我們不改 BootROM 默認(rèn)內(nèi)核頻率配置。
一切準(zhǔn)備就緒,可以用示波器抓 eMMC 啟動(dòng)時(shí)間了。這次痞子衡偷了個(gè)懶,就測量兩路信號,一個(gè)通道監(jiān)測主芯片 POR 信號,另一個(gè)通道監(jiān)測 GPIO 信號(App 里會(huì)拉低這個(gè) GPIO)。與以往不同的是,這次 GPIO 選得是復(fù)用 BOOT_CFG 功能的 pin,這個(gè) pin 加了外部強(qiáng)上拉,下一節(jié)測試結(jié)果小節(jié)里會(huì)有額外有趣發(fā)現(xiàn)。
二、開始測試
在公布結(jié)果之前,痞子衡先帶大家分析一下示波器抓取的啟動(dòng)時(shí)間波形,方便大家理解后續(xù)表格里的各項(xiàng)組成。POR 信號電壓上升時(shí)間比較緩慢,其供電來自于 VDD_1V8,我們時(shí)間起點(diǎn)暫取其標(biāo)準(zhǔn)有效值 70% - 1.2V 處。
此外我們可以看到 GPIO 在 POR 拉高之前早就被拉高,說明 GPIO 上電早于 POR,這樣的硬件設(shè)計(jì)是符合 i.MXRT 上電采樣時(shí)序規(guī)范的,痞子衡有一篇文章 《RT離線無法啟動(dòng),請先查看SRC_SBMRx寄存器》 就和這點(diǎn)有關(guān)。
2.1 不同App長度測試
首先做的是不同 App 類型及長度相關(guān)的測試,App 分為鏈接在 ITCM 和 SDRAM 兩種(后者需要使能 BootROM DCD 初始化)。此外由于 SDRAM 空間大,因此測試多種 App 長度。所有的測試均在同一種 Boot Config 配置下,即痞子衡 《NAND型啟動(dòng)設(shè)備時(shí)可用兩級設(shè)計(jì)縮短啟動(dòng)時(shí)間》 一文里的配置,這也是該客戶使用的啟動(dòng)配置。
從測試結(jié)果來看,eMMC 啟動(dòng)時(shí)間在 1MB 以內(nèi) App 情況下相差無幾,跟 App 長度不成明顯正比關(guān)系。即使是 4MB 以內(nèi),也是看不出明顯關(guān)系,但是以 4MB 為單位來看,倒是有一定正比關(guān)系。
2.2 不同速度模式測試
因?yàn)?4MB 在 SDRAM 執(zhí)行 App 有一定代表性,痞子衡就以這個(gè)為基礎(chǔ)測試了不同的 Boot Config 配置組合,在 BOOT_CFG1[0] 為 Fast Boot 情況下普遍無法啟動(dòng)(可能需要更多展開配置)。在 BOOT_CFG1[0] 為 Regular Boot 情況下,High Speed 比 Normal Speed 快近一倍,8-Bit DDR 比 8-Bit SDR 也快近一倍。
至此,恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間痞子衡便介紹完畢了,掌聲在哪里~~~
-
芯片
+關(guān)注
關(guān)注
455文章
50812瀏覽量
423576 -
NAND
+關(guān)注
關(guān)注
16文章
1682瀏覽量
136155 -
恩智浦
+關(guān)注
關(guān)注
14文章
5860瀏覽量
107456 -
emmc
+關(guān)注
關(guān)注
7文章
216瀏覽量
52742
原文標(biāo)題:eMMC啟動(dòng)時(shí)間知多少?(RT1170篇)
文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論