【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”

目录

  • 前言
  • 具体操作
    • 1 从PL导出.xsa文件
    • 2 将.xsa文件导入Vitis中
    • 3 添加中断触发
  • 结束
  • 补充说明

前言

上一篇文章主要介绍了PL端XDMA的配置,这篇主要介绍PS端搭建设置

具体操作

Vivado2020.2与以往的Vivado版本不同需要手动关联.xsa文件,具体流程如下:

1 从PL导出.xsa文件

生成bit文件后,Export Hardware,在这个界面下我们可以看到Vivado2020.2这个版本已经没有SDK的启动选项了。
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第1张图片
Include bitstream文件->Next
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第2张图片
生成xsa文件,文件生成路径选择默认路径,项目根目录下->Next,即可生成文件
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第3张图片

2 将.xsa文件导入Vitis中

运行Xilinx Vitis2020.2软件,用户可自定义工程路径->Next
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第4张图片
Creat a New Application Project->Next
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第5张图片
select a platform to create the project,将先前生成的xsa文件导入进去,Browser->w文件路径->Next
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第6张图片
创建工程名称,选择运行环境,本设计选择ps7_cortexa9_0即CPU0,输入工程名后Next即可。
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第7张图片
在本界面下,用户可以选择Standalone(裸机)或者freertos10_xilinx(FreeRTOS操作系统)。用户可选择Standalone进行相关测试,如有其他操作系统BSP可在生成后自行导入即可。
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第8张图片
可选择Hello World进行后期开发的初始工程。
【ZYNQ】XDMA PS端配置 -- 第一个“Hello World”_第9张图片

3 添加中断触发

由于使用到PL端到PS端中断触发,所以需要在main.c中添加PL中断的触发函数,这里使用到了SDK为我们提供的中断库文件xscugic.h,以下仅中断函数库提供的函数变量和函数体,具体操作可自行查阅资料,默认即可。

  1. 产生一个中断控制器实例 — XScuGic
  2. 中断控制器配置实例 — XScuGic_Config
  3. 找到scugic实体 —XScuGic_LookupConfig
  4. 初始化scugic — XScuGic_CfgInitialize
  5. Xilinx提供的通用异常处理程序 — Xil_ExceptionRegisterHandler
  6. 中断处理函数 —XScuGic_InterruptHandler(中断方式为查表方式)
  7. 使能异常处理 — Xil_ExceptionEnable
  8. 连接到我们自己定义的中断处理函数 — XScuGic_Connect(对应IRQ_F2P[15:0]配置个数,注册中断回调函数)
  9. 使能我们设立的中断实例 — XScuGic_Enable

结束

vitis的功能和vivado过去的版本基本相同,不过在一些使用习惯上可能会造成用户的误解。

补充说明

默认的C语言界面没有行号,而且字体非常小,下面说下怎么调整。

1.点击顶层导航栏的Window—Preferences,点击General—Editors—Text Editors,将下面的Show line numbers勾选上即可显示行号了。
2.然后点击右侧的蓝字’Colors and Fonts’,右侧页面变换后选择C/C+±–Editor—C/C++ Editor Text Font,点击右侧Edit…即可调整字体和字号,建议字号为14。

你可能感兴趣的:(ZYNQ,fpga开发,模块测试)