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.

[参考译文] AM5749:L2SRAM 中的 TI-RTOS 任务堆栈

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1242848/am5749-ti-rtos-task-stack-in-l2sram

器件型号:AM5749

尊敬的戴尔斯:

我正在使用此 SoC 的 TMS320C66x DSP CorePac。

由于双核 Cortex-A15需要进行数据交换、我们保留了 IPC 堆栈解决方案。

似乎堆栈仅在 TI-RTOS 上可用(没有 BareMetal 版本可用)。

2µs、我的基本代码的性能真的很低(50条 C66x 指令需要执行5 μ s)、我怀疑不同任务在 DDR 中的堆栈是这种糟糕性能的来源。

我尝试通过将下面的行添加到 Dsp.cfg 文件中、将堆放在 L2SRAM 中。 遗憾的是、这不足以将其放置在 L2SRAM 中。

Program.sectMap[".bss"]="L2SRAM";

Program.sectMap[".neardata"]="L2SRAM";

Program.sectMap[".rodata"]="L2SRAM";

 

是否有将任务堆栈放置在 L2SRAM 中的解决方案?

如果我已经将应用程序编译为发布版本、还可以进行哪些其他优化?

提前感谢

此致、

史蒂夫

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

    尊敬的戴尔斯:

     

    我们行动:

    *代码到 L2SRAM

    *数据到 OCMC_RAM3

    *堆栈至 L2SRAM

    *堆 到 OCMC_RAM3

    未观察到性能改善。 因此、DDR SDRAM 访问并不是这种低性能的原因。

    似乎性能较差是由 TI-RTOS 及其 IPC 实现造成的。

    有人遇到过这个问题吗? 我们可以做些什么来提高执行速度?

    此致、

    史蒂夫

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

    您好!

    如果不知道系统性能瓶网的详细信息、我建议阅读以下应用手册以获得一般指导。

    https://www.ti.com/lit/ug/spruex3v/spruex3v.pdf

    https://www.ti.com/lit/an/sprab27b/sprab27b.pdf

    https://www.ti.com/lit/ml/spna165/spna165.pdf

    通常、与从 DDR 提取代码/数据相比、将代码/数据从 DDR 移动到内部存储器应该会有一些改进。

    您可能需要根据存储器映射文件验证代码/数据是否确实位于内部存储器空间中。

     

    此致、
    斯坦利