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 allocation size issue

Part Number: AM5728

Tool/software: Linux

Dear Champs,

My customer tried to build lad example of IPC, and they found heapMem size would be double and want to know why double size memory was allocated.

Could you please check this?

They modified DSP1.cfg file as below.

heapMemParams.size = 0x02400000;

heapMemParams.sectionName = "EXT_CODE"

and then, they found double memory size(0x04800000) was allocated as below, and faced lack of memory.

error: program will not fit into available memory.  run placement with

   alignment fails for section "EXT_CODE" size 0x4800000 .  Available memory

   ranges:

   L2SRAM       size: 0x40000      unused: 0x40000      max hole: 0x40000

   OCMC_RAM1    size: 0x80000      unused: 0x80000      max hole: 0x80000

   OCMC_RAM2    size: 0x100000     unused: 0x100000     max hole: 0x100000

   OCMC_RAM3    size: 0x100000     unused: 0xfda80      max hole: 0xfda80

   EXT_CODE     size: 0x4500000    unused: 0x4424566    max hole: 0x4423f60

   EXT_DATA     size: 0x200000     unused: 0x1ec98e     max hole: 0x1ebe00

   EXT_HEAP     size: 0x200000     unused: 0x200000     max hole: 0x200000

   TRACE_BUF    size: 0x60000      unused: 0x4fffc      max hole: 0x4fffc

   EXC_DATA     size: 0x10000      unused: 0x10000      max hole: 0x10000

   PM_DATA      size: 0x20000      unused: 0x20000      max hole: 0x20000

error: errors encountered during linking; "bin/release/server_dsp1.xe66" not  built

Their configuration in dtsi file is as below, and dtsi file was attached.

am57xx-beagle-x15-common.zip

memory@0 {
device_type = "memory";
reg = <0x0 0x80000000 0x0 0x80000000>;
};

reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;

ipu2_cma_pool: ipu2_cma@95800000 {
compatible = "shared-dma-pool";
reg = <0x0 0x95800000 0x0 0x3800000>;
reusable;
status = "okay";
};

dsp1_cma_pool: dsp1_cma@99000000 {
compatible = "shared-dma-pool";
reg = <0x0 0x99000000 0x0 0x4000000>;
reusable;
status = "okay";
};

ipu1_cma_pool: ipu1_cma@9d000000 {
compatible = "shared-dma-pool";
reg = <0x0 0x9d000000 0x0 0x2000000>;
reusable;
status = "okay";
};

dsp2_cma_pool: dsp2_cma@9f000000 {
compatible = "shared-dma-pool";
reg = <0x0 0x9f000000 0x0 0x800000>;
reusable;
status = "okay";
};
};

Thanks and Best Regards,

SI.