cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
209 Views
Registered: ‎08-31-2020

Failed to compile device-tree when building DPU system

Environment: vivado & petalinux 2019.1    board: custom zynq-7100

I'm building a DPU system in zynq-7100 according pg338. System contains a DPU IP (3.3) with two B4096 cores, and the hardware is successfully built.

When building petalinux, petalinux-build reports an error:  

ERROR: device-tree-xilinx+gitAUTOINC+73e546e312-r0 do_configure: Function failed: do_configure

......

ERROR: [Hsi 55-1545] Problem running tcl command ::sw_device_tree::generate : missing operator at _@_
in expression "63 _@_64 - 32"
(parsing expression "63 64 - 32")
invoked from within
"expr $intr_id - 32"

......(logfile is attached)

I assume the error is due to the two interrupt lines for two cores in dpu. When the DPU only contains one core, petalinux can be built without error. What should I do next? Thanks !!

Following is the block design and the device-tree of dpu.image.png

device-tree of dpu :

&amba{
dpu{
compatible = "xilinx,dpu";
base-addr = <0x40000000>;
dpucore {
compatible = "xilinx,dpucore";
interrupt-parent = <&intc>;
interrupts = <0x0 106 0x1 0x0 107 0x1>;
core-num = <0x2>;
};
};
};

 

 

0 Kudos
Reply
1 Reply
Visitor
Visitor
131 Views
Registered: ‎08-31-2020

I have found a workaround by change the code "set intr_id [expr $intr_id - 32]" in common_proc.tcl (located in the petalinux build ) into "set intr_id {31 32}"  . "31 32" are the id of two interrupt lines (this information can be found in the zynq TRM pdf). 

 

0 Kudos
Reply