基于 NXP i.MX8QXP 平台 DDR 更换调试

一. 环境介绍

客户 i.MX8DXP 开发板 USB 连接电脑后可以识别到 USB 设备 ,在烧录程序到 eMMC 过程中失败 ,提示 “ HID(R):LIBUSB_ERROR_NO_DEVIC”,

烧录的程序在 i.MX8QXP EVM 板上能正常启动 ,烧录过程中串口无打印信息


                                                  图1 程序烧录失败截图

                                        

二.启动失败问题分析

i.MX8DXP 程序 Flash.bin 烧录会先把程序下载到 DDR 中 ,U-boot 在 DDR 启动之后开始下载 Kernel 和 Rootfs 部分 ,烧录过程中串口无打印信息 ,

初步判断是程序下载到 DDR 失败导致的 ,通过查看电路图发现客户把 DDR 更换为 Nanya NT6AN128T32AV-J2,这颗 DDR 不在 NXP i.MX8 已经

调试的 DDR 列表里面 ,需要重新对这颗 DDR IC 进行配置


三.DDR 参数配置


调试 DDR 需要先下载 DDR 压力测试工具 和 RPA 文件


下载网站 :

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-8-8X-Family-DDR-Tools-Release/ta-p/1121519https://community.nxp.com/docs/DOC-340179

下载下列文件 :

①  
mx8_ddr_stress_test_ER14_installation.zip

② MX8DualX_C0_B0_LPDDR4_RPA_1.2GHz_v15.xlsx


3.2 根据规格书和电路图配置 RPA 表格

客户使用的 MCIMX8DXP 使用 LPDDR4 料号为 : Nanya NT6AN128T32AV-J2 ,由 datasheet 提供的

Part Name Ordering Information 如下 :


                                                        图2 Part Name Ordering Information


看一下这颗LPDDR4 的构成:


                                                                    图3 DDR4L 构成

这颗LPDDR4 内存有 2 个 Die ,双通道的一颗 IC ,通过以上信息可以确定下面的参数 :

Density per channel per chip select (Gb):2
Number of Channels (based on Bus Width)2
Number of Chip Selects used1
Total DRAM density (Gb)4



接下来看一下 “ Density and Addressing ” :


                   图4 Density and Addressing 信息

通过  Density and Addressing 的信息可以确定下面的参数

Number of ROW Addresses14
Number of COLUMN Addresses10
Number of BANK addresses3
Number of BANKS8


这样 RPA 表格里面关于 DDR 寄存器的主要参数就已经确定 :


                              图5 RPA Register Configuration 页面

接下来切换到 DDR Stress Test Script CBT 页面 ,会自动生成 DDR 压力测试工具的配置参数 :


                               图6 RPA DDR Stress Test Script CBT 页面

拷贝以上的内容存成文件 MX8QXP_C0_B0_LPDDR4_RPA_1.2GHz_v16_1200M.ds ,放到  mx8_ddr_stress_test_ER14\script\mx8qx 目录下

接下来对开发板做 DDR 压力测试 ,把开发板切换到下载模式 ,然后选择 Download -> Stress Test


                                                    图7 RPA DDR Stress Test 工具 页面

测试完成后可以看到以下结果 :


                                                     图8 RPA DDR Stress Test 测试结果

可以看到配置的参数通过了 DDR 测试 ,接着把这组参数写到 SCU 里面:

/imx-scfw-porting-kit-1.2/sdk/src/scfw_export_mx8qm_b0/platform/board/mx8qx_val/dcd/imx8qx_dcd_1.2GHz.cfg

编译后重新生成 Flash.bin ,接下来重新烧录程序 ,可以看到程序能够正常烧录 :


                                                     图9 eMMC 升级页面 

查看串口信息 , U-boot 能够正常运行 :


                                                      图10 U-boot 运行页面
                     
“ 大大通博文-基于 NXP i.MX8QXP DDR 芯片更换调试 ​ ”:首先要根据规格书的内容确定 DDR 参数 ,然后填写 RPA 的表格 ,

RPA 的表格填好后生成参数配置 MX8QXP_C0_B0_LPDDR4_RPA_1.2GHz_v16_1200M.ds ,在压力测试通过后 ,把参数写入到

SCU 里面的  sdk/src/scfw_export_mx8qm_b0/platform/board/mx8qx_val/dcd/imx8qx_dcd_1.2GHz.cfg 里面 ,然后编译后

重新烧录后 U-boot 能正常运行 ,参数配置完成


四.参考文档

【1】 MX8 DDR Tester User’s Guide,  Rev. V1.0.3,  NXP Semiconductor,  Document Number: IMX

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论