Skip to main content

xPack QEMU Arm v2.8.0-8 released

· 5 min read

Version 2.8.0-8 is a maintenance release, to fix a bug affecting STM32F1 GPIOs.

Download​

The binary files are available from GitHub Releases.

Install​

The easiest way to install this specific version, is by using xpm:

xpm install @xpack-dev-tools/qemu-arm@2.8.0-8.1 --verbose

Comprehensive instructions for installing xPack QEMU Arm on different platforms can be found in the Install Guide.

Compliance​

xPack QEMU Arm currently is based on the official QEMU, with major changes.

The current version is based on:

  • QEMU version 2.8.0, commit 0737f32 from Dec 20th, 2016

Changes​

Compared to the master qemu-system-arm, the changes are major, all application class Arm devices were removed and replaced by several Cortex-M devices.

The supported boards are:

xPack 64-bit QEMU v2.8.0 (qemu-system-gnuarmeclipse).

Supported boards:
Maple LeafLab Arduino-style STM32 microcontroller board (r5)
NUCLEO-F103RB ST Nucleo Development Board for STM32 F1 series
NUCLEO-F411RE ST Nucleo Development Board for STM32 F4 series
NetduinoGo Netduino GoBus Development Board with STM32F4
NetduinoPlus2 Netduino Development Board with STM32F4
OLIMEXINO-STM32 Olimex Maple (Arduino-like) Development Board
STM32-E407 Olimex Development Board for STM32F407ZGT6
STM32-H103 Olimex Header Board for STM32F103RBT6
STM32-P103 Olimex Prototype Board for STM32F103RBT6
STM32-P107 Olimex Prototype Board for STM32F107VCT6
STM32F0-Discovery ST Discovery kit for STM32F051 lines
STM32F4-Discovery ST Discovery kit for STM32F407/417 lines
STM32F429I-Discovery ST Discovery kit for STM32F429/439 lines
generic Generic Cortex-M board; use -mcu to define the device

Supported MCUs:
STM32F051R8
STM32F103RB
STM32F107VC
STM32F405RG
STM32F407VG
STM32F407ZG
STM32F411RE
STM32F429ZI

Warning: support for hardware floating point on Cortex-M4 devices is not available yet.

Bug fixes​

  • [#1]: due to an unfortunate copy/paste in a previous patch, some references to F4 were added to the F1 GPIO code, crashing QEMU for F1 targets; fixed;
  • [#2]: due an error in a previous patch enabling custom RAM sizes, the actual device RAM size was overridden by 128 and small boards had more memory than real; fixed.

Known problems​

  • Ctrl-C does not interrupt the execution if the --nographic option is used.

Documentation​

The original documentation is available in the share/doc folder.

Supported platforms​

Binaries for Windows, macOS and GNU/Linux are provided.

The binaries were built using the xPack Build Box (XBB), a set of build environments based on slightly older distributions, that should be compatible with most recent systems.

  • x86/x64 GNU/Linux: all binaries were built with GCC 7.4, running in a CentOS 6 Docker container
  • x86/x64 Windows: all binaries were built with mingw-w64 GCC 7.4, running in a CentOS 6 Docker container
  • x64 macOS: most binaries were built with GCC 7.4, running in a separate folder on macOS 10.10.5; GDB cannot be compiled with GCC, so Apple clang was used.

Tests​

The binaries were testes on Windows 10 Pro 32/64-bit, Ubuntu 18 LTS 64-bit, Xubuntu 18 LTS 32-bit and macOS 10.14.

The tests consist in running a simple blinky application on the graphically emulated STM32F4DISCOVERY board. The binaries were those generated by the simple Eclipse projects available in the xPack GNU Arm Embedded GCC project.

Checksums​

The SHA-256 hashes for the files are:

6b8439660287505725967d6d90e4379bc065e97fb38e2440941e5d328dabc5fa
xpack-qemu-arm-2.8.0-8-darwin-x64.tgz

c1e665a94998ab719af3973075a9d9e870a3da5fc11c2541904b122476beb179
xpack-qemu-arm-2.8.0-8-linux-x32.tgz

1bbf79a6ff549621916f19929c5cab78441737e126d29c540e23b28600041b2c
xpack-qemu-arm-2.8.0-8-linux-x64.tgz

a880c30e99f0c6542701a9fab0ba6c62af6c80e349998dd20aebe7ee634a5fae
xpack-qemu-arm-2.8.0-8-win32-x32.zip

cb7319cd877247d6e9edea94c0e9111bdc060fef70b7944a78d5a7ed8df77d68
xpack-qemu-arm-2.8.0-8-win32-x64.zip

Download analytics​

Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.