文章转载自: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文件夹
在/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加速平台。