1.. _qemu_leon3:
2
3LEON3 Emulation (QEMU)
4######################
5
6Overview
7********
8
9The LEON3 QEMU board configuration is used to emulate the LEON3 processor.
10
11.. figure:: qemu_leon3.png
12   :width: 600px
13   :align: center
14   :alt: Qemu
15
16   Qemu (Credit: qemu.org)
17
18Programming and Debugging
19*************************
20
21Applications for the ``qemu_leon3`` board configuration can be built and run in
22the usual way for emulated boards (see :ref:`build_an_application` and
23:ref:`application_run` for more details).
24
25Flashing
26========
27
28While this board is emulated and you can't "flash" it, you can use this
29configuration to run basic Zephyr applications and kernel tests in the QEMU
30emulated environment. For example, with the :ref:`synchronization_sample`:
31
32.. zephyr-app-commands::
33   :zephyr-app: samples/synchronization
34   :host-os: unix
35   :board: qemu_leon3
36   :goals: run
37
38This will build an image with the synchronization sample app, boot it using
39QEMU, and display the following console output:
40
41.. code-block:: console
42
43        *** Booting Zephyr OS build zephyr-v2.4.0-27-g7b37fdd5303b  ***
44        threadA: Hello World from qemu_leon3!
45        threadB: Hello World from qemu_leon3!
46        threadA: Hello World from qemu_leon3!
47        threadB: Hello World from qemu_leon3!
48        threadA: Hello World from qemu_leon3!
49        threadB: Hello World from qemu_leon3!
50        threadA: Hello World from qemu_leon3!
51        threadB: Hello World from qemu_leon3!
52        threadA: Hello World from qemu_leon3!
53        threadB: Hello World from qemu_leon3!
54
55Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.
56
57Debugging
58=========
59
60Refer to the detailed overview about :ref:`application_debugging`.
61