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 
相关推荐
努力的小帅13 分钟前
STM32单片机_3
stm32·单片机·嵌入式硬件·学习·stm32c8t6
逼子格42 分钟前
开关电源和线性电源Multisim电路仿真实验汇总——硬件工程师笔记
嵌入式硬件·硬件工程·硬件工程师·开关电源·multisim电路仿真·稳压电源·线性电源
SKYDROID云卓小助手1 小时前
无人设备遥控器之无线电频率篇
服务器·网络·单片机·嵌入式硬件·算法
逼子格3 小时前
振荡电路Multisim电路仿真实验汇总——硬件工程师笔记
笔记·嵌入式硬件·硬件工程·硬件工程师·硬件工程师真题·multisim电路仿真·震荡电流
云卓SKYDROID3 小时前
无人机三叶螺旋桨概述
单片机·无人机·遥控器·云卓科技·精准降落·螺旋桨
Do vis8243 小时前
STM32第十九天 ESP8266-01S和电脑实现串口通信(2)
stm32·单片机·嵌入式硬件
LuDvei3 小时前
CH9121T电路及配置详解
服务器·嵌入式硬件·物联网·网络协议·tcp/ip·网络安全·信号处理
forgeda3 小时前
如何将FPGA设计的验证效率提升1000倍以上(3)
fpga开发·在线调试·硬件断点
许白掰4 小时前
Linux入门篇学习——Linux 编写第一个自己的命令
linux·运维·数据库·嵌入式硬件·学习
liuluyang5305 小时前
linux 4.14 kernel屏蔽arm arch timer的方法
嵌入式硬件·arm·arch_timer·coretime