ADRV9009
Recommended for New Designs
The ADRV9009 is a highly integrated, radio frequency (RF), agile transceiver offering dual transmitters and receivers, integrated synthesizers, and digital...
Datasheet
ADRV9009 on Analog.com
Hello,
I have an ADRV9009-W/PCBZ connected to ZCU102. I have taken these (https://wiki.analog.com/resources/tools-software/linux-software/zynq_images) steps to obtain the proper image and am able to boot into the ZCU102. I got the API from here https://www.analog.com/en/design-center/landing-pages/001/transceiver-evaluation-software.html.
I am wondering how to run the headless.c example. Do I need to write my own SPI driver and use it for the ADIHAL_openHw function? Is there something already available to do this for the ZCU102? What would be the fastest way to get started with using the API?
Thank you for the help.
Thanks for the response.
I've been to all these links and I am running into an issue building the driver.
As I understand, these steps must be taken to build the adrv9009 driver: https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/linux/zynq_2014r2
I am following these instructions and run the script with these parameters:
./build_zynq_kernel_image.sh linux zynqmp-zcu102-rev10-adrv9009.dtb
At the end of the script, this message appears:
No DTFILE file specified ; using default 'zynq-zc702-adv7511-ad9361-fmcomms2-3.dtb'
Would you be able to explain what it is that I am doing wrong here? Does this script in fact compile the adrv9009 driver?
sadykhovful,
With the default SD card image that you linked to in your first post, an IIO based driver is provided which is built with the ADRV9009 API. Therefore, it is not required for you to build your own.
Through the C library libIIO you can directly interact and stream data with the transceiver, which doesn't require knowledge of the API since the IIO driver handles these calls for you. We do not have an explicit C example for ADRV9009 but you can take the existing ADRV9371 example and simply modify it: https://github.com/analogdevicesinc/libiio/blob/master/examples/ad9371-iiostream.c
Basically changing all instances of ad9371 to adrv9009 should make the example work.
-Travis
Thank you for the details, Travis.
I will work on getting the example running for the ADRV9009.
Thank you for the details, Travis.
I will work on getting the example running for the ADRV9009.