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.

How to recompile the runtime libraries using CCS?

I want to use small-enum but keep getting the warning that I should not link with the runtime libraries for C/C++ startup because they are linked differently.  So I want to set the --small-enum option and recompile. 

How can I use CCS to recompile these libraries?

Can I do it in place or do I need to copy the source to a new project, etc..

For example the files I get warnings on are:

C:\ti\grace_3_10_00_82\packages\ti\targets\msp430\rts430\lib\boot.ae430X<boot.oe430X>

C:\ti\grace_3_10_00_82\packages\ti\targets\msp430\rts430\lib\boot.ae430X<autoinit_wdt.oe430X>

C:\ti\grace_3_10_00_82\packages\ti\targets\msp430\rts430\lib\boot.ae430X<boot_special.oe430X>

C:\ti\grace_3_10_00_82\packages\ti\targets\msp430\rts430\lib\boot.ae430X<boot.oe430X>

C:\ti\grace_3_10_00_82\packages\ti\targets\msp430\rts430\lib\boot.ae430X<boot_special.oe430X>

C:\ti\grace_3_10_00_82\packages\ti\targets\msp430\rts430\lib\boot.ae430X<autoinit_wdt.oe430X>

  • Mike,
    there is no an establish procedure to rebuild the RTSC package that contains these libraries in CCS. You would have to do it on the command line, but that should not be too much of a problem. The rebuilding steps are listed here: rtsc.eclipse.org/.../Working_with_xdc.runtime. The guide is written for the C6000 targets, but applies to MSP430 too.
    The most complicated part might be the content of the file config.bld. Based on the posted paths, your target and options that should be used in config.bld are:
    var MSP430X = xdc.module("ti.targets.msp430.elf.MSP430X");
    MSP430X.rootDir = <your compiler path>;
    MSP430X.ccOpts.suffix = "--small-enum";

    var Build = xdc.module("xdc.bld.BuildEnvironment");
    Build.targets = [MSP430X];

    Let me know if you need further help.
  • I got this to work, but it was pretty difficult. For the record:

    .CMD file:

    set PATH=%PATH%;C:\ti\xdctools_3_31_01_33_core
    set xdcpath="C:/ti/grace_3_10_00_82/packages;C:/ti/msp430/driverlib_2_10_00_09/packages;C:/ti/msp430/driverlib_2_10_00_09;C:/ti/ccsv6/ccs_base;"
    set XDCTOOLS_JAVA_HOME=C:\ti\ccsv6\eclipse\jre
    cd C:\ti\grace_3_10_00_82\packages\ti\targets\msp430\rts430
    xdc clean
    xdc 
    pause

    and config.bld file in C:\ti\grace_3_10_00_82\packages\ti\targets\msp430\rts430

    var MSP430X = xdc.module("ti.targets.msp430.elf.MSP430X");
    MSP430X.rootDir = "C:/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.4";
    MSP430X.ccOpts.suffix = "--small-enum";
    var Build = xdc.module("xdc.bld.BuildEnvironment");
    Build.targets = [MSP430X];

    Several gotchas to note:

    1. MSP430X.rootDir slashes must be reversed Java style.
    2. xdcpath must be lower case while XDCTOOLS must be upper case.
    3. This only builds the one file specified (boot.ae430X), not the whole range if versions you may need for other projects that are normally provided.