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.

Compiler: MSP430: msp430.h missing from Linux install of ti-cgt

Other Parts Discussed in Thread: TI-CGT, CCSTUDIO, MSPDRIVERLIB, MSP430WARE, MSPDS, MSP430G2553, MSP430FR5969, MSPMATHLIB

Tool/software: TI C/C++ Compiler


I have installed the TI Code Generation Tools for Linux in order to move from a CCStudio workflow in rapid development to a makefile workflow primarily for software maintenance. It seems that TI-CGT has successfully installed. However, msp430.h and related header files did not install with the code generation tools.

I have since tried installing MSP430Ware, MSPDebug, MSPDriverLib, MSPDS (MSP430 Debug Stack); none of the above seemed to have installed msp430.h or related includes.

My CCStudio install seems to allude to the required files through its TI MSP430 Toolchain (as opposed to the GCC MSP430 Toolchain); I am not able to find any products available for download that seem to be this package.

Could you point me to the package that contains the required includes/libs?



  • Jimmy,

    Then it goes to follow that any code examples or projects that you attempt to build are failing due to the missing header files? Are all device-specific header files missing as well (msp430g2553.h, msp430fr5969.h, etc.) or is it just msp430.h? On a Windows system they are located under ../ccsv7/ccs_base/msp430/include/ and should be included with any CCS program where MSP430 products were selected to be installed.

  • Correct;

    I am moving from my primary (cluttered) OS to a Linux container for maintainability and a stable build environment; I have attempted to create a Linux container with the command line tools (only) for scalability (we have to build for many variants). Obviously, there could be a number of issues that could be causing the builds to fail; the only issue I am able to identify is that msp430.h and all the device-specific header files were not installed. Currently, I think that the required header files are not meant to install with the MSP CGTs, but with another package I have not been able to identify.

    In working through this issue, I also created a Linux container with a fresh install of CCSv7; I edited the makefile for the path differences, and it was able to build successfully and output a TI-hex file (which I have not yet tested, but I have no reason to suspect it has issues). The only difference between the two makefiles was that the CCSv7 install actually had the msp430 header files, and so that path was also an include folder in the build process.

    Searching the TI-CGT container for msp430.h yielded no results. Searching the CCSv7 container found msp430.h in /ti/ccsv7/ccs_base/msp430/include and /ti/ccsv7/ccs_base/msp430/include_gcc

    Though there may be more issues with the TI-CGT container, the first issue is the lack of msp430 includes. I do have a working solution with the CCSv7 container, but I would strongly prefer the individual installs for tight, transparent control of installed package versions.
  • To be more clear: the build process in the TI-CGT Linux container indeed fails with 'fatal error #1965: cannot open source file "msp430.h"'

    The same build process is successful on the Linux container installed with CCSv7, which has msp430.h, the device specific header files, and [presumably] the libraries contained in the package that installs those includes

  • I have investigated the CCSv7 Linux offline installer tar more, and found that the required libs/includes are in a package ti_msp430pack_header_files_setup64_7.0.5; is there a download page for an independent msp430pack installer?

    You can locate it with the following process from a CCSv7 offline installer (or modified as required for different versions/OSs):

    tar -xzf CCSv7.1.0.00014_linux-x64.tar.gz
    cd CCS7.1.0.00014_linux-x64/baserepo/msp_linux64_repo/binary
    unzip com.ti.msp430.ccs_header_files_root.gtk.linux.x86_64_7.0.5
    cd downloads
    chmod 755 ti_msp430pack_header_files_setup64_7.0.5.bin
    ./ti_msp430pack_header_files_setup64_7.0.5.bin --mode unattended --prefix .
    cd ccs_base/msp430

    So, I copied the CCSv7 msp430pack installer into the TI-CGT container, installed it, and built successfully. A TI-Hex file was generated, though I haven't tested it

  • Jimmy,

    The correct locations for the file are what you found:
    /ti/ccsv7/ccs_base/msp430/include (used when using the TI compiler)
    /ti/ccsv7/ccs_base/msp430/include_gcc (used when using gcc compiler)

    These files come separate from the compilers.

    What does your #include line look like as well as what does the search path look like? Often when I see this error on Linux when someone has migrated a project from Windows the issue is due case sensitivity or use of \ in paths.

    Not sure if you are comfortable with attaching the project but I could take a look at it if you like.

  • John,

    I can't provide the project, but I can provide the information you are asking for.

    Specifically, the problematic include directive is '#include "msp430.h"'

    The relevant compiler flags in the Linux CCSv7 container install are '--include-path="/ti/ccsv7/ccs_base/msp430/include"' and '-i"/ti/ccsv7/ccs_base/msp430/lib/5xx_6xx_FRxx"', where the install prefix during CCSv7 install was /ti; this successfully built

    In the TI-CGT container, CCSv7 was not installed, and the msp430 headers/libs were not installed. Nothing was found in the file system from:

    find / -name "msp430.h" -print

    After extracting the msp430pack from the CCSv7 installer and installing it in the TI-CGT container, the relevant compiler flags became --include-path="/ti/ccs_base/msp430/include"' and -i="/ti/ccs_base/msp430/lib/5xx_6xx_FRxx"', where the install prefix was /ti; this successfully built

    The issue is that I don't know how to install the msp430 header files and libs without installing CCS (or, alternatively, downloading the CCS offline installer, extracting its contents, grabbing the specific msp430pack installer, and installing that into the TI-CGT container). As you said, those files come separate from the compiler. Do you know what package they *do* come in?

    MSPMATHLIB is installed in this msp430pack (.../ccs_base/msp430/lib/) so a more relevant question may be: how do you install MSPMATHLIB without CCS? And the follow-up question: does this independent install of MSPMATHLIB (et al.) still install the msp430 header files? I suspect that currently, these files and libraries may only be installed via CCS

    Also, I'd like to thank both you and Ryan for your time looking into this.

  • Ok. I better understand the issue now. I believe we do have a separate package that contains the header files. That package will get delivered as an update to CCS so we definitely have a separate installer for it. I believe they used to be included in this package:

    However I think they got split out into a separate package last year.

    For gcc we have packages that have gcc and the support files in them as well as a package with just the support files:

    I will track that down the one for the TI compiler.

  • Today we don't have a package for the TI compiler for just the header files that you can get from one of our standard download pages. However you can download it from here:

    When I plug that link into Chrome it downloads it as a zip and I can just browse inside it to get to the installer.

    In talking with the team there is a good chance that we will provide the header files as a separate package for the CCS compiler like we do for GCC in the future.

  • John,

    Thank you! Would you be able to provide links for different architectures? Linux/Mac?

    As someone seeking a command-line build process, I hope that you continue to support a non-CCStudio command-line build and debug workflow. This was clearly unintentional, but it might be useful to have a command-line advocate on the team.

  • Jimmy,

    Same link as above but just replace the file name with these:



**Attention** This is a public forum