If you already know the general facts about the xPack QEMU RISC-V, you can directly skip to the desired pages.
Developer & maintainer pages:
QEMU is the long-standing open-source cross-platform emulator. It is mature, it provides a good framework for emulation, it implements a GDB server, it provides support for semihosting, and although it does not intend to accurately simulate processor time behaviour, it does keep a quite accurate track of time when emulating timer interrupts, so it can also be used to emulate applications using RTOS-es.
xPack QEMU RISC-V is a cross-platform binary distribution of the public open-source QEMU project.
The main benefits of using the xPack QEMU RISC-V are:
- a convenient, uniform and portable install/uninstall/upgrade procedure, the same procedure is used for all major platforms (Intel Windows 64-bit, Intel GNU/Linux 64-bit, Arm GNU/Linux 64/32-bit, Intel macOS 64-bit, Apple Silicon macOS 64-bit)
- a better integration with development environments like Eclipse Embedded CDT; users can run the Hello World projects generated by the Eclipse templates immediately, without any specific hardware, neither development board nor JTAG programmer; all debugging features, like single stepping, inspecting variables, registers, etc. are supported
- a convenient integration with Continuous Integration environments, like GitHub Actions; the emulator provides a very convenient platform for running unit tests, fully supporting the semihosting features required for this.
All binaries are self-contained, they include all required libraries, and can be installed in any location.
Compatibility & peripherals
The xPack QEMU RISC-V is fully compatible with the original
xPack QEMU RISC-V is generally intended for running tests, mainly unit tests.
Semihosting and ITM
The recommended method to display messages from the target is via semihosting.
The official QEMU documentation is available online.
The details of installing the xPack QEMU RISC-V on various platforms are presented in a dedicated install page.
The recommended method to test QEMU is using the new Eclipse QEMU RISC-V Debugging plug-in; create a test project using the Hello World project template.
For the various support options, please read the separate support page.
The release and change log is available in the repository
For those interested on the procedure used to build these packages,
please read the
How to build
However, the ultimate source for details are the build scripts
themselves, all available from the
See the releases pages.
Comments on the content of this page that might be useful for other readers are welcomed here. For question and general support, please use GitHub Discussions.