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: 
Visitor crescent1973
Visitor
158 Views
Registered: ‎10-17-2018

Something wrong with petalinux-package tool

Hi everyone,

I'm working with a custom zynq board. My hardware designer fixed it to QSPI FLASH boot mode so I need to generate a BOOT.bin with fsbl, bitstream, uboot and image.ub.

After I did petalinux-package --fsbl --fpga --u-boot --kernel  I checked the .bif file. There was a [load=0x01020000] value in front of the path to image.ub which means the FSBL will write image.ub to this address in DDR. But the u-boot's default setting shows that it will copy image.ub to 0x01000000 in DDR from 0x01020000 in FLASH then boot from 0x01000000.  Of course this BOOT.bin can't work, the boot process stucked at "Error: can't get kernel image".

Interestingly, 0x01020000 is the "kernel partition" start-address in my device-tree about QSPI FLASH.

Then I used SDK to generate a boot image. This time I manually use [offset=0x01020000] which means the image.ub will be put in this address of BOOT.bin. Then it works since uboot can copy image from right address. So I think the tools must have something wrong. The petalinux-package just generates a wrong .bif file then put all files together in sequence. The uboot thinks BOOT.bin in FLASH was arranged according to partition setting in device-tree.

Forgive my confused expression plz. Is my understanding correct? Have you ever met the same situation? Thank you for any relevant information!

0 Kudos
1 Reply
Moderator
Moderator
146 Views
Registered: ‎09-12-2007

Re: Something wrong with petalinux-package tool

You can set the partitions in the petalinux_config t match what is expected in the u-boot. This should get populated to the bif when created in petalinux-package.

 

However, you can also just manually create this in bootgen (from XSCT)

  • bootgen -arch zynqmp -image bootgen.bif -o i BOOT.BIN -w on
0 Kudos