An embedded system comprises the embedded processor in Versal devices and the acceleration logic built into the following hardware components: the traditional PL (LUTs, block RAMs, UltraRAMs, DSPs), Versal drivers, bare-metal/Linux BSPs, and PetaLinux/Yocto tools. For Versal devices, the embedded compute system comprises the Arm Cortex-A72 and Cortex-R5F processors. For this design type, the use models can range from a sophisticated embedded software stack to a simple bare-metal stack only required to support programming of the hardware units.
An embedded system design runs a software stack executed on the built-in embedded processor that serves as an overall control plane for the kernels running on the acceleration units. Data transfer is managed between the embedded processors and Versal devices by the Xilinx Runtime (XRT) application programming interfaces (APIs). These APIs also have function calls for managing the hardware units. For more information, see the XRT and Vitis Platform Overview in the XRT Documentation .