Adding Custom dtsi and bit Files to the FPGA Manager for Zynq-7000 Devices and Zynq UltraScale+ MPSoCs - 2020.2 English

PetaLinux Tools Documentation Reference Guide (UG1144)

Document ID
UG1144
Release Date
2020-11-24
Version
2020.2 English
This section provides the mechanism and infrastructure required to work with readily (hand-stitched) available dtsi files instead of relying on the XSA to generate them when the FPGA manager is enabled. This generates the dtbo and bin files and copies them into the rootfs /lib/firmware directory and loads them when the system boots.
  1. Create the FPGA manager template:
    $ petalinux-create -t apps --template fpgamanager -n can-interface --enable
         	   INFO: Create apps: can-interface
         	   INFO: New apps successfully created in <project-root-dir>/project-spec/meta-user/recipes-apps/can-interface
         	   INFO: Enabling created component...
         	   INFO: sourcing build environment
         	   INFO: silentconfig rootfs
         	   INFO: can-interface has been enabled
  2. Replace default files with your own dtsi files. You can generate dtsi files using the device tree generator.
    $ cp can.dtsi can.bit project-spec/meta-user/recipes-apps/can-interface/files/
  3. Build the application:
    $ petalinux-build
  4. Check the target for dtbo and .bin files:
    $ ls /lib/firmware/can-interface/
                   pl.dtbo   system.bit.bin

To stop loading the dtbo and .bin files at system boot, add FPGA_INIT = "0" to the <project-root-dir>/project-spec/meta-user/recipes-apps/can-interface/can-interface.bb file.