首先需要在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 enabledMeasured Link Clock: 122.878 MHzReported Link Clock: 122.880 MHzLane rate: 4915.200 MHzLane rate / 40: 122.880 MHzLink status: DATASYSREF captured: YesSYSREF alignment error: No
rx_jesd lane 0 status:
Errors: 0CGS state: DATAInitial Frame Synchronization: YesLane Latency: 1 Multi-frames and 56 OctetsInitial Lane Alignment Sequence: YesDID: 0, BID: 0, LID: 0, L: 2, SCR: 1, F: 4K: 32, M: 4, N: 16, CS: 0, N': 16, S: 1, HD: 0FCHK: 0x47, CF: 0ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1FC: 4915200 kHz
rx_jesd lane 1 status:
Errors: 0CGS state: DATAInitial Frame Synchronization: YesLane Latency: 1 Multi-frames and 57 OctetsInitial Lane Alignment Sequence: YesDID: 0, BID: 0, LID: 1, L: 2, SCR: 1, F: 4K: 32, M: 4, N: 16, CS: 0, N': 16, S: 1, HD: 0FCHK: 0x48, CF: 0ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1FC: 4915200 kHz
tx_jesd status:Link is enabledMeasured Link Clock: 122.878 MHzReported Link Clock: 122.880 MHzLane rate: 4915.200 MHzLane rate / 40: 122.880 MHzSYNC~: deassertedLink status: DATASYSREF captured: YesSYSREF alignment error: No
rx_os_jesd status:Link is enabledMeasured Link Clock: 122.878 MHzReported Link Clock: 122.880 MHzLane rate: 4915.200 MHzLane rate / 40: 122.880 MHzLink status: DATASYSREF captured: YesSYSREF alignment error: No
rx_os_jesd lane 0 status:
Errors: 0CGS state: DATAInitial Frame Synchronization: YesLane Latency: 1 Multi-frames and 54 OctetsInitial Lane Alignment Sequence: YesDID: 0, BID: 0, LID: 0, L: 2, SCR: 1, F: 2K: 32, M: 2, N: 16, CS: 0, N': 16, S: 1, HD: 0FCHK: 0x43, CF: 0ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1FC: 4915200 kHz
rx_os_jesd lane 1 status:
Errors: 0CGS state: DATAInitial Frame Synchronization: YesLane Latency: 1 Multi-frames and 56 OctetsInitial Lane Alignment Sequence: YesDID: 0, BID: 0, LID: 1, L: 2, SCR: 1, F: 2K: 32, M: 2, N: 16, CS: 0, N': 16, S: 1, HD: 0FCHK: 0x44, CF: 0ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1FC: 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