SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别

SDSoC链接OpenCV

图像处理和机器视觉是Zynq系列FPGA常见的应用场景,这部分工作经常用到OpenCV。此外,Xilinx还提供了硬件加速版的OpenCV,二者结合可以极大地提升开发效率。
本文将以zcu104为例介绍如何在SDSoC中链接OpenCV,本文在Ubuntu16.04+SDSoC2018.2下测试通过

搭建SDSoC Platform

参照为《zcu102搭建带Xfce4桌面的SDSoC Platform》https://blog.csdn.net/lulugay/article/details/83277270
搭建zcu104的SDSoC Platform

准备OpenCV的.so文件

有两种选择,一种是下载OpenCV的源代码并交叉编译,网上的教程有很多,在此不赘述。
这里提供一种相对简单的办法

$ cd 
$ petalinux-config -c rootfs

在Filesystem Packages -> misc -> packagegroup-petalinux-opencv下使能packagegroup-petalinux-opencv
SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别_第1张图片
然后编译工程

$ petalinux-build

编译结束后在< path to plnx project>/images/linux下可以看到很多以rootfs开头的文件
SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别_第2张图片
这些压缩文件解压之后都是一样的

配置环境变量

Ubuntu

  • 解压文件
mkdir ~/SYSROOT_arm64
tar -xvf rootfs.tar.gz -C ~/SYSROOT_arm64
  • 配置环境变量

在~/.bashrc最后添加

export SYSROOT_arm64=~/SYSROOT_arm64

Windows

  • 解压文件
    在管理员权限下用7zip解压rootfs.tar.gz文件,假设解压后的文件放在C:\SYSROOT_arm64
  • 配置环境变量
    控制面板->系统和安全->系统->高级系统设置->环境变量
    SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别_第3张图片

配置SDSoC

新建一个SDSoC Application命名为ColorDetect

添加路径

project.sdx->properties->C/C++ General->Paths and Symbols->includes->Languages->GNU C++
点击右侧Add添加如下两行

C:\SYSROOT_arm64\usr\include

project.sdx->properties->C/C++ General->Paths and Symbols->includes->Languages->GNU C执行同样的操作
添加后如下图所示
SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别_第4张图片

链接

project.sdx->properties->C/C++ Build->Settings->SDS++ Compiler->Inferred Options->Software Platform
Software Platform Inferred Flags输入

-I${SYSROOT_arm64}/usr/include -hls-target 1

project.sdx->properties->C/C++ Build->Settings->SDSCC Compiler->Inferred Options->Software Platform执行同样的操作
如下图所示
SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别_第5张图片
project.sdx->properties->C/C++ Build->Settings->SDS++ Linker->Libraries
按照下图配置
SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别_第6张图片
project.sdx->properties->C/C++ Build->Settings->SDS++ Linker->Miscellaneous下输入

--sysroot=${SYSROOT_arm64} -Wl,-rpath-link=${SYSROOT_arm64}/lib,-rpath-link=${SYSROOT_arm64}/usr/lib

如下图所示
SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别_第7张图片

编译SDSoC应用

未完待续
欢迎大家关注Xilinx学术合作以及Pynq的官方公众号,里面有许多优质的学习资源等着你哦
在这里插入图片描述
在这里插入图片描述
希望了解HLS的同学可以关注公众号Xilinx学术合作以及PYNQ中文社区获取最新版《FPGA并行编程-- 以HLS实现信号处理为例》pdf ,关注任一公众号,回复 pp4fpgas 即可获得

你可能感兴趣的:(SDSoC软硬件协同设计流程系列——5.SDSoC+xfOpenCV+OpenCV颜色识别)