Hi,
I thought I kinda sorted this issue out with my last project by setting my linker options to
-mlarge -mcode-region=either -mdata-region=either -mhwmult=f5series
I started using the vsnprintf function yesterday to send output to my UART. Since then the whole project doesn't built anymore, claiming
c:/ti/ccsv6/tools/compiler/gcc_msp430_4.9.14r1_364/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/bin/ld.exe: VKS_MS_NG_45_VideoProcessorFW.out section `.text' will not fit in region `ROM'
c:/ti/ccsv6/tools/compiler/gcc_msp430_4.9.14r1_364/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/bin/ld.exe: section __interrupt_vector_42 loaded at [0000ffd2,0000ffd3] overlaps section .text loaded at [00006484,0001019f]
c:/ti/ccsv6/tools/compiler/gcc_msp430_4.9.14r1_364/bin/../lib/gcc/msp430-elf/4.9.1/../../../../msp430-elf/bin/ld.exe: region `ROM' overflowed by 544 bytes
collect2.exe: error: ld returned 1 exit status
gmake: *** [VKS_MS_NG_45_VideoProcessorFW.out] Error 1
gmake: Target `all' not remade because of errors.
I tried all possible combinations of -mcode-region and -mdata-region to no avail. Another project using the same settings, same CPU as stated above which uses really large constant arrays builds just fine.
Obviously the GCC linker is still too stupid to make use of my 128kb flash properly.
I thought MSP-GCC is actively maintained by TI employees. Is this the way of forcing people to buy the commercial Ti compiler for a ridiculous amount of money and very annoying licensing scheme?
I read a lot of posts of people having the same issues, so for me it looks like a fundamental flaw. I was hoping TI performs better compared to Atmel with their stupid 64KB limit because of their 16bit pointers.
But TI has 20 bit pointers in the large memory model and I still have to worry about my code size. From a first look I am far from using much more than half of the available flash.
Is there anything I can do to make this link without loosing functionality (I know I could write my own printf)? Any updated linkerscripts? Any beta version GCC with improved behaviour?
P.S. Maybe you should make a seperate Forum under "Development Tools" for the GCC Compiler. I only see the Ti Compiler there.
Markus