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:无法通过16位缓冲 EMIF 访问 HDK 板载 SDRAM

Guru**** 2609555 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/756750/tms570ls3137-unable-to-access-hdk-on-board-sdram-through-16-bit-buffered-emif

器件型号:TMS570LS3137
主题中讨论的其他器件:HALCOGEN

将 TMS570LS3137ZWT HDK 与板载 SDRAM 配合使用。

我已经使用 halcogen+CCS 生成一个尝试通过地址0x8000000访问 EMIF SDRAM 的项目。 我已经尝试连接和断开跳线电缆(原理图显示了跳线为 SDRAM 供电)。

EMIF 驱动程序在"Driver Enable"选项卡下启用。

EMIF 在 PINMUX 选项卡下被启用。

我在 EMIF General 选项卡下启用了 EMIF SDRAM。

EMIF SDRAM 选项卡我保留为默认值(可能是问题的一部分?)。

我一直在尝试写入和读取地址0x80000000+。 在 EMIF 引脚上使用逻辑分析仪时、它们输出信号、因此我知道它正在尝试。

请提供任何帮助。

谢谢、

David Cothran

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

    尊敬的 David:

    在 引脚复用选项卡的特殊多路复用选项下启用 EMIF_CLK 输出。

    填写 EMIF SDRAM 参数:

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

    您好 QJ、

    由于响应的原因、似乎在 LC43示例中可以访问存储器、尽管它似乎向 SDRAM 的整个段写入相同的值。 当它尝试写入单个字时、它似乎写入整个内存段。

    添加以下行

    uint32_t * SDRAM =(uint32_t*) 0x8000000;
    uint32_t 读取;
    *(SDRAM)=(uint32_t) 0xABCDABCD;
    读取=*(SDRAM); 

    我从0x80000000到0x87FFFFFC 得到以下值

    是否有任何关于导致这种情况的想法?

    谢谢、

    David Cothran

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

    是否在 pinmux 选项卡下选择了所有 EMIF 引脚? 请将 EMIF 时钟降低至50MHz。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 QJ、

    感谢您的跟进。 我尝试将 EMIF 时钟(VCLK3)降至60MHz 和45MHz (180MHz/3和180MHz/4)、但结果没有变化。 我已验证 EMIF 引脚是否正确复用。

    我还删除了闪烁部分/代码、但仍然存在相同的问题。

    如果您碰巧回到这个问题并尝试更多、请告诉我。 同时、我将使用分析仪检查引脚输出、看看我是否能看到任何需要注意的问题。

    谢谢、

    David Cothran

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

    QJ、

    老实说、我不确定到底是什么导致这种情况开始工作、这可能是您降低时钟速度和 删除链接器命令文件中的闪烁部分的组合、但现在一切都按预期工作。

    感谢您的所有帮助、我会将其标记为"已解决"。 下面是任何人遇到类似问题时、我的工作区图片。 (请忽略我的定义的拼写、因为它只是调试代码。)

    编辑供参考:在测试期间,跳线似乎断开了... 当我重新连接跳线时、RAM 将变得不可用、但断开连接会使其可用。 有什么想法?

    此致、

    David Cothran