This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Code Composer Studio
My code size just reached the point where I need to use the large memory model.
I am using GCC GNU v5.3.0.219. on Code Composer Studio Version: 6.2.0.00050 (Linux)
Are there any examples or tutorials on how to switch to the large memory model with the GCC tools?
I added -mlarge flag to the compiler and linker.
I am still getting:
/opt/ti-6.2.0/ccsv6/tools/compiler/gcc_msp430_5.3.0.219/bin/../lib/gcc/msp430-elf/5.3.0/../../../../msp430-elf/bin/ld: xxxx.out section `.text' will not fit in region `ROM'
/opt/ti-6.2.0/ccsv6/tools/compiler/gcc_msp430_5.3.0.219/bin/../lib/gcc/msp430-elf/5.3.0/../../../../msp430-elf/bin/ld: section __interrupt_vector_45 loaded at [0000ffd8,0000ffd9] overlaps section .text loaded at [00007008,00011f5b]
/opt/ti-6.2.0/ccsv6/tools/compiler/gcc_msp430_5.3.0.219/bin/../lib/gcc/msp430-elf/5.3.0/../../../../msp430-elf/bin/ld: region `ROM' overflowed by 8156 bytes
Also, what is the correct way to configure hardware registers such as DMAxDA and DMAxSA that hold addresses?
I tried:
char myBuffer[10];
__data16_write_addr((unsigned short) &DMA1SA, (unsigned long) myBuffer);
and I am getting
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
Thanks
The GCC 6 changelog says
The MSP430 compiler now has the ability to automatically distribute code and data between low memory (addresses below 64K) and high memory.
This would imply that your GCC 5.3 does not yet have this ability.
Anyway, MSP430 GCC automatic code splitting between low and far rom? says that it is supported since 4.9, and that you have to use the -mcode-region=either option.
**Attention** This is a public forum