在Vitis中编译Vitis AI Library应用

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

如何将Vitis AI Library应用加入Vitis进行编译,生成可执行文件?

Vitis AI Library应用编译
在不使用vitis的情况下,vitis ai library编译方法如下:

//以refinedet为例
$cd ~/Vitis-AI/Vitis-AI-Library/overview/samples/refinedet
$bash -x build.sh

运行上述指令后,生成可执行文件。

build.sh
build.sh中的内容

CXX=${CXX:-g++}
$CXX -std=c++11 -I. -o test_video_facedetect test_video_facedetect.cpp -lopencv_core -lopencv_video -lopencv_videoio -lopencv_imgproc -lopencv_imgcodecs -lopencv_highgui -lvitis_ai_library-refinedet  -pthread -lglog

在Vitis中新建应用
使用之前创建好的platform新建应用。platform创建方式参考https://github.com/Xilinx/Vitis-Tutorials/tree/2020.1/Vitis_Platform_Cre...

1、 File -> New -> Application Project

2、Click next

3、Select xx_custom as platform, click next,xx_custom为之前创建好的platform

4、Name the project refinedet_dpu, click next

5、在空白中依次选中如下内容

xx/pfm/sysroots/aarch64-xilinx-linux

xx/pfm/image/rootfs.ext4

xx/pfm/image/image.ub

6、新建应用

7、导入文件

导入文件xx_custom_pkg directory>/DPU-TRD/prj/Vitis/binary_container_1/dpu.xo

导入文件xx_custom_pkg directory>/DPU-TRD/prj/Vitis/config_file/prj_config

导入文件~/Vitis-AI/Vitis-AI-Library/overview/samples/refinedet/test_video_refinedet.cpp

导入文件~/Vitis-AI/Vitis-AI-Library/overview/samples/refinedet/process_result.hpp

8、加入Hardware Functions

点击refinedet_dpu工程,在Active build configuraton中选择Hardware


9、 加入库文件

将Vitis-AI-Library库 vitis_ai_2020.1-r1.2.0.tar.gz加入指定目录

sudo tar xzvf vitis_ai_2020.1-r1.2.0.tar.gz -C ../xx_custom_pkg/pfm/sysroots/aarch64-xilinx-linux/

右击refinedet_dpu,C/C++ Build Settings

C/C++ Build->Settings->Tool Settings->GCC Host Linker->Libraries中加入如下库文件

opencv_core
opencv_imgcodecs
opencv_highgui
opencv_imgproc
opencv_videoio
vitis_ai_library-refinedet
glog

C/C++ Build->Settings->Tool Settings->GCC Host Compiler->Includes中做如下修改。

10、重新编译refinedet_dpu工程。

右键点击refinedet_dpu工程,选择Build Project。生成文件refinedet_dpu在如下目录

xx_custom_pkg/refinedet_dpu/Hardware/package/sd_card

验证
启动单板,拷贝文件

使用ssh,将refinedet_dpu拷贝到单板~/目录。

scp refinedet_dpu root@IP:~/

在单板中运行

mv refinedet_dpu Vitis-AI/vitis_ai_library/samples/refinedet/
export DISPLAY=:0.0
xrandr --output DP-1 --mode 640x480

运行程序

./refinedet_dpu refinedet_pruned_0_8 0

最新文章

最新文章