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.

[参考译文] AM4378:有关 JTAG 操作的问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1031892/am4378-questions-on-jtag-operation

器件型号:AM4378
主题中讨论的其他器件:TMDSEMUPROTRACE

大家好、

我的客户在查看 AM437x 的一些 JTAG 文档后有一些问题、他们想知道我们是否 对以下内容有具体建议:

 为了进行 JTAG 调试、特别是硬件跟踪、需要暴露哪些引脚?

 最后、它们在使用 CCS 进行调试和单步执行 u-boot 方面存在一些重要问题。 您对他们可以采取哪些不同的措施有什么建议吗?

 设置

  • 使用以下引脚进行 JTAG 连接:3V3、GND、nTRST、TCK、TDI、 TDO 和 TMS
  • 安装了 CCS 9.2.0.00013的 Ubuntu 16.04虚拟机

 问题

  • 它们 可以连接到目标、加载符号、并查看目标上停止的执行步骤
  • 如果 它们暂停目标、则在等待几秒钟后、目标将继续执行、而无需用户干预
  • 此外、硬件跟踪似乎不起作用、它仅在处理器指令挂起时显示输出
  • CCS 也经常变得无响应、必须重新启动。 关闭目标并断开 JTAG 极少会解决此问题
  • 它们 已将时钟速度减慢至最低设置、结果相同

谢谢、
劳伦

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

    需要 EMU[1:0]和所有 JTAG 信号来执行具有1位跟踪 的基本调试功能、其中跟踪数据通过 EMU[1:0]信号传输。  使用2位迹线可以将迹线吞吐量加倍 、这需要一个额外的 EMU[2]信号。  使用4位布线时、布线吞吐量再次翻番、这需要 另外两 个 EMU[4:3]信号。  当您将更多 EMU 信号连接到调试器时、跟踪吞吐量会继续增加。  我不熟悉各种调试器及其软件、但 假设 支持跟踪 的调试器允许您配置连接的 EMU 信号数量。

    注意:所有 EMU 信号都与其他信号功能复用。  因此、可用于跟踪的 EMU 信号数量很大程度上取决于系统使用 的多路复用 EMU 信号功能的引脚。

    EMU[1:0]引脚需要外部上拉电阻器、但不知道任何 AM437x 特定于拉电阻的要求 、您不应允许信号悬空。

    请强调您 对连接建议差异的具体关注。

    AM437x 支持的最大 JTAG 时钟频率为16.67MHz。 但是、其他时序限制可能会进一步限制实际的最大工作频率。 AM437x 数据表定义了 JTAG 时序要求参数和开关特性参数。 系统设计人员需要执行计时分析、以确认接口的最大工作频率和任何信号长度限制。 在应用适当的开关特性时、分析必须确认 AM437x 和所连接的调试器的所有时序要求均满足、同时在分析中包含实际的 PCB/电缆延迟。 注意:大多数设置时间违规和/或保持时间违规都可以通过降低 JTAG 时钟频率来解决、因为数据在时钟的一个边沿上传输、数据在时钟的另一个边沿上捕获。 我建议布线长度匹配为+/- 1英寸。

    JTAG 接口不是一个快速接口、所以不存在与阻抗匹配相关的主要问题。 如上所述、可以降低时钟频率以提供更多设置/保持时间、这是解决振铃等与计时相关的信号完整性问题的选项。 但是、您需要确保时钟信号没有任何非单调转换。 VIL 和 VIH 之间发生的非单调事件可能会引入干扰、从而有可能导致同步电路过频、从而导致这些电路发生不可预测的情况。 因此、您可能会发现在时钟源附近使用串联源端接会有所帮助、并确保时钟信号布线上没有残桩。

    我无法回答与使用 CCS 相关的问题,因此我会将此主题分配给可能能够回答您的其他问题的其他人。

    此致、
    Paul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="35634" URL"~/support/processors-group/processors/f/processors-forum/1031892/am4378-questions-on-jtag-operation/3816650 #3816650"]我无法回答与使用 CCS 相关的问题,因此将此主题分配给可能能够回答其他问题的其他人。

    您好 Lauren、

    我需要跳到办公室以获取我的 AM437x 目标、以便我可以进一步调查。 我计划 明天进入办公室。  

    谢谢

    Ki

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

    一条关于跟踪的注释。  如果您希望将布线输出到引脚、则需要 TMDSEMUPROTRACE 接收器、而不仅仅是常规的 XDS560v2。  XDS560v2 STM 具有一个系统跟踪接收器、可用于某些旧器件、但不支持 CPU 跟踪引脚。

    如果要将跟踪捕获到嵌入式跟踪缓冲区、则可以将跟踪与任何 XDS 调试探针一起使用。  在这种情况下、CCS 读取 ETB 并在暂停时对其进行解码。   

    此致、

    John

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="379301" URL"~/support/processors-group/processors/f/processors-forum/1031892/am4378-questions-on-jtag-operation "]

     问题

    • 它们 可以连接到目标、加载符号、并查看目标上停止的执行步骤
    • 如果 它们暂停目标、则在等待几秒钟后、目标将继续执行、而无需用户干预
    • 此外、硬件跟踪似乎不起作用、它仅在处理器指令挂起时显示输出
    • CCS 也经常变得无响应、必须重新启动。 关闭目标并断开 JTAG 极少会解决此问题
    • 它们 已将时钟速度减慢至最低设置、结果相同
    [/报价]

    我在  Ubuntu 16.04 VM 中通过 Blackhawk 和 Spectrum Digital XDS560v2 STM JTAG 探针连接到 AM437x IDK 目标的运行 CCSv9.2的环境。

    我看不到目标在没有用户干预的情况下继续执行的问题。

    使用硬件跟踪分析器收集 PC 跟踪数据也没有问题。 我能够毫无问题地收集跟踪数据。

    我偶尔会遇到 CCS 无响应的问题-但大多数时候 CCS 最终都会回来。 但是、有一次我不得不强制终止 CCS。

    请注意、在 VM 内部运行 CCS 不是官方支持的环境。 虽然许多人成功地在 VM 中使用了 CCS (包括我本人和 TI 的其他人)、但这不是一个经过适当测试的环境。 我们始终鼓励尽可能使用本机环境。 此外、CCS 9.2是不再受支持的较旧版本。  

    如果客户可以提供简单但可重现的测试案例、我们可以进一步调查。 但我还建议客户尽可能更新其环境(Ubuntu 和 CCS)。

    谢谢

    Ki