This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EVM6678 platform lib: DDR not working

Hi,

I'm in trouble with the platform library pdk_C6678_1_0_0_12. I'm using it to initialize the board and DDR but the DDR doesn't work: the "even" 32bits location have a wrong value while the "odd" 32bits locations seems to work. I copyed the initialization form the POST code (mcsdk_2_00_01_12):

void main(void)
{
  platform_init_flags p_flags;
  platform_init_config p_config;
  platform_info p_info;

  memset(&p_flags, 1, sizeof p_flags);    //prepared exactly as in post.c from mcsdk
  memset(&p_config, 0, sizeof p_config);

  p_flags.phy=0;

  platform_init(&p_flags, &p_config);

  {
    unsigned int* p=(unsigned int*)0x80000000;
    int i;
    for(i=0; i<10000; ++i)
      p[i]=i;
  }

  //Here p[0]=4 (err), p[1]=1 (ok)

}

If I set-up the system with teh evm6678.gel initialization file, the DDR works (in this case I have to skit the call to platform_init()).

I suppose this means that the default configuration (all zero) passed to the initialization routine is wrong, but so far I don't know how to prepare the config info and what about the POST source code? that it is supposed to work.

The dip switch of the EVm as set in "no boot/EMIF16" mode.