1.. _toolchain_designware_arc_mwdt:
2
3DesignWare ARC MetaWare Development Toolkit (MWDT)
4##################################################
5
6#. You need to have `ARC MWDT <https://www.synopsys.com/dw/ipdir.php?ds=sw_metaware>`_ installed on
7   your host.
8
9#. You need to have :ref:`Zephyr SDK <toolchain_zephyr_sdk>` installed on your host.
10
11   .. note::
12      A Zephyr SDK is used as a source of tools like device tree compiler (DTC), QEMU, etc...
13      Even though ARC MWDT toolchain is used for Zephyr RTOS build, still the GNU preprocessor & GNU
14      objcopy might be used for some steps like device tree preprocessing and ``.bin`` file
15      generation. We used Zephyr SDK as a source of these ARC GNU tools as well.
16
17#. :ref:`Set these environment variables <env_vars>`:
18
19   - Set :envvar:`ZEPHYR_TOOLCHAIN_VARIANT` to ``arcmwdt``.
20   - Set :envvar:`ARCMWDT_TOOLCHAIN_PATH` to the toolchain installation directory. MWDT installation
21     provides :envvar:`METAWARE_ROOT` so simply set :envvar:`ARCMWDT_TOOLCHAIN_PATH` to
22     ``$METAWARE_ROOT/../`` (Linux) or ``%METAWARE_ROOT%\..\`` (Windows).
23
24   .. tip::
25      If you have only one ARC MWDT toolchain version installed on your machine you may skip setting
26      :envvar:`ARCMWDT_TOOLCHAIN_PATH` - it would be detected automatically.
27
28#. To check that you have set these variables correctly in your current
29   environment, follow these example shell sessions (the
30   :envvar:`ARCMWDT_TOOLCHAIN_PATH` values may be different on your system):
31
32   .. code-block:: console
33
34      # Linux:
35      $ echo $ZEPHYR_TOOLCHAIN_VARIANT
36      arcmwdt
37      $ echo $ARCMWDT_TOOLCHAIN_PATH
38      /home/you/ARC/MWDT_2023.03/
39
40      # Windows:
41      > echo %ZEPHYR_TOOLCHAIN_VARIANT%
42      arcmwdt
43      > echo %ARCMWDT_TOOLCHAIN_PATH%
44      C:\ARC\MWDT_2023.03\
45