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.

[参考译文] RTOS/AM5728:IPC 示例堆内存问题

Guru**** 2604225 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/651356/rtos-am5728-ipc-example-heap-memory-question

器件型号:AM5728

工具/软件:TI-RTOS

你好

我使用大数据 IPC 示例代码作为参考、以实现我们自己的 IPC 接口。  有一个从 Linux 端名为 HeapMem 的模块、它类似于 HeapMemMP 模块。 我的问题是  

对于  通过调用 HeapMem_create 在 Linux 端创建的堆存储器、可以在 DSP 端使用 HeapMemMP_open 调用吗? 示例不在 DSP 端分配堆内存、它仅使用 ARM Linux 端分配和共享的相同内存、修改内容并将其发回。 但我们有分配要求。 同样适用于 Free to、我们必须从 DSP 端释放分配的 ARM/Linux 存储器。  

总而言之、 ARM/Linux 端上的 HeapMem 是否与 HeapMemMP DSP/BIOS 调用兼容?

此致、

Suresh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Su重塑 Babu、

    否、它与 HeapMemMP 不兼容。 与可在 DSP 之间共享的 HeapMemMP 不同、HeapMem 不会跨越 ARM/DSP 边界。 DSP 无法释放它、但需要通知 ARM 并让 ARM 释放它。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Rex:
    非常感谢您的快速更新。 它确实帮助我避免了错误的实施和测试。
    此致、
    Suresh Babu
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Rex:
    共享区(共享区(BIOS))和堆内存(HeapMemMP (BIOS))都只能在 BIOS 环境中使用。 我希望通过发布另一条消息(内部维护)来请求为 ARM/Linux for DSP/BIOS 分配内存将不是很有效。
    我是否可以探索其他更好的示例以满足我的以下要求:
    ARM/Linux
    DSP/BIOS
    数据大小- 2048字节(最大值)

    消息 que 配置为512字节、带 HeapBuf。 我能否将此配置更改为(2048 + 32字节的标头)并使用? 运输(ti.sdo.ipc.interfaces.IMessageQTransport)的尺寸是否有任何限制?
    此致、
    Suresh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Suresh、

    我们没有 Linux 分配但 DSP 释放的内存示例、如果这是您的要求。

    有关 MessageQ 大小、请参阅此 e2e 主题中的讨论 、e2e.ti.com/.../2050679

    雷克斯