u16 testsram1[32767] __attribute__((at(0X64000000)));
u16 testsram2[32768] __attribute__((at(0X64010000)));
u16 testsram3[32768] __attribute__((at(0X64020000)));
u16 testsram4[32768] __attribute__((at(0X64030000)));
u16 testsram5[32768] __attribute__((at(0X64040000)));
u16 testsram6[32768] __attribute__((at(0X64050000)));
u16 testsram7[32768] __attribute__((at(0X64060000)));
u16 testsram8[32768] __attribute__((at(0X64070000)));
u16 testsram9[32768] __attribute__((at(0X64080000)));
u16 testsram10[32768] __attribute__((at(0X64090000)));
u16 testsram11[32768] __attribute__((at(0X640a0000)));
u16 testsram12[32768] __attribute__((at(0X640b0000)));
u16 testsram13[32768] __attribute__((at(0X640c0000)));
u16 testsram14[32768] __attribute__((at(0X640d0000)));
u16 testsram15[32768] __attribute__((at(0X640e0000)));
u16 testsram16[32768] __attribute__((at(0X640f0000)));
u16 testsram17[32768] __attribute__((at(0X64100000)));
u16 testsram18[32768] __attribute__((at(0X64110000)));
u16 testsram19[32768] __attribute__((at(0X64120000)));
u16 testsram20[32768] __attribute__((at(0X64130000)));
u16 testsram21[32768] __attribute__((at(0X64140000)));
u16 testsram22[32768] __attribute__((at(0X64150000)));
u16 testsram23[32768] __attribute__((at(0X64160000)));
u16 testsram24[32768] __attribute__((at(0X64170000)));
u16 testsram25[32768] __attribute__((at(0X64180000)));
u16 testsram26[32768] __attribute__((at(0X64190000)));
u16 testsram27[32768] __attribute__((at(0X641a0000)));
u16 testsram28[32768] __attribute__((at(0X641b0000)));
u16 testsram29[32768] __attribute__((at(0X641c0000)));
u16 testsram30[32768] __attribute__((at(0X641d0000)));
#define Write_Read_Addr_offset 0x10000
u8 i;
u8 k=0;
u16 dat[32];
if(Write_Sram_Flag==1)
{
Write_Sram_Flag=0;
for(i=0;i<30;i++)
{
for(k=0;k<32;k++)
{
dat[k]=i+1;
}
SRAM_WriteBuffer(&dat[0], i*Write_Read_Addr_offset+(zzz-1)*64, 32);
}
zzz++;
if(zzz>=1000)
zzz=1000;
}
具体现象是testsram26、testsram27、testsram28、testsram29、testsram30的数据和中间一些是对的;有部分数据都被覆盖了,比如testsram8和testsram16的数据都是16,请大神指点下,谢谢 |