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.

TMS570LS3137: Problem of accessing external SRAM by EMIF

Part Number: TMS570LS3137

Hi all,

Currently my customers are testing Write/Read access of external SRAM. So there were the following problems.

There is no problem when testing with the following code.(The read data matches the written data)

for ( i = sram_start; i < sram_end; i++ )
{
    char *addr = ( char * )i;

    *addr  = w_data;      /* 1byte write */
    r_data = *addr;       /* 1byte read */

However, when I execute the test after initializing the memory to 0 with the following code, sometimes I can not write normally.

memset( addr, 0x00, sram_end - (unsigned long)addr + 1 ); 

The test writes 0x5A in the entire area of the SRAM.

This is the waveform when writing was successfully performed.

This is the waveform when writing can not be performed correctly.

When failing, the data at write becomes 0.

Let me know why this will happen?

Additional Information:

  • There is no regularity in the address where problem occurs.
  • Even if the EMIF clock is slowed down(90MHz --> 60MHz), the problem is reproduced.
  • This problem occurs randomly. Sometimes it happens soon, but sometimes it does not happen for a while.

Best regards,

Sasaki