TI中文支持网
TI专业的中文技术问题咨询交流网站

K1_STK_v1.1中Memory_Test工程中的DDR3寄存器配置问题

 

您好!

在学习K1_STK_v1.1中Memory_Test例程时有2个地方存在疑惑,还望赐教。

1.函数KeyStone_PLL_init对DDR3的PLL进行初始化时,PLL_CTL1中PLLRESET的位置定义与C6678 datasheet(SPRS691E)7.7节定义不符,在Table7-28中,PLLRESET定义在bit13,而程序中使用的是bit14,请问应该以哪个为准?

 

2.函数C6678_EVM_DDR_Init中,PRI_COS_MAP寄存器的配置以及注释与DDR3 Memory Controller(SPRUGV8E)4.24节定义不符,文档中对每个PRI的说明如下:

1= Map to Class-of-service 1

2= Map to Class-of-service 2

0 or 3 will not assign any class of service

 

根据文档,PRI_COS_MAP中每个PRI配置值应该为1或者2,但是程序如下:

 

/*map priority 0,1,2,3 to COS0, map priority 3,5,6,7 to COS1*/

    gpDDR_regs->PRI_COS_MAP =

        ((1)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_COS_MAP_EN_SHIFT)|        

        ((1)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_7_COS_SHIFT)|            

        ((1)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_6_COS_SHIFT)|            

        ((1)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_5_COS_SHIFT)|            

        ((1)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_4_COS_SHIFT)|            

        ((0)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_3_COS_SHIFT)|            

        ((0)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_2_COS_SHIFT)|            

        ((0)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_1_COS_SHIFT)|            

        ((0)<<CSL_EMIF4F_PRI_COS_MAP_REG_PRI_0_COS_SHIFT);            

程序实际配置的是0或者1,请问应该如何理解这个问题?

谢谢!

Nancy Wang:

一般情况下是以手册为准,不过我建议连上板子之后在register窗口对比看一下,比如PLLRESET位是否置1。

Shine:

1. 您看的是DDR3PLLCTL1 寄存器的bit13,程序中使用的bit14是PASSPLLCTL1寄存器。 2. Class-of-service可以配成0或3,默认值是0,只是配成0或3不会分配class of service。

yongchang hou:

回复 Nancy Wang:

谢谢

yongchang hou:

回复 Shine:

1)程序目的是初始化DDR 的PLL 是否应该以DDR3PLLCTRL1 的定义为准?
2)程序中 优先级最高的不分配service 而优先级低的反而分配service 这样操作是否合理?

Shine:

回复 yongchang hou:

DDR3PLLCTRL1也要设置,请参考gel文件。
C:\ti\ccs901\ccs\ccs_base\emulation\boards\evmc6678l\gel

赞(0)
未经允许不得转载:TI中文支持网 » K1_STK_v1.1中Memory_Test工程中的DDR3寄存器配置问题
分享到: 更多 (0)