Hi,
My program gets bigger day by day. I got following error after adding some new lines to my software.
""../280048_FLASH_lnk.cmd", line 85: error #10099-D: 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. placement with alignment/blocking fails for section ".text" size 0x2f3a page 0. Available memory ranges:"
My linker command file is as below. As I see that I have more flash banks available that I can add news to my .text lines.
SECTIONS { codestart : > BEGIN, PAGE = 0, ALIGN(4) .text : >>FLASH_BANK0_SEC1 | FLASH_BANK0_SEC2 | FLASH_BANK0_SEC3, PAGE = 0, ALIGN(4) //Digital Controller Library functions dclfuncs : > RAMLS4, PAGE = 0 ramfuncs : > RAMLS4, PAGE = 0 .cinit : > FLASH_BANK0_SEC1, PAGE = 0, ALIGN(4) .pinit : > FLASH_BANK0_SEC1, PAGE = 0, ALIGN(4) .switch : > FLASH_BANK0_SEC1, PAGE = 0, ALIGN(4) .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */ .stack : > RAMM1, PAGE = 1 .ebss : > RAMLS5, PAGE = 1 .esysmem : > RAMLS5, PAGE = 1 .econst : > FLASH_BANK0_SEC4, PAGE = 0, ALIGN(4) ramgs0 : > RAMGS0, PAGE = 1 ramgs1 : > RAMGS1, PAGE = 1 .TI.ramfunc : {} LOAD = FLASH_BANK0_SEC1, RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), RUN_SIZE(_RamfuncsRunSize), RUN_END(_RamfuncsRunEnd), PAGE = 0, ALIGN(4) /* crc/checksum section configured as COPY section to avoid including in executable */ .TI.memcrc : type = COPY }
I can add a new bank to my text, but I don't know how to modify other lines or what I should do in a correct way.
1) Could you please help me how to add a new flash banks to my software?
2) If I add FLASH_BANK0_SEC4, which lines also should I update according to it? Consider updating .text line as below;
.text : >>FLASH_BANK0_SEC1 | FLASH_BANK0_SEC2 | FLASH_BANK0_SEC3 | FLASH_BANK0_SEC4
3) If you see any problems in my linker command lines, could you please give feedback by totally reviewing it? I need to organize flash and ram properly.
Thank you.