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.

[参考译文] AM6442:程序代码的 TCM 使用

Guru**** 2554450 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1213454/am6442-tcm-usage-for-program-code

器件型号:AM6442

尊敬的 TI 团队:

在我们的应用中、有一些时间关键型操作、并且应该与 R5F (FreeRTOS)内核一起执行。 由于延迟是一个问题、我们正在探索从 TCM (TCMA &B)存储器执行程序和数据(而不使用 MSRAM 或 DDR)的可能性。 我们需要在启动时从 A53 Linux 将二进制文件加载到 TCM 中。 是否有任何与 TCM 使用相关的示例? 如果不能、请给出一些指导原则?

谢谢你

Chris

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

    Chris、您好!

    您所要做的就是正确设置链接器命令文件、以确保将数据存储在本地 TCM 中、而不是存储在 R5F 子系统之外的存储器地址中。

    另外要注意的是、为了让 R5F 二进制文件由 Linux 加载、R5F 项目中必须有一个放置在 DDR 中的资源表。 如需更多信息、请参阅此常见问题解答(目前仍在进行中、因此如果有任何问题、请告知我): https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1193620/faq-am62x-am64x-how-to-allow-linux-to-load-m4f-r5f-firmware-by-adding-a-resource-table

    可参考的最简单的 MCU+ 示例可能是 examples/ipc/ipc_rpmsg_echo_linux/am64x-evm/r5fs1-0_freertos/ti-arm-clang/linker.cmd

    放置在 DDR (资源表除外)中的每个段都可以通过如下更改移动到 TCM 存储器:

        /* This is rest of code. This can be placed in DDR if DDR is available and needed */
        GROUP {
            .text:   {} palign(8)   /* This is where code resides */
            .rodata: {} palign(8)   /* This is where const's go */
    /*    } > DDR_1 */
        } > R5F_TCMB0

    只需确保您放置在 TCM 存储器中的代码实际适用!

    此致、

    Nick

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

    谢谢 Nick