内部ram的空间感觉不够用,想将程序放在外部ram中运行,在进行外部ram实验时,发现了如下问题。ram是参考ezdsp的接口设计的,
ZONE7B : origin = 0x20FC00, length = 0x004000;是外部ram的数据地址。
#pragma DATA_SECTION(DMABuf2,"ZONE7DATA");
volatile Uint16 DMABuf2[BUF_SIZE];
DMABuf2是一个定义在外部ram以 0x20FC00为初始地址的数组;
for (i=0; i<BUF_SIZE; i++)//BUF_SIZE=1024;
{
DMABuf2[i] = i;
// x=DMABuf2[i] ;
} 该部分主要是实现对外部ram的写操作。
原理上我认为应该是得到DMABuf2[0]=0,DMABuf2[1]=1………类推。
实际过程中DMABuf2[0]的值在不断变化,DMABuf2[1]=0;DMABuf2[2]=1;……….以此类推。
截图如下
请问是硬件还是软件的原因呢?