最近在搞omap-l138 DDR2驱动,DDR芯片是:FMD4A16LCx–30A,遇到问题卡住了。问题是这样的: 发现DDR在操作时,会刷新数据也会变。 测试伪代码: for(i = 0; i <length;i++) { p = ddr_addrbase + i; *p = i; asm(" NOP"); ...} 这现象很奇怪呀,执行FOR是,DDR里面的数据会变,并且周期性的重复,DDR上的数据: 正确-->xx-->xx-->xx-->..正确。 1.公司有9块板子,目前只有一块DDR是正常的。2.同样的gel,同样的配置,有一块是正常,其他都不正常。 menuitem "Frequency Settings"
hotmenu Core_300MHz_mDDR_132MHz() {
Set_Core_300MHz();
Set_mDDR_132MHz();
GEL_TextOut(" ---------------------------------------------
","Output",1,1,1);
} Set_mDDR_132MHz() {
GEL_TextOut(" mDDR initialization is in progress....
","Output",1,1,1);
Set_DDRPLL_132MHz();
DEVICE_mDDRConfig(132);
GEL_TextOut(" mDDR init for 132 MHz is done
","Output",1,1,1);
}//24 * (21+1) /(1+1) = 264 pll1_sysclk1
Set_DDRPLL_132MHz() {
device_PLL1(21,1,0,1,2);
GEL_TextOut(" PLL1 init done for DDR:132MHz
","Output",1,1,1);
} 现在找不到问题出现的关键点,DDR操作不正常,硬件部的解释是软件没配好,有一块所谓是好的,其实就是坏的。DEVICE_mDDRConfig(132);//这个函数家里的电脑没有,就是拿合众达以及TI的开发板上的改的,就改了容量,bank等,几个关键点。 请问有哪位遇到相类似的问题呢?
zhihua_xie@hotmail.com
此帖出自
小平头技术问答
是DDR时钟线上的电阻偏小,阻搞问题。。
一周热门 更多>