Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  1. 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

  2. Check the box to show all processors in the hardware configuration. Select the target processor psv_cortexa72 SMP

  3. Create a new domain and provide the sysroot path. The sysroot path will be <plnx-proj>/images/linux/sdk/sysroots/cortexa72-cortexa53-xilinx-linux/

  4. Select Linux empty application from the available templates and click finish.

  5. Clone the Libmetal repo. Copy the src files below to your Vitis libmetal-linux application's src folder

    Code Block
    $ git clone
    $ 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
  6. Add the metal library under ARM v8 Linux gcc linker Libraries.  

  7. Add the compiler flag CONFIG_IPI_MASK=0x08 under the ARM v8 Linux gcc compiler symbols 

  8. In common.h, make the following changes 

    Code Block
    #define IPI_DEV_NAME    "ff360000.ipi"
    #define TTC_DEV_NAME    "ff0e0000.ttc0"
  9. 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.