Post Go back to editing

AD3551RBCPZ16 Sample code for QSPI

Hello all,

  I am trying to Configuration this IC AD3551RBCPZ16 by using Quad SPI Write Operation with Single Data Rate. With Streaming Mode by using QuadSPI inbuilt IP from xilinx and configuring in Vitis code. Is there any sample code to configure this IC AD3551RBCPZ16.

Thread Notes

  • Typically the configuration is CPU-driven while data streaming is FPGA driven. In our implementation, the FPGA includes an arbiter to interleave these operations on the QSPI bus.

    There is a platform-independent driver for the configuration operations here: https://github.com/analogdevicesinc/no-OS/tree/ad3552r_trigger/drivers/dac/ad3552r

    And the HDL for the FPGA here: https://wiki.analog.com/resources/fpga/docs/axi_ad3552r

    The process to use the evaluation board with the ZedBoard controller is explained here: https://wiki.analog.com/resources/eval/user-guides/dac/ad3552r_eval_zed

  • Description Resource Path Location Type
    'CRC8_TABLE_SIZE' undeclared here (not in a function) ad3552r.c /Video_det/src line 96 C/C++ Problem
    'EBADMSG' undeclared (first use in this function) ad3552r.c /Video_det/src line 475 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 495 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 550 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 789 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 835 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 978 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 1028 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 1067 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 1118 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 1175 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 1353 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 1379 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 1400 C/C++ Problem
    'EINVAL' undeclared (first use in this function) ad3552r.c /Video_det/src line 1489 C/C++ Problem
    'ENODEV' undeclared (first use in this function) ad3552r.c /Video_det/src line 545 C/C++ Problem
    'ENOMEM' undeclared (first use in this function) ad3552r.c /Video_det/src line 1179 C/C++ Problem
    'FAILURE' undeclared (first use in this function) ad3552r.c /Video_det/src line 617 C/C++ Problem
    'FAILURE' undeclared (first use in this function) ad3552r.c /Video_det/src line 889 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 357 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 484 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 619 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 635 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 827 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 870 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 927 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1034 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1075 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1131 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1213 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1227 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1263 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1311 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1366 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1414 C/C++ Problem
    'SUCCESS' undeclared (first use in this function) ad3552r.c /Video_det/src line 1525 C/C++ Problem
    array type has incomplete element type 'struct spi_msg' ad3552r.c /Video_det/src line 491 C/C++ Problem
    field 'spi_param' has incomplete type ad3552r.h /Video_det/src line 379 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 112 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 115 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 129 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 130 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 132 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 144 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 145 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 146 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 152 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 167 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 168 C/C++ Problem
    initializer element is not constant ad3552r.h /Video_det/src line 179 C/C++ Problem
    lvalue required as increment operand ad3552r.c /Video_det/src line 453 C/C++ Problem
    make: *** [makefile:34: all] Error 2 Video_det C/C++ Problem
    make[1]: *** [src/subdir.mk:29: src/ad3552r.o] Error 1 Video_det C/C++ Problem
    request for member 'bytes_number' in something not a structure or union ad3552r.c /Video_det/src line 437 C/C++ Problem
    request for member 'bytes_number' in something not a structure or union ad3552r.c /Video_det/src line 453 C/C++ Problem
    request for member 'bytes_number' in something not a structure or union ad3552r.c /Video_det/src line 507 C/C++ Problem
    request for member 'bytes_number' in something not a structure or union ad3552r.c /Video_det/src line 508 C/C++ Problem
    request for member 'cs_change' in something not a structure or union ad3552r.c /Video_det/src line 461 C/C++ Problem
    request for member 'rx_buff' in something not a structure or union ad3552r.c /Video_det/src line 421 C/C++ Problem
    request for member 'rx_buff' in something not a structure or union ad3552r.c /Video_det/src line 510 C/C++ Problem
    request for member 'tx_buff' in something not a structure or union ad3552r.c /Video_det/src line 422 C/C++ Problem
    request for member 'tx_buff' in something not a structure or union ad3552r.c /Video_det/src line 506 C/C++ Problem
    request for member 'tx_buff' in something not a structure or union ad3552r.c /Video_det/src line 512 C/C++ Problem
    storage size of 'msg' isn't known ad3552r.c /Video_det/src line 409 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 475 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 478 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 495 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 545 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 550 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 789 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 835 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 853 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 856 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 978 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1028 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1067 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1098 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1118 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1175 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1179 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1353 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1379 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1400 C/C++ Problem
    wrong type argument to unary minus ad3552r.c /Video_det/src line 1489 C/C++ Problem

    Given code are having above mentioned errors.

    I want simple code with Single Data Rate.

  • The No-OS driver is the simplest form of driver we have. It addresses the configuration of the DAC from a feature point of view. The actual functions to access the hardware are empty because these are platform-specific and have to be added by the developer.

    Other files are needed to compile the driver. Instructions are provided here: https://wiki.analog.com/resources/no-os/build