Tool/software: TI C/C++ Compiler
Dear TI support team,
I do have an TI RTOS application in which I want to use a large amount of heap memory (about 100M).
If I merely change the BIOS.heapSize property in the .cfg file, the application takes a long time to start.
It looks like the C init function tries to zero initialize it.
In the E2E forums I found some hints to define a "NOINIT" section and set the heap module to use this section by performing the following steps:
(example is a BeagleBone Black application)
BIOS.heapSize = 100*1024*1024; BIOS.heapSection = ".myheap"; Program.sectMap[".myheap"] = new Program.SectionSpec(); Program.sectMap[".myheap"].loadSegment = "DDR2"; Program.sectMap[".myheap"].type = "NOINIT";
When I add this to my .cfg file and try to compile it, the linker throws an error regarding the (generated) linker script:
configPkg/linker.cmd:84: non constant or forward reference address expression for section .myheap
This error does not occur if I remove the "NOINIT" part.
Used toolchain:
* CCS 9.0.0.00018
* PDK 1.0.15
* SYS/BIOS 6.75.2.00
* XDCtools 3.50.8.24
* Compiler: GNU v7.2.1 Linearo
Kind regards,
Markus