当前位置: 代码迷 >> 综合 >> Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(SDK部分)
  详细解决方案

Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(SDK部分)

热度:30   发布时间:2024-03-08 15:11:58.0

Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(SDK部分)

  • 背景
    • 思路
    • 官方Zmod ADC demo简介
    • 软硬件平台
    • SDK 工程
      • 1.从vivado导出硬件到SDK
        • ①在vivado下生成bit流文件
        • ②导出硬件
        • ③启动SDK
      • 2.新建一个SDK工程
      • 3.放入ZmodADC1410_Demo_Baremetal源码
      • 4.验证测试
  • 参考相关

背景

继 Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(vivado部分)之后,我们来着手搭建Eclypse-Z7 + Zmod ADC 1410 基础环境的SDK部分。

思路

我们在Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(vivado部分)中完成了vivado项目的搭建,接下来我们先要生成bit流文件,然后导出硬件信息到SDK中来创建SDK工程,然后在SDK工程中导入zmod库以及Zmod ADC库等必要的依赖库,设置好文件链接防止程序中文件包含关系出错,重新生成BSP,于是便可得到一个具有官方Zmod ADC demo功能的基础工程,便于之后使用与修改。

官方Zmod ADC demo简介

在这里我们使用Digilent官方的Zmod ADC demo,下载方法见:Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(vivado部分),该demo在下载好后的Eclypse-Z7文件夹下的sw文件夹中,如下图所示:
在这里插入图片描述
该文件夹下包含:
在这里插入图片描述
简要说明如下:
ZmodADC1410_Demo_Baremetal:Zmod ADC裸机demo源码。
ZmodADC1410_Demo_Baremetal_bsp:Zmod ADC裸机demo板级支持包。
ZmodADC1410_Demo_Linux:Zmod ADC petalinux demo源码。
zmodlib:Zmod 库。

其中ZmodADC1410_Demo_Baremetalzmodlib是我们所需要的。

我们它们从头构建一个新的工程以便于之后的使用与修改。

软硬件平台

操作系统:windows10
软件平台:vivado2019.1 SDK开发套件
硬件平台:Digilent Eclypse-Z7 Zmod开发套件

SDK 工程

1.从vivado导出硬件到SDK

①在vivado下生成bit流文件

我们进入上次搭建的vivado工程,点击下图中红箭头处的按钮。

在这里插入图片描述

出现下图,提示我们工程还没进行implementation,点击OK

在这里插入图片描述

接下来出现下面界面,一般默认即可,点击OK

在这里插入图片描述

接下来就是等待综合,实现,bit流生成,bit流生成完毕后可以看到以下图:

在这里插入图片描述

点击Cancel。接下来我们进行硬件的导出。

②导出硬件

点击菜单栏中的File > Export >Export Handware

在这里插入图片描述

勾选上include bitstream选项,点击OK。这一步会生成硬件描述文件.hdf,这个文件就包含了之前使用Vivado建立工程的全部硬件信息,包括寄存器和存储器在地址空间的映射以及FPGA的Bit流等。

在这里插入图片描述

③启动SDK

点击Launch SDK

在这里插入图片描述
下图选项默认即可,点击Launch OK,然后进入SDK开发部分。
在这里插入图片描述

2.新建一个SDK工程

打开SDK软件后,点击菜单栏中的File > New >Application Project,新建一个工程。
在这里插入图片描述
本文的工程名为ADC(可以自己随便设),选择C++选项(因为官方的Demo是用c++写的,所以这里选择c++),点击Next
在这里插入图片描述

点击Next,选择Empty Application >Finish ,工程创建完毕。

在这里插入图片描述

3.放入ZmodADC1410_Demo_Baremetal源码

打开ZmodADC1410_Demo_Baremetal文件夹下的src文件夹,把main.cpp复制到上一步创建的新工程ADC文件夹的src文件夹下,删除之前新建工程自动生成的mian.cc文件。

在这里插入图片描述
然后把ZmodADC1410_Demo_Baremetal同级目录下的zmodlib文件夹整个复制到ADC文件夹的同级目录下。

在这里插入图片描述
注:下图中红框中的文件是必要的,其他文件如果有不一样请不用在意。

在这里插入图片描述
接下来,在SDK中,点击ADC文件夹 > 右键 > refresh,即可看到新添加进去的main.cpp文件。
小tips:只要再工程中添加了新文件,都需要refresh一下。

在这里插入图片描述
我们看到main.cpp显示了小红叉,双击,我们可以从程序中看出我们缺少了两个文件,如何解决呢?

在这里插入图片描述
首先,我们需要链接zmod库
在src文件夹下,右键 > New > New Folder,选择Advanced,点击Link to alternate location > Browse,选择zmodlib所在的文件夹,点击 Variables > Link to alternate location > WORKSPACE_LOC > Extend, 选择zmodlib文件夹,点击 OK
在这里插入图片描述
点击Finish
在这里插入图片描述

然后,我们设置一下图中zmodadc1410.h和zmod.h为绝对路径的形式

这两个文件都在zmodlib文件夹中,我们可以使用绝对路径来把他包含到main.cpp中。

在这里插入图片描述
注:文件夹依据自己设定的来,比如我这我的Eclypse-Z7文件夹放在D:\Store1目录下。

红框中即为该文件的绝对路径。

在这里插入图片描述
在这里插入图片描述
绝对路径设置好后如下图:

在这里插入图片描述

设置完后 Ctrl + B,重新构建工程,构建结束后可以看到工程不报错了。

在这里插入图片描述
最后一步,重新生成板级支持包bsp,因为我们的工程已经改变。
右键 ADC_bsp,点击Re-generate BSP Sources,重新生成BSP,生成结束后我们再Ctrl + B手动build一下。

在这里插入图片描述
至此SDK部分搭建完成。接下来我们来测试一下该工程能否正确运行。

4.验证测试

step1:在SDK中,点击ADC文件夹,右键 >Debug As>Debug Configurations > 双击序号① > 勾选序号②③ > 点击Apply

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
完成到这步时候,连接好FPGA的电源,Zmod ADC1410,串口线(用来打印信息),jtag线(用来下载bit流文件到板子上),将与信号发生器连接的BNC-SMA线接到Zmod ADC的CH1,打开波形/信号发生器电源,以获得要转换的模拟信号,最后打开FPGA板子的电源。点击Debug,之后会跳出Debug调试界面。

在这里插入图片描述

step2:在Debug调试界面连接好串口显示(SDK Terminal),点击下图右侧加号,选择好串口对应的com号和波特率,点击OK

bG9nLmNzZG4ubmV0L3dlaXhpbl80NTU5Mjk1Ng==,size_16,color_FFFFFF,t_70#pic_center)

在这里插入图片描述

显示下图即为串口连接成功。
在这里插入图片描述
点击运行,可以看到i串口在打印。
我们参考官方demo运行步骤。在这里插入图片描述
在这里插入图片描述
可以看到我们的工程运行正确,的确能在串口看到样本值,原始值和时间戳。

至此,Eclypse-Z7 + Zmod ADC 1410 在SDK下的基础项目构建完成,之后即可对该工程根据自己的需求进行修改。

参考相关

1.ZmodADC1410 Library User Guide
链接: https://reference.digilentinc.com/reference/zmod/zmodadc/zmodadc1410libraryuserguide
2.Zmod基本库用户指南
链接: https://reference.digilentinc.com/reference/zmod/zmodbaselibraryuserguide#environment_setup