TI中文支持网
TI专业的中文技术问题搜集分享网站

C6657 DDR初始化

在C6657自制板上跑DDR的初始化,上电第一次加载DDR初始化正常通过,不掉电再次debug的话DDR初始化就会报错,STATUS=0x64,提示leveling time out。

现在发现在C6657_EVM_DDR_Init(DDR_Clock_MHz, ecc_cfg)函数中子函数KeyStone_DDR_latch_leveling_configuration之后加一段13us延时,即使不掉电DDR初始化也可以通过。

void KeyStone_DDR_latch_leveling_configuration ()
{
/*the PHY_RESET is pulsed (0 -> 1 -> 0) to latch leveling configuration values into the PHY logic.*/
gpDDR_regs->DDR_PHY_CTRL_1 &= ~(0x00008000);
gpDDR_regs->DDR_PHY_CTRL_1 |= (0x00008000);
gpDDR_regs->DDR_PHY_CTRL_1 &= ~(0x00008000);
}

 TSC_delay_us(13);

请教一下这可能是什么原因。

Shine:

在重新debug前,试试在ccs里reset CPU。

user5306918:

回复 Shine:

reset没有作用

Shine:

回复 user5306918:

请看一下下面帖子里的方法。看一下有没有定义 /* This flag implements a workaround to re-initialize PLL and DDR if DDR test after DDR initialization */ #define PLATFORM_PLL_REINIT #define PLL_REINIT_DDR3_TEST_START_ADDR (0x80000000) #define PLL_REINIT_DDR3_TEST_END_ADDR (PLL_REINIT_DDR3_TEST_START_ADDR + (128 * 1024)) / 还有partial automatic leveling registers 寄存器的值。 e2e.ti.com/…/884741

赞(0)
未经允许不得转载:TI中文支持网 » C6657 DDR初始化
分享到: 更多 (0)