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.

MSPBoot - Segment DATA20_Z must be defined in a segment definition option (-Z, -b or -P)

Hello Team,

I'm compiling the project MSP430Boot 

http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPBoot/latest/exports/MSPBoot_1_01_00_00.zip

As target device I'm using the FR5739 I2C.

I'm following the steps within the user guide SLAA600A but once I compile the App1_MSPBoot (Figure 13) I get the Error shown in the Figure below.

I'm compiling the code with IAR 6.50 (last version available) and also 6.30.

It looks like a linker script error related to the DATA20 which is probably not defined in the linker script (I don't find it).

Can you point the required changes to be able to compile the code.

Thanks,

SunSet

  • Hello SunSet,

    You can avoid this issue by adding DATA20_I, DATA20_Z, DATA20_N, DATA20_C, and DATA20_ID to the command linker file (place in the same locations as the DATA16 counterparts). This should not make any difference to the project as these data types are not used but the native IAR version/compiler originally used to build this project is recommended since it is the only one that has been fully tested with the MSPBoot solution.

    Regards,
    Ryan
  • Hello Ryan,

    I have added the following line to the xcl configuration file:

    -Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_C,DATA20_ID

    but I left also the line:

    -Z(DATA)DATA16_I,DATA16_Z,DATA16_N,TLS16_I,DATA16_HEAP+_DATA16_HEAP_SIZE=_SHARED_RAM_START-_SHARED_RAM_END

    The compilation is now working without errors.

    Thanks,

    SunSet
  • Hello Ryan,

    on IAR 6.30 if I used the solution mentioned for IAR 6.50 but I got the following error:

    DATA20_HEAP has to be defined

    modifying the string mentioned in the previous post in

    -Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_C,DATA20_ID , DATA20_HEAP+_DATA20_HEAP_SIZE=_SHARED_RAM_START-_SHARED_RAM_END

    solved the problem.

    Now the question:

    • Can I define the HEAP as above?
    • If DATA20 is not used any longer, is there a ways to say the compiler not to use it any longer rather than defining it?

    Thanks,

    SunSet

  • Hello SunSet,

    I don't see an issue with defining the HEAP as shown, but once again it has not been tested with the MSPBoot resources. DATA20 is never used by MSPBoot, you would have to contact IAR support to learn more about how to modify their compiler.

    Regards,
    Ryan
  • Thanks for the information.

    SunSet

**Attention** This is a public forum