SLAU646F September   2015  – June 2020

 

  1.   Read This First
    1.     How to Use This User's Guide
    2.     Related Documentation
    3.     If You Need Assistance
    4.     Trademarks
  2. 1Introduction
  3. 2Installing MSP430 GCC Toolchain
    1. 2.1 Installing MSP430 GCC in CCS Releases Before v7.2
    2. 2.2 Installing MSP430 GCC as Stand-Alone Package
  4. 3Using MSP430 GCC Within CCS
    1. 3.1 Create New Project
    2. 3.2 Debug Using MSP-FET, MSPFET430UIF, eZ-FET, eZ430
    3. 3.3 Build Options for MSP430 GCC
      1. 3.3.1  GNU Compiler
      2. 3.3.2  GNU Compiler: Runtime
      3. 3.3.3  GNU Compiler: Symbols
      4. 3.3.4  GNU Compiler: Directories
      5. 3.3.5  GNU Compiler: Optimization
      6. 3.3.6  GNU Compiler: Preprocessor
      7. 3.3.7  GNU Compiler: Assembler
      8. 3.3.8  GNU Compiler: Debugging
      9. 3.3.9  GNU Compiler: Diagnostic Options
      10. 3.3.10 GNU Compiler: Miscellaneous
      11. 3.3.11 GNU Linker
      12. 3.3.12 GNU Linker: Basic
      13. 3.3.13 GNU Linker: Libraries
      14. 3.3.14 GNU Linker: Symbols
      15. 3.3.15 GNU Linker: Miscellaneous
      16. 3.3.16 GNU Objcopy Utility
    4. 3.4 CCS Compared to MSP430 GCC
  5. 4MSP430 GCC Stand-Alone Package
    1. 4.1 MSP430 GCC Stand-Alone Package Folder Structure
    2. 4.2 Package Content
    3. 4.3 MSP430 GCC Options
    4. 4.4 MSP430 Built-in Functions
    5. 4.5 Using MSP430 GCC Support Files
    6. 4.6 Quick Start: Blink the LED
      1. 4.6.1 Building with a Makefile
      2. 4.6.2 Building Manually with gcc
      3. 4.6.3 Debugging
        1. 4.6.3.1 Starting GDB Agent
          1. 4.6.3.1.1 Using the GUI
          2. 4.6.3.1.2 Using the Command Line
        2. 4.6.3.2 Debugging With GDB
          1. 4.6.3.2.1 Running a Program in the Debugger
          2. 4.6.3.2.2 Setting a Breakpoint
          3. 4.6.3.2.3 Single Stepping
          4. 4.6.3.2.4 Stopping or Interrupting a Running Program
      4. 4.6.4 Creating a New Project
    7. 4.7 GDB Settings
      1. 4.7.1 Console Application
      2. 4.7.2 Optional Parameters for msp430.dat
      3. 4.7.3 GUI Application
      4. 4.7.4 Attaching the Debugger
      5. 4.7.5 Configuring the Target Voltage
      6. 4.7.6 Resetting the Target
      7. 4.7.7 Halting the Target
  6. 5MSP430 GCC Features
    1. 5.1 C/C++ Attributes
      1. 5.1.1 GCC Function Attribute Support
      2. 5.1.2 GCC Data Attribute Support
      3. 5.1.3 GCC Section Attribute Support
    2. 5.2 Hints for Reducing the Size of MSP430 GCC Programs
      1. 5.2.1 The -mtiny-printf Option
      2. 5.2.2 The -ffunction-sections and -fdata-sections Options
      3. 5.2.3 Making Large Programs Fit Across Upper and Lower Memory
      4. 5.2.4 NOP Instructions Surrounding Interrupt State Changes
    3. 5.3 C Runtime Library (CRT) Startup Behavior
    4. 5.4 Using printf with MSP430 GCC
    5. 5.5 Link-time Optimization (LTO)
    6. 5.6 The __int20 Type and Pointers in the Large Memory Model
  7. 6Building MSP430 GCC From Sources
    1. 6.1 Required Tools
    2. 6.2 Building MSP430 GCC (Mitto Systems Limited)
      1. 6.2.1 Building a Native MSP430 GCC Toolchain
      2. 6.2.2 Building the MSP430 GCC Toolchain for Windows
    3. 6.3 Building MSP430 GCC Stand-Alone Full Package
  8. 7MSP430 GCC and MSPGCC
    1. 7.1 Calling Convention
    2. 7.2 Other Portions of the ABI
  9. 8Appendix
    1. 8.1 GCC Intrinsic Support
    2. 8.2 NOP Instructions Required Between Interrupt State Changes
  10. 9References
  11.   Revision History

Building MSP430 GCC (Mitto Systems Limited)

The README-build.sh bash script included with the source-full package (and in the source-patches package) can be used to build the toolchain for Windows, Linux and macOS hosts. The script contains some distribution-specific instructions on how to install the pre-requisite tools from Section 6.1.

To build native Linux and macOS toolchains, follow the instructions in Section 6.2.1.

To build the toolchain for Windows hosts, follow both the instructions in Section 6.2.1 and then Section 6.2.2.

Note:

If less than 2 GB of RAM is available during the build, the build may fail.