I have a problem of EMIFA, I write 90 data into EMIFA_CE5 area and capture the address using Chipscope. The assress shown in Chipscope is different from I set.
I set the address and write the data as following:
#define EMIFA_CE5_BASE_ADDR (0xd0000060u)
volatile long long *pSyncData = (volatile long long *)EMIFA_CE5_BASE_ADDR;
EMIFA_CONFIGREG_STAT &= ~(0x80000000); //config emifa work in little endian mode
EMIFA_CONFIGREG_CE4CFG = 0x8000030b; //emifa works in sysnc mode; read letance =2; 64bits wide;
EMIFA_CONFIGREG_CE5CFG = 0x80000107; //emifa works in sysnc mode; read letance =2; 64bits wide
I write 90 data to EMIFA area as the following:
for (index = 0; index < 90; index++)
{
SyncData[index] = 0x1234567812345678;
}
The address should begin from 0xd0000060u, but the address in Chipscope is as following:
Here is my question, the address is so different from my settings, why?