This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
在自制电路板上进行开发时,我们建议遵循处理器软件开发套件 (PSDK) 中的自制电路板移植指南(见下方链接),该指南重点介绍了创建自制电路板库的主要注意事项。
PSDK 包含 TI 评估平台上 DDR 存储器的模块初始化和寄存器配置。如果在具有不同外部存储器的自定义电路板上进行开发,请参阅 PSDK 文档中的“有用的 DDR 配置资源”部分(见下方链接),该部分链接到了不同处理器上 DDR 配置的各种有用的应用手册和工具。
对于 Keystone-II 系列器件,我们建议参考 KeyStone II DDR3 初始化应用手册。此应用手册提供了分步初始化指南、一个有助于计算片上 DDR3 控制器值的电子表格工具以及指向其他相关 DDR3 配套资料的链接。
对于 Linux 用户,Processor SDK U-Boot 代码通过调用 ddr3_init_ddrphy() 和 ddr3_init_ddremif() 读取 DDR3 SPD 信息来初始化 DDR3。根据 SPD 信息,init_ddr3param() 相应地设置 PHY 和 EMIF 寄存器值,并将它们传递到 ddr3_init_ddrphy() 和 ddr3_init_ddremif()。如果 SPD 信息不可用,DDR3 供应商应该有 PHY 和 EMIF 配置信息,可以从 KeyStone II DDR3 初始化应用手册中提到的电子表格计算这些值。PHY 和 EMIF 配置参数应替换 init_ddr3param() 中设置的参数。
对于 KeyStone-II 器件,可通过定义 boot/board/ti/ks2_evm/ddr3_cfg.c 中的 PHY 和 EMIF 寄存器的结构来完成此操作。PHY 和 EMIF 配置结构用于配置 DDR3,如以下示例代码所示:
ddr3_init_ddrphy(KS2_DDR3A_DDRPHYC, &ddr3phy_1600_2g);
ddr3_init_ddremif(KS2_DDR3A_EMIF_CTRL_BASE, &ddr3_1600_2g);