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 
相关推荐
神电测控3 小时前
新品发布:32通道50MS/s同步并行14位采集模块PG-FMC9249(支持任意FPGA/ZYNQ,兼容LabVIEW FPGA软件开发)
fpga开发·labview·ni·神电测控·王电令·ad9249·32通道
Freak嵌入式3 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
wuyk5553 小时前
77.嵌入式 C 语言中 enum 枚举的工程化实践:告别魔法数字,提升代码可维护性
c语言·开发语言·stm32·单片机·嵌入式硬件
义嘉泰4 小时前
XT25F128F-W Flash芯片全面解析
人工智能·嵌入式硬件·芯片
QH139292318804 小时前
Keysight N9917B N9918B手持式综合微波分析仪
网络·科技·嵌入式硬件·集成测试·信息与通信
Drgfd4 小时前
半导体国产替代进入“深水区”:决战设备、材料、IP三大高地
网络·fpga开发
longxingiot4 小时前
轻量化单片机数传终端降低物联网开发门槛
单片机·嵌入式硬件·物联网
亿道电子Emdoor5 小时前
【Arm】MSP和PSP的区别简介
c语言·arm开发·单片机·mcu
BUG研究员_5 小时前
51单片机UART串口通信波特率产生过程
单片机·嵌入式硬件·51单片机