Versal ACAP Use Cases - 2021.2 English

Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400)

Document ID
UG1400
Release Date
2021-12-15
Version
2021.2 English

For Versal® ACAP, Vivado® generates a boot image known as programmable device image (PDI). This Vivado generated PDI contains the bootloader software executable – Platform Loader and Manager (PLM), along with PL related components, and supporting data files. Based on the project and the CIPS configuration, Vivado creates a BIF file and invokes Bootgen to create the PDI. This BIF is exported as part of XSA to software tools like Vitis™ . The BIF can then be modified with required partitions and attributes. Ensure that the lines related to id_code and extended_id_code are retained as is in the BIF file. This information is mandatory for the PDI image generation by Bootgen.

If you want to write the BIF manually, refer to the BIF generated by Vivado for the same device and ensure that the lines related to id_code and extended_id_code are added to the BIF that you are writing manually. The sample BIF generated by Vivado is as follows:

new_bif:
{
	id_code = 0x04ca8093
	extended_id_code = 0x01
	id = 0x2
	image
	{
		name = pmc_subsys
		id = 0x1c000001
		partition
		{
			id = 0x01
			type = bootloader
			file = gen_files/executable.elf
		}
		partition
		{
			id = 0x09
			type = pmcdata, load = 0xf2000000
			file = topology_xcvc1902.v2.cdo
			file = gen_files/pmc_data.cdo
		}
	}
	image
	{
		name = lpd
		id = 0x4210002
		partition
		{
			id = 0x0C
			type = cdo
			file = gen_files/lpd_data.cdo
		}
		partition
		{
			id = 0x0B
			core = psm
			file = static_files/psm_fw.elf
		}
	}
	image
	{
		name = pl_cfi
		id = 0x18700000
		partition
		{
			id = 0x03
			type = cdo
			file = system.rcdo
		}
		partition
		{
			id = 0x05
			type = cdo
			file = system.rnpi
		}
	}
	image
	{
		name = fpd
		id = 0x420c003
		partition
		{
			id = 0x08
			type = cdo
			file = gen_files/fpd_data.cdo
		}
	}
}
Note: The executable.elf in Vivado generated BIF file is the firmware that executes of PLM. The BIF file generated in a Vivado project is located in <vivado_project>/<vivado_project>.runs/impl_1/<Vivado_project>_wrapper.pdi.bif.