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.

[参考译文] AM625:M4F 以运行 SDL、RAM 不足

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1501854/am625-m4f-to-run-the-sdl-ram-not-enough

器件型号:AM625

工具/软件:

256KB SRAM 存储器系统、分为两个组

–192KB 指令代码(I-RAM)

–64KB 数据空间(D-RAM)

您好 TI 专家、

我们正在开发 M4F 上的 SDL、 TI 提供了一些示例。

当我集成其中三个模块时、我发现 D-RAM 确实不足以使用我们的应用软件进行开发。

我有问题:TI 是否掌握有关所有 SDL 示例所需 RAM 空间的数据信息?

或者、如果 D-RAM 不足以用于 SDL 的开发、M4F 可以使用哪个存储器?

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

    您好:

    Unknown 说:
    或者如果 D-RAM 不足以用于 SDL 的开发、M4F 可以使用哪个内存?

    M4F 可以访问 DDR。 如果内部 RAM 不足、可以使用 DDR 运行 SDL。

    e2e.ti.com/.../faq-sk-am62-how-to-execute-code-from-external-memory-using-m4f-core

    此致、

    Nihar Potturu。  

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

    是的、我们可以使用 DDR、但 TI 是否提供了这样的策略:将存储器部分从 M4F 的片上 RAM 放到 DDR 以实现更好的性能、因为将所有部分放入 DDR 将会得到大约100倍的速度。

    从我的测试中可以看出、放入 DDR 的.text 不会产生太大影响、但如果将堆栈放入 DDR、速度可能会稍微慢一些。

    很重要

    /*这有 M4F 入口点和矢量表、必须是0x0 */
    .vectors:{}palign (8)> M4F_VECS

    .text:{}palign (8)> DDR_1 /*这是代码所在的位置*/

    .bss:{}palign (8)> DDR_1 /*这是未初始化的全局变量所在*/
    RUN_START (__BSS_START)
    RUN_END (__BSS_END)

    .data:{}palign (8)> DDR_1 /*这是初始化的全局变量和静态 GO */
    .rodata:{}palign (8)> DDR_1 /*这是 const 的 GO */
    .sysmem:{}palign (8)> DDR_1 /*这是 malloc 堆的位置*/
    .stack:{}palign (8)> DDR_1 /*这是 main () stack 的位置*/

    组{
    /*这是 Linux 用于了解 IPC"VRINGs"所在位置的资源表*/
    .resource_table:{}palign (4096)
    }> DDR_0

    /* C++项目所需的段*/
    .arm.exidx:{}palign (8)> DDR_1 /* C++异常处理需要*/
    .init_array:{}palign (8)> DDR_1 /*包含在 main */之前调用的函数指针
    _fini_array:{}palign (8)> DDR_1 /*包含在 main 函数之后调用的函数指针*/
    }

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

    将 Yong 的讨论放在电子邮件中:

    我们可能会发现在 M4F 上部署所有电机控制和 SDL 的风险很高、因为有256KB TCM 和 DDR 访问权限、其性能显著下降。

    选择将 SDL 的一部分移至 DM R5、可能需要在该内核上使用安全操作系统。 我们可以深入了解这一点、并将对以下行动采取后续行动。

    • 针对在 M4F 上使用电机控制以及在 DMR5上使用 FuSa 的部署建议书进行风险分析–Krithika Nihar

    [回答]我们不建议在 M4F 上部署电机控制和安全功能。 请查看以下考虑事项和反馈。

    电机控制

    安全应用

    优点

    Wkup R5F

    MCU M4F

    1.与 M4相比、总体性能更好、因为从 R5F 内核访问 DDR 时没有延迟问题。
    2.与 WKUP R5F 相比、需要的软件安全诊断更少。
    注意事项:
    1.内存占用量有限、只有256KB 的内部 RAM 可用。
    优化 SDL 以适应内部 RAM 需要客户付出额外的努力。
    2.由于中断未路由到 WKUP R5内核、因此必须在轮询模式下使用 ECAP、EPWM 和 EQEP。

    需要 FreeRTOS 才能运行 DM。

    Wkup R5F

    Wkup R5F

    1.与 M4相比、总体性能更好、因为从 R5F 内核访问 DDR 时没有延迟问题。
    注意事项:
    由于中断未路由到 WKUP R5内核、因此必须在轮询模式下使用 ECAP、EPWM 和 EQEP。
    注意:需要检查在轮询模式下观察到的性能是否可接受 Seyond。
    2.与在 MCU M4F 上运行 SDL 相比、需要实施更多的软件安全诊断。
    3.需要安全操作系统(如 SafeRTOS 或 AUTOSAR )来运行 DM+安全应用。[1]

    MCU M4F

    Wkup R5F

    1. EPWM 中断路由到 MCU M4F 内核
    注意事项:
    1.内存占用量有限、只有256KB 的内部 RAM 可用。
    2.由于中断未路由到 MCU M4F 内核、因此仍必须在轮询模式下使用 eQEP 和 ECAP。
    3.与在 MCU M4F 上运行 SDL 相比、需要实施更多的软件安全诊断。
    4. M4F 可能无法满足所需的电机控制延迟要求。
    5.需要 SafeRTOS 或 AUTOSAR 等安全操作系统才能运行 DM+安全应用。[1]

    MCU M4F

    MCU M4F

    TI 不建议这样做。
    注意事项:
    1.内存占用量有限、只有256KB 的内部 RAM 可用。
    即使将非性能关键部分卸载到 DDR 也可能无法实现所需的性能。
    2.由于中断未路由到 MCU M4F 内核、因此仍必须在轮询模式下使用 eQEP 和 ECAP。
    3. M4F 可能无法满足所需的电机控制延迟要求。
    4.如果电机控制和安全应用程序都在 M4F 内核上运行,以将安全应用程序与电机控制应用程序隔离,则需要安全操作系统。[1]

    [1]。 可以修改 FreeRTOS 以确保安全;此项工作必须由客户进行、并且超出了 TI 支持的范围。