版权声明:本文为博主原创文章,未经博主允许不得转载。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]