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