Hello Everybody,
I sreeni, working on Tiva C series MCU(32K RAM) based application and want to allocate the space in heap of more than 0x1000 bytes of memory.
It works fine when I allocate 0x1000 bytes of memory in startup.s file, but in my application I need to allocate a memory of 10K but I am getting the following error when I try to allocate more than 0x1000 bytes of heap space in startup.c file.
linking... Trial_Link_CSU.axf: Error: L6406E: No space in execution regions with .ANY selector matching startup.o(STACK). Trial_Link_CSU.axf: Error: L6406E: No space in execution regions with .ANY selector matching picojpeg.o(.data). Trial_Link_CSU.axf: Error: L6406E: No space in execution regions with .ANY selector matching variables.o(.bss). Trial_Link_CSU.axf: Error: L6406E: No space in execution regions with .ANY selector matching mmc-ek-lm4f232h5qd.o(.data). Trial_Link_CSU.axf: Error: L6406E: No space in execution regions with .ANY selector matching variables.o(.data). Trial_Link_CSU.axf: Error: L6407E: Sections of aggregate size 0x16c bytes could not fit into .ANY selector(s). Target not created
Any help is appreciated.
Thanks, sreeni
So have you made sure your processor has enough RAM for both the global variables and stack and heap? Or if it has multiple RAM regions - have you made sure you allocations allows the linker to fit the global data requirements of the individual object files in a way that makes it fit into the available RAM regions?