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.

[参考译文] TMS320F28379D:通过 DSS 传入/传出 SRAM 的 EMIF 数据无法驱动 XWE 和 XRD 线路

Guru**** 2538930 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1526124/tms320f28379d-emif-data-to-from-sram-via-dss-fails-to-drive-xwe-and-xrd-lines

部件号:TMS320F28379D


工具/软件:

我们正在将现有应用程序从 F28335 DSP 目标处理器移植到 F28379D DSP。 我们使用在 DSS 上运行的 JavaScript 程序来运行测试脚本。 这些脚本会注入 存储在 SRAM 中的测试数据以模拟 DSP 上的故障条件、并将测试结果数据存储回 SRAM。 所有这些都在 F28335 目标上正常运行、其中 XINTF 管理外部数据接口。 我们正在调整测试脚本、以便在使用 EMIF1 而不是 XINTF 来访问 SRAM 上的外部存储器的新处理器上使用。 在新处理器上、通过 EMIF CS2 对 SRAM 的读写访问会以静默方式失败。 探测电路板会显示 DSS 不操纵 EMIF1 XRD 和 XWE 控制线路。 固件成功使用 EMIF 通过 EMIF CS3 与 RDC 芯片进行通信、因此我们知道从固件驱动时 XRD 和 XWE 控制线路工作正常。 我们不知道如何 调查 DSS 测试脚本无法驱动 XRD 和 XWE 的原因。 我们是否可以通过某种方法来探测管理 XRD 和 XWE 线路的 DSS 逻辑以确定故障原因? 我们  在 EMIF 配置寄存器中将 EMIF 时序数据 的值设置为保守但正常工作。 我们认为 EMIF 线路的 GPIO 引脚映射是正确的、这可以通过与 RDC 正常运行的通信来证明。 EMIF 配置的其他哪些因素可能阻止 XRD 和 XWE 线路正常工作?

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

    在我看来、我需要了解 SMART DSS 是如何实现的。 它是否知道处理器类型、这是否足以告诉它使用 EMIF 而不是 XINTF? 在回答第一个问题时、DSS 初始化代码将 sessionParam 数组传递给 DSS、其中包含 serverConfigName 字段、该字段包含目标处理器 ccxml 文件的路径。 该文件依次指定处理器类型和版本。 根据这个信息、DSS 能否确定应该使用 EMIF1 来代替 XINTF? 或者在该阶段是否需要添加更多处理器信息来指示 DSS 使用外部存储器子系统 EMIF 而不是 XINTF?

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

    您好、Thomas、很遗憾、我们的 EMIF 主题专家将在 6 月 30 日这一周前停止工作。  DSS 是否来自 TI?  如果没有、恐怕我们无法帮助调试脚本。

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

    DSS 脚本系统是 Code Composer Studio 的组件。 我们使用的脚本都是内部开发的。 我愿意等到 6 月下旬再与 EMIF 专家合作解决这个问题。 如果更早提供了其他知识渊博的资源、欢迎他们收听中的提示音。

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

    好的、感谢您的耐心。

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

    您的 EMIF 专家是否回来了、能够帮助我解决我关于 DSS 如何管理 EMIF 读写使能控制线路以访问 CS2 上的 SRAM 的问题?

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

    尊敬的 Thomas:  

    我不知道 DSS 是如何工作的。 您是否在 CCS 中测试过 EMIF 代码?

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

    QJ — 我问我的问题,因为我也不知道 DSS 如何管理 EMIF 访问 SRAM 的使用。 您能否找到 TI DSS 专家来帮助您解决问题? 我只知道、在 F28335 DSP 目标器件上通过 XINTF 访问 SRAM 的 DSS 脚本可以正常工作。 当在 F28379D DSP 目标上对 EMIF1 运行类似的脚本时、EMIF 读取和写入行不会改变状态。   脚本中没有指定使用 XINTF 与 EMIF 的特殊逻辑、也没有直接操作外部存储器读取和写入 GPIO 线路的特殊逻辑、因此我必须假设 DSS 根据  在 DSS 会话设置期间从脚本传递的目标处理器 ccxml 文件中知道要使用的目标处理器类型来确定要使用的外部存储器接口子系统。 DSS 专家应该能够让我们了解如何访问外部存储器以及如何管理 EMIF 读写控制线路。

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

    尊敬的 Thomas:

    我会将您的 DSS 问题分配给 CCS/Compiler 专家。

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

    您好:

    我不是设备专家。 我熟悉 CCS 和 DSS、可以回答有关这些方面的一般性问题。

    它是否知道处理器类型

    DSS 将知道处理器类型、因为成功启动调试会话所需的处理器类型。

    这是否足以告诉它使用 EMIF 而不是 XINTF?

    不是真的。 DSS 相当独立。 它需要的器件信息是为了成功启动调试会话并且调试器可以连接到内核。 它将介绍一些其他特定于器件的功能(例如器件可用的硬件断点资源数量)。 但没有比这更具体的了。

    在回答第一个问题时、DSS 初始化代码将 sessionParam 数组传递给 DSS、其中包含 serverConfigName 字段、该字段包含目标处理器 ccxml 文件的路径。 该文件依次指定处理器类型和版本。

    是的、这全部用于为目标启动调试会话。

    从该信息中、DSS 能否确定应该使用 EMIF1 来代替 XINTF?

    编号

    或者在该阶段是否需要添加更多处理器信息来指示 DSS 使用外部存储器子系统 EMIF 而非 XINTF?

    是的。 更具体地说、用户需要配置此功能。 这超出了我的专业领域、因此我将推迟到此处的设备专家。

    谢谢

    Ki

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

    谢谢、Ki。 我期待与一个熟悉如何管理 EMIF 读取和写入行以 从 DSS 脚本中访问外部 SRAM 的人联系、或者谁可以为我提供可以提供该信息的参考文档。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有一位了解如何使用 EMIF 访问外部 SRAM

    是、这是关键部分。 此论坛中的器件专家应该能够为此提供帮助。

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

    谢谢您、Ki。

    Thomas、

    我知道如何通过 EMIF 访问 SRAM 或 SDRAM、但根本不知道 DSS 脚本。

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

    e2e.ti.com 中是否有人知道 DSS 如何使用 EMIF 外部存储器接口、并可以回答为什么 DSS 脚本:在 F28335 处理器上运行时、可以通过 XINTF 接口正确访问 SRAM 中的外部存储器、但在使用 EMIF 访问 SRAM 的 F28379D 处理器上、EMIF 读写 GPIO 输出不会触发?

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

    尊敬的 Thomas:

    我问过几个家伙、但没发现谁有将 DSS 与 F28x 器件的 EMIF 配合使用的经验。  

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

    TI 是否有人可以访问 DSS 的内部电路、谁可以研究 DSS 在多大程度上支持 F28379D DSP 上的 EMIF?

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

    尊敬的 Thomas:

    我已经与我们应用团队、CCS 团队和编译器团队的多位专家进行了交流。 很抱歉、我找不到任何知道如何通过 DSS 支持 F28379D EMIF 的人。   

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

    感谢您对此进行调查。 在 CCS 12 及更低版本的脚本中、如果目标器件使用 XINTF 子系统进行外部内存访问、那么如果指定的地址不在 DSP 本身上、DSS 似乎可以透明地确定何时使用外部内存访问。 在 F28335 DSP 目标器件上、我们通过 XINTF 以这种方式访问外部 SRAM 时没有问题、并且无需进行任何特殊设置。 只有当目标 DSP 使用 EMIF 而非 XINTF 时、外部存储器访问似乎才会失败。

    这是一个后续问题。 我一直将应用移植以使用 CCS 版本 20、希望该脚本环境支持通过 EMIF 进行外部存储器访问。 脚本转换在很大程度上是一项正在进行的工作。 如果脚本环境无法使用目标 DSP 上的 EMIF 子系统来访问外部 SRAM、那么我们继续转换到 CCS 版本 20 没有意义。  

    那么、TI 工程部门是否有人可以明确告诉我们:新的脚本环境是否支持在使用 EMIF 访问外部存储器的 DSP 上访问外部存储器? 如果是、是否可以提供一个链接到有关新脚本环境的文档、在该环境中、我们可以找到通过 EMIF 启用和管理外部存储器访问的 API 调用的说明(如果有)?

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

    我可以从通用工具的角度进行评论:

    首先、请注意 DSS 还附带 CCS 20.x 如果您可以让一切正常使用 DSS、则可以继续将其与 CCS 20.x 配合使用

    新脚本环境是否支持在使用 EMIF 访问外部内存的 DSP 上进行外部内存访问?

    虽然用于 CCS Scripting 的接口肯定与 DSS 不同、但请注意、底层目标访问的行为几乎相同。 使用 DSS API 访问存储器的行为与结合使用等效的 CCS 脚本访问相同。 在 DSS 脚本中执行的任何操作都与 CCS Scripting 脚本所需的操作类似。  

    如果是、是否可以提供指向新脚本环境文档的链接、在该环境中、我们可以找到通过 EMIF 启用和管理外部存储器访问的 API 调用的说明(如果有)?

    没有通过 EMIF 进行内存访问的特定 API。 这适用于 CCS 脚本和 DSS。

    [报价 userid=“159004" url="“ url="~“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1526124/tms320f28379d-emif-data-to-from-sram-via-dss-fails-to-drive-xwe-and-xrd-lines/5959523 ]只有当目标 DSP 使用 EMIF 而非 XINTF 时、外部存储器访问似乎失败。

    如果 DSS 出现问题、那么同一问题将影响 CCS 脚本编写。 也许可以在目标设置方面采取一些措施来实现这一点 — 可以使用 GEL 脚本或将值写入寄存器等 我没有这方面的专业知识,所以这只是所有猜测。

    我知道如何通过 EMIF 访问 SRAM 或 SDRAM、但根本不知道 DSS 脚本。

    QJ - Thomas 可能只需要更多有关使用 EMIF 的详细信息。 忽略 DSS 部分。 DSS 本身的功能非常基本、提供基本的目标控制和存储器访问。 了解 EMIF 的详细信息对于 Thomas 来说足够有帮助、可以确定他是否可以使用 DSS 进行设置。

    谢谢

    Ki

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

    我要稍微修改一下淇的最后一个评论。 我们有外部存储器访问权限、可以在 F28335 目标器件上的固件中通过 XINTF 运行 SRAM。 在 CCS 版本 7 下通过 DSS 执行到 F28335 DSP 目标时、外部内存访问在 JavaScript 中透明工作。 无需 DSS API 代码来配置 XINTF 芯片选择或管理 XINTF 读写 GPIO 控制线路来对外部 SRAM 进行读取和写入。  

    我们可以 通过外部存储器访问 CS1 和 CS3 上的 RDC 芯片、这些芯片在 F28379D 目标上执行的固件中的 EMIF1 数据线上工作。 但是、当目标处理器为 F28379D 时、外部存储器访问无法控制 EMIF 读取和写入 GPIO 控制线路、我们正在尝试从 CCS 版本 12 下的 DSS 中的 JavaScript 程序通过 CS2 访问 SRAM。   

    因此、如果 DSS 在 CCS 20 版中与 CCS 12 版基本相同、我们是否希望能够在 CCS 20 版下通过 DSS 访问 F28379D 目标上的 SRAM?  

    “也许可以在目标设置方面采取一些措施来实现这一点 — 可以使用 GEL 脚本或将值写入寄存器等。“ 如果我们需要访问 EMIF 配置寄存器以从 DSS 脚本初始化访问、TI 是否有任何人 可以提供有关如何向 EMIF 寄存器发送配置调用的 API 信息?