Post Go back to editing

Command Line Interface not giving feedback

Hi,

I'm working with the AD7134 trying to get the Zedboard example working. 

I've tried uploading to the board from CMD and Vivado - both successfully upload, but have this same issue.

I'm trying to use the spi.c commands to read out info to verify functionality:

You can see that it accepts spi_init and write_and_read as valid commands and not xil_spi_init or jibberish.

I'm just not getting anything back - so I can't even tell if this is a hw connection issue, I'm using the commands incorrectly, or if something didn't build correctly. I do get the below two error and warning which may be causing the issue. I'm just not sure how to resolve them.

Thank you for any assistance.

Parents
  • Hi,

    Your board seems to run u-boot or Linux instead of the no-OS project.

    What HDL/no-OS branch did you use? Did you follow these instructions: https://wiki.analog.com/resources/no-os/build for building the project?

    Thanks,
    Dragos

  • Hi Dragos,

    I'm using the master branch and have Vivado 2020.1. 

    The reference you linked is the one I'm looking at. Below is a copy of my CMD commands and outputs.

    After your U-boot comment I tried swapping the headers for JTAG programming on the Zedboard, but that resulted in nothing coming out of TeraTerm once programming was finished and the blue LED came on.

    I also found the link below which makes no reference to changing the headers so I don't believe changing them is necessary.

    Thanks.

    https://wiki.analog.com/resources/fpga/xilinx/pmod/ad7476a

    C:\tmp\adi\no-OS\projects\ad713x_fmcz>C:\Xilinx\vitis\2020.1\settings64.bat

    C:\tmp\adi\no-OS\projects\ad713x_fmcz>make
    [00:00:00] Building for xilinx
    [00:00:00] Evaluating hardware: system_top.xsa
    [00:00:00] Creating and configuring the IDE project
    arm-none-eabi-ar: creating ../../../lib/libxil.a
    In file included from usleep.c:34:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    In file included from xil_sleeptimer.c:32:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    In file included from xtime_l.c:27:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    In file included from sleep.c:31:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    In file included from main.c:115:
    zynq_fsbl_bsp/ps7_cortexa9_0/include/xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    In file included from pcap.c:78:
    zynq_fsbl_bsp/ps7_cortexa9_0/include/xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    arm-none-eabi-ar: creating ../../../lib/libxil.a
    In file included from usleep.c:34:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    In file included from xil_sleeptimer.c:32:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    In file included from xtime_l.c:27:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    In file included from sleep.c:31:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
    65 | #pragma message ("For the sleep routines, Global timer is being used")
    | ^~~~~~~
    [00:00:00] Linking srcs to created project
    The system cannot find the file specified.
    The system cannot find the file specified.
    The system cannot find the file specified.
    make[1]: [../../tools/scripts/generic.mk:339: update_srcs] Error 2 (ignored)
    [00:00:00] [CC] ad713x.c
    [00:00:00] [CC] iio_ad713x.c
    [00:00:00] [CC] iio_dual_ad713x.c
    [00:00:00] [CC] axi_dmac.c
    [00:00:00] [CC] spi_engine.c
    [00:00:00] [CC] gpio.c
    [00:00:00] [CC] axi_io.c
    [00:00:00] [CC] delay.c
    [00:00:00] [CC] xilinx_gpio.c
    [00:00:00] [CC] xilinx_spi.c
    [00:00:00] [CC] spi.c
    C:/tmp/adi/no-OS/projects/ad713x_fmcz/build/app/noos/drivers/spi/spi.c: In function 'spi_transfer':
    C:/tmp/adi/no-OS/projects/ad713x_fmcz/build/app/noos/drivers/spi/spi.c:98:11: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
    98 | int32_t ret;
    | ^~~
    [00:00:00] [CC] ad713x_fmc.c
    [00:00:00] [CC] util.c
    [00:00:00] [LD] ad713x.o iio_ad713x.o iio_dual_ad713x.o axi_dmac.o spi_engine.o gpio.o axi_io.o delay.o xilinx_gpio.o xilinx_spi.o spi.o ad713x_fmc.o util.o
    make[2]: Nothing to be done for 'post_build'.
    [00:00:00] Done (build/ad713x_fmcz.elf)

    C:\tmp\adi\no-OS\projects\ad713x_fmcz>make run
    [00:00:00] Building for xilinx
    [00:00:00] Creating and configuring the IDE project
    A project with given name already exists in the workspace. Please choose a differenet name.
    while executing
    "error [dict get $msg err]"
    (procedure "xsdk_eval" line 15)
    invoked from within
    "xsdk_eval $chan "XSDx" createAppFromDsa "o{$fmt}" e [list $data]"
    (procedure "app" line 330)
    invoked from within
    "app create -name app -hw $::hw -proc $cpu -os standalone -template {Empty Application}"
    (procedure "_vitis_project" line 9)
    invoked from within
    "_vitis_project"
    (procedure "create_project" line 6)
    invoked from within
    "$function"
    (file "C:/tmp/adi/no-OS/tools/scripts/platform/xilinx/util.tcl" line 251)
    [00:00:00] Linking srcs to created project
    The system cannot find the file specified.
    make[1]: [../../tools/scripts/generic.mk:339: update_srcs] Error 2 (ignored)
    [00:00:00] [CC] axi_dmac.c
    [00:00:00] [CC] spi_engine.c
    [00:00:00] [CC] gpio.c
    [00:00:00] [CC] axi_io.c
    [00:00:00] [CC] delay.c
    [00:00:00] [CC] xilinx_gpio.c
    [00:00:00] [CC] xilinx_spi.c
    [00:00:00] [CC] spi.c
    C:/tmp/adi/no-OS/projects/ad713x_fmcz/build/app/noos/drivers/spi/spi.c: In function 'spi_transfer':
    C:/tmp/adi/no-OS/projects/ad713x_fmcz/build/app/noos/drivers/spi/spi.c:98:11: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
    98 | int32_t ret;
    | ^~~
    [00:00:00] [CC] util.c
    [00:00:00] [LD] ad713x.o iio_ad713x.o iio_dual_ad713x.o axi_dmac.o spi_engine.o gpio.o axi_io.o delay.o xilinx_gpio.o xilinx_spi.o spi.o ad713x_fmc.o util.o
    make[2]: Nothing to be done for 'post_build'.
    [00:00:00] Done (build/ad713x_fmcz.elf)
    [00:00:00] ad713x_fmcz.elf uploaded to board

  • Hello ,

    From your log, I can see that your build completed sucessfully and the .elf file was uploaded on the board.

    What's the exact issue? You are not able to see anything on the serial output?

    Are you properly connected to the UART port? From your screenshot above it looks that you have proper setup for the serial port (115200 baud rate)

    You can optionally use (after the build is done) the `make develop` command to open an SDK instance and start debugging your project.

    Regards,

    Antoniu

Reply
  • Hello ,

    From your log, I can see that your build completed sucessfully and the .elf file was uploaded on the board.

    What's the exact issue? You are not able to see anything on the serial output?

    Are you properly connected to the UART port? From your screenshot above it looks that you have proper setup for the serial port (115200 baud rate)

    You can optionally use (after the build is done) the `make develop` command to open an SDK instance and start debugging your project.

    Regards,

    Antoniu

Children
  • Antoniu,

    I'm having the same problem.  After I execute the "make run" I get the following on my UART port then it no longer responds to any input.

    [1B][0;31mzynq>[1B][m

    U-Boot 2011.03-dirty (Jul 11 2012 - 16:07:00)

    DRAM:  512 MiB
    MMC:   SDHCI: 0
    Using default environment

    In:    serial
    Out:   serial
    Err:   serial
    Net:   zynq_gem
    Hit any key to stop autoboot:  3

  • Your board is booting u-boot instead of the no-OS project - if inserted, try to remove the SD card.

    Thanks,
    Dragos

  • Here's what I tried:

    1) power down

    2) remove SD Card

    3) power up

    4) rerun "make run";  the elf file uploaded to board as before

    5) same problem; no response at all on the UART port

  • Can you put the board into JTAG boot mode and try again? I believe all the jumpers need to be in GND position.

    -Travis

  • OK. Tried that as well.

    1) power down

    2) Change jumpers to JTAG boot mode (all in GND position)

    3) power up

    4) make run; [00:00:00] ad738x_fmcz.elf uploaded to board

    5) same problem

  • Sorry, this is the actual response:

    [00:00:00] Done (build/ad713x_fmcz.elf)
    [00:00:00] ad713x_fmcz.elf uploaded to board

  • I would still like an explanation for the following during the make:

    [00:00:00]  Linking srcs to created project
    The system cannot find the file specified.
    make[1]: [../../tools/scripts/generic.mk:339: update_srcs] Error 2 (ignored)

  • Hi,

    Please make sure your no-Os repository is up to date. It looks like the run command is building the project instead of uploading the elf file.

    Sergiu

  • Thanks.  My repository is up to date since I just started over from scratch.

    Please answer these questions.

    1) Do you have these boards (AD7134 and zedboard) to try this code?

    2) Can you confirm that my make output is as expected, including missing files and errors? (see below)

    C:\cygwin64\home\Steve\adi4\no-OS\projects\ad713x_fmcz>make clean
    [00:00:00] [Delete] ad713x.o iio_ad713x.o iio_dual_ad713x.o axi_dmac.o spi_engine.o gpio.o axi_io.o delay.o xilinx_gpio.o xilinx_spi.o spi.o ad713x_fmc.o util.o ad713x_fmcz.elf
    The system cannot find the file specified.
    make: [../../tools/scripts/generic.mk:358: clean] Error 1 (ignored)

    C:\cygwin64\home\Steve\adi4\no-OS\projects\ad713x_fmcz>make
    [00:00:00] Building for xilinx
    [00:00:00] Evaluating hardware: system_top.xsa
    [00:00:00] Creating and configuring the IDE project
    arm-none-eabi-ar: creating ../../../lib/libxil.a
    In file included from usleep.c:34:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    In file included from xil_sleeptimer.c:32:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    In file included from xtime_l.c:27:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    In file included from sleep.c:31:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    In file included from main.c:115:
    zynq_fsbl_bsp/ps7_cortexa9_0/include/xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    In file included from pcap.c:78:
    zynq_fsbl_bsp/ps7_cortexa9_0/include/xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    arm-none-eabi-ar: creating ../../../lib/libxil.a
    In file included from usleep.c:34:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    In file included from xil_sleeptimer.c:32:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    In file included from xtime_l.c:27:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    In file included from sleep.c:31:
    xtime_l.h:65:9: note: #pragma message: For the sleep routines, Global timer is being used
       65 | #pragma message ("For the sleep routines, Global timer is being used")
          |         ^~~~~~~
    [00:00:00]  Linking srcs to created project
    The system cannot find the file specified.
    The system cannot find the file specified.
    The system cannot find the file specified.
    make[1]: [../../tools/scripts/generic.mk:339: update_srcs] Error 2 (ignored)
    [00:00:00] [CC] ad713x.c
    [00:00:00] [CC] iio_ad713x.c
    [00:00:00] [CC] iio_dual_ad713x.c
    [00:00:00] [CC] axi_dmac.c
    [00:00:00] [CC] spi_engine.c
    [00:00:00] [CC] gpio.c
    [00:00:00] [CC] axi_io.c
    [00:00:00] [CC] delay.c
    [00:00:00] [CC] xilinx_gpio.c
    [00:00:00] [CC] xilinx_spi.c
    [00:00:00] [CC] spi.c
    [00:00:00] [CC] ad713x_fmc.c
    [00:00:00] [CC] util.c
    [00:00:00] [LD] ad713x.o iio_ad713x.o iio_dual_ad713x.o axi_dmac.o spi_engine.o gpio.o axi_io.o delay.o xilinx_gpio.o xilinx_spi.o spi.o ad713x_fmc.o util.o
    make[2]: Nothing to be done for 'post_build'.
    [00:00:00] Done (build/ad713x_fmcz.elf)

  • Hi Steve,


    As I see in the code in the master version of the project (https://github.com/analogdevicesinc/no-OS/blob/master/projects/ad713x_fmcz/src/ad713x_fmc.c) you don't need to interact with the code it will just print data, or if you enable TINYIIOD (how to enable tinyiiod) you can connect using IIO Osciloscope.

    My recommendation are:

    Open a windows cmd with administrator privileges in the project folder.

    Run a `make clean_all` in order to start from a clean workspace.

    Then run `make update_srcs` this will just create an sdk project you can edit.

    Run  `make develop` : will open xsdk with the created projects.

    Program the fpga from the sdk.

    Set a breakpoint at main and then debug.

    Are you able to see data from the first printf?

    Regards,

    Mihail