1.. zephyr:board:: qemu_cortex_a53 2 3Overview 4******** 5 6This board configuration will use QEMU to emulate a generic Cortex-A53 hardware 7platform. 8 9This configuration provides support for an ARM Cortex-A53 CPU and these 10devices: 11 12* GIC-400 interrupt controller 13* ARM architected timer 14* PL011 UART controller 15 16Hardware 17******** 18Supported Features 19================== 20 21The following hardware features are supported: 22 23+--------------+------------+----------------------+ 24| Interface | Controller | Driver/Component | 25+==============+============+======================+ 26| GIC | on-chip | interrupt controller | 27+--------------+------------+----------------------+ 28| PL011 UART | on-chip | serial port | 29+--------------+------------+----------------------+ 30| ARM TIMER | on-chip | system clock | 31+--------------+------------+----------------------+ 32 33The kernel currently does not support other hardware features on this platform. 34 35Devices 36======== 37System Clock 38------------ 39 40This board configuration uses a system clock frequency of 62.5 MHz. 41 42Serial Port 43----------- 44 45This board configuration uses a single serial communication channel with the 46CPU's UART0. 47 48Known Problems or Limitations 49============================== 50 51The following platform features are unsupported: 52 53* Writing to the hardware's flash memory 54 55 56Programming and Debugging 57************************* 58 59Use this configuration to run basic Zephyr applications and kernel tests in the QEMU 60emulated environment, for example, with the :zephyr:code-sample:`synchronization` sample: 61 62.. zephyr-app-commands:: 63 :zephyr-app: samples/synchronization 64 :host-os: unix 65 :board: qemu_cortex_a53 66 :goals: run 67 68This will build an image with the synchronization sample app, boot it using 69QEMU, and display the following console output: 70 71.. code-block:: console 72 73 ***** Booting Zephyr OS build zephyr-v2.0.0-1657-g99d310da48e5 ***** 74 threadA: Hello World from qemu_cortex_a53! 75 threadB: Hello World from qemu_cortex_a53! 76 threadA: Hello World from qemu_cortex_a53! 77 threadB: Hello World from qemu_cortex_a53! 78 threadA: Hello World from qemu_cortex_a53! 79 threadB: Hello World from qemu_cortex_a53! 80 threadA: Hello World from qemu_cortex_a53! 81 threadB: Hello World from qemu_cortex_a53! 82 83Exit QEMU by pressing :kbd:`CTRL+A` :kbd:`x`. 84 85Debugging 86========= 87 88Refer to the detailed overview about :ref:`application_debugging`. 89 90Networking 91========== 92 93The board supports the QEMU built-in Ethernet adapter to connect to the host 94system. See :ref:`networking_with_eth_qemu` for details. 95 96It is also possible to use SLIP networking over an emulated serial port. 97Although this board only supports a single UART, so subsystems like logging 98and shell would need to be disabled, therefore this is not directly supported. 99 100References 101********** 102 103.. target-notes:: 104 1051. (ID050815) ARM® Cortex®-A Series - Programmer’s Guide for ARMv8-A 1062. (ID070919) Arm® Architecture Reference Manual - Armv8, for Armv8-A architecture profile 1073. (ARM DAI 0527A) Application Note Bare-metal Boot Code for ARMv8-A Processors 1084. AArch64 Exception and Interrupt Handling 1095. Fundamentals of ARMv8-A 110