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.
Tool/software: TI C/C++ Compiler
Hi,
During Linking process, I am getting an error
Description Resource Path Location Type
#10099-D program will not fit into available memory. run placement with alignment/blocking fails for section ".ebss" size 0x9e9a page 1. Available memory ranges: 2837x_FLASH_lnk_cpu1.cmd /quad_CCS line 101 C/C++ Problem
This is my linker file command line for .ebss section
.ebss : >> RAMLS5 | RAMGS0 | RAMGS1 | RAMGS2 | RAMGS3 | RAMGS4 | RAMGS5 | RAMGS6 PAGE = 1
But other sections are getting allocated without any problem
Satheesh,
Can you try combining memory sections since it appears that splitting does not work in this case.
http://processors.wiki.ti.com/index.php/C28x_Compiler_-_Understanding_Linking
Regards,
Ozino
Hi,
Can you make the RAML5 be the last memory range in the .ebss assignment. Additionally, if there's still not enough space, you can consider combining one more block of GS RAM and see if that helps. Is your current linker cmd file built of the example linker files provided in C2000Ware? Do you have a lot of global variables in your application?
Regards,
Ozino
Hi Ozino,
Thanks for the suggestion.
1) I placed the RAMLS5 as last memory range but still .ebss.1 remained unallocated. I can see there is mamory available in RAMGS10_11 but the linker is not linking this memory block for some unknown reason.
2) I have combined RAMGS0 till RAMGS11
3) Current linker file using is one which is provided in C2000ware
4) Yes, My application consists of more global variables
Regards,
Satheesh
Satheesh,
Can you try combining the RAMGS blocks one more time and see if that makes a difference.
Also, please refer to C2000 compiler tools documentation for more details on ebss/data/text etc sections. You can also find help to understand linker command file in the documentation.
What compiler version are you using in your project?
Regards,
Ozino
Ozino,
Thanks for the suggestion. I have tried but no use.
Can I make use of RAMGS14 and RAMGS15 on PAGE 0 for .ebss section (Which uses memory of PAGE1)?. If yes, please tell me how to initialize it.
Regards
Satheesh
Satheesh,
Remember that
PAGE 0 is typically used for program sections. For example .text or other named sections that contain code.
PAGE 1 is used for data sections. For example .stack.
You cannot include memory ranges across different pages.
What compiler version are you using?
-Ozino
Ozino,
Thanks for the clarification.
I am using TIv18.12.2.LTS version
Regards,
Satheesh