Development Environment Setup on Windows

This section describes how to configure your development environment and to build Zephyr applications in a Microsoft Windows environment.

This guide was tested by compiling and running the Zephyr’s sample applications on Windows version 8.1 (and should work with Windows 10 as well).

Update Your Operating System

Before proceeding with the build, ensure that you are running your Windows system with the latest updates installed.

Installing Requirements and Dependencies

To install the software components required to build Zephyr applications on Windows, you will need to build or install a toolchain:

  1. Install GIT. Go to GIT Download to obtain the latest copy of the software (2.12.0). Install into the C:\Git folder and use the default configuration options for the rest.

  2. Install Python 2.7. Go to Python Download to obtain the software (version 2.7.13) and use the default installation options.

  3. Install MinGW. MinGW is the minimalist GNU development environment for native Windows applications. The Zephyr build system will execute on top of this tool set. Visit the site MinGW Home and install the following packages with their installer mingw-get-setup.exe (you’ll need to open the “All Packages” tab to enable installing the msys packages listed here):

    • mingw-developer-toolkit
    • mingw32-base
    • msys-base
    • msys-binutils
    • msys-console
    • msys-w32api
  4. Launch the MSYS console from a cmd window. The installer does not create shortcuts for you so you’ll need to run the script in C:\MinGW\msys\1.0\msys.bat.

  5. The Zephyr build process has a dependency on the Pthread and GNU regex libraries. Msys provides its own GNU library implementation that can be downloaded from the MinGW and Msys official repository: MinGW Repository with the following commands:

    mingw-get update
    mingw-get install libpthread msys-libregex-dev --all-related
    

    When done, move libregex files (libregex.a, libregex.dll.a, libregex.la) from C:\Git\mingw32\msys\1.0\lib to C:\Git\mingw32\lib

  6. We need to edit /etc/fstab to create an entry mapping from the Win32 path c:/mingw to the mount point /mingw The easiest way to do this is just copy the file fstab.sample as fstab and cat /etc/fstab to confirm that the mapping was added.

  7. The build system should be able to work with any toolchain installed in your system. For instance, the Zephyr build system was tested using the mingw MSYS console (as described below) with the toolchain provided with the ISSM 2016 (Intel System Studio for Microcontrollers) installation. Install ISSM from the Intel Developer Zone: ISSM 2016 Download

    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.) Also, additional setup is required to use the ISSM GUI for development.

  8. From within the MSYS console, clone a copy of the Zephyr source into your home directory using Git:

    cd ~
    git clone https://gerrit.zephyrproject.org/r/zephyr
    
  9. Also within the MSYS console, set up environment variables for installed tools and for the Zephyr environment (using the provided shell script):

    export PATH=$PATH:/c/python27/
    export MINGW_DIR=/c/mingw
    export ZEPHYR_GCC_VARIANT=issm
    export ISSM_INSTALLATION_PATH=C:/IntelSWTools/ISSM_2016.1.067
    unset ZEPHYR_SDK_INSTALL_DIR
    source ~/zephyr/zephyr-env.sh
    
  10. Finally, you can try building the Hello World sample to check things out. In this example, we’ll build the hello_world sample for the Arduino 101 board:

    cd $ZEPHYR_BASE/samples/hello_world
    make board=arduino_101
    

    This should check that all the tools and toolchain are setup correctly for your own Zephyr development.