Hello,
I have an executable for the C6678, generated with the compiler 7.2.4 from CCS5, that produce an huge ELF executable file. The code (text + const + switch + table + compressed loadable copy of initialized data) is about 500k while the ELF file is about 16Megabytes!.
I have already tried to compile without debug informtion and strip (strip6x.exe) the .out file, but nothing change (before the strip, the ELF file is about 21M).
The executable use a lot of memory (.far), about 6M, but the generated initialization table is only 26 byte long (rle compressed and zero initialized). I have also a 400M byte memory section of type=noinit. The linker map is as expected: it say "UNINITIALIZED" and there is no ".load" section.
The program is linked with the ROM autoinitialization model and without any dynamic option activate (absolute linking).
In the linker command file I allocate:
- code onto MCSM (4M)
- data onto external DDR3 memory (512M)
- I use some groups