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.
各位大神:
我的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;
这个意思是说,你需要做一个section,将DDR3的参数按表中所示填到0x873500这段地址,在SPI的boot时候指定有DDR3 configuration table RBL会使用这段地址里的参数表进行初始化。
暂时没有找到相关的信息,因为DDR3控制器有一个leveling的过程,所以不是很推荐用configuration table的方式;
使用2次boot的方式稍微麻烦,但对以后的维护更加方便一些。
DDR table是在BOOT时初始化DDR用的,跟双核加载没有关系。大多时候我们的代码段或者数据段都会放在DDR上,这就要求DDR必须先于主程序初始化,否则就不能使用DDR
@ Allen Yin
2次boot来配置DDR,避免使用configuration table。由例程可以参考吗?
我们用C6678,通过SPI的nor flash启动