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

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

在github上搜索hdl选择第一个-->选择版本-->我所使用的vivado是2018.3版本,所以这里我下载的是hdl_2019_r1-->在附录中下载资源-->下载对应版本的No-Os

把下载好的资源复制到虚拟机里解压缩,右键打开命令行

设置环境变量-->进入项目目录-->编译-->打开vivado

source /tools/Xilinx/Vivado/2018.3/settings64.sh
cd hdl-2019_r1/projects/adrv9371x/zc706
make
vivado

打开工程-->选择工程-->确定

不需要修改直接编译

导出硬件设计,后续弹出的提示都选择确认

打开SDK,后续弹出的提示都选择确认

新建项目

项目名称设置为fsbl-->next-->选择FSBL-->完成。注意SDK不要关闭,后续需要用其生成BOOT.bin

回到最开始的目录,右键再次打开一个命令行窗口

设置环境变量-->进入工程目录-->复制硬件设计文件-->编译工程,等待编译成功

source /tools/Xilinx/Vivado/2018.3/settings64.sh
cd no-OS-2019_R1/projects/ad9371/
cp ../../../hdl-2019_r1/projects/adrv9371x/zc706/adrv9371x_zc706.sdk/system_top.hdf .
make

回到最开始的目录,右键再次打开一个命令行窗口

创建file文件夹-->进入文件夹-->复制fsbl文件-->复制bit文件-->复制elf文件

mkdir file
cd file
cp ../hdl-2019_r1/projects/adrv9371x/zc706/adrv9371x_zc706.sdk/fsbl/Debug/fsbl.elf .
cp ../hdl-2019_r1/projects/adrv9371x/zc706/adrv9371x_zc706.runs/impl_1/system_top.bit .
cp ../no-OS-2019_R1/projects/ad9371/build/release.elf .

回到SDK,生成BOOT文件

选择file文件夹-->按照顺序添加file中的文件(顺序为:fsbl-->bit-->elf)-->生成BOOT文件

打开file文件夹复制BOOT.bin文件到SD卡中,插入开发板,接好电源,串口线,安装好ADRV9371模块,启动模式设置为SD卡启动

打开串口助手软件,开启电源等待串口打印信息,最后输出Done表示成功

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.865 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 73 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: 1CGS state: DATAInitial Frame Synchronization: YesLane Latency: 1 Multi-frames and 74 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.865 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.864 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: 2 Multi-frames and 8 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: 2 Multi-frames and 6 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 (245730590 Hz)
rx_adc: Successfully initialized (122865295 Hz)
rx_obs_adc: Successfully initialized (245730590 Hz)
Done

资源分享

整个项目最终文件与BOOT.bin

项目及BOOT.bin
链接:https://pan.baidu.com/s/1oxcjD2flhFfdV8PWVnOh_w 
提取码:g31r 虚拟机镜像,内置vivado2018.3版本
链接:https://pan.baidu.com/s/13LNnIGnK-PFoAzuVh-1g-g 
提取码:v06p 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/813851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考 - 系统架构设计师 - 面向对象架构设计案例

问题1: 解决该题,用例和参与者要一起进行分析,首先看到用例 U1 和 U2 是 U3 的扩展,分析用例列表中的用例,可以分析出 U1 和 U2 是Underpaid transaction 和 Record lllegal use,顺序可以颠倒,…

分享 GoLand 2024.1 激活的方案,支持JetBrains全家桶

大家好,欢迎来到金榜探云手! GoLand 公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 GoLand等。这些工具被广…

【QT学习】6.控件进阶,C与C++的强制类型转换,自定义控件,qt制作一个简易播放器

1.C与C的强制类型转换 2.自定义控件 要求:制作一个登录页面 1.使用控件拖拽一个页面出来 使用水平布局,垂直布局,网格布局 2.建立自定义控件 1.为项目添加自定义的类 自己写一个控件 2. (1)创建一个Group Box容器 &a…

springboot整合shiro之——拦截路径

简介Shiro: 1.基本功能 身份认证、授权、加密、会话管理 Web支持、缓存、多线程、测试、允许一个用户假装为另一个用户的身份进行访问、记住我 2. 执行过程 分为五步: Subject 用户主体:请求的发起者,即访问应用的用户 Security Manager 安…

1.Hexo安装和环境搭建引导

Hexo是一个依赖于一个名为nodejs的程序 因此安装它的方式在Mac和Windows上实际上是一样的 为了在电脑上安装Hexo 需要做两件事 nodejs,基本上是hexo依赖运行的JavaScript框架 Node.js — Run JavaScript Everywheregit,是一个程序,用来管理电…

Traefik和HAProxy全方位对比

在面对各种现代应用部署需求时,选择合适的反向代理和负载均衡器至关重要。Traefik🚦和HAProxy🛡️都是领先的解决方案,但它们各有特点,适用于不同的场景。本文将从多个维度全面对比Traefik🚦和HAProxy&…

【C++】类和对象②(类的默认成员函数:构造函数 | 析构函数)

🔥个人主页:Forcible Bug Maker 🔥专栏:C 目录 前言 类的6个默认成员函数 构造函数 概念 构造函数的特性及用法 析构函数 概念 析构函数的特性及用法 结语 前言 本篇主要内容:类的6个默认成员函数中的构造函…

设计模式——外观(门面)模式10

外观模式:能为系统框架或其他复杂业务流程封装提供一个简单的接口。 例如抽奖过程中 设计模式,一定要敲代码理解 调用1(抽奖系统) /*** author ggbond* date 2024年04月08日 10:34*/ public class Lottery {public String getId…

OpenHarmony南向开发案例:【智能门锁】

一. 简介 本demo是基于Openharmony 3.1 Beta本版开发,不仅可以接收数字管家应用下发的指令来控制门锁开启,而且还可以通过数字管家设置不同的开锁密码以及一次性密码,实现给临时用户一个临时密码,保证门户安全。当然除了开锁的功…

遍历列举俄罗斯方块的所有形状

以前玩俄罗斯方块的时候,就想过一个问题,为什么俄罗斯方块就这7种形状,还有没有别的形状?自己也在纸上画过,比划来比划去,确实就这几种形状。 继续思考一下,那假如是3个块组合的形状&#xff0…

网页input框自动填充问题

autocomplete 大部分查询解决办法是设置,autocompleteoff,关于autocomplete的含义,官网参考如下: HTML attribute: autocomplete - HTML: HyperText Markup Language | MDN 在 autocomplete 的文档中说明了 value 为 off 时,浏览…

双子座 Gemini1.5和谷歌的本质

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【STL】list

目录 1. list的使用 1.1 list的构造 1.2 list iterator的使用 1.3 list capacity 1.4 list element access 1.5 list modifiers 1.6 list的迭代器失效 2. list的模拟实现 3. list与vector的对比 1. list的使用 1.1 list的构造 1.2 list iterator的使用 1. begin与end为…

KVM + GFS 分布式存储

目录 一、案例分析 1.1、案例概述 1.2、案例前置知识点 1)Glusterfs 简介 2)Glusterfs 特点 1.3、案例环境 1)案例环境 2)案例需求 3)案例实现思路 二、案例实施 2.1、安装部署 KVM 虚拟化平台 1&…

Mac的终端配置

Mac的终端配置 参考教程包管理工具 - Homebrew出现的问题用虚拟环境解决方案:直接将解释器的路径放过去错误方法:用find查找到虚拟环境安装的路径,其链接的是brew安装的python路径 编辑器没有报错,但是运行过程中仍然找不到pandas…

JavaEE初阶Day 7:多线程(5)

目录 Day 7:多线程(5)1. 死锁2. 死锁场景3. 场景二:两个线程,两把锁4. 场景三:N个线程,M把锁5. 避免死锁问题6. 内存可见性问题 Day 7:多线程(5) 回顾synchr…

Windows下使用SDKMAN对JDK(Java)进行多版本管理

Windows下使用SDKMAN对JDK(Java)进行多版本管理 1.背景2.基于msys2工具2.1. msys2简介2.2. 安装与配置2.2. Windows环境变量配置参考2.3 结果确认 3. 基于WSL 1.背景 前端有nvm,python有miniconda,miniforge等,java呢?java在Linu…

前端css笔记(pink老师)

css css书写顺序 自适应屏幕 html { width: 100%; height: 100%; display: table; } body { display: table-cell; } 用了这个方法以后,如果希望页面内的盒子也适应屏幕大小,则使用以下方法,会根据父亲的宽高计算出该盒子的宽高 width:xx%; …

java进阶---反射

获取class对象 Testvoid reflect() throws Exception {Class userClass User.class;System.out.println(userClass.getName()); // 全类名 com.zyw.proxydemo.pojo.UserSystem.out.println(userClass.getSimpleName()); // 简名 UserClass userClass1 Class.forName("co…

SpringBoot通过UUid实现文件上传接口及问题解决

在controller中,添加对应的方法体: PostMapping("/upload")ResponseBodypublic ApiRestResponse upload(HttpServletRequest httpServletRequest, RequestParam("file")MultipartFile file) throws IOException {String fileName f…