AnsweredAssumed Answered

What's the specific function of xcvr_setup() in AD9371 No OS code headless.c?

Question asked by ADI_Wei on Jun 1, 2017
Latest reply on Jun 1, 2017 by DragosB

I want to run the no os code based on the AD9371 evb and ZC706.  I generated the .bit in vivado by using the HDL reference code and then download the AD9361 no os sw. The project is built in Xilinx SDK, but the there are some errors.

1. what 's the function of the status = xcvr_setup()?

 /*************************************************************************/
 /*****            Enable SYSREF to Mykonos and BBIC                  *****/
 /*************************************************************************/

 /* Request a SYSREF from the AD9528 */
 AD9528_requestSysref(&clockAD9528_, 1);
 mdelay(1);

 /*** < Info: Mykonos is actively transmitting CGS from the RxFramer> ***/

 /*** < Info: Mykonos is actively transmitting CGS from the ObsRxFramer> ***/

  •  /* Initialize ADXCVRs */
     status = xcvr_setup();
     if (status != 0) {
      printf("xcvr_setup() failed\n");
      return -1;
     }

 /* Request two SYSREFs from the AD9528 */
 AD9528_requestSysref(&clockAD9528_, 1);
 mdelay(1);
 AD9528_requestSysref(&clockAD9528_, 1);
 mdelay(1);

 

2. In Addition, I can't find where the below parameters are declared in the no os sw platform_drivers.c, which is provided in AD9371 no os SW folder. Those parameters should be declared in xparaments.h, but not?

rx_xcvr.base_addr = XPAR_AXI_AD9371_RX_XCVR_BASEADDR;
tx_xcvr.base_addr = XPAR_AXI_AD9371_TX_XCVR_BASEADDR;
rx_os_xcvr.base_addr = XPAR_AXI_AD9371_RX_OS_XCVR_BASEADDR;

Outcomes