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.

CCS/MSP430F5255: MSP430F5255

Part Number: MSP430F5255

Tool/software: Code Composer Studio

Hi,

Till now we worked with TIs MSP compiler. But to include BG Library for controlling silicon labs BLE121LR BLE module, we shifted to use MSP430 GCC compiler. As we changed the compiler we are getting the below errors:

1.

Description Resource Path Location Type
undefined reference to `_delay_cycles' main.c /BLE_MSP_3 C/C++ Problem


For this instead of using _delay_cycles I started using below code which I found from web.

void brief_pause(register unsigned long n)
{
__asm__ __volatile__ (
"1: \n"
" dec %[n] \n"
" jne 1b \n"
: [n] "+r"(n));
}

I commented and removed all the _delay_cycles but still getting the same above error.

2.

Description Resource Path Location Type
undefined reference to `pow' main.c /BLE_MSP_3 C/C++ Problem


Please suggest me relavant function to use instead of pow

3.

Description Resource Path Location Type
BLE_MSP_3.out section `.text' will not fit in region `ROM' BLE_MSP_3 C/C++ Problem

I am not getting why this error is coming.

4.

Description Resource Path Location Type
Dwarf Error: mangled line number section. BLE_MSP_3 C/C++ Problem

5.

Description Resource Path Location Type
region `ROM' overflowed by 12692 bytes BLE_MSP_3 C/C++ Problem

 


We migrated to MSP430 GCC compiler without much changes in the code. Please suggest me if any measures to be taken before migrating. 

Thanks in advance.

 

  • 1. msp430-gcc has a built-in __delay_cycles() function (with two underscores in front).

    3.+5. The compiled code is too large. Try compiling with "-Os", "-flto" (and maybe "-minrt") options.

    2. pow() is not implemented by newlib. It might be possible to use some other algorithm, but you have to show the actual code.

**Attention** This is a public forum