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.

[参考译文] TDA4VE-Q1:TDA4–在 TRACE32 中 CPU 停止时如何停止系统计数器/计时器

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1619535/tda4ve-q1-tda4-how-to-stop-system-counters-timers-when-cpu-halts-in-trace32

器件型号: TDA4VE-Q1

我目前正在使用 TRACE32 (T32) 对 TDA4 进行调试、我正在尝试实现以下行为:

  • 当 CPU 触发断点或手动停止执行时、 所有系统计时器/计数器都应停止递增
  • 当我继续执行时、 相同的计时器/计数器应继续正常递增

我想了解:

  1. 哪些寄存器 (对于系统计时器,GPTimers,时间戳计数器等)与在 TDA4 上进行检查相关、以确认它们是否支持暂停冻结。
  2. 地址 调试‑冻结配置寄存器 可通过 TRACE32 控制(如果可用)来停止这些计时器。
  3. 如果内核停止时有机制冻结时钟/计时器/计数器、

目前我不知道要控制这一部分的正确寄存器或 T32 命令。 任何指导、文档指针或示例脚本都会非常有用。

提前感谢!

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

    您好:

    在计时器中、我们有寄存器  

    仿真模式下的 EMUFREE 位、用于根据 PINSUSPEND 信号暂停计时器。

    由于它是多核环境,请求要小心,因为停止一个核心可以暂停计时器。

    此致

    Tarun Mukesh   

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

    您好:

    感谢您的快速响应!


    我检查了您提到的计时器、但仍然找不到具体的计时器。  意识到我可能没有提供准确的核心信息。

    我正在调试 J721S2 、在 TRACE32 中、我连接到的核心的命令是:

    SYSTEM.CPU J721S2-CR5-MCU  (假设可能这就是我看不到寄存器的原因)。

    此致、

    克里斯蒂安五

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

    您好 Cristian

    系统中有不同类型的计时器、例如 GP 计时器、GTC 等。 这些寄存器会有所不同、我会以寄存器组中 GP 计时器的屏幕截图为例进行说明。

    请问您打算停机哪一个计时器?

    此致

    Tarun Mukesh

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

    你好、Tarun、

    目前我不知道我应该以哪个特定的计时器/寄存器为目标。

    那么、我们通过一些示例进行澄清。

    我需要的是一些东西  仅表示“运行时间“ —表示:

    1. 场景 1(循环任务测量):
      我有一个标称周期为的循环函数 10ms
      为了验证周期、我在该函数中放置一个断点。
      然后我恢复→命中断点再次→恢复→等等。
      两个断点命中之间的差值 应反映通过检查 T0(断点的第一个命中)和 T1(断点的第二个命中)中的特定寄存器获得的实际周期时间。 因此、T1 和 T0 之间的区别将是我需要的时间。

    2. 情景 2(暂停时冻结):
      当我暂停软件时、需要基准计时器 不继续计数 在后台运行。 这将有助于了解实际运行时间。
      否则、断点之间的时间差将变得无意义、因为即使在 CPU 停止时、计时器也会递增。

    当然、还需要确保停止计时器不会影响其他功能。

    最后、它会帮助我了解寄存器并获得一些指令示例、我需要将其放入 Trace32 的.cmm 文件中。

    提前感谢!

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

    您好:

    目前我不知道应该以哪个特定的计时器/寄存器为目标。

    你应该知道的。 如果您知道我可以帮助设置寄存器。

    我需要的是一些东西  仅表示“运行时间“ —表示:

     任务的运行时间将基于某个计时器的自定义用法。 在您的操作系统中、根据您启用的计时器、您可以检查相应的寄存器。

    此致

    Tarun Mukesh

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

    你好、Tarun、

    感谢您的反馈。

    让我更清楚地解释一下我的情况:
    我并不是要暂停特定的计时器。

    问题是我不知道系统(或 MCU)实际上使用哪个计时器作为测量周期时间的时基。
    我不在可以检查操作系统节拍源的操作系统内部工作—我正在调试现有软件、并且没有说明哪个计时器提供“运行时“参考的文档。

    这就是我提出上述问题的原因。

    我需要任何符合以下条件的硬件计时器:

    -可用作断点之间的稳定时间基准。
    -‑(或可以配置)在 MCU R5F 域的‑暂停时冻结 μ s。
    -我可以在 TRACE32 中读取寄存器以确认计数器在内核停止时没有递增。

    换言之:
    -我不是在寻找一个特定的计时器。 我需要指导在 J721S2‑CR5‑MCU 上选择适合此用途的模块、因为我没有足够的信息来知道软件当前正在使用哪个模块。

    如果你能告诉我:

    -推荐用于此类测量的计时器,
    -该计时器是否支持 MCU R5F 域的调试冻结

    然后我就可以继续了。

    再次感谢您帮助澄清这一点和此致。

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

    您好:

    让我清楚地回顾一下您的回答、并在一段时间内回复。

    此致  

    Tarun Mukesh  

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

    您好:

    没有压力、但这里是否有任何更新?

    提前感谢您、

    Cristian Vladoescu

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

    您好 Cristian、

    我很抱歉,因为我忙于其他活动,我明天就会回到你身边。

    此致

    Tarun Mukesh

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

    您好:

    问题是我不知道系统(或 MCU)实际上使用哪个计时器作为测量周期时间的时基。
    我不在操作系统内工作、在其中我可以检查操作系统周期源—我正在调试现有软件、并且我没有说明哪个计时器提供“运行时“参考的文档。

    好的、这取决于您所使用的操作系统类型以及您在操作系统中的配置方式。 如果不知道您将哪个计时器用作内核节拍、我们就无法看到寄存器。

    例如、如果您根据 SDK 使用 FreeRTOS OS、我们会进行配置

    /*--不同内核在 j721s2 中的默认 DMTimer 分配--*/
    /* c7x_1 - DMTimer 0
    * c7x_2 - DMTimer 1
    * MCU2_0 - DMTimer 2
    * MCU2_1 - DMTimer 3.
    * mcu3_0 - DMTimer 4.
    * mcu3_1 - DMTimer 5.
    * mcu1_0 - MCU DMTimer 1.
    * mcu1_1 - MCU DMTimer 2.
    */

    #define configTIMER_ID (OSA_FREERTOS_OS_TIMER_ID_MCU1_0)
     /packages/ti/kernel/freertos/config/j721s2/r5f/FreeRTOSConfig_mcu1_0.h 文件中
    您可以根据配置这些寄存器。
    此致
    Tarun Mukesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    感谢您的答复。
    我将尝试尽快验证(最长 1-2 天)、然后再回来。

    此致、
    Cristian Vladoescu

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

    您好、

    好的。肯定的。

    此致

    Tarun Mukesh

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

    您好:

    很抱歉不能早点回来。
    这需要我们更多的时间。 我们仍然需要在内部进行检查。 我未能验证所有内容并与我们的团队同步、但我会很快回来提供更新。

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

    您好:

    好的

    此致

    Tarun Mukesh

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

    根据我们从我的团队创建的其他私人 TT 中获得的解决方法关闭此 TT。

    感谢您的支持!