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 james_newton
Visitor
487 Views
Registered: ‎01-08-2019

xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

We've been using the Zedboard for some time with xillinux 1.3 and a .bit file from an unusual source. That all works fine. I'm trying to upgrade to xillinux 2.0, same hardware, same zedboard, and trying to use the same .bit file (which works under 1.3) but it's having "unexpected consequences". Data isn't showing up in the memory map as expected, and when we try to write to it, the ethernet adapter seems to crash. 

I'm assuming the issue is that the .bit file needs to be updated because of changes made to the interface between the FPGA and the OS? I'd just like to get confirmation of that, as nothing in the doc's:
http://xillybus.com/downloads/doc/xillybus_getting_started_zynq.pdf
seems to indicate that would be necessary, and getting that .bit file updated requires resources I don't have access to at the moment. 

0 Kudos
1 Solution

Accepted Solutions
Adventurer
Adventurer
358 Views
Registered: ‎06-10-2014

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

Hello,

The cross-compiler for ARM is part of the embedded suite included in Vivado, but it isn't required for compiling the device tree.

See http://xillybus.com/tutorials/device-tree-zynq-1

If you have a self-contained DTS file (one that doesn't depend on include files from the kernel's sources), you can download the DTC compiler separately, and use it directly, as explained on the page linked above.

The reference you made to the Getting Started guide is to the part on compiling the kernel, which indeed requires a cross compiler -- this is definitely not necessary.

Regards,

   Eli

9 Replies
Adventurer
Adventurer
449 Views
Registered: ‎06-10-2014

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

Hello,

There a section on this page related to upgrading from 1.3 to 2.0:

http://xillybus.com/doc/old-xillinux-zedboard

Does it solve your issue?

Regards,

   Eli

Visitor james_newton
Visitor
431 Views
Registered: ‎01-08-2019

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution
That does help, thank you Eli! Apparently the .bit files do NOT need to be remade, so now I'm at a loss as to what is wrong. I'll post more details later.
0 Kudos
Visitor james_newton
Visitor
374 Views
Registered: ‎01-08-2019

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

So apparently we need to update the devicetree.dtb to support our application. I'm told that loading a driver after boot will not work as the boot toggles bits that cause our application problems. 

Obviously, we can't use the old devicetree binary, so we need to be able to modify the new one from source and compile it. I have the source devicetree.dts file, but I'm very confused as to what is needed to compile that. 

Keeping in mind that this is for a microzed, I'm following the instructions in 
http://xillybus.com/downloads/doc/xillybus_getting_started_zynq.pdf
and I've reached the point where it says I need to:

export CROSS_COMPILE=/path/to/crosscompiler/arm-xilinx-linux-gnueabi

But I have no idea where that cross compiler would be. I assume it's not included with the xillinux binary for the microzed because if it were, the exact path would be known right? And it would just be "compile" not "cross-compile".

I'm not sure what I need to load on my Ubuntu 16.04 64 bit PC to cross compile the devicetree. Any advice appreciated. 

0 Kudos
Adventurer
Adventurer
359 Views
Registered: ‎06-10-2014

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

Hello,

The cross-compiler for ARM is part of the embedded suite included in Vivado, but it isn't required for compiling the device tree.

See http://xillybus.com/tutorials/device-tree-zynq-1

If you have a self-contained DTS file (one that doesn't depend on include files from the kernel's sources), you can download the DTC compiler separately, and use it directly, as explained on the page linked above.

The reference you made to the Getting Started guide is to the part on compiling the kernel, which indeed requires a cross compiler -- this is definitely not necessary.

Regards,

   Eli

Visitor james_newton
Visitor
332 Views
Registered: ‎01-08-2019

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

THANK YOU! That was exactly what I was looking for. May I ask, is it normal to get so many warnings when compiling the dts file for the microzed?

./dtc -I dts -O dtb -o devicetree.dtb tests/xillinux-microzed.dts 
tests/xillinux-microzed.dts:21.17-27.4: Warning (unit_address_vs_reg): /phy0: node has a reg or ranges property, but no unit name
tests/xillinux-microzed.dts:63.6-69.5: Warning (unit_address_vs_reg): /pmu: node has a reg or ranges property, but no unit name
tests/xillinux-microzed.dts:71.38-78.4: Warning (unit_address_vs_reg): /fixedregulator@0: node has a unit name, but no reg property
tests/xillinux-microzed.dts:84.33-389.5: Warning (unit_address_vs_reg): /amba@0: node has a unit name, but no reg property
tests/xillinux-microzed.dts:324.8-332.5: Warning (simple_bus_reg): /amba@0/leds: missing or empty reg/ranges property
tests/xillinux-microzed.dts:174.33-216.6: Warning (spi_bus_bridge): /amba@0/ps7-qspi@e000d000: node name for SPI buses should be 'spi'
devicetree.dtb: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'
tests/xillinux-microzed.dts:117.41-141.6: Warning (avoid_unnecessary_addr_size): /amba@0/ps7-ethernet@e000b000: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property
tests/xillinux-microzed.dts:71.38-78.4: Warning (unique_unit_address): /fixedregulator@0: duplicate unit-address (also used in node /memory@0)
tests/xillinux-microzed.dts:71.38-78.4: Warning (unique_unit_address): /fixedregulator@0: duplicate unit-address (also used in node /amba@0)
tests/xillinux-microzed.dts:80.22-83.5: Warning (unique_unit_address): /memory@0: duplicate unit-address (also used in node /amba@0)
tests/xillinux-microzed.dts:306.31-314.6: Warning (unique_unit_address): /amba@0/ps7-usb@e0002000: duplicate unit-address (also used in node /amba@0/usb@e0002000)
tests/xillinux-microzed.dts:117.41-141.6: Warning (unique_unit_address): /amba@0/ps7-ethernet@e000b000: duplicate unit-address (also used in node /amba@0/ethernet@e000b000)
tests/xillinux-microzed.dts:14.3-49: Warning (chosen_node_stdout_path): /chosen:linux,stdout-path: Use 'stdout-path' instead
0 Kudos
Adventurer
Adventurer
320 Views
Registered: ‎06-10-2014

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

Hello,

Actually, I've never seen any warnings when compiling DTS files. Is this what you get with the original DTS file, or has it undergone some modifications?

Regards,

   Eli

Visitor james_newton
Visitor
309 Views
Registered: ‎01-08-2019

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

That is the original, unmodified, .dts file from the github repo. Now, I'm running this on my Ubuntu 16 PC... I'm wondering if it would be different if I installed the program and ran it on the microzed board?

0 Kudos
Highlighted
Adventurer
Adventurer
303 Views
Registered: ‎06-10-2014

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

Hello,

If that's the case, I suppose these warnings are a result of a relatively new revision of dtc. The Device Tree file was written quite a few years ago. So there's probably no issue ignoring the warnings.

But if you're about to use the original device tree, why don't you take the DTB from a fresh demo bundle, as suggested in the page I gave a link to earlier?

Regards,

   Eli

Visitor james_newton
Visitor
288 Views
Registered: ‎01-08-2019

Re: xillinux 1.3 to 2.0 upgrade requires updated .bit file?

Jump to solution

So it turns out there is a dtc program on the image at:
/usr/src/kernels/3.12.0-xillinux-1.3/scripts/dtc
and the files compile / decompile without warning when you use it. 

We need a few changes to the new dts file and I was making sure I could correctly compile the original, and that the resulting .dtb file would match the supplied .dtb file before I went on to make the changes. 

0 Kudos