01-08-2019 12:23 PM
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:
seems to indicate that would be necessary, and getting that .bit file updated requires resources I don't have access to at the moment.
01-08-2019 11:34 PM
01-09-2019 11:32 AM
01-16-2019 05:03 PM - edited 01-16-2019 05:04 PM
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
and I've reached the point where it says I need to:
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.
01-16-2019 11:57 PM
The cross-compiler for ARM is part of the embedded suite included in Vivado, but it isn't required for compiling the device tree.
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.
01-17-2019 04:03 PM
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
01-18-2019 02:10 AM
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?