Jump to content
  • 0

Can't build Petalinux project with new Hardware Description File (.hdf)


Jeremy

Question

I created a petalinux project using the following commands and wanted to use my own  Hardware Description File (.hdf) generated by IP Integration Demo. I have attached the Hardware Description files exported by vivado 2016.4.

$petalinux-create --type project -s ./Petalinux-Zybo-Z7-20-2017.4-2.bsp --name  hf2-petalinux

$cd  hf2-petalinux

$petalinux-config --get-hw-description=/home/jeremy/workspace/vivadoProj/IpIntegrate/IpIntegrate.sdk/IpI_wrapper_hw_platform_0/

But I cann't build the petalinux project to generate images when I stepped to run `petalinux-build` command.  The info prompted to the terminal is as follows:

jeremy@j-XPS-8700:~/workspace/zybo-z7-20/hf2-petalinux$ petalinux-build --verbose
[INFO] building project
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image
Loading cache: 100% |#####################################################################| Time: 0:00:00
Loaded 3257 entries from dependency cache.
Parsing recipes: 100% |###################################################################| Time: 0:00:01
Parsing of 2473 .bb files complete (2434 cached, 39 parsed). 3266 targets, 226 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |################################################################| Time: 0:00:05
Checking sstate mirror object availability: 100% |########################################| Time: 0:00:01
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
fsbl-2017.4+gitAUTOINC+77448ae629-r0 do_compile: NOTE: fsbl: compiling from external source tree /opt/pkg/petalinux/tools/hsm/data/embeddedsw
ERROR: device-tree-generation-xilinx+gitAUTOINC+3c7407f6f8-r0 do_compile: Function failed: do_compile (log file is located at /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/temp/log.do_compile.14317)
ERROR: Logfile of failure stored in: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/temp/log.do_compile.14317
Log data follows:
| DEBUG: Executing shell function do_compile
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:77.1-14 Label or path axi_dynclk_0 not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:82.1-12 Label or path axi_vdma_1 not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:85.1-10 Label or path v_tc_out not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:91.1-9 Label or path v_tc_in not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:94.1-12 Label or path axi_vdma_0 not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:97.1-16 Label or path axi_gpio_video not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:100.1-9 Label or path pwm_rgb not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:139.1-15 Label or path axi_i2s_adi_0 not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:155.1-14 Label or path axi_gpio_led not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:160.1-17 Label or path axi_gpio_sw_btn not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:164.1-14 Label or path axi_gpio_eth not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:201.1-11 Label or path axi_iic_0 not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:225.1-26 Label or path mipi_csi2_rx_subsystem_0 not found
| Error: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/system-user.dtsi:264.1-15 Label or path v_frmbuf_wr_0 not found
| FATAL ERROR: Syntax error parsing input tree
| WARNING: /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/temp/run.do_compile.14317:1 exit 1 from 'dtc -I dts -O dtb -R 8 -p 0x1000 -i /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0 -i /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/../components/plnx_workspace/device-tree/device-tree-generation -o /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/../components/plnx_workspace/device-tree/device-tree-generation/plnx_arm-system.dtb /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/../components/plnx_workspace/device-tree/device-tree-generation/plnx_arm-system.pp'
| ERROR: Function failed: do_compile (log file is located at /home/jeremy/workspace/zybo-z7-20/hf2-petalinux/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/temp/log.do_compile.14317)
ERROR: Task (/opt/pkg/petalinux/components/yocto/source/arm/layers/meta-xilinx-tools/recipes-bsp/device-tree/device-tree-generation_git.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3295 tasks of which 3288 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /opt/pkg/petalinux/components/yocto/source/arm/layers/meta-xilinx-tools/recipes-bsp/device-tree/device-tree-generation_git.bb:do_compile
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
ERROR: Failed to build project
webtalk failed:PetaLinux statistics:extra lines detected:notsent_nofile!
webtalk failed:Failed to get PetaLinux usage statistics!

Does anyone have any work-around to the errors? Any points would be appreciated!

 

PS:

I have separately tested the application of IP Integration Demo  to bare-metal (Zybo-z7-20) and petalinux project using default Hardware Description configuration. Kept all default options when running `petalinux-config  -c  u-boot`, `petalinux-config  -c  kernel`, and `petalinux-config  -c  rootfs`.

Additionally, I have tried to split `petalinux-build`  process by several detailed steps, i.e., running `petalinux-build -c bootloader`, `petalinux-build -c u-boot` and other following commands. The first one `petalinux-build -c bootloader` can be finished successfully. But when I execute `petalinux-build -c u-boot`,  the errors similar to above prompt out.

IpI_wrapper_hw_platform_0.tar.gz

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Hi @Jeremy,

Petalinux creates a series of .dts files based on your Hardware Description File, these are overwritten by the system-user.dtsi located in:

<petalinux project root>/project-spec/meta-user/recipes-bsp/device-tree/files

and the automatically created device tree files are here:

<petalinux project root>/components/plnx_workspace/device-tree/device-tree-generation

The petalinux project for Zybo-z7-20 from our github is configured based on this Vivado project which contains VTC, HDMI, I2S and other IPs. Consequently the  system-user.dtsi is used to redefine parameters of the automatically generated device tree files.

What you will have to do is rewrite the system-user.dtsi to suit your needs. Basically as far as I can tell from your .hdf you only have one axi gpio in the PL. This means that you will have to remove all the IP's from it which are not in your PL(you can see a list of them in the error you sent us) and if you want to use a different driver for your axi gpio IP you will have to add it to the system-user.dtsi and make the changes there

-Ciprian

Edited by Ciprian
Link to comment
Share on other sites

  • 0

Hi Ciprian,

Thanks very much for your supports. As you said, I commented those parts which are not needed in the system-user.dtsi file. Now the project can be built successfully. Thanks.

BTW, I thought a device tree file should have only one root (I mean starting with a slash.) and other components (maybe formally called "nodes") should under the curly brackets, like "  / {  ...other nodes... } ". But I found there were multiple roots (i.e., " / { ") in system-user.dtsi and multiple definitions of "&amba_pl {". I get confused to know about device tree. I am not familiar with device tree. If you could give some detailed points or any suggestions, I'd be very appreciated.

system-user.dtsi

Link to comment
Share on other sites

  • 0
On 1/13/2022 at 3:40 AM, thoonky said:

Sorry, so I want to check.. this system-user.dtsi is something we always have to modify ourselves and not system generated? like some scripts that read thru the .xsa or .hdf file?

Basically, if you want to make changes to what was auto-generated based on the xsa/hdf, you can do so by modifying system-user.dtsi.
So you don't have to always modify it, only when you want to change something.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...