奇怪的是,这个ddr-emif0内存配置寄存器地址,在gel文件里,是连续写3个值,前两个都没错,第三个就写失败了,怎么回事啊?
if(TWO_EMIF){
GEL_TextOut("\tInitializing EMIF1 ..... \n","Output",1,1,1);
/* setup a small refresh period */
WR_MEM_32(EMIF4_1_SDRAM_REF_CTRL, 0x0000613B); /* initially a large refresh period */
WR_MEM_32(EMIF4_1_SDRAM_REF_CTRL, 0x1000613B); /* trigger initialization */
WR_MEM_32(EMIF4_1_SDRAM_REF_CTRL, (0x10000000|SDREF)); /* move to a smaller more correct one */
}
}
CortexA8: Trouble Writing Memory Block at 0x4c000010 on Page 0 of Length 0x4: (Error -2130 @ 0x4C000010) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.872.0)
doall() cannot be evaluated.
target access failed
at *((unsigned int *) (0x4C000000+0x10))=(unsigned int) (0x10000000|SDREF) [DM816x.gel:229]
at EMIF4P_Init(0x0CCCE524, 0x30308023, 0x009F82CF, (0x10000C30&0xfffffff), 0x62A41032, 0x0000030B) [DM816x.gel:1303]
at NetraDDRPLL_400() [DM816x.gel:1004]
at DDR3_400MHZ_doall() [DM816x.gel:1204]
at doall()