基于Vitis硬件加速平台测试用例-vector-add

本文链接:https://blog.csdn.net/sinat_39724439/article/details/113782425
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

1、参考官方网站
https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Creating-a...
https://www.xilinx.com/html_docs/xilinx2020_2/vitis_doc/embeddedplatform...
https://www.hackster.io/mohammad-hosseinabady2/ultra96v2-linux-based-pla...

2、软件版本
vitis:2020.01
petalinux:2020.01
XRT:2020.01

3、这个东西的意义我觉得就是软件在运行时,将一些适合用pl加速的功能卸载到逻辑端运行,使cpu解放出来做其他的事情,所以在vivado建立平台时,要描述好预留的输入输出接口,不同频率的时钟还有就是中断,方便数据的输入和输出。

4、新建vivado工程
板卡为自定义,芯片为xczu3eg-sfvc784

(1)vivado中自选外设uart eth usb sd dp pcie(ssd),其实只选择uart和sd即可。

(2)新建clk

(3)新建中断控制器,并修改中断输出接口

(4)工程整体连接

(5)选择paltform,使下面的接口全部enable,这是硬件平台的数据和时钟接口,时钟接口需要选择一个默认的时钟频率,并设定为default。

set_property PFM.IRQ {intr {id 0 range 31}} [get_bd_cells /axi_intc_0]

此命令是类似于上述,使32个中断也全部enable。

(6)设置一些属性

set_property platform.default_output_type "sd_card" [current_project]
set_property platform.design_intent.embedded "true" [current_project]
set_property platform.design_intent.server_managed "false" [current_project]
set_property platform.design_intent.external_host "false" [current_project]
set_property platform.design_intent.datacenter "false" [current_project]

(7)生成bit流。
(8)导出xsa文件,至此,vivado的工作结束。

5、新建petalinux工程
(1)当执行到petalinux-config --get-hw-description= 的命令后
在project-spec/meta-user/conf/user-rootfsconfig文件中,加入

CONFIG_xrt
CONFIG_xrt-dev
CONFIG_zocl
CONFIG_opencl-clhpp-dev
CONFIG_opencl-headers-dev
CONFIG_packagegroup-petalinux-opencv

(2)运行petalinux-config -c kernel
将cma大小调整为512

(3)运行petalinux-config -c rootfs
在User Packages中,使能全部

(4)修改设备树,增加eth,usb3.0,sd的说明,zocl和中断号。

(5)petalinux-build
(6)petalinux-build --sdk
(7)petalinux-package --sysroot

至此,petalinux的工作结束。

6、新建vitis工程 运行软件前

export LIBARARY_PATH=/usr/lib/x86_64-linux-gnu

否则,在运行emulation hw时 报错!

(1)新建xrt文件夹,在此文件夹中新建文件夹linux_xrt,在此问价夹中新建boot和image两个文件夹
(2)在xrt文件夹中新建vitis工程,将petalinux工程中,image/linux文件夹中生成的4个elf文件拷贝到boot文件中,将boot.scr image.ub rootfs.cpio.gz拷贝到image文件夹中,其实放在一起也是可以的。


(3)将petalinux工程的build文件夹中的bootgen.bif文件拷贝到boot文件夹中,并做修改

此处注意,一定要用绝对路径,否则最后编译错误,其中的bitstream也必须是这个,不能指定,否则最后在运行程序时会挂到下面

(4)新建工程后,选择bif文件,选择对应的路径,文件系统,sysroot 路径选择petalinux工程sdk路径下的aarch64,配置完成后,选择build,当vivado工程改变时,需要同时更新xsa文件。

(5)新建应用,选择此平台,选择vector_add的模板,选择对应的路径,所需的文件都在image问价夹中。下图的路径改变是自动的,当编译一次成功以后,就会改变。

(6)选择锤子右侧的下三角,选择hardware选项进行build。
(7)等待build成功,至此,vitis的工作结束。

7、应用测试
(1)在vitis工程,hardware,package文件夹下有sd_card.img文件,可通过win32disk等工具对sd卡进行烧录
(2)或者分区sd卡,第一分区为fat,将sd_card文件夹下的五个文件全部拷贝到fat分区。
(3)以上两种操作后,sd内的文件是一样的。
(4)开机

inin.sh中的内容是
export XILINX_XRT=/usr

(5)其中直接运行
export XILINX_XRT=/usr
与以下运行方式效果是相同的,而且必须配置XRT的运行环境。

(6)运行demo

(7)测试成功。

最新文章

最新文章