ZYNQ学习_第一章_HelloWorld


前言

本文简单介绍基于VITIS使用ZYNQ开发板进行开发,实现helloworld并进行简单调试

一、ZYNQ开发

ZYNQ开发包括俩部分,ARM(PS)核开发与FPGA(PL)开发,FPGA侧开发即使用我们熟悉的vivado,ARM侧开发需要使用SDK或者是VITIS,新版本的VIVADO不再是在其内部包括SDK,而是需要使用单独的VITIS进行开发。具体流程如下:

  1. 在VIVADO中进行BD设计框图,添加ARM核心
  2. 配置ARM信息,时钟频率、DDR型号、外设引脚等
  3. 完成BD框图中的模块互联
  4. 生成PL端bit流
  5. 到处PS端硬件信息
  6. 打开SDK或者VITIS,本内容主要介绍VITIS
  7. 导入硬件平台
  8. 创建应用程序
  9. 进行代码设计
  10. 编译、烧录

二、使用步骤

1.BD框图设计

在这里插入图片描述
默认引脚:
FCLK_CLK0:提供给FPGA的时钟
FCLK_RESET0_N:提供给FPGA的时钟复位
M_AXI_GP0:主机AXI接口
FIXED_IO:ARM端GPIO口
DDR:PS端DDR接口
M_AXI_GP0_ACLK:主机AXI时钟接口
双击打开配置页面:
在这里插入图片描述

第一页:绿色部分为用户可调用资源,灰色部分不可调用
第二页:主要以下四个内容
PL-PS交互选项: General为一些外设配置,以及给FPGA的时钟和时钟复位选项
AXI non secure enablement: 大概意思为AXI不稳固接口使能,即PS端作为主机的AXI主机接口,外部FPGA可能AXI总线设计不规范,有可能主机AXI挂死,因此称其不稳固
GP Slave AXI: 普通32位axi接口,FPGA向ARM写数据通过该接口或HP
HP Slave AXI: 高性能64位axi接口
第三页:IO配置,需要通过阅读ZYNQ原理图进行配置
第四页:MIO配置,ZYNQ bank0、bank1电压、速度、GPIO MIO和GPIO EMIO位宽等配置信息,后续详细介绍
第五页:系统时钟、DDR时钟、IO外设时钟以及提供给PL端时钟的配置,一般默认
第六页:DDR配置
若想保存配置结果方便下次使用,可通过Presets进行保存

2.HelloWorld示例

BD设计:
在这里插入图片描述

  1. 只进行时钟、UART以及DDR相关配置,其余默认接口全都在配置当中取消勾选。

  2. 随后将BD进行generate output products并且产生顶层文件

  3. 生成bit流

  4. 导出硬件信息(FIle->export->export hardwsre),勾选包含bit流(本次设计并不涉及PL,但勾选上为好),Vivado 会在当前工程目录下导出一个后缀为.xsa(Xilinx Support Archive)文件,可以当做是.hdf文件(SDK中硬件文件)的代替品

  5. 启动VITIS,创建新硬件平台,

  6. 从vivado转向Vitis(vivado : Tools->Launch Vitis IDE)

  7. 创建平台工程(Vitis : File->New->Create Platform Project):其中需要用到上面的.xsa文件

  8. 创建应用工程(Vitis : File->New->Create Application Project) :其中需要链接到上面创建的平台,也可以直接创建应用工程:在创建应用工程的界面里创建平台工程并链接。

  9. 在Vitis里右键单击应用工程中的src目录,选择New->File:创建应用工程代码,此处可选择HelloWorld模版。

  10. 右击选择编译project,没有错误后进入debug窗口,在此窗口可以选择串口(绿色的+),并且看到串口打印的信息。
    在这里插入图片描述

  11. 右击Run configuration当中选择:
    在这里插入图片描述

  12. 记得先开发板上电,连接好jtag,uart串口,随后点击Run As即可

  13. Debug模式下可以单行或者按照每个函数的顺序进行执行代码。

总结

ZYNQ学习第一步,经典HelloWorld就此结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顺子学不会FPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值