As mentionend above, the methodology to pass the metadata from hardware from Vivado to Vitis IDE has changed. The sections below detail these changes. However, these changes will not affect the users as the AMD baremetal drivers, standalone bsp and libraries have been fully ported to this new methodology.
Before we proceed to the project migration. There are a few differences in Vitis Unified IDE in how the hardware metadata is extracted and processed. For example, Let’s take the BSP (or Domain). This is a collection of drivers and libraries and processor specific files that are tailored to a users hardware specification based on the XSA file. In Classic Vitis the hardware metadata was extracted from the XSA using HSI (Hardware Software Interface) API and cross checked against the MLD in embeddedsw repository, and if found then the driver source files are added. Each driver has a driver_name_g.c. This file initization file is dynamically generated in the TCL file in the drivers data folder. This is used to initialize the driver struct. In Vitis unified flow, this is a little different. The XSA and HSI is still used. However, the HSI is used to create the SDT (System Device Tree), and then lopper uses the SDT to extract the metadata and cross checks the node (or IP) compatility string against the driver YAML file embeddedsw repository. The driver/library naming will still be the same. However, instead of an MLD/MDD (library/driver) there is a YAML file. Users can also reference the porting guide UG1647.