我画了个板子,CPU使用GM8126,CPU频率可达533Mhz,内存DDR2使用K4T1G164,频率达800Mhz。
我在调试时,发现板子启动时,运行bootloader时,内存读写有问题。问题是这样的:
(1)当我写内存某地址,*ddrptr=var;
马上读出时,KPintk("0x%x",*ddrptr); (KPintk是bootloader自带的输出函数)。
则可输出正确的数值。
(2)当我连续读内存时,则都不能返回正确的数值。而是想0x003F这样数值(内存上电后,读取未空闲地址,都返回这样的数值)。
这种情况,是我的板子有问题吗?我怀疑会不会是内存的供电不足的原因,使连续读内存时,突然需要地电流大,但供应的电流有限,导致内存处于不稳定的状态,最后导致内存出现失电一样的现象,使内存的内容消失。
我的判断有错嘛?
请大家指教 |