UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
471 Views
Registered: ‎05-31-2018

Is petalinux-build necessary for every PL change?

I was getting up to speed with Vivado/Petalinux and wanted to ask, is rebuilding the kernel fsbl, u-boot, root filesystem, etc., necessary for every hardware change in the PL?

From the documentation, from what I gathered, a petalinux-config --get-hw-description=/hdf_location -> petalinux-build -> petalinux-package flow was recommended, but I was unsure if this was the procedure needed everytime, or could PL changes somehow be done individually while keeping a known, stable kernel version build.

0 Kudos
4 Replies
Participant jsara
Participant
456 Views
Registered: ‎08-14-2015

Re: Is petalinux-build necessary for every PL change?

I dont always rebuild.  But it depends on what changes.  I have found that adding a slave interface (firmware based address map) should be done consistent with a Linux build, unless you are using 128 bit data width for example.

0 Kudos
448 Views
Registered: ‎09-17-2018

Re: Is petalinux-build necessary for every PL change?

Petalinux need only be rebuilt if the OS drivers change (device tree changes require a re-build), or if you change other feature in PetaLinux OS,

Not needed for a rebuild of the programmable logic (unless that affects a PetaLinux driver or interface requiring a matching chane to c code there).

l.e.o.

0 Kudos
Contributor
Contributor
447 Views
Registered: ‎05-31-2018

Re: Is petalinux-build necessary for every PL change?


@jsara wrote:

I dont always rebuild.  But it depends on what changes.  I have found that adding a slave interface (firmware based address map) should be done consistent with a Linux build, unless you are using 128 bit data width for example.


Suppose you have the following scenario, where you want to program the PL through your uboot prompt:

U-Boot> fatload mmc 0 0x4000000 bitstream.bit
U-Boot> fpga loadb 0 0x4000000 <bitstream file size>

If the connections are generally the same in this bitstream as opposed to the one in the original .hdf file that petalinux-build referenced, would it be safe to use this new bitstream without rebuilding the kernel then?

Adding a new slave interface, or any other IP block to your design, will update your device tree, which you can also build individually apart from the kernel. But will your kernel be able to recognize this without it being rebuilt as well? This new ip block would be in the bitstream.bit examle I have above. 

0 Kudos
Contributor
Contributor
444 Views
Registered: ‎05-31-2018

Re: Is petalinux-build necessary for every PL change?


@lowearthorbit wrote:

Petalinux need only be rebuilt if the OS drivers change (device tree changes require a re-build), or if you change other feature in PetaLinux OS,

Not needed for a rebuild of the programmable logic (unless that affects a PetaLinux driver or interface requiring a matching chane to c code there).

l.e.o.


Thanks for the clarification, but what about using Device Tree Overlay (DTO)? From the information in this wiki, section(FPGA programming using Device Tree Overlay (DTO)): https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841645/Solution+Zynq+PL+Programming+With+FPGA+Manager

How are those changes different from changing the actual petalinux device drivers? 

 

0 Kudos