Emulation is supported for embedded platforms. The device is modeled as separate x86 process emulating the hardware. The user host code and the device model process communicate using RPC calls. For embedded platforms, where the CPU code is running on the embedded Arm processor, emulation flows use QEMU (Quick Emulator) to mimic the Arm-based PS-subsystem. In QEMU, you can boot embedded Linux and run Arm binaries on the emulation targets.
For running emulation of an embedded application, you will compile the
application for an Arm processor using Arm-GCC and launch the QEMU emulation environment on
an x86 processor to model the execution environment of the Arm processor. This requires the use of the launch_emulator.py command, or launch_emulator.sh shell scripts generated during the build process.
The details of this flow are explained in Running the System on Embedded Processor Platform.