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.

[参考译文] AM2634:CPU 周期计数器

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1166400/am2634-cpu-cycle-counter

器件型号:AM2634

你(们)好

我想使用 Launchpad 开发板检查 AM2634上的一些计算的运行时间。 为此、我将使用 FreeRTOS 空示例和 SDK 中的周期计数器 API。

现在、我有以下问题。 当我测量已知时间时、例如 xTaskDelayUntil 之前和之后、周期计数器远低于预期值。
转换后、我得到 大约8MHz 的时钟频率。  CPUCLK 应为400MHz、SYSCLK 应为200MHz。

这可能是一个思考错误。 有人能给我一个提示吗?

谢谢。

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

    我认为原因是 WFI 或 WFE 指令。 CPU 内核进入断电模式、因为没有任何工作要做。 我是对的吗?

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

    尊敬的 Dominik:

    您是否使用 CycleCounterP_* API 计算时钟周期,然后获取时钟频率?

    此致、
    Aakash

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

    Aakash、您好、是的。 我使用的是 CycleCounterP_* API。 如果任务延迟、我认为这是不准确的。

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

    尊敬的 Dominik:

    让我就此向你回来。 据我所知、循环计数器不是 CPU 周期、因此即使 CPU 处于 WFI 状态、它也不应停止。

    此致、
    Aakash

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

    您好、Aakash

    API 使用 CP15_cycle_count 寄存器。 这不是 CPU 计数器吗?

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

    尊敬的 Dominik:

    我的差... 这些肯定是 CPU 周期、因此当 CPU 处于 WFI 时、周期不会因延迟而增加。 我建议您使用 TimerP_* API 进行时间计算。

    此致、
    Aakash