LS1046a DDrv WRLVL_START 搜索器失败 我正在尝试在新的 SBC LS1046a SoC 定制板上运行 DDRV 测试。 硬件规格:LS1046a w/ DDR4 64 位 + 8-ECC 16GByte 维京 2400 MT/s 16GB MCP 中的 DDR4 配置 18GB 密度(16GB + 2GB ECC) 2Gx72 配置(9 个芯片) 背景:所有 DDRv 测试都在以前的 SBC 版本上通过,4GB DDR4 MCP 的 PCB 布局几乎相同,只有 1 个 DQ 位交换映射不同。 从 RCW 中的 4GB SBC 更新引导加载程序后,ddr_init.c设置我可以在 u-boot 中成功启动。我在 u-启动 中使用 “mtest” 进行了广泛的 DDR 内存测试,持续了 14 小时以上,没有出现任何故障。 当我运行 CW DDRv 测试时,在 "wrlvl_searcher "中以 0/1 失败。见下面的测试结果记录。 出现故障的原因可能是什么? #################### Result for: wrlvl_searcher ###### Run 1 ###################################### 测试结果:[ ============================================================ 已更新:WRLVL_CNTL = 0x8675F602, WRLVL_CNTL_2 = 0x17010001, WRLVL_CNTL_3 = 0x010101, SDRAM_CLK_CNTL = 0x02800000 ============================================================ Updated:WRLVL_CNTL = 0x8675F606, WRLVL_CNTL_2 = 0x1D090509, WRLVL_CNTL_3 = 0x09090909, SDRAM_CLK_CNTL = 0x02800000 写入调平启动值正确,无需进一步修改,但由于其他问题导致测试失败。 最常见的故障原因: - DDR4 DQn_MAP 寄存器中配置的值不正确 - ODT 值不正确 - 选择的驱动器强度不正确 - 为定时配置 0 属性(TIMING_CFG_0 寄存器)选择的定时值不正确 < > {{Write Leveling start values are correct and require no further modification, but the test failed due to other issues.}} 呃......捕获寄存器: 0xE20、0x00000000 0xE24、0x00000000 0xE28、0x00000000 0xE40、0x00000080 0xE44、0x00000000 0xE48、0x00000000 0xE4C、0x00000000 0xE50、0x00000000 0xE54、0x00000000 0xE58、0x0000000 0xE58、0x 00010000 转储: 0xF00, 0x00000000 0xF04, 0x00001002 0xF08, 0x00000011 0xF0C, 0x14000C20 0xF10, 0x00000000 0xF14, 0x00000000 0xF18, 0x00000000 0xF1C, 0x00000000 0xF20、0x00000000 0xF24, 0x1B001B00 0xF28, 0x1A001B00 0xF2C, 0x1E001E00 0xF30, 0x1F001E00 0xF34, 0x1B004000 0xF38, 0x00000000 0xF3C, 0x00000000 0xF40、0x00000000 0xF44, 0x00000000 0xF48, 0x00000001 0xF4C, 0x94000000 0xF50, 0x0C003B00 0xF54, 0x0B000B00 0xF58, 0x0E000F00 0xF5C, 0x0E000E00 0xF60、0x0B000000 0xF64, 0x00009000 0xF68, 0x00000020 0xF6C, 0x00000000 0xF70, 0x0080006A 0xF74, 0x00000000 0xF78, 0x00000000 0xF7C, 0x00000000 0xF80、0x00000000 0xF84, 0x00000000 0xF88, 0x00000000 0xF8C, 0x00000000 0xF90, 0x00000000 0xF94, 0x80000000 0xF98, 0x00000000 0xF9C, 0x39003800 0xFA0、0x37003900 0xFA4, 0x36003600 0xFA8, 0x37003900 0xFAC, 0x36000000 0xFB0, 0x10000003 0xFB4, 0x51515052 0xFB8, 0x51515147 0xFBC, 0x00000000 0xFC0、0x00000000 0xFC4, 0x47475051 0xFC8, 0x47505147 0xFCC, 0x47464751 0xFD0, 0x46505145 0xFD4, 0x51524753 0xFD8, 0x525250 0xFDC, 0x47474646 0xFE0、0x47474744 0xFE4, 0x51504752 0xFE8, 0x51524745 0xFEC, 0x50514751 0xFF0, 0x47505145 0xFF4, 0x52005047 0xFF8, 0x53475251 0xFFC, 0x51000008 数据: 0x00000006 0x00000025 0x00000005 0x00000005 0x00000007 0x00000007 0x00000007 0x00000007 0x00000005 ] Re: LS1046a DDrv WRLVL_START searcher fails RCW DDR 频率是多少?是否已在闪存中设置了 RCW?
2400 MT/s 是什么频率,是 DDR 的最高频率吗?
DDR 是分立式而不是 DIMM 吗?
CodeWarrior IDE 版本和 QCVS DDR 版本是什么?
谢谢! Re: LS1046a DDrv WRLVL_START searcher fails 我的 RCW DDR 速度设置为 1800 是的,带有 bl2 和 fip 的 RCW 都在或非 Flash 中编程。 2400 MT/s 是我的 16GB DDR4 的最高速度等级。 我的 QCVS 版本是 4.22.0001-20200623 Re: LS1046a DDrv WRLVL_START searcher fails 我的 16GB DDR4 是多芯片封装 (MCP) 的分立式封装 Re: LS1046a DDrv WRLVL_START searcher fails 请附上 DDR 部件原理图,谢谢。 Re: LS1046a DDrv WRLVL_START searcher fails 请附上 DDR 部件原理图,谢谢。 Re: LS1046a DDrv WRLVL_START searcher fails 您可以按照以下指南扩展您的评估软件:
如何扩展我的 CodeWarrior 评估软件
https://community.nxp.com/t5/Software-Licensing-Knowledge/How-to-extend-my-CodeWarrior-Evaluation-Software/ta-p/1111980
请将其更新至 CodeWarrior IDE 11.5.12 版本。
My NXP Account->Software->Software Licensing and Support->View accounts->Product List->CodeWarrior for QorIQ LS Series ARMv8 ISA->
请下载更新包
com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip
请打开 C:\Freescale\CW4NET_v2020.06\ cw_armv8\ fsl_eclipse.bat 中的 CodeWarrior,然后安装来自 Help-> 安装新软件-> Add-> 存档中的更新包。
建议创建一个新的 QCVS 项目,如下所示:
-选择 " 自动配置 " 和 " 分立式 动态随机存取存储器(DRAM) "-动态随机存取存储器(DRAM) 额定速度 = 最大速度(例如,最大 2400 MT/s,参见数据表)。
-"输出数据速率" 选择"xxx MT/s" (当前工作速度,例如1800MT/s,此数据速率必须与 RCW 镜像中配置的动态随机存取存储器(DRAM) 速度相匹配)
-" Rank/Chip select " 选择 " x "(单 CS 或双 CS)-" TcL " 选择 " xx "(根据 动态随机存取存储器(DRAM) 数据手册中的速箱表)-" 每台设备的 动态随机存取存储器(DRAM) 配置 " 选择 "xx "(参见 动态随机存取存储器(DRAM) 数据表)
- 填充适当的 CLK 到 QDS 偏移(通过 EDA 工具测量 CLK 和 DQS 信号的长度,CLK 长度 - DQS 长度)
CLK 长度减去 DQS 长度,举例说明:
CLK 至DRAM0 长度 = 100 毫米
CLK 至DRAM1 长度 = 101 毫米
DQS[0] 长度 = 75 毫米
DQS[1] 长度 = 110 毫米
CLK 至 DQS[0] 偏移 = 100 毫米 - 75 毫米 = 25 毫米
CLK 至 DQS[1] 偏移 = 101 毫米 - 110 毫米 = -9 毫米
- CLK 迹线长度必须等于或大于 DQS 迹线长度,长度在 10 英寸以内。
- 如果 MCK 迹线长度短于 DQS 迹线长度,则必须在 2.0 英寸以内。
DQ 映射-控制器引脚:如果在实际电路板上使用 DQ 位交换,则用户必须在 QCVS 中进行配置,以匹配实际的 PCB 布局。
TIMING_CFG_1_and_3:
- tCL/tRCD/rRP/tRAS 此值是指 动态随机存取存储器\(DRAM\) 数据表,以匹配当前的工作速度。
-tWR(写入恢复时间,最后一次预充电的数据最小间隔),此值指的是 动态随机存取存储器(DRAM) 数据表。
-tRD(激活到激活间隔)此值指的是 动态随机存取存储器(DRAM) 数据表。
TIMING_CFG_2:-tFAW(四个激活窗口),此值指的是 动态随机存取存储器(DRAM) 数据表。
用户应确保这些主板和特定于动态随机存取存储器(DRAM)的配置与实际硬件相匹配。对于其他大多数选项,则使用默认的 QCVS 预设值。
谢谢!
View full article