1.. zephyr:board:: qemu_riscv64
2
3Overview
4********
5
6The RISCV64 QEMU board configuration is used to emulate the RISCV64 architecture.
7
8Get the Toolchain and QEMU
9**************************
10
11The minimum version of the `Zephyr SDK tools
12<https://github.com/zephyrproject-rtos/sdk-ng/releases>`_
13with toolchain and QEMU support for the RISCV64 architecture is v0.10.2.
14Please see the :ref:`installation instructions <install-required-tools>`
15for more details.
16
17Programming and Debugging
18*************************
19
20Applications for the ``qemu_riscv64`` board configuration can be built and run in
21the usual way for emulated boards (see :ref:`build_an_application` and
22:ref:`application_run` for more details).
23
24Flashing
25========
26
27While this board is emulated and you can't "flash" it, you can use this
28configuration to run basic Zephyr applications and kernel tests in the QEMU
29emulated environment. For example, with the :zephyr:code-sample:`synchronization` sample:
30
31.. zephyr-app-commands::
32   :zephyr-app: samples/synchronization
33   :host-os: unix
34   :board: qemu_riscv64
35   :goals: run
36
37This will build an image with the synchronization sample app, boot it using
38QEMU, and display the following console output:
39
40.. code-block:: console
41
42        ***** BOOTING ZEPHYR OS v1.8.99 - BUILD: Jun 27 2017 13:09:26 *****
43        threadA: Hello World from riscv64!
44        threadB: Hello World from riscv64!
45        threadA: Hello World from riscv64!
46        threadB: Hello World from riscv64!
47        threadA: Hello World from riscv64!
48        threadB: Hello World from riscv64!
49        threadA: Hello World from riscv64!
50        threadB: Hello World from riscv64!
51        threadA: Hello World from riscv64!
52        threadB: Hello World from riscv64!
53
54Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`.
55
56Debugging
57=========
58
59Refer to the detailed overview about :ref:`application_debugging`.
60