blob: c91a0e107afe1e302f486b9d7a2121b3de1b02b2 [file] [log] [blame]
.. _installing_zephyr_win:
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.
.. _windows_requirements:
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 :program:`GIT`. Go to `GIT Download`_ to obtain the latest copy of
the software (2.12.0). Install into the :file:`C:\\Git` folder and use the
default configuration options for the rest.
2. Install :program:`Python 2.7`. Go to `Python Download`_ to obtain the
software (version 2.7.13) and use the default installation options.
3. Install :program:`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 :file:`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:
.. code-block:: console
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 :file:`/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 :file:`fstab.sample` as
:file:`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:
.. code-block:: console
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):
.. code-block:: console
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 :ref:`hello_world` sample to check things
out. In this example, we'll build the hello_world sample for the Arduino
101 board:
.. code-block:: console
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.
.. _GIT Download: https://git-scm.com/download/win
.. _Python Download: https://www.python.org/downloads/
.. _MinGW Home: http://www.mingw.org/
.. _MinGW Repository: http://sourceforge.net/projects/mingw/files/
.. _ISSM 2016 Download: https://software.intel.com/en-us/intel-system-studio-microcontrollers
.. _Getting Started on Arduino 101 with ISSM: https://software.intel.com/en-us/articles/getting-started-arduino-101genuino-101-with-intel-system-studio-for-microcontrollers