The repository provides Makefiles to build and copy hardware and software images to the deploy area.
Running make build_sw builds the software components for the given configuration.
Here is an example build command for vck190 production board.
cd $REPO_SRC
make build_sw BAORD=vck190 DESIGN=base
As the XSA file is not explicitly provided in above command, the build looks for the xsa file at output/vck190-prod-base/reference_images/versal_restart_trd_wrapper.xsa. If the file is not present here, the build triggers the hardware build to generate the xsa file before building the software.
Here is the output for the above build.
output/
└── vck190-prod-base
├── petalinux-sdimage.wic.xz #SD card image
└── reference_images
├── bl31.elf
├── boot.bif
├── BOOT.BIN
├── boot.scr
├── Image
├── plm.elf
├── psmfw.elf
├── ramdisk.cpio.gz.u-boot
├── rootfs.tar.gz
├── rpu_app.elf
├── system.dtb
├── u-boot.elf
├── versal_restart_trd_wrapper.pdi
└── versal_restart_trd_wrapper.xsa
It is also possible to provide the XSA file explicitly by XSA_FILE option.
make BOARD=vmk180 XSA_FILE=/scratch/build-area/hw/new.xsa'
This produces
output/
└── vmk180-prod-base
├── petalinux-sdimage.wic.xz
└── reference_images
├── bl31.elf
├── boot.bif
├── BOOT.BIN
├── boot.scr
├── Image
├── plm.elf
├── psmfw.elf
├── ramdisk.cpio.gz.u-boot
├── rootfs.tar.gz
├── rpu_app.elf
├── system.dtb
└── u-boot.elf
Run make help in $REPO_SRC directory to see various build options.
For more details on usage of Makefile refer the README.md file in the repository.