Segmented Configuration flow is quickly booted on an operating system prior to PL loading; NoC + DDR is required in the first programming image. Defer PL loading indefinitely, with the ability to load PL PDI from any primary or secondary boot interface
Prerequisites
Versal flat design(xsa) contains boot pdi which includes Versal cips + NOC + DDR, and pld pdi, which has PL IPs
Build Steps
This section helps to build and boot segmented configuration design flow for Versal platforms.
- Source the PetaLinux
tool
source /opt/petalinux/petalinux-v<petalinux-version>-final/settings.sh
- Create a Versal template project or BSP
project
petalinux-create -t project -n versal-seg-flow --template versal petalinux-create -t project -s <bsp path> -n versal-seg-flow
- Go to the
project
cd versal-seg-flow
- Configure the project with flat xsa if you create project in
template
flow
petalinux-config --get-hw-description <flat.xsa>
- Enable FPGA manager, select FPGA
Manager → [*] Fpga Manager.Note: The PetaLinux FPGA manager configuration performs the following:
- fpga-overlay Machine features
- Enables the required kernel configs to load the fpgamanager driver
- Create the pl application to pack the pl pdi and the pl ips dtbo
into rootfs
command:
The previous command generates and packages the rm dtbo, pl pdi files into the rootfs(/lib/firmware/xilinx/<pl-app>)petalinux-create -t apps --template dfx_dtg_versal_full -n pl-app -- enable --srcuri "<path>/rprm.xsa>"
- To build the application, use the following command. The following command
generates the rootfs containing the rprm, dtbo, and respective pdi
files:
petalinux-build petalinux-build -c rootfs
To build only the application:
petalinux-build -c <pl-app>
- To boot target with PS generate the boot.bin using the following
command:
petalinux-package --boot --u-boot (It will pick *_soc.pdi) and packs as part of the boot.bin
Boot Steps
Once the base target is up, run the following command:
fpgautil -o /lib/firmware/can interface/pl.dtbo -b /lib/firmware/xilinx/pl-app/hw_description_pld.pdi