1.. zephyr:board:: riscv32_virtual 2 3Overview 4******** 5 6The RISCV32 Virtual board is a virtual platform made with Renode as an alternative to QEMU. 7Contrary to QEMU, the peripherals of this platform can be easily configured by editing the 8``riscv32_virtual.repl`` script and the devicetree files accordingly, this allows certain hardware 9configurations that only exist in proprietary boards/SoCs to be tested in upstream CI. 10 11Programming and debugging 12************************* 13 14Building 15======== 16 17Applications for the ``riscv32_virtual`` board configuration can be built as usual 18(see :ref:`build_an_application`): 19 20.. zephyr-app-commands:: 21 :board: riscv32_virtual 22 :goals: build 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 Renode 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: riscv32_virtual 35 :goals: run 36 37This will build an image with the synchronization sample app, boot it using 38Renode, and display the following console output: 39 40.. code-block:: console 41 42 *** Booting Zephyr OS build zephyr-v3.5.0-1511-g56f73bde0fb0 *** 43 thread_a: Hello World from cpu 0 on riscv32_virtual! 44 thread_b: Hello World from cpu 0 on riscv32_virtual! 45 thread_a: Hello World from cpu 0 on riscv32_virtual! 46 thread_b: Hello World from cpu 0 on riscv32_virtual! 47 48Exit Renode by pressing :kbd:`CTRL+C`. 49 50Debugging 51========= 52 53Refer to the detailed overview about :ref:`application_debugging`. 54