am335x wince 有时启动不了 执行OEMCacheRangeFlush 地址是0xc8000000越界启动不了
sing vi:
回复 Jian Zhou:
你好没有做过内存测试,他和这个初始化在哪里的代码,可以告诉我吗
Jian Zhou:
回复 sing vi:
在Wince的boot中的DDR初始化代码之后,从0x80000000地址开始加入读写测试代码就可以了。
另外有时启动不了的现象,你用的是DDR3么?有没有做SW leveling?
sing vi:
回复 Jian Zhou:
你好 我用的是ddr2,没有做SW leveling
Jian Zhou:
回复 sing vi:
DDR2不需要SW leveling。
那就试试在boot下把做下DDR的读写测试,如果有问题要检查DDR的寄存器配置。
sing vi:
回复 Jian Zhou:
好的,非常感谢
sing vi:
回复 Jian Zhou:
for( i=0x80000000;i<0x88000000;) { OUTREG32(OALPAtoUA(i), 0x1f2f3f4f); p=OALVAtoPA((UCHAR*)i); OALLog(L"\r\+++++++++++++OALVAtoPA0x%x 0x%x\r\n",i,INREG32(OALPAtoUA(i))); i+=0x1000; }
你好我简单测试了下,打印的是对的我的是128m内存,+++++++++++++OALVAtoPA0x87fff000 0x1f2f3f4f
Jian Zhou:
回复 sing vi:
读写测试做了几个循环?有错误出现么?
sing vi:
回复 Jian Zhou:
你好 做了10次测试,我在eboot里面打印DDR_PHY_BASE_ADDR的很多寄存器的值都是0,写了没有用Cmd_Macro_Config函数的寄存器写了都打印为0
Jian Zhou:
回复 sing vi:
EMIF模块的很多PHY控制寄存器都是只能写不能读的,主要是测试DDR地址空间读入读取是不是一致,并不是测试EMIF模块的寄存器读写。
TI中文支持网