1.. zephyr:board:: qemu_arc
2
3Overview
4********
5
6This board configuration will use QEMU to emulate set of generic
7ARCv2 and ARCv3 hardware platforms.
8
9The following features of ARC ISA cores are currently supported:
10
11* CPU:
12  * ARCv2 EM
13  * ARCv2 HS3x
14  * ARCv3 HS5x
15  * ARCv3 HS6x
16* Only little-endian configurations
17* Full 32 register set
18* ARC core free-running timers/counters Timer0 & Timer1
19* ARC core interrupt controller with multiple priority levels
20* DW UART
21* 5 slots for MMIO Virtio devices
22
23Hardware
24********
25Supported Features
26==================
27
28The following hardware features are supported:
29
30+--------------+------------+----------------------+
31| Interface    | Controller | Driver/Component     |
32+==============+============+======================+
33| ARCv2 INTC   | on-chip    | interrupt controller |
34+--------------+------------+----------------------+
35| DW UART      | on-chip    | serial port          |
36+--------------+------------+----------------------+
37| ARC TIMER0   | on-chip    | system clock         |
38+--------------+------------+----------------------+
39
40The kernel currently does not support other hardware features on this platform.
41
42Devices
43========
44System Clock
45------------
46
47This board configuration uses a system clock frequency of 1 MHz.
48
49Serial Port
50-----------
51
52This board configuration uses a single serial communication channel with the
53DesignWare UART.
54
55Known Problems or Limitations
56==============================
57
58The following platform features are unsupported:
59
60* Memory-protection unit (MPU)
61* MMIO Virtio Ethernet
62
63Programming and Debugging
64*************************
65
66Use this configuration to run basic Zephyr applications and kernel tests in the QEMU
67emulated environment, for example, with the :zephyr:code-sample:`synchronization` sample
68(note you may use ``qemu_arc/qemu_em``, ``qemu_arc/qemu_hs``,  ``qemu_arc/qemu_hs5x`` or
69``qemu_arc/qemu_hs6x`` depending on target CPU):
70
71.. zephyr-app-commands::
72   :zephyr-app: samples/synchronization
73   :host-os: unix
74   :board: qemu_arc/qemu_em
75   :goals: run
76
77This will build an image with the synchronization sample app, boot it using
78QEMU, and display the following console output:
79
80.. code-block:: console
81
82        *** Booting Zephyr OS build zephyr-v2.2.0-2486-g7dbfcf4bab57  ***
83        threadA: Hello World from qemu_arc!
84        threadB: Hello World from qemu_arc!
85        threadA: Hello World from qemu_arc!
86        threadB: Hello World from qemu_arc!
87
88Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.
89
90Debugging
91=========
92
93Refer to the detailed overview about :ref:`application_debugging`.
94
95References
96**********
97
981.`Programmer’s Reference Manual for ARC HS
99   <https://www.synopsys.com/dw/doc.php/iip/dwc_arc_hs4xd/latest/doc/ARC_V2_PublicProgrammers_Reference.pdf>`_
100