Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI C/C++ Compiler
Hello,
My configuration is the following one:
- Sitara ARM3359
- Code Composer Studio version CCS 7.1.0
- SYS/BIOS 6.45.01.29 Real Time Operating System
- XDC Tool 3.32.00.06
- Compiler GNU v4.9.3 (Linaro)
-- Sysbios sdk 2.1.3.2
*To spy information i stock datas in a array allocated by a new() instruction (this size: 0x1000000 byte).
As you know, the new() instruction allocate object in the heap section.
*I create a plateform with multiples sections including a section for the heap : DDR3Heap section (0x81000000 at the end of the ram):
* In the am335x_app.cfg file I initialize the heap with the following instructions:
BIOS.heapSize = 0x1000000;
BIOS.heapSection = "systemHeap";
Program.sectMap["systemHeap"] = "DDR3Heap";
*You can see the result in the map file:
systemHeap 0x81000000 0x1000000 D:\Projects\Pilotage\6_Products\CNumDsp2015\src\AxisDriver\am335x_debug\configPkg\package\cfg\am335x_app_pa8fg.oa8fg
0x81000000 ti_sysbios_heaps_HeapMem_Instance_State_0_buf__A
*My problem is that the size of the generated binary file (AxisDriver_SPI.bin) increase abnormally (34 Mb instead 900Kb).
After multiple trials, I find that this size depend of :
- the offset between the end of DDR3Slow and the start of DDR3Heap (0x81000000 - (0x800E5000+ 0x9000)).
- the size of the DDR3Heap section (0x1000000).
I use this file to program the Sitara, it's impossible to programm it, to slowww.
I don't understand why the heap configured in Data space (plateform window) has an impact on the binary file.
Is there an option to force the linker to remove the DDr3Heap section from the linker mapping ?
Thank for your help.
jmV
