Vitis DPU加速设计流程总结

本文转载自: 硬码农二毛哥微信公众号

在完成如下两步的基础上再进行Vitis DPU加速设计:

A base hardware design exported from Vivado Design Suite

A base software design that includes Linux kernel, root file system,and device tree

完成上述步骤后,单板可以正常启动,进入加速设计流程,下面是对vitis设计流程进行总结,更详细步骤请参考Vitis-In-Depth-Tutorial/README.md at 2020.1 · Xilinx/Vitis-In-Depth-Tutorial · GitHub。

1、 在硬件平台中加入硬件接口和中断,导出xsa

1)重新配置Processor IP Block

2)加入clock block,加入Processor System Reset blocks,加入中断模块,并进行配置,在vivado 控制台要运行如下命令

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

3)连接时钟、复位和中断模块

4)在 Window->Platform interfaces中设置Platform interfaces

5)导出xsa

2、 使用Petalinux生成系统

1)导入xsa

2)修改设备树

3)在Kenerl和Root file system中加入需要的package

4)运行:

petalinux-build
  petalinux-build --sdk

3、 使用Vitis创建platform

1)概念简介:

Vitis软件platform工作空间结构,有两种Project类型:

Platform Project和System project

Platform Project:提供硬件信息和软件运行环境。可通过导入XSA或存在的Platform建立。几个System project可以建立在同一个Platform Project 上,共享硬件和软件软件。

System project:将同时运行在器件上的应用进行组合。两个独立运行在同一个处理器上的应用不能在一个System project里。一个workspace可以包含多个System project。
Workspace:当打开Vitis软件平台时,创建workspace,用来存储工程数据。

Platform:是硬件部件(XSA)和软件部件(BSP,FSB等)的集合。

Application(Software Project):一个Software Project包含一个或多个源文件,和必要的头文件,编译和生成二进制输出文件(ELF)。System project可以包含多个application project。么一个software project必须有一个相应的domain。

XSA:包含硬件信息,例如处理器配置信息,外设连接信息和器件初始化代码。当创建Platform Project时需要提供XSA。

Domain:domain是一个板级支持包(BSP)或者包含驱动的运行系统(OS),在这上面构建应用。创建好的软件镜像包含部分Xilinx库。可以在Domain中创建多个应用。Domain可以是一个处理器,也可以是多个。

2)新建文件夹xx_custom_pkg,在xx_custom_pkg下新建文件夹pfm,在pfm下新建boot和image。

3)安装sysroot

./sdk.sh -d ../xx_custom_pkg/pfm

4)将文件拷贝到boot和image

cp zynqmp_fsbl.elf pmufw.elf bl31.elf u-boot.elf ../../../ xx_custom_pk/pfm/boot/
cp boot.scr image.ub rootfs.cpio.gz ../../../ xx_custom_pk/pfm/image/
zynqmp_fsbl.elf改名为fsbl.elf

5)在boot文件夹中新建linux.bif文件,内容如下:

the_ROM_image:
{
  [fsbl_config] a53_x64
  [bootloader]
  [pmufw_image]
  [destination_device=pl]
  [destination_cpu=a53-0,exception_level=el-3, trustzone]
  [destination_cpu=a53-0, exception_level=el-2]
}

6)在xx_custom_pkg文件夹下运行vitis,创建vitis platform

4、 在platform上创建应用程序

1)准备DPU kernel

下载vitis ai,将Vitis-AI中的DPU-TRD文件夹拷贝到工程文件夹下。

运行:

source/Vitis/2020.1/settings64.sh.
source opt/xilinx/xrt/setup.sh

修改 prj_config和dpu_conf.vh

2)创建vitis应用

加入源文件和各种库,进行编译

3)准备神经网络,下载resnet-50

5、将文件拷贝到sd进行测试

在SD新建分区boot和rootfs(ext4),将工程文件夹../ Hardware/sd_card/中的内容拷贝到boot文件夹,将rootfs.tar.gz解压到sd的rootfs文件夹。

运行程序:

最新文章

最新文章