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.
你(们)好
我想使用 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