日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ADRV9009 与 zcu102搭建ADI的no os项目

發布時間:2024/3/26 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ADRV9009 与 zcu102搭建ADI的no os项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近期忙完手頭的活,難得有時間繼續研究一下自己感興趣的事情。一直想著把上半年項目采購的一套軟件無線電的平臺搭建起來(ZCU102+ADRV909),近期做了幾個實驗,就把自己做的一點進展與大家分享。希望能給感興趣的朋友帶來一點幫助,也請有經驗的大神們指點指點。廢話不多說,直接進入正題。。。。。。

萬里長征第一步,先把系統搭建起來吧!我是參考我之前搭建 的AD9361+zedboard的no os 項目搭建起來,鏈接:windows 下AD9361的 no-os master 工程搭建_Bronceyang的博客-CSDN博客?其實ADI公司提供的這些no os 開源項目的搭建套路是一樣的。舉一反三就行了。

一、搭建工程需要的文件

需要下載的東西:

HDL:https ://github.com/analogdevicesinc/hdl/releases

No OS:https://github.com/analogdevicesinc/no-OS

注意:下載的hdl版本要和自己的vivado版本配套,我這次用的是vivado2019.2.

下載網速比較慢的話。可以從我的資源里面下載。

Windows編譯環境需要安裝Cygwin ,注意安裝過程中要一定選make 庫。

參考博客:https://blog.csdn.net/u010356768/article/details/90756742

二、HDL部分搭建

我使用的vivado版本為2019.2,大家根據自己的實際情況選擇自己的版本。

三條命令:

1. export PATH=$PATH:/cygdrive/e/install_tool/xilinx/Vivado/2019.2/bin 2. cd /cygdrive/e/ADRV9009_pro/hdl-master/projects/adrv9009/zcu102 3. make

1.配置環境,新增環境變量,并檢查

2.切換到文件目錄,make一下就ok了,需要等待一段時間,十多分鐘。

make成功之后,ls查看可以看到多了很多文件。

切換帶Windows文件目錄下可以看到如下,用vivado2019.2 打開adrv9009_zcu102.xpr

?打開block design 可以看到搭建了起來的框圖,在軟件界面右上可以看到bit文件也已經生成了。

對部分放大可以看到如下

?

?

?三、軟件部分的搭建

在Vivado編譯環境下,導出.xas文件,并在vitis 中根據.xas為平臺搭建應用程序工程。

回到no-os-master文件,進入一下目錄,打開READE文件,文件讓我們根據自己的硬件平臺是xilinx還是altera選擇復制需要用到的文件。

# Additional required source files:#ifdef ALTERA_PLATFORMcp ../../../include/axi_io.h devices/adi_hal/cp ../../../include/error.h devices/adi_hal/cp ../../../include/spi.h devices/adi_hal/cp ../../../include/gpio.h devices/adi_hal/cp ../../../include/delay.h devices/adi_hal/cp ../../../drivers/spi/spi.c devices/adi_hal/cp ../../../drivers/platform/altera/axi_io.c devices/adi_hal/cp ../../../drivers/platform/altera/altera_spi.c devices/adi_hal/cp ../../../drivers/platform/altera/spi_extra.h devices/adi_hal/cp ../../../drivers/platform/altera/gpio.c devices/adi_hal/cp ../../../drivers/platform/altera/gpio_extra.h devices/adi_hal/cp ../../../drivers/platform/altera/delay.c devices/adi_hal/cp ../../../drivers/axi_core/axi_adc_core/axi_adc_core.c devices/adi_hal/cp ../../../drivers/axi_core/axi_adc_core/axi_adc_core.h devices/adi_hal/cp ../../../drivers/axi_core/axi_dac_core/axi_dac_core.c devices/adi_hal/cp ../../../drivers/axi_core/axi_dac_core/axi_dac_core.h devices/adi_hal/cp ../../../drivers/axi_core/axi_dmac/axi_dmac.c devices/adi_hal/cp ../../../drivers/axi_core/axi_dmac/axi_dmac.h devices/adi_hal/cp ../../../drivers/axi_core/clk_altera_a10_fpll/clk_altera_a10_fpll.c devices/adi_hal/cp ../../../drivers/axi_core/clk_altera_a10_fpll/clk_altera_a10_fpll.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/altera_a10_atx_pll.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/altera_a10_atx_pll.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/altera_a10_cdr_pll.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/altera_a10_cdr_pll.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/altera_adxcvr.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/altera_adxcvr.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_jesd204_rx.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_jesd204_rx.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_jesd204_tx.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_jesd204_tx.h devices/adi_hal/cp ../../../drivers/frequency/ad9528/ad9528.h devices/adi_hal/cp ../../../drivers/frequency/ad9528/ad9528.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_agc.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_arm.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_cals.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_error.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_gpio.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_hal.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_jesd204.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_radioctrl.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_rx.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_tx.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_user.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_agc.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_agc_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_arm.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_arm_macros.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_arm_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_cals.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_cals_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_error.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_error_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_gpio.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_gpio_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_hal.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_jesd204.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_jesd204_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_radioctrl.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_radioctrl_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_reg_addr_macros.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_rx.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_rx_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_tx.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_tx_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_user.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_version.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/firmware/talise_arm_binary.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/firmware/talise_stream_binary.h devices/adi_hal/cp ../../../util/util.c devices/adi_hal/cp ../../../include/util.h devices/adi_hal/ #elsecp ../../../include/axi_io.h devices/adi_hal/cp ../../../include/error.h devices/adi_hal/cp ../../../include/spi.h devices/adi_hal/cp ../../../include/gpio.h devices/adi_hal/cp ../../../include/delay.h devices/adi_hal/ cp ../../../drivers/spi/spi.c devices/adi_hal/cp ../../../drivers/platform/xilinx/axi_io.c devices/adi_hal/cp ../../../drivers/platform/xilinx/xilinx_spi.c devices/adi_hal/cp ../../../drivers/platform/xilinx/spi_extra.h devices/adi_hal/cp ../../../drivers/platform/xilinx/gpio.c devices/adi_hal/cp ../../../drivers/platform/xilinx/gpio_extra.h devices/adi_hal/cp ../../../drivers/platform/xilinx/delay.c devices/adi_hal/cp ../../../drivers/axi_core/axi_adc_core/axi_adc_core.c devices/adi_hal/cp ../../../drivers/axi_core/axi_adc_core/axi_adc_core.h devices/adi_hal/cp ../../../drivers/axi_core/axi_dac_core/axi_dac_core.c devices/adi_hal/cp ../../../drivers/axi_core/axi_dac_core/axi_dac_core.h devices/adi_hal/cp ../../../drivers/axi_core/axi_dmac/axi_dmac.c devices/adi_hal/cp ../../../drivers/axi_core/axi_dmac/axi_dmac.h devices/adi_hal/cp ../../../drivers/axi_core/clk_axi_clkgen/clk_axi_clkgen.c devices/adi_hal/cp ../../../drivers/axi_core/clk_axi_clkgen/clk_axi_clkgen.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_adxcvr.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_adxcvr.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_jesd204_rx.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_jesd204_rx.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_jesd204_tx.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/axi_jesd204_tx.h devices/adi_hal/cp ../../../drivers/axi_core/jesd204/xilinx_transceiver.c devices/adi_hal/cp ../../../drivers/axi_core/jesd204/xilinx_transceiver.h devices/adi_hal/cp ../../../drivers/frequency/ad9528/ad9528.h devices/adi_hal/cp ../../../drivers/frequency/ad9528/ad9528.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_agc.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_arm.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_cals.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_error.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_gpio.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_hal.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_jesd204.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_radioctrl.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_rx.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_tx.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_user.c devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_agc.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_agc_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_arm.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_arm_macros.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_arm_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_cals.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_cals_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_error.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_error_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_gpio.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_gpio_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_hal.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_jesd204.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_jesd204_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_radioctrl.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_radioctrl_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_reg_addr_macros.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_rx.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_rx_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_tx.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_tx_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_types.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_user.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/api/talise_version.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/firmware/talise_arm_binary.h devices/adi_hal/cp ../../../drivers/rf-transceiver/talise/firmware/talise_stream_binary.h devices/adi_hal/cp ../../../util/util.c devices/adi_hal/cp ../../../include/util.h devices/adi_hal/ #endif

READE是一個腳本文件,大家可以直接source 一下就把所有需要用到的文件都復制過去了。可以ls查看一下:

最后把adi_hal目錄下的文件都復制到之前在vitis里面建立的應用程序的/src目錄,進行編譯一下檢查錯誤就可以了,main()函數在headless.c文件中。

?編譯、上板子,運行結果如下:

串口打印信息:Hello rx_clkgen: MMCM-PLL locked (245760000 Hz) tx_clkgen: MMCM-PLL locked (122880000 Hz) rx_os_clkgen: MMCM-PLL locked (122880000 Hz) rx_adxcvr: OK (9830400 kHz) tx_adxcvr: OK (4915200 kHz) rx_os_adxcvr: OK (4915200 kHz) talise: Device Revision 192, Firmware 6.0.2, API 3.6.0.527765581332480005 talise: Calibrations completed successfully rx_jesd status:Link is enabledMeasured Link Clock: 245.786 MHzReported Link Clock: 245.760 MHzLane rate: 9830.400 MHzLane rate / 40: 245.760 MHzLMFC rate: 7.680 MHzLink status: DATASYSREF captured: YesSYSREF alignment error: No tx_jesd status:Link is enabledMeasured Link Clock: 122.893 MHzReported Link Clock: 122.880 MHzLane rate: 4915.200 MHzLane rate / 40: 122.880 MHzLMFC rate: 7.680 MHzSYNC~: deassertedLink status: DATASYSREF captured: YesSYSREF alignment error: No rx_os_jesd status:Link is enabledMeasured Link Clock: 122.893 MHzReported Link Clock: 122.880 MHzLane rate: 4915.200 MHzLane rate / 40: 122.880 MHzLMFC rate: 7.680 MHzLink status: DATASYSREF captured: YesSYSREF alignment error: No tx_dac: Successfully initialized (245785522 Hz) rx_adc: Successfully initialized (245785522 Hz)

頻譜儀上觀察到的頻譜如下:

總結

以上是生活随笔為你收集整理的ADRV9009 与 zcu102搭建ADI的no os项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。