Post Go back to editing

Building HDL from Reference Files

Category: Hardware
Product Number: AD4630-24
We're having trouble building the HDL from source and capturing samples using the python scripts from github. We're using the board design available here (github.com/.../hdl) and the python drivers here (github.com/.../pyadi-iio) to capture data.

Here our are steps for generating the build image:
We're pulling the repo down, following the steps here(wiki.analog.com/.../build) to build the .xsa. Then running this script to generate the BOOT.bin based on these steps (wiki.analog.com/.../build-the-zynq-boot-image). We're using the boot files that came with the sdcard from zynq-common.

We've tried building in both Vivado/Vitas 2021. and 2023. I can tell the capture is not correct when we are using test signals to capture.

We also verified the zedboard and FMC card are working by using the SD card that came with the board and the same python script to capture data with the SD card that came with the board.
Any thoughts on what could be wrong with our build process? Does anyone have experience using the HDL from GitHub to work with this FMC card?

Thread Notes

Parents
  • Hi  ,

    Can you give us more details on what exactly is not working, and what & how you tested? To have an overall idea of what has been done so far.

    What branch did you use? I'm asking for both repos.

    What files did you upload onto the SD card?

    Also if you can post the contents that the command dmesg is printing. This command should be run in the terminal connected to your Zedboard.

    Best regards,
    Iulia

  • Hi,

    I'll start with the main branch on the repo. I pulled down the repo and ran:
    make -C projects/ad4630_fmc/ build2=1

    Using theses steps and build_boot_bin.sh here (wiki.analog.com/.../build-the-zynq-boot-image), made a Boot.bin file using the .xsa file in projects/ad4630_fmc/zed/ad4630_fmc_zed.sdk folder.

    I use a sdcard to make a kiper imageusing these steps wiki.analog.com/.../adi-kuiper_images_for_ace

    Then copy the files to the SDCard. I'm sure that the way I make the SDCard is fine because when I copy the BOOT.bin from the SDCard that came with the FMC card, everything works. But when I copy the BOOT.bin that I generated, the capture isn't working.

    Do you all have steps on how to build this FMC using the HDL from the repo?
  • If you are using the main branch from hdl. You should also use the main from Linux.

    Andrei

  • Can you please confirm what reference you used in the Kiper image to generate the boot. Did you use zync-zed-imageon or zync-common?
  • 0
    •  Analog Employees 
    •  Super User 
    in reply to chaii

    Hi,

    Here is a guide on how to build the HDL system_top.xsa, needed by the build_zynq_boot_bin.sh build_boot_bin.sh script to generate the BOOT.BIN.

    https://analogdevicesinc.github.io/hdl/user_guide/build_hdl.html#building-an-amd-project

    As my colleague said, if you used the main branch from HDL, you should use the main branch on Linux as well. This means you need to build the uImage from main branch, like this: https://wiki.analog.com/resources/tools-software/linux-build/generic/zynq. You don't take it from zynq-common folder from SD card.

    If you changed the device tree, then that one you need to build as well, to create the .dtb file. Here is an example: https://wiki.analog.com/resources/tools-software/linux-build/generic/zynq#build_the_devicetree_fcmomms2345 

    Best regards,
    iulia

  • Am I understanding the following steps correctly? I did the following but am not able to get data.

    Building the HDL
    1. Pull down HDL repo from github, using the main branch
    2. cd /hdl/projects/ad4630_fmc
    3. Build the .xsa file
    - make ADI_IGNORE_VERSION_CHECK=1
    at this point, system_top.xsa is in should be in zed/ADIIGNOREVERSIONCHECK/ad4630_fmc_zed.sdk

    Next, I'm generating the BOOT.bin using the system_top.xsa file. But first, I built the u-boot.elf doing the following:
    4. Download u-boot-xlnx
    5. cd u-boot-xlnx
    6. edit my bashrc to include:
    - export CROSS_COMPILE=arm-linux-gnueabihf-
    - export ARCH=arm
    6. run source ~/.bashrc in the same terminal
    7. continue running commands to build u-boot.elf
    - make distclean
    - make xilinx_zynq_virt_defconfig
    - export DEVICE_TREE="zync-zc702"
    - make

    Next, I'm buidling the BOOT.bin using .xsa and .elf files
    8. Download the build_boot_bin.sh script and use "chmod +x" on it
    9. run the script:
    - ./build_boot_bin.sh path/to/.xsa path/to/u-boot.elf
    10. The output is in a folder, "output_boot_bin"
    11. Copy the BOOT.bin generated file to the SD Card with the Kiper Linux install, top directory

    Appreciate any help on clarifying this.

    I also didn't see where the build_zynq_boot_bin.sh script is that was referenced. I'm using Vivado/Vitis v2021.2
  • 0
    •  Analog Employees 
    •  Super User 
    in reply to chaii
    I also didn't see where the build_zynq_boot_bin.sh script is that was referenced. I'm using Vivado/Vitis v2021.2

    You're right; the name is build_boot_bin.sh. I got a bit confused and mixed the name (because for Zynq UltraScale is build_zynqmp_boot_bin.sh). I corrected my previous reply.

Reply
  • 0
    •  Analog Employees 
    •  Super User 
    in reply to chaii
    I also didn't see where the build_zynq_boot_bin.sh script is that was referenced. I'm using Vivado/Vitis v2021.2

    You're right; the name is build_boot_bin.sh. I got a bit confused and mixed the name (because for Zynq UltraScale is build_zynqmp_boot_bin.sh). I corrected my previous reply.

Children
No Data