各位大神:
我的6657双核加载起来了 但没使用DDR TABLE
想咨询一下6657的DDR TABLE如何添加?
我看6657的文档 没有提到任何有关ddr configuration table的资料
难道6657不需要ddr configuration table 6678需要ddr configuration table???
文档没有有关说明:
/*******************************************************************************
* Emif4 (DDR3) configuration table
*******************************************************************************/
typedef struct bootEmif4Tbl_s {
UINT32 configSelect_msw; /* Bit map defining which registers to set */
UINT32 configSelect_slsw; /* Bit map defining which registers to set */
UINT32 configSelect_lsw; /* Bit map defining which registers to set */
UINT32 pllPrediv; /* Values of all 0s will disable the pll */
UINT32 pllMult;
UINT32 pllPostDiv;
UINT32 sdRamConfig; /* Controlled by bit 1 of configSelect_msw */
UINT32 sdRamConfig2; /* Bit 2 */
UINT32 sdRamRefreshCtl; /* Bit 3 */
UINT32 sdRamTiming1; /* Bit 4 */
UINT32 sdRamTiming2; /* Bit 5 */
UINT32 sdRamTiming3; /* Bit 6 */
UINT32 lpDdrNvmTiming; /* Bit 7 */
UINT32 powerManageCtl; /* Bit 8 */
UINT32 iODFTTestLogic; /* Bit 9 */
UINT32 performCountCfg; /* Bit 10 */
UINT32 performCountMstRegSel; /* Bit 11 */
UINT32 readIdleCtl; /* Bit 12 */
UINT32 sysVbusmIntEnSet; /* Bit 13 */
UINT32 sdRamOutImpdedCalCfg; /* Bit 14 */
UINT32 tempAlterCfg; /* Bit 15 */
UINT32 ddrPhyCtl1; /* Bit 16 */
UINT32 ddrPhyCtl2; /* Bit 17 */
UINT32 priClassSvceMap; /* Bit 18 */
UINT32 mstId2ClsSvce1Map; /* Bit 19 */
UINT32 mstId2ClsSvce2Map; /* Bit 20 */
UINT32 eccCtl; /* Bit 21 */
UINT32 eccRange1; /* Bit 22 */
UINT32 eccRange2; /* Bit 23 */
UINT32 rdWrtExcThresh; /* Bit 24 */
UINT32 chipConfig[64];
} BOOT_EMIF4_TBL_T;
skysteed:
不弄沉 顶起来
Allen35065:
回复 skysteed:
这个意思是说,你需要做一个section,将DDR3的参数按表中所示填到0x873500这段地址,在SPI的boot时候指定有DDR3 configuration table RBL会使用这段地址里的参数表进行初始化。
Allen35065:
回复 Allen35065:
6657和6678使用的预留空间是相同的,不同的是6678 L2是512K,6657是1M,所以应该是0x008F3500
skysteed:
回复 Allen35065:
谢谢Allen
6657的这个地址 及每一位的详细说明 有没有具体的资料介绍?
6657的datesheet版本都已经是C了 还没有介绍!!!
Allen35065:
回复 skysteed:
暂时没有找到相关的信息,因为DDR3控制器有一个leveling的过程,所以不是很推荐用configuration table的方式;
使用2次boot的方式稍微麻烦,但对以后的维护更加方便一些。
user_haike:
回复 Allen35065:
地址应该是0x008FFD20,长度为0x00000178,
skysteed:
回复 user_haike:
哦 谢谢了!
你的用DDR TABLE成功没有?
问一下 不用DDR TABLE 我的双核也加载成功了 这有什么区别?必须用DDR TABLE吗???
user_haike:
回复 skysteed:
DDR table是在BOOT时初始化DDR用的,跟双核加载没有关系。大多时候我们的代码段或者数据段都会放在DDR上,这就要求DDR必须先于主程序初始化,否则就不能使用DDR
countryhotel:
回复 Allen35065:
@ Allen Yin
2次boot来配置DDR,避免使用configuration table。由例程可以参考吗?
我们用C6678,通过SPI的nor flash启动