The Linux application can be launched automatically at boot time or by executing the control application by a user on the command line. For bare metal, the application is launched automatically during boot.
When launching, the packaging need to use the defer running AIE at boot option. See --package Options in the Vitis Reference Guide (UG1702)
If you are using the common Linux components that are provided by AMD, perform the following to run an application on the platform:
- Write the sd_card.img generated
by the Vitis compiler command
v++ --packageto the SD card. - Boot the board.
- Run the command cd /mnt/sd-mmcblk0p1/.
- Run the command source init.sh.
- Run the application. For example, for vector addition, run ./vadd ./binary_container_1.xclbin.
The application uses Xilinx Runtime (XRT) to communicate with kernels. To set up the environment for XRT, run init.sh. This command does the following:
- It sets the environment variable XILINX_XRT to /usr to allow the application to find the XRT environment.
- It copies platform_desc.txt to /etc/xocl.txt to inform XRT which platform it is running on.
Note: This was done
automatically for embedded platforms in the 2019.2 release of Vitis. Due to the fact that automatically running init.sh may introduce security breaches, common Linux
rootfs did not run init.sh by default.
Note: If the sd_card.img file has already been written to the SD card
and you are only updating the application, you can save time in the debugging phase by
copying all files from <Vitis System
Project>/Hardware/package/sd_card to a FAT32 partition on a SD card to
replace existing files. The Ext4 partition does not change in sd_card.img.