本帖最后由 天道酬勤8988 于 2017-6-21 18:11 编辑
求助原子老师,IS42S32800G-6BLI读取数据错误, 底层的驱动移植的网络上的,工程使用的阿波罗SDAM实验
#define BUFFER_SIZE 1024*1024*20u32 testsram[BUFFER_SIZE] __attribute__((at(0XC0000000)));//测试用数组
当: for(ts=0;ts<20;ts++) {
testsram[ts]=1;//预存测试数据
}
for (ts = 0; ts < 20; ts+=1)
{
printf("testsram[%d]:%X
",ts,testsram[ts]);
}
串口输出的是:testsram[0]:C0014
testsram[1]:C0014
testsram[2]:C0014
testsram[3]:C0014
testsram[4]:C0014
testsram[5]:C0014
testsram[6]:C0014
testsram[7]:C0014
testsram[8]:C0014
testsram[9]:C0014
testsram[10]:C0014
testsram[11]:C0014
testsram[12]:C0014
testsram[13]:C0014
testsram[14]:C0014
testsram[15]:C0014
testsram[16]:C0014
testsram[17]:C0014
testsram[18]:C0014
testsram[19]:C0014
当: testsram[ts]=0x1;//预存测试数据
串口输出:
testsram[0]:1
testsram[1]:C0001
testsram[2]:C0001
testsram[3]:C0001
testsram[4]:C0001
testsram[5]:C0001
当: testsram[ts]=0x2;//预存测试数据
串口输出:
testsram[0]:2
testsram[1]:C0002
testsram[2]:C0002
testsram[3]:C0002
testsram[4]:C0002
testsram[5]:C0002
testsram[6]:C0002
testsram[7]:C0002
testsram[8]:C0002
testsram[9]:C0002
testsram[10]:C0002
testsram[11]:C0002
testsram[12]:C0002
testsram[13]:C0002
testsram[14]:C0002
testsram[15]:C0002
testsram[16]:C0002
testsram[17]:C0002
testsram[18]:C0002
testsram[19]:C0002
当 : testsram[ts]=0xffffff;//预存测试数据
这样输出的数据是正确的,
testsram[ts]=0xfffeee;//预存测试数据。 ts=0;
testsram[ts]=ts;
printf("testsram[%d]:%X
",ts,testsram[ts]);
ts=1;
testsram[ts]=ts;
printf("testsram[%d]:%X
",ts,testsram[ts]);
ts=2;
testsram[ts]=ts;
printf("testsram[%d]:%X
",ts,testsram[ts]);
ts=5*1024*1024;
testsram[ts]=ts;
printf("testsram[%d]:%d
",ts,testsram[ts]);
串口输出:
SDRAM初始化成功
testsram[0]:0
testsram[1]:1
testsram[2]:2
testsram[5242880]:5242880
单个赋值读出没问题
这样数据也是正确的?请问原子老是和论坛的大神知道问题吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>