If you already know the general facts about the xPack QEMU Arm, you can directly skip to the desired pages.
Developer & maintainer pages:
Starting with 2022, the custom QEMU known as
used initially with Eclipse, was
and the project was updated to use the current upstream sources.
For compatibility reasons,
qemu-system-gnuarmeclipse will still be
available for a while, but it is no longer recommended for new projects.
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 Arm is a cross-platform binary distribution of the public open-source QEMU project.
The main benefits of using the xPack QEMU Arm 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 Arm is fully compatible with the original
xPack QEMU Arm 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 Arm on various platforms are presented in a dedicated install page.
The recommended method to test QEMU is using the new Eclipse QEMU Arm 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.