TQ15EG开发板教程:在MPSOC上运行ADRV9371(vivado2018.3)

首先需要在github上下载两个文件,本例程用到的文件以及最终文件我都会放在网盘里面,

地址放在本文最后。首先在github搜索hdl选择第一个,如下图所示

复制代码
GitHub网址:https://github.com/analogdevicesinc/hdl/releases

点击releases选择版本

本例程所使用的vivado版本为2018.3,找到对应的版本,下载附件。然后下载对应版本的No-Os

点击Code->Download下载

下载完成后复制到Ubuntu中并解压

打开文件目录 hdl-2019-r1->projects->adrv9371->zcu102,右键空白处打开命令行串口

配置vivado环境变量并编译,编译完成后在命令行输入vivado

打开vivado,点击Open Project-->选择项目-->点击OK

打开设置-->修改设备型号-->搜索15eg-->选择使用的设备型号-->点击OK

应用修改选择NO

打开设计-->查看IP状态-->更新IP-->确定更新

双击ZYNQ,只需要修改MIO的外设和DDR配置即可。我以上传15eg的配置,链接在文章末尾,可以直接使用预设

配置修改完成后生成BIT文件,弹出的提示都确定即可

导出硬件设计,弹出的提示框都确定即可

打开vivado工程文件夹-->进入.sdk文件夹-->复制.hdf文件-->粘贴到no-os/project/ad9371目录下

右键打开命令行窗口-->配置环境变量并编译

编译完成后进入build文件夹,复制.elf文件,在工程的根目录中创建一个file文件夹,把刚刚复制的文件粘贴到里面。

回到vivado软件,打开SDK

新建工程

设置工程名称

创建fsbl模板

打开vivado项目文件夹

进入.sdk/fsbl/Debug文件夹复制fsbl.elf到file文件夹中

回到vivado项目文件夹,进入.runs/impl_1文件夹中复制.bit文件到file文件夹中(需要等待vivado编译完成后才有bit文件)

这样file文件夹中就有3个生成BOOT.bin所需要的文件,回到SDK中生成BOOT.bin文件

选择MPOSC,选择file目录,点Add添加文件,按照fbsl-->.bit-->.elf的顺序添加,最后生成BOOT.bin文件

生成完毕后把BOOT.bin文件复制到SD卡,并插入开发板,把开发板启动模式设置为SD卡启动,插入串口电源,和ADRV9371射频子板

打开串口助手,开启电源,等待串口打印,内容如下表示成功

复制代码
Xilinx Zynq MP First Stage Boot Loader
Release 2018.3   Apr 11 2024  -  09:53:01
PMU-FW is not running, certain applications may not be supported.
Please wait...
WARNING: AD9528_initialize() issues. Possible cause: REF_CLK not connected.
rx_clkgen: MMCM-PLL locked (122880000 Hz)
tx_clkgen: MMCM-PLL locked (122880000 Hz)
rx_os_clkgen: MMCM-PLL locked (122880000 Hz)
MCS successful
CLKPLL locked
AD9371 ARM version 5.2.2
PLLs locked
Calibrations completed successfully
tx_adxcvr: OK (4915200 kHz)
rx_adxcvr: OK (4915200 kHz)
rx_os_adxcvr: OK (4915200 kHz)
rx_jesd status:
        Link is enabled
        Measured Link Clock: 122.878 MHz
        Reported Link Clock: 122.880 MHz
        Lane rate: 4915.200 MHz
        Lane rate / 40: 122.880 MHz
        Link status: DATA
        SYSREF captured: Yes
        SYSREF alignment error: No
rx_jesd lane 0 status:
Errors: 0
        CGS state: DATA
        Initial Frame Synchronization: Yes
        Lane Latency: 1 Multi-frames and 56 Octets
        Initial Lane Alignment Sequence: Yes
        DID: 0, BID: 0, LID: 0, L: 2, SCR: 1, F: 4
        K: 32, M: 4, N: 16, CS: 0, N': 16, S: 1, HD: 0
        FCHK: 0x47, CF: 0
        ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1
        FC: 4915200 kHz
rx_jesd lane 1 status:
Errors: 0
        CGS state: DATA
        Initial Frame Synchronization: Yes
        Lane Latency: 1 Multi-frames and 57 Octets
        Initial Lane Alignment Sequence: Yes
        DID: 0, BID: 0, LID: 1, L: 2, SCR: 1, F: 4
        K: 32, M: 4, N: 16, CS: 0, N': 16, S: 1, HD: 0
        FCHK: 0x48, CF: 0
        ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1
        FC: 4915200 kHz
tx_jesd status:
        Link is enabled
        Measured Link Clock: 122.878 MHz
        Reported Link Clock: 122.880 MHz
        Lane rate: 4915.200 MHz
        Lane rate / 40: 122.880 MHz
        SYNC~: deasserted
        Link status: DATA
        SYSREF captured: Yes
        SYSREF alignment error: No
rx_os_jesd status:
        Link is enabled
        Measured Link Clock: 122.878 MHz
        Reported Link Clock: 122.880 MHz
        Lane rate: 4915.200 MHz
        Lane rate / 40: 122.880 MHz
        Link status: DATA
        SYSREF captured: Yes
        SYSREF alignment error: No
rx_os_jesd lane 0 status:
Errors: 0
        CGS state: DATA
        Initial Frame Synchronization: Yes
        Lane Latency: 1 Multi-frames and 54 Octets
        Initial Lane Alignment Sequence: Yes
        DID: 0, BID: 0, LID: 0, L: 2, SCR: 1, F: 2
        K: 32, M: 2, N: 16, CS: 0, N': 16, S: 1, HD: 0
        FCHK: 0x43, CF: 0
        ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1
        FC: 4915200 kHz
rx_os_jesd lane 1 status:
Errors: 0
        CGS state: DATA
        Initial Frame Synchronization: Yes
        Lane Latency: 1 Multi-frames and 56 Octets
        Initial Lane Alignment Sequence: Yes
        DID: 0, BID: 0, LID: 1, L: 2, SCR: 1, F: 2
        K: 32, M: 2, N: 16, CS: 0, N': 16, S: 1, HD: 0
        FCHK: 0x44, CF: 0
        ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1
        FC: 4915200 kHz
tx_dac: Successfully initialized (245755004 Hz)
rx_adc: Successfully initialized (122877502 Hz)
rx_obs_adc: Successfully initialized (245755004 Hz)
Done

资源分享

复制代码
本项目资源:file压缩包中存放BOOT文件和zynq配置文件
prj压缩包中存放整个项目工程
链接:https://pan.baidu.com/s/1OJptb4t5ZVDv17P9jEiDdw 
提取码:osrl 


hdl_r1与no-os_r1的压缩包
链接:https://pan.baidu.com/s/1xH9qTG-vaYvBc5mTflXjaA 
提取码:cnw5 


虚拟机镜像,内置vivado2018.3版本
链接:https://pan.baidu.com/s/13LNnIGnK-PFoAzuVh-1g-g 
提取码:v06p 
相关推荐
ZPC82107 天前
docker 镜像备份
人工智能·算法·fpga开发·机器人
ZPC82107 天前
docker 使用GUI ROS2
人工智能·算法·fpga开发·机器人
悠哉悠哉愿意7 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11017 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元7 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133977 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315207 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
tiantianuser7 天前
RDMA设计53:构建RoCE v2 高速数据传输系统板级测试平台2
fpga开发·rdma·高速传输·cmac·roce v2
Alaso_shuang7 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
博览鸿蒙7 天前
FPGA 和 IC,哪个前景更好?怎么选?
fpga开发