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.
Hello Team,
I'm posting on behalf of my customer.
I am facing this error.. Pls could you help me in rectifying this error
<a href="file:/C:/ti/ccs1210/ccs/tools/compiler/dmed/HTML/10099.html">#10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section ".ebss" size 0x61a9c page 1. Available memory ranges: 2837x_FLASH_lnk_cpu1.cmd /Project line 114 C/C++ Problem
Hi Renan,
As you increase the global variable size, it cannot fit into the section
Please take a look at the 2837x_FLASH_lnk_cpu1.cmd, and look for .ebss section. You need to increase the size as suggested in the error message. This link explains the details on Linker Command File
https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html
Something like below.
Renan,
Please tell the customer to refer to this link for more details:
Regards, Santosh
Hello Santosh,
Please see response from my customer:
Renan,
Please look at the exact error in console log. It will show how much is needed, and how much you have and then you can calculate accordingly.
.ebss : >>
Not sure why you need such a big arrays. Are you just experimenting or you need it for your application? You have 13 arrays of floats with 2000 elements each. So you need :
13 * 2000 * 4 bytes = 104 kB just for this arrays.
You may need to store them in flash something like below. Again you will need at least 4 flash sectors.
Hello Santosh,
Please see response form my customer:
Sorry for the delayed response.
I need those variables for my application. One variable with 4000 size is needed to store the ADC sampled data.
The following line is added in the flash intialisation place. A flash memory of size (48000 bytes)
.ebss :>> FLASHE |FLASHH | FLASHG| FLASHI | FLASHJ PAGE = 0
Still the error is occurring.
Description Resource Path Location Type
<a href="file:/C:/ti/ccs1210/ccs/tools/compiler/dmed/HTML/10099.html">#10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section ".ebss" size 0x1084 page 1. Available memory ranges: 2837x_FLASH_lnk_cpu1.cmd /Project line 115 C/C++ Problem
Thank you so much for your help.
Regards,
Renan
Renan,
Having one variable 0f 4000 size is manageable. As it is for sampled ADC buffer, so it must be placed in RAM. Create a separate section and place the variable in that section using #pragma DATA_SECTION().
You need a bit of background. Please read the first part of the article Linker Command File Primer. Get a clear understanding of how input sections come from object files, are combined into output sections, and those output sections are allocated to memory ranges.
The DATA_SECTION pragma is how you tell the compiler which input section to use for a particular global or static variable.
Regards, Santosh