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:EMIF 访问外部 SRAM 时出现问题

Guru**** 2465890 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/664946/tms570ls3137-problem-of-accessing-external-sram-by-emif

器件型号:TMS570LS3137

大家好、

目前、我的客户正在测试外部 SRAM 的写入/读取访问。 因此、存在以下问题。

使用以下代码进行测试时没有问题。(读取的数据与写入的数据匹配)

对于(i = SRAM_START;i < SRAM_END;i++)

  char * addr =( char *) i;

  *addr = w_data;   /* 1字节写入*/
  R_data =*地址;   /*读取1字节*/

}  

但是、当我在使用以下代码将存储器初始化为0后执行测试时、有时我无法正常写入。

memset (addr、0x00、SRAM_END -(unsigned long) addr + 1);  

测试在 SRAM 的整个区域写入0x5A。

这是写入成功执行时的波形。

这是无法正确执行写入操作时的波形。

当发生故障时、写入时的数据变为0。

让我知道为什么会发生这种情况?

其他信息:

  • 出现问题的地址没有规律性。
  • 即使 EMIF 时钟速度变慢(90MHz -> 60MHz)、也会重现问题。
  • 此问题随机发生。 有时它很快发生、但有时它不会发生一段时间。

此致、

Sasaki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sasaki 您好!

    如果使用 revC 或更早版本的器件、memset()可能会导致一些问题、因为 memset()使用 STMxx 9store-multiple 指令。 请检查电路板上器件的版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wang-San、

    感谢您的支持。
    我将与我的客户核实。

    此致、
    Sasaki