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.

Memory Error

Hi,

I have error while building sv04 using makefile

"ggvf0.cmd", line 480: warning: no matching section
"ggvf0.cmd", line 616: error: run placement fails for object ".nonsharedfar",
   size 0x645e5a (page 0).  Available ranges:
   DATA_FAR_NONSHARED   size: 0x1b000      unused: 0x1aff0      max hole:   0x1aff0

can anyone please explain why this error comes...?

I have added TSU (resizer) part also in the sv04....

Thanks and Regards

Tushar

  • Hi Tushar, did you modify ggvfo.cmd when you added TSU? if so could you please share with us the changes made?

    Thank you,

    Paula

     

  • Hi Tushar,

    It looks like you added a big global array when you added TSU in sv04. By default the global arrays are taken as part of ".nonsharedfar" which will be allocated from DATA_FAR_NONSHARED in local L2. That's why you are seeing the above placement failure.

    If your newly added globals can be placed in DDR, please use "pragma DATA_SECTION" to manually place them in DDR. Example from one of your earlier posts:

    In C code:

    #define BUFFER_SIZE 10240 //PC-- change it for your buffer size

    unsigned int srcBuff1[BUFFER_SIZE];

    #pragma DATA_ALIGN(srcBuff1, 128);

    #pragma DATA_SECTION(srcBuff1, ".edma_ddr");

    In sv04 ggvf0.becmd:

    BUFFER_DDR            : origin = 0x90000000, length = 0x2800 

    (Note: need to change length for your buffer size; also need to adjust origin to make sure there is no overlapping with existing sections. Some memory shuffling can be needed.)

     ...

    .edma_ddr > BUFFER_DDR

    Thanks,

    Hongmei

  • Hi Hongmei,

          I am getting the below linking error while I am attempting to modify ggvf0.becmd file. I am surprised to see this error because the Requested memory is lesser than what is been allocated. Could you clarify my understanding?

    "ggvf0.cmd", line 547: error: run placement fails for object ".nonsharedfar",size 0x25530 (page 0).

    Available ranges:
    DATA_FAR_NONSHARED size: 0x256b0 unused: 0x256b0 max hole:0x256b0
    error: errors encountered during linking; "sv04.out" not built

  • If it is possible, please do memory adjustment to increase size of DATA_FAR_NONSHARED until the linking error goes away. Then we can find the actual usage of ".nonsharedfar" section and other sections placed in DATA_FAR_NONSHARED. Some extra memory can be needed due to alignment.

    Thanks,

    Hongmei

  • Thanks Hongmei, this approach helped me to resolve the Issue.