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.

[参考译文] TMDSDSK6713:DSK6713上的 SDRAM 配置错误

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/763631/tmdsdsk6713-sdram-configuration-error-on-dsk6713

器件型号:TMDSDSK6713

你(们)好 我是 Ammar,在 DSP 套件 DSK6713上从事实时音频处理项目。 我的代码需要更多内存并尝试使用 SDRAM,但它给出了错误,因为 当我调用 malloc 时,为什么它返回0x000000?  

GEL 文件已附加。 如果我需要在 GEL 文件中进行更改、请提供帮助。 请告诉您是否需要任何更改或配置。

此致

e2e.ti.com/.../8156.dsk6713.gel

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

    连接到目标时,GEL 文件中的 OnTargetConnect()函数会自动调用。
    在此 GEL 中,OnTargetConnect 唯一做的是 init_emif();。 我认为它还应该运行 init_pll()和 setup_memory_map()。

    连接后、是否可以使用 GEL 下拉菜单按以下顺序手动执行这些附加步骤?
    内存映射--> SetMemoryMap()
    DSK6713函数-> init_pll ()
    DSK6713函数--> InitCpld()
    DSK6713函数--> init_emif ();
    检查 DSK --> QuickTest()(并向我们报告打印的内容)

    然后、您应该能够打开地址0x8000000处的存储器窗口。 您应该能够写入任意的十六进制值并从您写入的相同地址读回这些值。 如果您遇到错误或读回一些坏数据、如全0或全 F、请告诉我们。

    get_Board_Rev 定义似乎为8MB SDRAM (4M x 32 MT48LC4M32B2TG)而不是4MB SDRAM (2M x 32 MT48LC2M32B2TG)配置 SDRAM。

    您能在电路板上确认吗...
    *电路板修订版
    * SDRAM (U13)上的标记为2M32B2或4M32B2
    * JP500和 JP501跳线设置
    -对于2M32、两者都应短接至位置 A 至 B (1至2)
    -对于4M32、两者都应短接至位置 B 至 C (2至3)

    EMIF 时钟来自 PLL 设置、并且应该在软件中配置为90MHz。 该数字基于450MHz 的内部 PLL 时钟、该时钟用于在除数为2的情况下实现225MHz 的工作频率、在除数为5的情况下实现90MHz 的 EMIF 时钟。 -请参阅目标文档中的6713_dsk_techref.pdf
    c6000.spectrumdigital.com/.../上的链接

    另请参阅6713_dsk_quickstartguide.pdf、该文档提供了如下所示的建议(尽管它有点过时)...
    确保所有配置开关(SW3)都设置在关闭位置。 这会将 DSK 配置为从板载闪存引导的小端处理器模式的出厂默认设置。

    最后、您需要将包括 SDRAM 在内的所有初始化移动到程序中。 我将查找包含此初始化步骤的程序。 在某些地方可能还有更好的 GEL 文件。

    让我们知道情况如何。

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

    感谢您的回复 Mark。 我已配置 SDRAM。 但现在我的程序运行速度要慢得多。 花费30ms 的函数现在花费的时间高达280ms。

    我应该怎么做? 您能不能建议我使用具有高达1MB 内部存储器的浮点 DSP 套件或评估模块?  我只因为内存和速度而滞留在项目中。

    我目前正在 DSK6713上处理实时音频处理项目、我需要速度和内存。 如果使用 SDRAM、速度会大幅降低。 我需要任何套件而不是处理器、因为没有时间进行 PCB 设计。

    请帮帮我

    此致

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

    那么、您现在可以从 SDRAM 进行写操作和读取数据了吗?

    您能澄清一下吗?
    当您将代码映射到 SDRAM 时、执行速度是否比将代码映射到内部存储器时慢?
    或者、在使用 GEL 文件配置 PLL 后、执行速度是否较慢(无论代码从何处执行)?

    =-=-
    如果从 SDRAM 执行代码的速度较慢、您是否确定已经完全利用了内部存储器? 您是否启用了任何缓存? 请参阅图2。 数据表中缓存与 SRAM 选项的 L2存储器配置。 您可以在未启用高速缓存的情况下使用高达256K 的 SRAM。 能否附加.cmd 文件和.map 文件以查看代码链接到的位置? 如果您需要帮助、请告诉我。
    您正在进行哪种类型的处理、这会耗尽内存? 存储多个音频样本或其他内容?

    =-=-
    如果在从 GEL 运行 PLL 初始化之后执行速度较慢、则...
    如果您可以使用示波器、则可以探测几个 CLKOUT 引脚以证明它们以最快的速率运行。

    J1接头上的 CLKOUT2 (SYSCLK2)和 ECLKOUT (EMIF 输出时钟)。 SYSCLK2速率必须恰好是 SYSCLK1 (器件速度(DSP 内核))的一半。 ECLKIN = CLKIN = 50MHz

    DSK6713具有 C6713处理器的 GDP 版本、工作频率可高达300MHz。 GEL PLL 初始化似乎是将设置为225MHz。 您可以重新计算乘法器和分频器、以使系统时钟达到其最大300MHz、同时满足其他外设的最大频率。

    另请参阅此主题-内部存储器的执行速度始终快于 SDRAM。
    CCS/TMDSDSK6713:当我在 DSK6713 @100Mhz 中从 SDRAM 运行时、为什么代码运行速度变慢?
    e2e.ti.com/.../656341

    C6713非常适合实时音频处理。 通常、这些应用程序的代码大小能够存储在内部存储器中。 有时、必须从片外存储器中提取大型编解码器算法、然后从内部存储器中运行(例如、如果您想要从 MP3进行编码/解码、而不是从 AAC 等)。

    当然、有更快的处理器、具有更大的可用内部存储器。
    C6747和 C6748值得注意... 每个都有开发套件...
    www.ti.com/.../tmdsoskl137
    processors.wiki.ti.com/.../TMS320C6713_to_TMS320C6747_Migration_Guide

    www.ti.com/.../tmdslcdk6748
    processors.wiki.ti.com/.../TMS320C6713_to_TMS320C6748_Migration_Guide

    此致、
    标记
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Mark。 我正在进行实时音频处理、具有编码、调制等大量处理功能 因此、我需要至少1MB 的存储器、我还需要更高的速度。 您提到的两个套件的速度仅低于500MHz、例如300或400。
    我使用的是 DSK6713。 当我将代码的.text 部分映射到 SDRAM 时、我的执行速度会比将代码映射到内部存储器时慢

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SDRAM 的工作速度非常慢、我正在转向高速和大型内存套件 DSK6455