Back to Zephyr

Overview

boards/renode/riscv32_virtual/doc/index.rst

4.4.01.7 KB
Original Source

.. zephyr:board:: riscv32_virtual

Overview


The RISCV32 Virtual board is a virtual platform made with Renode as an alternative to QEMU. Contrary to QEMU, the peripherals of this platform can be easily configured by editing the riscv32_virtual.repl script and the devicetree files accordingly, this allows certain hardware configurations that only exist in proprietary boards/SoCs to be tested in upstream CI.

Programming and debugging


.. zephyr:board-supported-runners::

Building

Applications for the riscv32_virtual board configuration can be built as usual (see :ref:build_an_application):

.. zephyr-app-commands:: :board: riscv32_virtual :goals: build

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 Renode emulated environment. For example, with the :zephyr:code-sample:synchronization sample:

.. zephyr-app-commands:: :zephyr-app: samples/synchronization :host-os: unix :board: riscv32_virtual :goals: run

This will build an image with the synchronization sample app, boot it using Renode, and display the following console output:

.. code-block:: console

    *** Booting Zephyr OS build zephyr-v3.5.0-1511-g56f73bde0fb0 ***
    thread_a: Hello World from cpu 0 on riscv32_virtual!
    thread_b: Hello World from cpu 0 on riscv32_virtual!
    thread_a: Hello World from cpu 0 on riscv32_virtual!
    thread_b: Hello World from cpu 0 on riscv32_virtual!

Exit Renode by pressing :kbd:CTRL+C.

Debugging

Refer to the detailed overview about :ref:application_debugging.