...
Create a new application project for the Libmetal demo on Linux. You can use the same VCK190 platform created for your standalone application on R5
Check the box to show all processors in the hardware configuration. Select the target processor psv_cortexa72 SMP
Create a new domain and provide the sysroot path. The sysroot path will be <plnx-proj>/images/linux/sdk/sysroots/cortexa72-cortexa53-xilinx-linux/
Select Linux empty application from the available templates and click finish.
Clone the Libmetal repo. Copy the src files below to your Vitis libmetal-linux application's src folder
Code Block $ git clone https://github.com/Xilinx/libmetal.git $ cd libmetal $ git checkout xlnx_rel_v2022.1 $ cd examples/system/linux/zynqmp/zynqmp_amp_demo/ $ cp common.h ipi_latency_demo.c ipi_shmem_demo.c ipi-uio.c shmem_atomic_demo.c shmem_demo.c shmem_latency_demo.c shmem_throughput_demo.c sys_init.c sys_init.h libmetal_amp_demo.c <vitis-proj-libmetal-linux>/src/
Add the metal library under ARM v8 Linux gcc linker Libraries.
Add the compiler flag CONFIG_IPI_MASK=0x08 under the ARM v8 Linux gcc compiler symbols
In common.h, make the following changes
Code Block #define IPI_DEV_NAME "ff360000.ipi" #define TTC_DEV_NAME "ff0e0000.ttc0"
Build the Libmetal Linux project.
The generated .elf will be in the <vitis-app>/Debug/ directory. This .elf will need to be copied to the PetaLinux meta-user/recipes-apps folder as described in Step 6 of the PetaLinux project setup instructions.
...