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.

[参考译文] Linux/AM5728:CMEM 分配大小问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/653505/linux-am5728-cmem-allocation-size-issue

器件型号:AM5728

工具/软件:Linux

尊敬的香榭丽舍

我的客户尝试构建 IPC 的 lad 示例、他们发现 heapMem 大小将是双倍、并想知道为什么分配双倍大小的内存。

请检查一下吗?

他们修改了 DSP1.cfg 文件、如下所示。

heapMemParams.size = 0x02400000;

heapMemParams.sectionName ="EXT_CODE"

然后、他们发现双倍存储器大小(0x04800000)按如下方式分配、并且面临存储器不足的问题。

错误:程序不能放入可用内存中。  使用运行放置

  “EXT_CODE"大小为0x4800000”部分的对齐失败。  可用内存

  范围:

  L2SRAM      大小:0x40000     未使用:0x40000     最大空洞:0x40000

  OCMC_RAM1   大小:0x80000     未使用:0x80000     最大孔:0x80000

  OCMC_RAM2   大小:0x100000    未使用:0x100000    最大孔:0x100000

  OCMC_RAM3   大小:0x100000    未使用:0xfda80     最大孔:0xfda80

  EXT_CODE    大小:0x4500000   未使用:0x4424566   最大孔:0x4423f60

  EXT_DATA    大小:0x200000    未使用:0x1ec98e    最大孔:0x1ebe00

  EXT_HEAP    大小:0x200000    未使用:0x200000    最大空洞:0x200000

  TRACE_BUF   大小:0x60000     未使用:0x4fffc     最大孔:0x4fffc

  EXC_DATA    大小:0x10000     未使用:0x10000     最大空洞:0x10000

  PM_DATA     大小:0x20000     未使用:0x20000     最大孔:0x20000

错误:链接期间遇到错误;未 生成"bin/release/server_dsp1.xe66"

他们在 dtsi 文件中的配置如下所示、并附加了 dtsi 文件。

e2e.ti.com/.../am57xx_2D00_beagle_2D00_x15_2D00_common.zip

存储器@0{
DEVICE_TYPE ="存储器";
REG =<0x0 0x8000000000 0x0 0x8000000000>;
};

保留存储器{
#address-cells =<2>;
大小单元格=<2>;
范围;

ipu2_CMA_pool:ipu2_CMA@95800000{
兼容="共享 dma-pool ";
REG =<0x0 0x95800000 0x0 0x3800000>;
可重复使用;
状态="正常";
};

dsp1_CMA_pool:dsp1_CMA@99000000{
兼容="共享 dma-pool ";
REG =<0x0 0x99000000 0x0 0x4000000>;
可重复使用;
状态="正常";
};

ipu1_CMA_pool:ipu1_CMA@9d000000{
兼容="共享 dma-pool ";
reg =<0x0 0x9d000000 0x0 0x2000000>;
可重复使用;
状态="正常";
};

dsp2_CMA_pool:dsp2_CMA@9f000000{
兼容="共享 dma-pool ";
REG =<0x0 0x9f000000 0x0 0x800000>;
可重复使用;
状态="正常";
};
};

谢谢、此致、

SI

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

    他们正在使用哪个版本的 SYS/BIOS 和 XDCtools?

    此致、
    Sahin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哦、抱歉。
    其 SDK 版本为 Linux PSDK v4.0、SYS/BIOS 版本为6.46.5.55、XDCTOOLS 版本为3.32.1.22。

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

    heapMem 是 EXT_CODE 的一部分。 可能会有其他代码段添加到 EXT_CODE 段以使其不适用。 您能否提供映射文件?

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

    此问题是否已解决?

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

    您好、Sahin、

    很抱歉迟到了。

    我附上了他们的地图文件、请访问 this.e2e.ti.com/.../server_5F00_dsp1.xe66.zip

    谢谢、此致、

    SI

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

    我在该映射文件中看不到包含0x4800000的段、如错误:"EXT_CODE"大小为0x4800000的段对齐失败所示。 可用内存

    您可以上传失败案例的 MAP 文件吗? 其中 heapMemParams.size = 0x02400000;

    此致、
    Sahin