ZYBOZ7从入门到进阶-3 zyboz7裸机实现Hello World

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/a646123070

上一节,我们已经学会了纯PL端的LED点灯实验,也学会了如何建立一个空的项目,现在我们来学习一下PS端的裸机运行Hello World。

1、建立新工程

首先,按照ZYBOZ7从入门到进阶-2中的教程建立一个新工程。

2、添加处理器zynq-7000(IP)内核

在Flow Navigatot窗口下的IP INTEGRATOR子窗口点击create block design按钮,新建一个block design,填好文件名字和选好所在位置之后点击OK。

建立完成后的block design如下图所示。

点击Diagram开发界面中的Add IP的加号,通过输入关键词(ZYNQ)来搜索需要添加的IP核

选中IP核后,系统会以图形界面的形式把IP核显示出来

点击上图浅绿色条带中的Run Block Automation

勾选apply board preset,将这个IP核相关的输入/输出信号映射到芯片具体的引脚上,并添加必要的约束。点击OK按钮后启动自动化,完成后结果如下图

通过双击图中的IP核(图案会变成橙色)可以更改其内部配置。
默认状态下使能了M_AXI_GP0,可以将PL部分带AXI从接口的IP连接到PS进行控制。这里我们需要把PL端和PS端的时钟连接起来,即把M_AXI_GP0_ACLK与FCLK_CLK0连接起来。

完成配置后,右击图案,选择“Validate Design”(或者使用快捷键F6)进行规则检查。

3、生成输出文件并封装成HDL形式

点击Flow Navigator->IP Intergrstor->Generator Block Design,在弹出的界面选择generate。

生成输出文件后,将其封装成顶层HDL文件,Source窗口右击core(添加的IP核名字),选择Create HDL Wrapper

完成后,Source窗口多了一个HDL文件Core_wrapper.v

现在,我们已经完成了一个IP核的内部设计并将其封装成基本的HDL形式(可以作为一个模块被其他设计调用),接下来就可以按照ZYBOZ7从入门到进阶-2中的RTL分析、综合、实现和生成硬件比特流文件的方法进行RTL分析、综合、实现和生成硬件比特流文件

4、利用SDK进行软件开发

在上一步中我们已经完成了处理器硬件架构的设计,如果此时将比特流文件下载到ZYNQ-Z7芯片内部,则此时的芯片将是一款用户自己定制的处理器,但它还缺乏软件程序。
这一节,我们将硬件平台信息导入到SDK。接着File->Exprot->Exprot Hardware ,将硬件平台信息、硬件比特文件全部导入SDK平台。

注意勾选加入比特流文件

生成完成好,我们就完成了硬件平台的构建,下一步就是进入SDK进行应用软件开发了。我们可以通过File->Launch SDK打开。下图可以看到硬件平台信息已经被导入

5、创建BSP(板级驱动包)和Application Project(应用程序)

在SDK中选择File->New->Application Project,填写项目的名字,在Board Support Package 选项中,我们可以新建板级驱动包,或者使用之前建好的,这里我们使用新建的板级驱动包。

填写完成之后点击Next,选择Hello World模板,点击Finish。

这时左侧的工程浏览器就出现了刚刚建立的工程文件夹,下拉菜单src中找到helloworld.c,双击就可以编辑。本文无需编辑。

6、进行板级调试

首先用usb线连接电脑和开发板,供电方式选择usb供电,开发板选择从jtag启动。(这两项都是利用跳帽进行选择的)

然后把开发板的电源开关拨到ON,通过PC的“设备管理器”,查看端口。本文使用的端口为COM11

然后回到SDK,在SDK Terminal窗口点击“+”号,填写串口信息。端口选择设备管理器看到的端口,波特率为115200,最后点击OK。(这里也可以使用第三方的串口调试软件进行连接)

接着右击工程Hello->Run As->Run configurations

接着在弹出的页面,双击Xilinx C/C++ application (system Debugger),保持设置,然后点击Run,最后在SDK Terminal窗口就会看到Hello World。

至此,一个简单的应用程序就完成了。
回顾一下,整个流程下来包括了以下几个阶段:
  1.搭建硬件平台(在vivado中进行)
  2.将硬件平台信息(包括比特流文件)导入SDK
  3.在SDK中建立驱动包和应用工程
  4.连接PC和开发板,进行板级调试

文中使用到的资源、工程我已打包上传到csdn资源中心。
作者学生一枚,文中难免有错误,指教、改错请→[email protected]

猜你喜欢

转载自blog.csdn.net/a646123070/article/details/83795444