RISCV64 Emulation (QEMU)¶
Get the Toolchain and QEMU¶
The minimum version of the Zephyr SDK tools with toolchain and QEMU support for the RISV64 architecture is v0.10.2. Please see the installation instructions for more details.
Programming and Debugging¶
Applications for the qemu_riscv64
board configuration can be built and run in
the usual way for emulated boards (see Building an Application and
Run an Application for more details).
Flashing¶
While this board is emulated and you can’t “flash” it, you can use this configuration to run basic Zephyr applications and kernel tests in the QEMU emulated environment. For example, with the Synchronization Sample:
# From the root of the zephyr repository
west build -b qemu_riscv64 samples/synchronization
west build -t run
This will build an image with the synchronization sample app, boot it using QEMU, and display the following console output:
***** BOOTING ZEPHYR OS v1.8.99 - BUILD: Jun 27 2017 13:09:26 *****
threadA: Hello World from riscv64!
threadB: Hello World from riscv64!
threadA: Hello World from riscv64!
threadB: Hello World from riscv64!
threadA: Hello World from riscv64!
threadB: Hello World from riscv64!
threadA: Hello World from riscv64!
threadB: Hello World from riscv64!
threadA: Hello World from riscv64!
threadB: Hello World from riscv64!
Exit QEMU by pressing CTRL+A x.
Debugging¶
Refer to the detailed overview about Custom Board, Devicetree and SOC Definitions.