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.

Errors building MSPBoot with CCS 6

Other Parts Discussed in Thread: MSP430G2553

I'm porting my implementation of MSPBoot from IAR to Code Composer. It successfully built and ran under IAR. I've created a project in CCS and replaced cstartup.s43 with boot.c. I get the following messages when I build under CCS:

#10010 errors encountered during linking; "FirmwareUpdate_G_Series.out" not built

#10056 symbol "_reset_vector" redefined: first defined in "./boot.obj"; redefined in "C:\Code Composer Studio V6\ccsv6\tools\compiler\ti-cgt-msp430_4.4.3\lib\rts430_eabi.lib<boot.obj>"

#10056 symbol "_stack" redefined: first defined in "./boot.obj"; redefined in "C:\Code Composer Studio V6\ccsv6\tools\compiler\ti-cgt-msp430_4.4.3\lib\rts430_eabi.lib<boot.obj>"

"#10099-D program will not fit into available memory. placement with alignment fails for section ".cinit" size 0x1b . Available memory ranges:

#10099-D program will not fit into available memory. placement with alignment fails for section ".const" size 0x7 . Available memory ranges:

#10099-D program will not fit into available memory. placement with alignment fails for section ".reset" size 0x4 . Available memory ranges:

#10099-D program will not fit into available memory. placement with alignment fails for section ".text" size 0x558 . Available memory ranges:

I get the impression from other postings it has something to do with rts430_eabi.lib being included, but I'm not sure how to go about fixing this. Any suggestions would be appreciated. thanks.

  • Hi Lee,

    I wonder if this recent thread might be helpful: e2e.ti.com/.../1545279 Luis mentioned some things that might need to be added to boot.c. Are you using boot.c from the SLAA600 example, and also the linker file from SLAA600 as well?

    Regards,
    Katie
  • Hi Katie,

    The thread did solve a couple of the errors I was getting, however I'm still getting the following errors:


    #10099-D  program will not fit into available memory.  placement with alignment fails for section ".cinit" size 0x1b .  Available memory ranges:

    #10099-D  program will not fit into available memory.  placement with alignment fails for section ".const" size 0x7 .  Available memory ranges: 


    #10099-D  program will not fit into available memory.  placement with alignment fails for section ".text" size 0x5c2 .  Available memory ranges: 

    Any ideas? Thanks.

    Regards,

    Lee

  • I also got the following message as a warning:
    #10237-D split placement (>>) ignored for ".cinit": split placement for this section is not permitted
  • Hi Lee,

    You device seems to be running out of space. Which device are you using?
    MSPBoot already includes CCS examples for some devices, but is there any reason why you migrated the project yourself from IAR?

    Did you try changing the optimization level to see if that reduces the footprint of your code? Or maybe increasing the size of the memory area for the bootloader?
    SLAA600 includes a linkerGen script which can be used to automatically generate linker files for CCS and IAR. The following commands generate files for the G2553 using 1KB and 512B of bootloader space respectively:
    > perl MSPBootLinkerGen.pl -file lnk_msp430G2553_I2C_1KB -dev MSP430G2553 -params 0xC000 0xFFE0 0xFC00 48 4 0x200 0x3FF 0x50 0x1000 0x10BF

    > perl MSPBootLinkerGen.pl -file lnk_msp430G2553_I2C_512B -dev MSP430G2553 -params 0xC000 0xFFE0 0xFE00 48 4 0x200 0x3FF 0x50 0x1000 0x10BF


    Regards,
    Luis R
  • I rebuilt the linker files for both the BSL and the application. After a bit of tweaking it looks like everything has built cleanly.

**Attention** This is a public forum