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.

[参考译文] TMS320F280025C:ERAD 计数结果与 CCS 运行时钟结果不同、后者更准确?

Guru**** 2455560 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1114534/tms320f280025c-erad-count-result-is-different-from-ccs-run-clock-result-which-one-is-more-accurate

器件型号:TMS320F280025C
主题中讨论的其他器件:C2000WARE

大家好、专家也很好

   我正在测试280025 ERAD 示例1 (ERAD_ex1_profile_function) , 并启用 CCS-run-clock 选项来测量 delayFunction()时钟,

   最后、我发现这两个结果 完全不同。

循环1 囊肿2. 囊肿3. 囊肿4. 囊肿5.
cycles_function 30 33. 49 65 81.
周期_数据 21. 24 40 56. 72.
运行时钟 45. 55 71. 87 103.

我知道 、由于 不同的 PC 布局、CYCESS_Data 比 CYCESS_FUNCTION 短一点。

但 为什么 cycles_function 与 CCS 运行时钟不同?

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

    Matt、您好!

    我们的 C2000ware 专家将为您提供帮助。

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

    您好、Matt、

    您能否提供一些有关如何使用运行时钟功能的详细信息?

    您是否在函数的开始和结束处保留了断点 并测量了两者之间的周期? 或者 、您是否 在调用函数的行保留了断点、并测量了步长的时间?

    在第二种情况下、由于分支、%操作等原因、将会计算额外的延迟  

    ERAD 测量周期应与案例1匹配。 由于断点(CPU 暂停且流水线可能已被清空)、1或2个周期之间可能存在轻微差异 ERAD 以非侵入式方式测量周期、并且与断点方法相比应更加准确

    此致、

    Veena

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

    Veena、您好、感谢您的回复。

    我的预测试在第二种情况下:运行到  函数被调用的行、 设置运行时钟、然后测量步转时钟数。  

    我尝试了您提到的第一个案例、如下所示:

    结果是  

    循环1 循环1 循环1 循环1 循环1
    运行循环案例1 20. 30 46. 62. 78

    但是在 280025 ERAD 示例1 (ERAD_ex1_profile_function)中,我认为变量 cycles_function 已经包含函数分支或%操作的周期。 变量  cycles_Data 仅指从函数中的开始到结束部分的运行时间。

    案例1应接近  CYCESS_Data (测试结果确认了此推理)、 案例2 应接近  CYCESS_FUNCTION (结果完全不同)。

    有什么我被误解了吗?

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

    对于 ERAD、我们将测量事件 PC = ISR 开始和 PC = ISR 结束之间的持续时间。 因此、分支延迟不会在这里计算( LCR 和 LRETR 指令的周期)。 此外、不包括%运算、因为它发生在分支到函数之前

    情况1应与  CYCESS_FUNCTION 匹配。 这两个测量 事件 PC = ISR 开始和 PC = ISR 结束之间的周期。 但是 、由于使用了断点、周期可能略有差异。

    此致、

    Veena

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

    谢谢您、Veena。最后我了解这个部分。

    祝你一切顺利!