If you have a working Petalinux project can you package it up as a BSP and use that with the sdbuild Makefile? That will ensure that the device tree contains the appropriate PHY entry for the Ethernet device.
Peter
If you have a working Petalinux project can you package it up as a BSP and use that with the sdbuild Makefile? That will ensure that the device tree contains the appropriate PHY entry for the Ethernet device.
Peter
Hey Peter,
sounds good, I have to look into it. Probably way easier than doing everything manually. Just have to figure out how to do it. Just wondering, on their site it says the project requires Petalinux 2019.1. I’m using Petalinux 2020.1 (same for Vivado, Vitis… required for newest Pynq). Could this be a problem?
Hey Peter,
I have checked again and the existing Petalinux image seems to be problematic. For some strange reason the block design is empty when I want to recreate the hardware build. I think it is because the image was built using Petalinux 2019. Can I built my own Petalinux image with boot and device files and repackage that into a BSP and use that to construct a Pynq image?
Digilent have outdated bsp’s, so :\ I guess you are out of luck.
If you have created your own design based on 2020.1 version of tools and it is working, just package it and throw it into PYNQ boards folder.
Yes - hopefully the only thing that will be necessary is the Ethernet PHY from the device-tree. That’s board-specific and so can’t be auto-generated. You should be able to copy and paste the PHY definition from the existing BSP into a blank 2020.1 one and it should work. I know it’s Zynq-7000 rather than ZU+ but you can see how this was necessary for the Pynq-Z1 and Z2 boards here.
Peter
Thanks guys, I’m sitting on creating the BSP now. I will keep you updated!
Thank you both for the right hint. I managed to get it done. After creating the petalinux bsp with my own hardware built and updating the device tree with almost all of the definition given from the repository (removed some PL stuff from their builds) and enabling MDIO in the design again Ethernet was working. I then used the prebuilt aarch 64 image to built a Pynq image out of it and with the --ip=0.0.0.0 command I could access Jupyter as well. This took me way too long but super happy
At least with my device (RFSOC 2x2), it seems that using terminal for opening the Jupyter pynq interface wasn’t successful. Even though you can establish a connection to the board, terminal has trouble getting Jupyter open. What worked for me was “http://<board_ip_address>/lab” which takes a couple seconds to load. You shouldn’t need the terminal for the Jupyter interface then even though the device is on another network.
You could also try:
Terminal:
ssh -N -L localhost:1137:localhost:9090 xilinx@<board_ip_address>
Internet Browser:
localhost:1137/lab
The port numbers are somewhat arbitrary.