.. zephyr:board:: qemu_max
This board configuration will use QEMU to emulate a generic MAX hardware platform.
This configuration provides support for an ARM MAX CPU and these devices:
- GIC-400 interrupt controller
- ARM architected timer
- PL011 UART controller
The following hardware features are supported:
Interface | Controller | Driver/Component |
---|---|---|
GIC | on-chip | interrupt controller |
PL011 UART | on-chip | serial port |
ARM TIMER | on-chip | system clock |
The kernel currently does not support other hardware features on this platform.
This board configuration uses a system clock frequency of 62.5 MHz.
This board configuration uses a single serial communication channel with the CPU's UART0.
The following platform features are unsupported:
- Writing to the hardware's flash memory
Use this configuration to run basic Zephyr applications and kernel tests in the QEMU emulated environment, for example, with the :zephyr:code-sample:`synchronization` sample:
.. zephyr-app-commands:: :zephyr-app: samples/synchronization :host-os: unix :board: qemu_max :goals: run
This will build an image with the synchronization sample app, boot it using QEMU, and display the following console output:
***** Booting Zephyr OS build zephyr-v2.0.0-1657-g99d310da48e5 *****
threadA: Hello World from cpu 0 on qemu_max!
threadB: Hello World from cpu 0 on qemu_max!
threadA: Hello World from cpu 0 on qemu_max!
threadB: Hello World from cpu 0 on qemu_max!
threadA: Hello World from cpu 0 on qemu_max!
threadB: Hello World from cpu 0 on qemu_max!
threadA: Hello World from cpu 0 on qemu_max!
threadB: Hello World from cpu 0 on qemu_max!
Exit QEMU by pressing CTRL+A x.
Refer to the detailed overview about :ref:`application_debugging`.
The board supports the QEMU built-in Ethernet adapter to connect to the host system. See :ref:`networking_with_eth_qemu` for details.
It is also possible to use SLIP networking over an emulated serial port. Although this board only supports a single UART, so subsystems like logging and shell would need to be disabled, therefore this is not directly supported.
- (ID050815) ARM® Cortex®-A Series - Programmer’s Guide for ARMv8-A
- (ID070919) Arm® Architecture Reference Manual - Armv8, for Armv8-A architecture profile
- (ARM DAI 0527A) Application Note Bare-metal Boot Code for ARMv8-A Processors
- AArch64 Exception and Interrupt Handling
- Fundamentals of ARMv8-A