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.

[参考译文] AM263P4-Q1:如何计算任务和中断的 CPU 负载

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1592970/am263p4-q1-how-to-calculate-cpu-load-for-tasks-and-interrupts

器件型号: AM263P4-Q1

您好、

 

我们每 50 微秒触发一次中断处理程序(RTI 事件)、每次执行需要 20 微秒。  

因此、我们估计 CPU 负载为 40%。

我们使用 taskP_loadGet () 测量每个任务 的 CPU 负载,使用 taskP_loadGetTotalCpuLoad () 测量核心的总 CPU 负载。  

在 1 秒的测量周期之后,我们调用了 TaskP_loadResetAll()。 结果如下表所示。

image.png

结果 A 和结果 B 之间的差异表明、中断处理包含在任务加载测量中。  

然而、观察到的差异约为 11.9%、远低于最初估计的 40% CPU 负载。

中断图像

image.png

 

任务执行映像

image.png

 

绿色部分中的中断包含在 Core 的 CPU 负载中、但是蓝色部分中的中断不包含在 Core 的 CPU 负载中吗?

您能否说明如何获取所有活动任务和中断的 CPU 负载、如下图中的红色框所示?

image.png

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

    尊敬的 Imaoka-San:

    请允许我检查一下、然后返回给您。

    此致、

    Aswin

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

    尊敬的 Imaoka-San:

    您的理解是正确的。 指标也会重新实例化它。 该 API 还会包含 ISR 时间。 因此、一种方法是分别计算 ISR 负载和任务+ ISR 负载、然后从该加载计算仅任务负载。 我可以提供这方面的参考。  
    有一个名为中断分析的工程。 AM263P 中不存在此工程、但存在源代码。 请参阅 SDK 中的 interrupt_profileing.c 文件。

    任务计算是通过不包括 ISR 时序来完成的。 该文件位于以下路径中: examples\kernel\freertos\interrupt_profiling\interrupt_profiling.c

    该工程位于 AM263 SDK 中。 为方便起见、我将在此处共享该项目。

    e2e.ti.com/.../interupt_5F00_profiling_5F00_am263.zip

    此致、

    Aswin

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

    具体来说、请在此处查看计算部分