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.

Compiler/TMS320F28377D: I have a question about memory placement in the section.

Part Number: TMS320F28377D

Tool/software: TI C/C++ Compiler

Hi,

In section 8.5 of the linked document below, I have seen some descriptions about 'Automatic Section allocate' and 'Automatic Section Splitting'.

The section used for examples in the description is the '.text' section.

Is 'automatic allocate' or 'automatic splitting' of section possible only at the initialized section?

Can not automatic section allocate or automatic section splitting be used for uninitialized section(ex: .ebss)?

Thanks in advance.

  • Automatic section splitting of uninitialized sections is allowed.  

    Thanks and regards,

    -George

  • Thank you for answer. I have one more question.


    I applied the automatic section splitting function to the .ebss section and proceeded to build, but an error occurred.

    The sum of the various memory areas enclosed by 'OR' is greater than the size required for the .ebss section, but an error occurs that the section can not be placed.

    In my project, There are many long arrays.

    Is splitting not supported for a particular data unit, such as a long array?

    Thanks in advance.

  • Nam, Sang-il said:

    In my project, There are many long arrays.

    Is splitting not supported for a particular data unit, such as a long array?

    Yes.  But there is a way to address it.

    The split of an output section always occurs on input section boundaries.  All the arrays from a single file are within one input section, and thus cannot be split.  If an input section is so long that it exceeds the length of all the available memory ranges, then the allocation fails.

    Please consider building with the option --gen_data_subsections=on .  This puts each array in its own subsection.  In effect, this splits up the original input section into several smaller input sections.  I cannot guarantee this solves the problem.  But it is worth a try.  

    Thanks and regards,

    -George

  • Thank you for your kind reply.