在前一篇關於NXP i.MX93開板流程的文章中,我們已經詳細說明了目標板(Target Board)在打件完成後需要注意的事項。接下來的步驟是進行DRAM的時序校正及壓力測試。
在i.MX8及之前的系列中, DDR壓力測試是使用DDR Stress Test Tool,並透過一個名為RPA(Register Programming Aid)的Excel檔案生成DDR腳本,來進行DRAM時序的校正。
然而,從i.MX9系列開始,這兩個檔案已經合併到一個名為Config Tool的工具中。這個工具還整合了IOMUX的功能。其他的i.MX系列也可以使用Config Tool來測試DDR,因為Config Tool增加了更多的DDR測試項目,並且更方便調整DDR的ODT(On-Die Termination)和驅動強度(Driving Strength)。
Config Tool下載位址如下:
可選擇Windows / Linux / Mac版本下載
硬體接法
以公板來舉例,需要接USB電源, USB port 及 USB Debug port
並要在Boot Mode設定在Serial Downloader
Boot Mode (SW1301) 指撥開關設定為Serial Downloader 模式
i.MX93 DDR 參數配置
打開Config Tool,選擇第二項,創造一個新的配置文件
可以選擇開發板名稱或是處理器名稱,我們先選擇處理器Processor
再選擇i.MX93適合的Part Number
將DDR Enable
然後按Fihish,會出現以下介面,確保Tools的選擇是DDR
如果沒有出現DDR配置選項,分別點擊DDR View及Validation
配置級別可以選擇Basic及Advanced
Basic參數配置
Basic參數配置展開後
Advanced參數配置,紅色的部分是比Basic參數配置更多可以設定的餐數
Advanced參數配置展開後
DDRC 預設選擇LPDDR4或是LPDDR4X
Device Informatin裏面的Board DDR data rate可設3733Mbps / 3200Mbps / 1866Mbps
DRAM information裏的DRAM Cconfiguration可選擇容量大小:1Gb、2Gb、4Gb、8Gb、16Gb
Board config中UART Port需要設定UART1,一般建議客戶的設計與i.MX開發板Debug UART使用相同的Port,如果不是則需要修改
一般建議i.MX與PMIC之間的I2C連接與開發板保持一致,如果不一樣則需要修改I2C配置
i.MX93 DDR 測試選項
切換到DDR測試選單,並選擇正確的COM Port。需要依照實際電腦配置的COM Port進行連線。
如果測試失敗,先檢查一下Boot Mode指撥開關的設定及UART / USB接線是否正確
現在的Config Tool工具,則需要開查看日誌(Log)看實際問題出在哪裡
若是Boot Mode或是USB問題,Log裡可能會出現下列資訊
若是UART問題,Log裡可能會出現下列資訊
在之前的DDR Stress Test 工具裏,只有提供DDR Calibration和 Stress test 兩種功能。在Config Tool裏提供了更多的測試項目
- Functional : 基本配置測試
- Optimization: 優化測試 (ODT)
- vTSA: DDR虛擬眼圖測試
- Stressing : 壓力測試
Functional Test (功能測試)
測試DDR初始化腳本,進行基本讀寫操作
Optimization Test (優化測試)
細部ODT調整、驅動強度測試,掃描所有的DQ IO配置選項,在每一個配置下面測試是Pass(綠色表示)還是Failed(橘色表示),最後輸出測試結果
客戶可以此結果的對應圖,選擇最佳的ODT及Driver Strength設定
VTSA : Virtual Timing Signal Analysis虛擬眼圖測試,透過運行一系列讀寫程序來生成寫入和讀取的數據眼圖。這個工具和實際眼圖結果是有差異的,僅供參考使用
選擇圖表的分頁,可顯示DQ信號的讀寫測試虛擬眼圖
CA控制信號的虛擬眼圖:
DDR Stress Test壓力測試,可以選擇長時間測試等選項
生成程式碼
在右邊的視窗,有程式碼產生的視窗。如果沒有出現,則點擊Views - Rigisters。ddr_rimg.c就是用於u-Boot的程式碼。
結語
建議所有的目標板(target board)在完成打件後,進行DRAM校正及長時間的壓力測試,以確保記憶體存取的品質。經過壓力測試後,建議客戶在u-Boot中使用mtest,並在Kernel中使用memtest進行系統層級的DRAM壓力測試,以確保目標板(Target Board)的穩定品質。
評論