cancel
Showing results for 
Search instead for 
Did you mean: 
265 Views
Registered: ‎10-03-2019

zcu111 BOOT.bin

I am writing to get some information regarding the generation of BOOT.bin file for zcu111.

Previously I have worked with zynqs where I could generate the BOOT.bin using SDK, after been given the first stage boot loader and u-boot elfs.

For zcu111 it seems that the process is not as it used to be and one has to use petalinux to get to the point to be able to generate BOOT.bin files.So far I am following the guidelines from

here:

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug1144-petalinux-tools-reference-guide.pdf#nameddest=PetaLinuxToolsInstallationSteps

And here :

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/57770205/RFSoC+RFdc+Build+and+Run+Flow+Tutorial#RFSoCRFdcBuildandRunFlowTutorial

 

I have gotten up to the 5th step (Building the PetaLinux Project)of the tutorial, where I need to copy the device tree files from one location to another(cp project-spec/meta-user/recipes-bsp/device-tree/files/system-user_ssr.dtsi project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi)

That is one confusing bit, since there is no system-user_ssr.dtsi file created from the previous steps(I am trying to build for ssr configuration).I wonder if the file am looking for is the one existing at: rdf0476_zcu111_rf_dc_eval_tool_2019_2/apu/rfsoc_petalinux_bsp/project-spec/meta-user/recipes-bsp/device-tree/files

If it is the next question created is which one should I replace with it? After running a search I found 2 strings with the desirable directory structure:

/petalinux/2019.2/etc/template/project/template-versal/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi

and

/petalinux/2019.2/etc/template/project/common/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi

 

Furthermore,point 6 on the same tutorial says:

petalinux-package --force --boot --fsbl zynqmp_fsbl.elf --fpga system.bit --pmufw pmufw.elf --u-boot u-boot.elf

I was wondering if the zynqmp_fsbl.elf, pmufw.elf and u-boot.elf are generated after building the SSR IP from step 5 or if I need to create them?

If I do have to create them, could someone point how this is done?

Or alternative, is it possible to provide them as an attachment?

 

0 Kudos
6 Replies
Highlighted
Moderator
Moderator
157 Views
Registered: ‎09-12-2007

Re: zcu111 BOOT.bin

You can use the petalinux to create the boot.bin for you using the petalinux-package command (see ug1146 for more info here).

Or you can create this manually using bootgen. The files in the boot.bin include; fsbl, bit (optional), pmufw, atf, uboot.

Bootgen uses a BIF. An example BIF is shown below:

the_ROM_image:
{
[fsbl_config] a53_x64
[bootloader] zynqmp_fsbl.elf
[pmufw_image] zynqmp_pmufw.elf
[destination_device=pl] design_1_wrapper.bit
[, destination_cpu=a53-0,exception_level=el-3,trustzone] bl31.elf
[, destination_cpu=a53-0,exception_level=el-2] u-boot.elf
}
 
The bootgen command is:
bootgen -arch zynqmp -image bootgen.bif -o i BOOT.BIN -w on
0 Kudos
Highlighted
109 Views
Registered: ‎10-03-2019

Re: zcu111 BOOT.bin

Hello @stephenm and thank you for your reply.

In another post of the forum : https://forums.xilinx.com/t5/Xilinx-Evaluation-Boards/ZCU111-Files-not-using-petalinux/m-p/964709 , it is mentioned that "In general, you can create a boot.bin file using SDK but not for ZCU111 TRD files".

I am wondering if bootgen will help me achieve my goal build and start using (possibly modify) any of the 3 reference designs (mts, non-mts and ssr) for zcu111.

Thanks in advance for your reply

0 Kudos
Highlighted
Moderator
Moderator
99 Views
Registered: ‎09-12-2007

Re: zcu111 BOOT.bin

Im going to assume that these apps are running in baremetal. If so, then you can pretty mush use the same bif as above, but remove the bl31 and uboot elfs, and place in your app.elf instead

 

the_ROM_image:
{
[fsbl_config] a53_x64
[bootloader] zynqmp_fsbl.elf
[pmufw_image] zynqmp_pmufw.elf
[destination_device=pl] design_1_wrapper.bit
[, destination_cpu=a53-0] app.elf
}
 
The bootgen command is:
bootgen -arch zynqmp -image bootgen.bif -o i BOOT.BIN -w on
0 Kudos
Highlighted
79 Views
Registered: ‎10-03-2019

Re: zcu111 BOOT.bin

Hello @stephenm I really appreciate your answers.

However for time being I only want to use the FPGA for and of the 3 reference designs, can you please give some pointers on the app.elf part?

Is it necessary to exist in the .bif?

G   

0 Kudos
Highlighted
Moderator
Moderator
74 Views
Registered: ‎09-12-2007

Re: zcu111 BOOT.bin

If you want to boot from SD or QSPI then you would need a BOOT.BIN file. If you want  to have the app included in the BOOT.BIN, then it needs to be in the BIF.

See the example in previous post.

 

However, if you want to use JTAG, then you can use the Vitis debugger, or directly in the XSCT to download the images to the board

0 Kudos
Highlighted
72 Views
Registered: ‎10-03-2019

Re: zcu111 BOOT.bin

@stephenm Thank you very much for your reply once again.

I want to boot from the SD card, as you previously explained to me that is doable by simply using the bootgen from the xsct.

Which is straightforward and clear, however you also mention that I need to include the app.elf in the .bif file.

What is the app that should replace the u-boot file?Is it necessary to be in the .bif file? 

G

0 Kudos