本文转载自: 硬码农二毛哥微信公众号
问题
在运行Vitis AI VART例程时出现如下问题,在读取视频时出现错误。
![](http://xilinx.eetrend.com/files/2021-09/%E5%8D%9A%E5%AE%A2/100553792-220908-01.png)
解决办法
需要在配方文件中加入opencv功能
进入工程目录project-spec/meta-user中,新建目录:
mkdir -p recipes-support/opencv
将配方文件opencv_3.4.3.bbappend拷贝到该目录,opencv_3.4.3.bbappend文件中内容如下:
PACKAGECONFIG_remove = " gstreamer" PACKAGECONFIG_append = " libav ffmpeg" PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg," do_install_append() { rm ${D}/usr/share/OpenCV/haarcascades -rf rm ${D}/usr/share/OpenCV/lbpcascades -rf }
编译工程
运行
petalinux-build petalinux-build --sdk cd images/linux/ ./sdk.sh -d xx_custom_pkg/pfm
修改Vitis Platform
将如下两个文件拷贝到Vitis Platform工程,xx_custom_pkg为vitis工程目录。
下面文件在创建platform时使用:
cp zynqmp_fsbl.elf pmufw.elf bl31.elf u-boot.elf ../../../xx_custom_pkg/pfm/boot/ cp boot.scr system.dtb ../../../fzu3_custom_pkg/pfm/image/
下面文件在创建应用时使用:
cp images/linux/image.ub xx_custom_pkg/pfm/image/ cp images/linux/rootfs.ext4 xx_custom_pkg/pfm/image/
重新编译Vitis 应用
进入xx_custom_pkg目录,运行vitis,右键点击工程名,在出来的对话框中点击Clean Project
![](http://xilinx.eetrend.com/files/2021-09/%E5%8D%9A%E5%AE%A2/100553792-220909-02.png)
重新编译Vitis应用。
烧写SD卡
sudo dd bs=4M if=sd_card.img of=/dev/sdb status=progress conv=fsync
将如下文件拷贝到sd卡
上电测试
启动单板后,先执行init.sh
cd /mnt/sd_mmcblk1p1 source ./init.sh
拷贝文件
cp dpu_sw_optimize.tar.gz vitis-ai-runtime-1.2.0.tar.gz vitis_ai_runtime_r1.2.0_image_video.tar.gz ~/
运行dpu_sw_optimize
cd ~ tar -xzf dpu_sw_optimize.tar.gz cd dpu_sw_optimize/zynqmp/ ./zynqmp_dpu_optimize.sh
安装 Vitis AI Runtime 1.2.0
tar -xzvf vitis-ai-runtime-1.2.0.tar.gz cd ~/vitis-ai-runtime-1.2.0/aarch64/centos rpm -ivh --force libunilog-1.2.0-r10.aarch64.rpm rpm -ivh --force libxir-1.2.0-r12.aarch64.rpm rpm -ivh --force libtarget-factory-1.2.0-r10.aarch64.rpm rpm -ivh --force libvart-1.2.0-r16.aarch64.rpm rpm -ivh --force libvitis_ai_library-1.2.0-r15.aarch64.rpm
修改文件名
cd /mnt/sd_mmcblk1p1 mv binary_container_1.xclbin dpu.xclbin
修改/etc/vart.conf文件
firmware:/mnt/sd-mmcblk1p1/dpu.xclbin
解压vitis_ai_runtime_r1.2.x_image_video.tar.gz
mkdir -p ~/Vitis-AI/VART tar -xzvf vitis_ai_runtime_r1.2.0_image_video.ta.gz -C ~/Vitis-AI/VART
yolov3_adas_pruned_0_9.el和adas_detection拷贝到~/Vitis-AI/VART/samples/adas_detection
设置显示器
export DISPLAY=:0.0 xrandr --output DP-1 --mode 640x480
运行例程
./adas_detection video/adas.aviyolov3_adas_pruned_0_9.elf