Based on the open source Eclipse platform, the Vitis development platform provides a complete environment for creating software applications that are targeted for FPGA embedded processors. The environment includes a GNU-based compiler toolchain, C/C++ development toolkit (CDT), JTAG debugger, flash programmer, middleware libraries, bare-metal BSPs, and drivers for AMD IPs. The development environment also includes a robust IDE for C/C++ bare-metal and Linux application development and debugging.
The development environment lets you create software applications using a unified set of AMD tools for the Arm Cortex®-A72 and Cortex®-R5F processors, as well as the AMD MicroBlaze™ processors. The environment provides the following methods to create applications:
- Bare-metal and FreeRTOS applications for MicroBlaze processors
- Bare-metal, Linux, and FreeRTOS applications for APU
- Bare-metal and FreeRTOS applications for RPU
- User customization of PLM, which is primarily used to boot Versal devices
- Library examples are provided with Vitis libraries (ready to load sources and build), as follows:
- OpenCV
- OpenAMP RPC
- FreeRTOS “HelloWorld”
- LWIP
- Performance tests (Dhrystone, memory tests, and peripheral tests)
- Cryptographic hardware engine access
- eFUSE and BBRAM programming
- PLM
All processes necessary to successfully complete this export process are run automatically. The Vitis development flow process exports the following files to the Vitis development platform directory:
- .xpr
- Vivado project file
- .pdi
- Contains PLM file (plm.elf), PSM firmware (psm_fw.elf) and all design specific CDO files (pmc_data.cdo, lpd_data.cdo, *.rcdo, *.rnpi, ai_engine_data.cdo (if AI Engine is used), and fpd_data.cdo)
- .xsa
- Xilinx Support Archive for the design.
The Vitis development flow can be used to generate programmable device image (PDI) for secure and non-secure boot for the following processors:
- Arm Cortex-A72
- Arm Cortex-R5F
- MicroBlaze
The Vitis development kit supports Linux application development and debugging.
For more information, see Vitis Embedded Software Development Flow Documentation (UG1400).