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: 
1,320 Views
Registered: ‎11-03-2017

petalinux-build failure with Value out of range for 32-bit array element

I am using Vivado 2017.2, and petalinux version 2017.2

petalinux-build fails with following error. Looks like my autogenerated pl.dtsi file has an address "0x002000000000" which seems to be the problem for
the device tree compiler tool.

is there anything special while exporting an HDF file to break this 0x002000000000 address into a 32-bit tuple ?


petalinux-build
ERROR: device-tree-generation-xilinx+gitAUTOINC+43551819a1-r0 do_compile: Function failed: do_compile (log file is located at /home/puser/take5/os5/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/temp/log.do_compile.3957)
ERROR: Logfile of failure stored in: /home/puser/take5/os5/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/temp/log.do_compile.3957
Log data follows:
| DEBUG: Executing shell function do_compile
| Error: /home/puser/take5/os5/build/../components/plnx_workspace/device-tree-generation/pl.dtsi:18.60-74 Value out of range for 32-bit array element
| Error: /home/puser/take5/os5/build/../components/plnx_workspace/device-tree-generation/pl.dtsi:18.75-87 Value out of range for 32-bit array element
| FATAL ERROR: Syntax error parsing input tree
| WARNING: /home/puser/take5/os5/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/temp/run.do_compile.3957:1 exit 1 from 'dtc -I dts -O dtb -R 8 -p 0x1000 -i /home/puser/take5/os5/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0 -i /home/puser/take5/os5/build/../components/plnx_workspace/device-tree-generation -o /home/puser/take5/os5/build/../components/plnx_workspace/device-tree-generation/plnx_aarch64-system.dtb /home/puser/take5/os5/build/../components/plnx_workspace/device-tree-generation/plnx_aarch64-system.pp'
| ERROR: Function failed: do_compile (log file is located at /home/puser/take5/os5/build/tmp/work/plnx_aarch64-xilinx-linux/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/temp/log.do_compile.3957)
ERROR: Task (/home/puser/components/yocto/source/aarch64/layers/meta-xilinx-tools/recipes-bsp/device-tree/device-tree-generation_git.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2423 tasks of which 2354 didn't need to be rerun and 1 failed.


culprit dts file pl.dtsi contents are as follows :

/ {
amba_pl: amba_pl@0 {
#address-cells = <2>;
#size-cells = <2>;
compatible = "simple-bus";
ranges ;
mod_0: mod@b0000000 {
compatible = "xlnx,mod-1.0";
interrupt-parent = <&gic>;
interrupts = <0 89 4>;
reg = <0x0 0xb0000000 0x0 0x10000 0xb0010000 0x1000 0x002000000000 0x2000000000>;
};
psu_ctrl_ipi: PERIPHERAL@ff380000 {
compatible = "xlnx,PERIPHERAL-1.0";
reg = <0x0 0xff380000 0x0 0x80000>;
};
psu_message_buffers: PERIPHERAL@ff990000 {
compatible = "xlnx,PERIPHERAL-1.0";
reg = <0x0 0xff990000 0x0 0x10000>;
};
};
};

0 Kudos
3 Replies
Moderator
Moderator
1,294 Views
Registered: ‎10-06-2016

Re: petalinux-build failure with Value out of range for 32-bit array element

Hi @l.subrahmanya

 

Could you provide more details about your use case?

  • Device are you using (Zynq or MPSoC)
  • Custom IP details regarding the AXI interface (seems that you have a custom IP)

 

You may want to test the device-tree generation in the SDK by itself rather than Petalinux first. Just follow the wiki page steps.

 

Regards,

Ibai


Ibai
Don’t forget to reply, kudo, and accept as solution.
0 Kudos
1,272 Views
Registered: ‎11-03-2017

Re: petalinux-build failure with Value out of range for 32-bit array element

@ibaie Thanks for the response.

 

I am using Zynq Ultrascale PLus MPSOC. I have an AXI slave in th PL and this slave supports 37 bit address. I have connected it to HPM0 port of MPSOC. HPM0 can be mapped to either base address 0xa000_0000 to 0xAFFF_FFFF (256 MB) or 0x10_0000_0000 to 0x47_FFFF_FFFF.

When I map this slave to 32 bit address offset 0xa000_0000, I see that DTS generated is fine. But when I map it to 0x20_0000_0000, I see this issue.

 

with SDK I got the same error too.

 

Thanks.

0 Kudos
Moderator
Moderator
1,263 Views
Registered: ‎10-06-2016

Re: petalinux-build failure with Value out of range for 32-bit array element

Hi @l.subrahmanya

 

Thanks for the clarification. It seems to be a DTG issue that is generating a wrong pl.dtsi file, so could you share you HDF file (or generate a dummy one) to recreate the issue on our side?

 

Just to discard an issue in the design, did you set the HPM0 bus width to use 64bit?

bus width.JPG

 

Regards,

Ibai


Ibai
Don’t forget to reply, kudo, and accept as solution.
0 Kudos