分不多,大家海涵。
现在碰到一个问题,我用的是STM32F429ZIT6,自己画板的,但是原理图照着原子的来,用的SDRAM是三星的K4S281632F。采用了原子的驱动程序,自己写了个简单的测试程序,但是发现只有前面4M空间是能正常读写的,到了后面的,就会出现出现直接覆盖这块的值的现象。
测试代码:
{ int ts = 0; int res = 0;
vu32* ptr = (vu32*)Bank5_SDRAM_ADDR;
for (ts = 0; ts < 1024 * 1024 * 3; ts++)
{
ptr[ts] = ts;
}
for (ts = 0; ts < 1024 * 1024 * 1;ts++)
{
res = ptr[ts];
if (res != ts)
{ printf("SDRAM閿欒?锛?d[%o]",ts, res);
}
}
}
一开始怀疑是不是A12的信号脚有问题, 但是连上示波器,能看到该管脚有波形出来, 说明是没有初始化错的,加上只是测试程序,并没有初始化别的乱七八糟的东西。
出错部分是从 1 * 1024 * 1024这里开始的,都被覆盖到新的值上去了。而且值是从1 *1024 * 1024开始累加的,说明是在4M的地址这块寻址出错了。但是具体是信号出错就很难判断了, 希望大家支个招。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>