大咖投稿 | Vitis培训课后感附详细技术解析(下)

文章转载自:XILINX技术社区微信公众号

上期我们分享了王伟老师的技术文章解析(上)

本期将会给大家带来下集解析,Ultra96v2petalinux 2019.2软件平台设计与调试和Vitis AI Linux加速平台的介绍。

《含Wifi和DPU功能的Ultra96v2 Vitis AI Linux加速平台的设计与制作》-下

第二部分 Ultra96v2petalinux 2019.2软件平台设计与调试

2.2 petalinux 加速功能部分

2.2.1 加速功能根文件设置

2.2.2 编辑petalinux-image-full.bbappend文件

2.2.3 添加zocl设备树

2.2.4 删除chromium模块

2.2.5 生成SDK安装包

第三部分 Vitis AI Linux加速平台

3.1 准备工作

3.2 加速平台生成

第二部分:Ultra96v2 petalinux 2019.2软件平台设计与调试

2.2 petalinux 加速功能部分

2.1.1 加速功能根文件设置

我们直接通过文件操作来完成,同DPU根文件配置一样分为两步走。

首先在/project-spec/meta-user/conf/user-rootfsconfig中引入相应模块

#use the XRT and acceleration kernels.

CONFIG_xrt

CONFIG_xrt-dev

CONFIG_zocl

CONFIG_opencl-clhpp-dev

CONFIG_opencl-headers-dev

CONFIG_packagegroup-petalinux-opencv

参见下图中的#XRT部分

然后在rootfs_config中添加该项,并置=y

Rootfs_config

CONFIG_xrt=y

CONFIG_xrt-dev=y

CONFIG_zocl=y

CONFIG_packagegroup-petalinux-opencv=y

CONFIG_opencl-clhpp-dev=y

CONFIG_opencl-headers-dev=y

2.1.2 编辑petalinux-image-full.bbappend文件
# acceleration

IMAGE_INSTALL_append= " opencl-headers"

IMAGE_INSTALL_append= " opencl-clhpp"

IMAGE_INSTALL_append= " ocl-icd"

IMAGE_INSTALL_append= " xrt"

IMAGE_INSTALL_append= " xrt-dev"

IMAGE_INSTALL_append= " zocl"

添加recipes-xrt文件夹

cp -rp../reference_files/platform_project/plnx/recipes-xrt project-spec/meta-user

2.1.3 添加zocl设备树
我们需要改变Linux Device Tree,以便Xilinx Runtime kernel drivers能够被正确地探测到,在project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi文件中增加Zynq OpenCL node到设备树中。

&amba {

zyxclmm_drm {

compatible = "xlnx,zocl";

status = "okay";

reg = <0x0 0xA1000000 0x0 0x1000000>;

};

};

其地址及范围参见下图:

2.1.4 删除chromium模块
在2018.3的以后官方版本中加入chromium模块,但所消耗的内存和硬盘高达50G以上,时间超级长,非普通电脑所承受,必须去掉。

下面是我的电脑中编译过程中所记录的内存量。

将packagegroup-petalinux-ultra96-webapp注释掉

为保险起见,再加入语句IMAGE_INSTALL_remove=“packagegroup-petalinux-ultra96-webapp”

经过以上配置后,就可以编译成功了。

2.1.5 生成SDK安装包
john@john-virtual-machine:~/ultra96v2DPU/images/linux$ petalinux-build –sdk

运行时间大约一个小时


第三部分:Vitis AI Linux加速平台

3.1 准备工作
在pfm下建立文件夹boot和wksp1,

cd ultra96v2DPU
mkdir pfm
cd pfm
mkdir wksp1
mkdir boot

将/images/linux目录中的文件拷入boot文件夹

  • image.ub
  • zynqmp_fsbl.elf
  • pmufw.elf
  • bl31.elf
  • u-boot.elf

  • 在/home/john/ultra96v2DPU/pfm文件夹用./sdk.sh安装根文件sysroots

    每次新打开终端,都需要运行环境变量

    ./home/john/ultra96v2DPU/pfm/environment-setup-aarch64-xilinx-linux

    pfm文件夹里运行:

    3.2 加速平台生成
    vitis -workspace wksp1

    输入平台名称ultra96v2_plat

    指向硬件xsa文件


    将下图右下方的各种目录设置好

    现在就可以编译平台了

    新建一个应用项目

    选中刚编译成功的平台


    打开项目选用的我们刚完成编译的平台ultra96v2_plat的summary,可以看到这个平台的Category是Acceleration加速平台,操作系统是Linux。

    完全符合要求,成功创建了ultra96v2 Vitis加速平台。

    最新文章