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 
相关推荐
yuan199973 小时前
STM32远程升级系统(Bootloader + 上位机)
stm32·单片机·嵌入式硬件
Heartache boy3 小时前
野火STM32_HAL库版课程笔记-ADC多通道采集热敏、光敏、反射传感器(轮询)
笔记·stm32·单片机
AI+程序员在路上4 小时前
嵌入式软件技术大全
linux·开发语言·arm开发·单片机
秀秀更健康5 小时前
STM32的程序下载不进去----VDDA悬空
stm32·单片机·嵌入式硬件
s09071366 小时前
ZYNQ无SD卡纯NAND Flash启动Linux全攻略
linux·fpga开发·zynq·nand flash启动
长安第一美人7 小时前
AI辅助下的嵌入式UI系统设计与实践(二)[代码阅读理解]
c++·嵌入式硬件·ui·显示屏·工业应用
我在人间贩卖青春7 小时前
DMA的应用
单片机·dma·gpdma
jjinl8 小时前
AG32VF407RGT6 开发流程记录
fpga开发
FPGA小迷弟8 小时前
FPGA面试题汇总整理(一)
学习·fpga开发·verilog·fpga
Z22ZHaoGGGG8 小时前
verilog 资源占用少的滤波方法
fpga开发