STM32F429 的SDRAM读写

2019-07-20 11:05发布

分不多,大家海涵。
现在碰到一个问题,我用的是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的地址这块寻址出错了。但是具体是信号出错就很难判断了, 希望大家支个招。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。