当前位置:   article > 正文

1-DPU平台搭建_如何使用赛灵思dpu

如何使用赛灵思dpu

一、基本流程

1、使用vivado绘制bd图,可以先画一个最小系统进行测试,生成FPGA板子的.xsa文件
2、把.xsa文件放入petalinux工程中进行编译生成镜像文件。
3、vitis导入vitis AI,搭建DPU平台。
4、镜像文件放入U盘后,将ZCU104开发板上的SW6拨码开关进行调整,调整至使用SD卡启动。

二、环境搭建

环境搭建这一块按照B站视频来https://www.bilibili.com/video/BV1kU4y1K7o6/?spm_id_from=333.999.0.0&vd_source=6a1305b3cff1b779943ff37db586910c

1、ubuntu20.04

可以安装在虚拟机或者主机,保证硬盘空间400G以上。

2、Vitis2021.2(下完整安装包,77G)

这里要先说明一下为什么下载完整包,官网上提供了几百M的下载包和完整包,之前有试过在线包的安装,毕竟比较小,下载也快,但是有时候会在安装即将完成的时候,验证xilinx账户时出现验证不通过的情况。

在安装vitis会发现一直卡在安装的最后一步,发现出现的问题是ncurses库未安装,因此在执行./xsetup之前先执行sudo apt-get install libncurses5

chmod +x的意思就是给执行权限】chmod +x 待执行脚本文件【chmod +x的意思就是给执行权限,也可以右键更改属性

3、Petalinux2021.2(下完整安装包,2.1G)

需要先运行安装环境的脚本(也要按照上一条chmod将脚本设置为可执行文件)

4、sstate-cache(这两个比较大,加起来80G多一点)

两个文件解压放在目标文件夹下,在petalinux-build的时候会用到,默认是在线下载并编译,但是会出现获取不到的情况中断,所以提前下载好进行本地编译

5、交叉编译SDK

运行脚本即可

6、Common image

运行脚本即可

7、在.bashrc中配置环境变量

这一步是因为在linux中需要找到程序的根目录下的setting.sh才可以打开程序,那么在.bashrc中添加环境变量后,在命令终端打开的时候系统会自行检查环境变量,这时就可以通过输入vivado启动vivado,不用找根目录再执行setting.sh
————————————————————————————————————————
———————到此完成环境搭建,因为安装包都比较大,记得及时清理————————
————————————————————————————————————————

三、测试环境的demo

主要对照着B站大发明家的视频进行工程搭建,对着官网文档理解内容,这里主要记录一下其中遇到的问题。

参考链接:
https://github.com/Xilinx/Vitis-Tutorials/blob/2021.2/Vitis_Platform_Creation/Introduction/02-Edge-AI-ZCU104/step1.md
https://www.bilibili.com/video/BV1kU4y1K7o6?p=10&vd_source=6a1305b3cff1b779943ff37db586910c

这个demo分为vivado和petalinux两部分,这两部分能够构建出板载的linux镜像。

1、新建vivado工程,构建最小系统,导出.xsa文件

11bcfc7b3459c748e6cf9216049dbfe8.JPG

2、新建petalinux工程,对导出的.xsa文件进行编译,生成镜像文件

这里需要使用的命令行等信息放在readme.txt中,可以直接复制

3、镜像文件放入SD卡,开发板调至SD卡启动

image.png

4、使用mobaxterm或者putty进行linux开发。

由于没有配置板载linux的ip,所以在输入ifconfig的时候eth0没有显示ip,那么主机也就无法使用ssh连接板子。
网线将二者连接,看到网络适配选项里面
①为了能让板子能连上网(这只是让板子联网的第一步,后面的步骤具体还要百度然后再linux里面操作)
image.png
②弹出来的以太网窗口,查看里面ip4,这里会被上面一步自动分配一个ip,记住这个ip网段
image.png
③在mobaxterm的串口里面配置板子的ip
ifconfig eth0 192.168.137.16 netmask 255.255.255.0
192.168.137要与刚才查询到的ip一致,最后以为0-255自行配置,不重复就行。
然后用ssh连接板子。

遇到的问题

扩展坞连接网线和串口线,ssh登录大部分时候存在问题。
mmexport1690859335221.jpg
解决办法
mmexport1690859345496.jpg

四、测试环境的Vector demo

这个demo新建了zcu104的platform,随后配置application进行简单测试。
这里配置Vector这个application进行测试,上板子能进系统即可。

petalinux-build编译时间比较长,一个半小时左右,最后一步会出现
image.png
不影响,当然也可以选择在命令窗输入petalinux-config,选择image packaging configuration,取消copy final images to tftpboot,这样操作完之后重新编译出现
e6f8e579fbaa61d3201528b7fe18115.jpg
差别不大,都是没有这个协议的boot

按照视频教程对vadd这个application进行编译会出现error1,vitis命令行显示缺少binary_container_1.xclbin文件,但是顺着hls_log往里面查找发现是HLS导出IP的bug。
注意:xilinx的软件是有bug的,之前在windows上使用2018版本的时候遇到过,但是没想到ubuntu2021版本问题还在。不能正常HLS导出IP。解决办法是在xilinxu官网下载y2k22文件,放在安装路径下,通过python执行patch.py文件

五、修改vitis ai demo的dpu个数

vitis ai demo按照B站大发明家去完成
demo默认的配置是ZCU102的,使用2个DPU再加一些其他配置。
通过吃猫粮的耗子的视频https://www.bilibili.com/video/BV13Z4y1V7kq/?spm_id_from=333.999.0.0&vd_source=6a1305b3cff1b779943ff37db586910c慢慢理解,不难发现vitis是命令行的套娃版本,他的核心还是执行命令行,只不过被放到了makefile里面。

在zcu104基础上需要修改的地方

5fb0530b1e3867091c438929d0a3a1ba.JPG
23faee4a3d57d570a4075e4b20599640.JPG
2402bc20295249f6ba157b37e183b171.JPG

六、查看资源占用情况

输入vitis_analyzer命令行查看1个DPU和2个DPU的资源使用情况。

image.png
image.png
image.png
image.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/250399
推荐阅读
相关标签
  

闽ICP备14008679号