Xtensa Emulation (QEMU)

Overview

The QEMU board configuration is used to emulate the Xtensa architecture. This board configuration provides support for the Xtensa simulation environment.

Qemu

Qemu (Credit: qemu.org)

Programming and Debugging

Use this configuration to run basic Zephyr applications and kernel tests in the QEMU emulated environment, for example, with the Synchronization Sample:

cd $ZEPHYR_BASE/samples/synchronization
mkdir build && cd build

# Use cmake to configure a Ninja-based build system:
cmake -GNinja -DBOARD=qemu_xtensa ..

# Now run ninja on the generated build system:
ninja run

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

***** BOOTING ZEPHYR OS v1.8.99 - BUILD: Jun 27 2017 13:09:26 *****
threadA: Hello World from xtensa!
threadB: Hello World from xtensa!
threadA: Hello World from xtensa!
threadB: Hello World from xtensa!
threadA: Hello World from xtensa!
threadB: Hello World from xtensa!
threadA: Hello World from xtensa!
threadB: Hello World from xtensa!
threadA: Hello World from xtensa!
threadB: Hello World from xtensa!

Debugging

Refer to the detailed overview about Custom Board, DeviceTree and SOC Definitions.