The latest development version of this page may be more current than this released 1.14.0 version.

3rd Party Toolchains

A “3rd party toolchain” is an officially supported toolchain provided by an external organization. Several of these are available.

GNU ARM Embedded

  1. Download and install a GNU ARM Embedded build for your operating system and extract it on your file system.

    Warning

    Do not install the toolchain into a path with spaces. On Windows, we’ll assume you install into the directory C:\gnu_arm_embedded.

    Warning

    The GNU ARM Embedded Toolchain for Windows, version 8-2018-q4-major has a critical bug and should not be used. Toolchain version 7-2018-q2-update is known to work.

  2. Configure the environment variables needed to inform the Zephyr build system to use this toolchain:

    • Set ZEPHYR_TOOLCHAIN_VARIANT to gnuarmemb.
    • Set GNUARMEMB_TOOLCHAIN_PATH to the toolchain installation directory.

    For example:

    # Linux or macOS
    export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb
    export GNUARMEMB_TOOLCHAIN_PATH="~/gnu_arm_embedded"
    
    # Windows in cmd.exe
    set ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb
    set GNUARMEMB_TOOLCHAIN_PATH=C:\gnu_arm_embedded
    

Intel ISSM

Note

The ISSM toolset only supports development for Intel® Quark™ Microcontrollers, for example, the Arduino 101 board. (Check out the “Zephyr Development Environment Setup” in this Getting Started on Arduino 101 with ISSM document.) Additional setup is required to use the ISSM GUI for development.

  1. Install the ISSM toolchain by downloading it from the Intel Developer Zone’s ISSM Toolchain downloads page, then extracting the archive somewhere on your system.

    Warning

    Like the Zephyr repository, do not install the toolchain in a directory with spaces anywhere in the path.

  2. Configure the environment variables needed to inform the Zephyr build system to use this toolchain:

    • Set ZEPHYR_TOOLCHAIN_VARIANT to issm.
    • Set ISSM_INSTALLATION_PATH to the directory containing the extracted files.

    For example:

    # Linux
    export ZEPHYR_TOOLCHAIN_VARIANT=issm
    export ISSM_INSTALLATION_PATH=/home/you/Downloads/issm0-toolchain-windows-2017-02-07
    
    # Windows in cmd.exe
    set ZEPHYR_TOOLCHAIN_VARIANT=issm
    set ISSM_INSTALLATION_PATH=c:\issm0-toolchain-windows-2017-01-25
    

Crosstool-NG

You can build toolchains from source code using crosstool-NG.

  1. Follow the steps on the crosstool-NG website to prepare your host.

  2. Follow the Zephyr SDK with Crosstool NG instructions to build your toolchain. Repeat as necessary to build toolchains for multiple target architectures.

    You will need to clone the sdk-ng repo and run the following command:

    ./go.sh <arch>
    

    Note

    Currently, only i586 and Arm toolchain builds are verified.

  3. Configure the environment variables needed to inform the Zephyr build system to use this toolchain:

    • Set ZEPHYR_TOOLCHAIN_VARIANT to xtools.
    • Set XTOOLS_TOOLCHAIN_PATH to the toolchain build directory.

    For example:

    export ZEPHYR_TOOLCHAIN_VARIANT=xtools
    export XTOOLS_TOOLCHAIN_PATH=/Volumes/CrossToolNGNew/build/output/