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.

[参考译文] AM62P:如何在 AM62P 上优化系统效率?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1595130/am62p-how-to-optimize-system-efficiency-on-am62p

部件号: AM62P

您好专家、

我们在 AM62P54 EVM 板上进行软件开发、系统在 R5 上运行、并将程序刷写到 DDR 存储器中。 但是、我们观察到测试过程中 CPU 负载相对较高、并想探索一些可能的方法  优化系统效率  和  降低 CPU 负载 。  

有什么建议吗?

非常感谢您的支持!

此致、

韩庄

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

    你好、 韩庄、

    所有内核共享 DDR 存储器、A53 内核访问该存储器的优先级最高。
    因此、从 DDR 存储器运行应用程序时可能会出现 CPU 开销。
    在测试设置中、是否可以从 MSRAM 存储器而不是 DDR 运行代码、并检查 CPU 负载是否减少?
    此外、请使用 FreeRTOS 性能统计数据 API 来获取每个任务负载的完整详细信息。 在此基础上、我们可以分析为什么某个特定任务需要更多时间。 我们需要这些细节、否则很难提出建议。
    请使用 vTaskGetRunTimeStats 提供每个任务加载的函数。 要计算总 CPU 负载、只需使用以下公式:CPU 负载= 100 — 空闲任务 (%)。
    上面提到的 API 提供了 CPU 负载百分比。 该实施方案根据 100%负载的最大计数值 10,000 来计算此值。 因此、如果观察到计数值分别为 380 和 390、则相应的 CPU 负载分别为 3.80%和 3.9%。
    示例:

    字符统计[400];
    vTaskGetRunTimeStats(stats);
    Debuglog_P(“%s\n",“,统计,统计信息);


    输出示例:
    TASKNAME 运行时 (us) CPU%
    空闲 70000 70%
    AppTask 20000 20%
    CommsTask 10000 10%

    计算 CPU 负载:
    CPU 负载= 100%–空闲任务百分比
    如果空闲任务占用 70%的时间:
    CPU 负载= 100 - 70 = 30%

    此致、

    Anil.