cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ahmed_3
Visitor
Visitor
620 Views
Registered: ‎05-20-2020

Petalinux rebuild after changing hardware

Jump to solution

Hello,

I am working on a petalinux project. I build my hardware by exporting HLS IP blocks to Vivado and then building my block diagram there. I then export this hardware to petalinux to build the SD card boot files. Currently every time I make a change to the hardware I have to run "petalinux-config --get-hw-description" and then "petalinux-build". This process takes up a lot of time, so I was wondering if there is a faster way if I make a slight change to my HLS code but don't change the interface of my Vivado project (for example, just uploading the new bitstream or something along those lines).

 

0 Kudos
1 Solution

Accepted Solutions
sabankocal
Voyager
Voyager
552 Views
Registered: ‎08-02-2019

Hi @ahmed_3 ,

Sometimes it works also, but I recommend that:

You know our design mainly has two files in sd card: image.ub and boot.bin.

We are loading bitstream by using boot.bin.

After new bit file generation, calling petalinux-package is very fast.

Then I'm making ssh connection to my board.

Mount sd card

Copy files into sd card(for our scenario only boot.bin file, image.ub not changed )

Unmount sd card.

Reboot board.

That is my way. So that all the registers and statuses initializes.

But again it depends your design, sometimes I'm only checking some values on ILA debug window, this time your way is better(just updating bit file)

Saban

<--- If reply is helpful, please feel free to give Kudos, and close if it answers your question --->

View solution in original post

0 Kudos
3 Replies
sabankocal
Voyager
Voyager
591 Views
Registered: ‎08-02-2019

Hi @ahmed_3 ,

Actually, your way is the best and has no risk.

But if you want to accelarate your development time, I can recommend that:

When you generate a new bit file, you export it and it named hdf(hardware definition file). It contains your ip blocks in your vivado design, its addresses on Address editor, IRQ numbers...

Whenevere you change this kind of structurel thing you must call config with new hdf file and petalinux adjusts itself(device-tree...) according to your changes.

When I don't make this kind of structural changings, for example algorithm changing, I'm not calling petalinux-config and petalinux-build again.

Saban

   

<--- If reply is helpful, please feel free to give Kudos, and close if it answers your question --->
ahmed_3
Visitor
Visitor
562 Views
Registered: ‎05-20-2020

Hi @sabankocal ,

Thank you for the quick reply!!! So does that mean I can just use JTAG to upload the new bitstream file while the linux is running on the board and without having to reboot (assuming I don't make any structural changes).

0 Kudos
sabankocal
Voyager
Voyager
553 Views
Registered: ‎08-02-2019

Hi @ahmed_3 ,

Sometimes it works also, but I recommend that:

You know our design mainly has two files in sd card: image.ub and boot.bin.

We are loading bitstream by using boot.bin.

After new bit file generation, calling petalinux-package is very fast.

Then I'm making ssh connection to my board.

Mount sd card

Copy files into sd card(for our scenario only boot.bin file, image.ub not changed )

Unmount sd card.

Reboot board.

That is my way. So that all the registers and statuses initializes.

But again it depends your design, sometimes I'm only checking some values on ILA debug window, this time your way is better(just updating bit file)

Saban

<--- If reply is helpful, please feel free to give Kudos, and close if it answers your question --->

View solution in original post

0 Kudos