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.

[参考译文] TDA4VP-Q1:XDS560v2 PRO TRACE 接收器和放大器;调试探针支持

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1637999/tda4vp-q1-xds560v2-pro-trace-receiver-debug-probe-support

器件型号: TDA4VP-Q1

我们需要支持设置 XDS560v2 PRO TRACE 接收器和调试探针

我们将尝试获得在 C7x 上运行的 SAFERTOS 任务的调试支持。  我们需要使用此工具来帮助 调试、但我们最近/没有良好的设置经验。

我们需要确定当 c7x 具有应具有低优先级的负载时、为什么它没有及时响应高优先级请求。  

我们不熟悉可帮助在运行时查看 c7x/SAFERTOS 内部数据和/或收集低级事件跟踪(例如获取中断或重新安排特定任务)的工具。 而且、通过源代码检测提取信息非常麻烦、进展非常缓慢。

我们希望 JTAG 探针将提供一个更好的工具。

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

    纠错、我们拥有的硬件器件是 XDS 110-U、而不是 XDS560v2 PRO

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

    您好 Alan Longardener、


    在 CCS 中捕获内核跟踪的步骤

    • 将引导模式配置为无引导模式。
    • 使用以下命令启动初始化脚本:
      js:> loadJSFile (/home/sivadeepr/Documents/psdk_rtos/ti-processor-sdk-rtos-j784s4-evm-11_01_01_01/pdk_j784s4_11_01_00_17/packages/ti/drv/sciclient/tools/ccsLoadDmsc/j784s4/launch.js)
    • 在 Debug 视图中、右键点击所需的 C7x 内核、然后选择 Connect Target。
    • 将可执行文件加载到所选的 C7x 内核中。
    • 从菜单栏中、导航至:
      Tools→Code Analysis→Core Trace、然后根据需要配置跟踪设置。
    • 运行 C7x 内核。
    • 执行完成后、暂停内核、然后停止从“Core Trace“窗口中进行跟踪捕获、以分析收集的跟踪数据。

    此致、

    Ben

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

    在姊妹线程 (  TDA4VP-Q1:[CEER] C7x 优先级处理 — JTAG 调试器 — 将关闭该线程并指向此线程)上添加 Shabary  的响应:

    尊敬的 Ross:

    我们需要确定 c7x 在有负载时没有及时响应高优先级请求的原因 
    应该具有低优先级。

    客户是否会同时在内核上运行任何 TIDL 推理? 是否有任何其他任务同时处于活动状态? 这一点很重要、因为 TIDL 可能会故意调用 Hwi_disable() 较长的处理块以防止中断。

    此致、
    Shabary S Sundar

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

    你好。

    我们已确定问题的根源。
    它是 TIDL 的中断禁用、实际上在默认情况下 TIDL 会在整个操作期间禁用中断。

    我们发现、如果 TIDL 配置 为 maxPreEmpptDelay 设置为 0、则问题会消失(高优先级负载会在截止日期内调度,因此所有内容都将按中的方式进行处理,FPS 返回到 30)。

    我们想问 TI、为什么 TIDL 在默认情况下会禁用中断、以及是否可以安全地将 maxPreEmpptDelay 设置为 0。

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

    可以在此处找到我们的文档:
    位于主 TexasInstruments/edgeai-tidl-tools/runtitimes/examples/cpp/preption_examples 的·edgeai-tidl-tools ·

    对于 maxPreEmpptDelay = 0:

    “...

    测试 5:具有即时占先功能的不同优先级网络

    • 网络 A:优先级 1、 max_preempt_delay = 0
    • 网络 B:优先级 0、 max_preempt_delay = FLT_MAX
    • 网络 B 在当前层完成后立即抢占网络 A

    ...“

    此致、Stefan

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

    感谢您为我们指向 TIDL 抢占示例:
    github.com/.../preemption_example

    我们已经过审核、它符合我们的观察结果。 特别是在 maxPreEmptDelay = FLT_MAX (‑)模式下、TIDL 可以将占先推迟到优化的网络点、从而产生较长的不可抢占执行窗口、同时 maxPreEmptDelay = 0 允许在层边界立即占先并恢复 C7x 响应能力。

    这说明了为什么我们看到默认配置下从所需的 30 FPS 下降到~15 FPS、以及为什么设置 maxPreEmptDelay = 0 会恢复 30 FPS。

    我们剩下的问题是混合工作负载支持的使用问题。 该示例‑在 TIDL‑之间实现抢占、而我们的系统与其他延迟敏感型非 2 μ s TIDL 工作负载共享 C7x。

    ‑‑能否确认、在与非 Δ Σ TIDL 共享的 C7x 内核上运行 TIDL、延迟 Δ T 敏感型工作负载是否属于预期且受支持的用例、以及是否 maxPreEmptDelay = 0 针对此类混合的‑Δ Σ 工作负载场景采用建议的配置?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们使用 C7x 作为通用 DSP、以便快速对帧缓冲区运行操作。 操作本身需要大约 600 微秒、但必须以低延迟执行 、否则其他位置的处理无法满足实时要求。

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

    ‑、C7x‑‑脉冲‑是非 4 μ W TIDL、延迟 Δ T 敏感型工作负载共享同一个 C7x 内核的另一个示例、并且可能会在计算机视觉流水线中的其他地方增加具有类似延迟要求的非 3 μ W TIDL 级。

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

    尊敬的 Dale、Nikita、

    将此主题重新分配给相应的主题专家以获得进一步帮助。

    此致、

    Ben

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

    是否有任何更新?

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

    尊敬的 Devin:

    很抱歉、此主题有任何待处理的问题?  

    此致、

    Brijesh

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

    您好、Brijesh、

    是的、  ‑在会议上讨论的一个问题、您在其中确认了在与非 Δ Σ TIDL 共享的 C7x 上运行 TIDL、延迟 Δ‑敏感型工作负载被 TI 视为一种预期且受支持的架构。

    特别是、 我们正在寻求确认、该 TI 框架本身就支持 TIDL 与非 TIDL 任务之间的 L2 SRAM 同步和共享。   maxPreEmpptDelay 独立于此同步机制。

    此致、

    Devin

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

    尊敬的 Devin:

    我们正在下面的主题中讨论这个问题、因此我们能否关闭此主题、仅在下面的主题中讨论?  

    (+) TDA4VP-Q1:由于 TIDL 抢占和中断处理而导致的 C7x 调度性能下降 — Aptiv Jacinto 论坛 — APTIV - EP 汽车 — TI E2E 支持论坛

    此致、

    Brijesh

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

    并非所有对该主题感兴趣的人都可以访问私人 E2E

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

    尊敬的 Devin:

    当然、  

    关于这个问题、如果 我理解正确、 非 TIDL 任务本质上是在 FreeRTOS 或 SAFERTOS 上运行的任务。 因此、除非该 RTOS 提供 L2 一致性(我认为这样做并不可取)、否则非 TIDL 任务不会与 TIDL 任务进行 L2 一致性、不是吗?  

    当 TIDL 任务因其他高优先级任务而被抢占和切换时、TIDL 将保存上下文(这需要 TIDL 团队进行确认,我会检查是否存在)。 但是、当非 TIDL 任务因更高优先级的任务而被抢占和切换时、很可能的非 TIDL 需要保存自己的上下文、并在重新切换回上下文时将其恢复。  

    有一个问题是、更高优先级的非 TIDL 任务是否可以被抢占? 还是始终在不抢占的情况下运行至完成状态?   

    此致、

    Brijesh

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

    非 μ‑TIDL 工作负载是在 C7x 上运行的标准 FreeRTOS/SafeRTOS 任务。 我们没有假设 RTOS 提供 L2 一致性、并且我们当前没有在应用程序级别执行任何显式 L2 SRAM 分区或一致性管理。 ‑向‑澄清的一个问题是、当 TIDL 与非 I ² C TIDL 任务共用一个 C7x 内核时、是否需要任何 L2 级约束或管理。

    在占先‑:预计 TIDL 会被一个更高的 2 μ s 优先级任务抢占。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ‑‑、您能否确认当 TIDL 与非 T Ü V TIDL 任务共享一个 C7x 内核时、是否需要任何显式的 L2 SRAM 分区或一致性管理‑ maxPreEmptDelay = 0、或者在使用时是否由 TIDL 框架支持这种混合的 μ C 工作负载使用?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以抢占更高优先级的非 TIDL 任务?

    ‑、我们对此没有明确的答案、拥有团队仍在最终确定更高‑优先级的非‑TIDL 任务的可抢占性、因此我们应该假设它可能是可抢占的、也可能会运行‑μ s 到 μ s 的完成状态、直到确认。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您确认非 μ‑TIDL 任务上下文处理。 澄清一下、根据任务上下文、我们指的是 CPU/DSP 执行状态(寄存器,栈等)、它不同于 L2 SRAM 数据正确性。 ‑这一区别、关于在 TIDL 与非 I ² C TIDL 任务共享 C7x 内核时是否需要显式 L2 SRAM 分区或同步、还有一个待处理的问题是这样吗?

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

    尊敬的 Devin:

    我已经回答了另一个问题。  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    为了便于查看、TI 在并行线程上确认 SDK 将整个 C7x L2 SRAM 分配给 TIDL。 非 Δ Σ TIDL‑ 可以 使用 L2 SRAM、但在被抢占时必须将 L2 内容作为其自身上下文的一部分明确保存和恢复。