怎样将Xilinx的xfOpenCV库移植到ZedBoard平台

 怎样将Xilinx的xfOpenCV库移植到ZedBoard平台

xfOpenCV 是Xilinx针对Opencv做的一个加速库,目前只在支持reVISION的ZCU102平台上做过评估,哪假如其他平台想要使用这个库,我们应该怎么做呢?下面以ZedBoard为例来细说这个过程,由于我的系统是Linux,所以这里主要以命令行的方式来操作。

1、 正确安装Xilinx2017.1,详细过程这里不再赘述

2、下载zcu102_es2_reVISION包,并解压到相应工作目录下,打开命令行输入命令:
export SYSROOT= ${zcu102_es2_reVISION_path}/sw/aarch64-linux-gnu/sysroot

3、下载xfOpencv库,输入命令:
git clone https://github.com/Xilinx/xfopencv.git

4、进入xfopencv/examples目录:cd xfopencv/examples ,该目录的每一个文件夹都是一个加速示例,部分如下所示:

 怎样将Xilinx的xfOpenCV库移植到ZedBoard平台

5、进入其中一个示例,如: cd accumulate,该目录文件结构如下所示:

6、修改Makefile文件,把变量PLATFORM修改成 PLATFORM = zed ,保存修改

7、输入命令:make
如果出现“/bin/sh: 1: sds++: not found” 这个错误,说明没有把sds++这个命令加入到环境变量中,手动加一下即可,如:source ${your_xilinx2017.1_path}/sdsoc/SDx/2017.1/settings64.sh 。

如果出现“zcu102_es2_reVISION/sw/aarch64-linux-gnu/sysroot/usr/lib/crt1.o: file not recognized: 不可识别的文件格式” 错误,说明平台是不兼容的,因为zcu102的arm处理器是Cortex-A53,64位架构,而ZedBoard的arm处理器是Cortex-A9,32位架构,所以需要把${zcu102_es2_reVISION_path}/sw/aarch64-linux-gnu/sysroot/usr/lib/ 和 ${zcu102_es2_reVISION_path}/sw/aarch64-linux-gnu/sysroot/usr/lib下所需要用到的库换成32版本的即可。简单做法如下:

1)cd ${zcu102_es2_reVISION_path}/sw/aarch64-linux-gnu/sysroot/

2)cp -r lib lib64 ; cd lib

3)cp -r {yout_xilinx2017.1_path}/sdsoc/SDx/2017.1/SDK/gnu/aarch32/lin/gcc-arm-linux-gnueabi/arm-linux-gnueabihf/libc/lib* .

4)cd ../usr

5)cp -r lib lib64 ; cd lib

6)cp -r {yout_xilinx2017.1_path}/sdsoc/SDx/2017.1/SDK/gnu/aarch32/lin/gcc-arm-linux-gnueabi/arm-linux-gnueabihf/libc/usr/lib* .
7)opencv相应的动态链接库也是64位,因此需要手动生成32位版本的,具体做法参考

8)将opencv重新生成32位的动态链接库copy过来即可

做完上述修改之后重新编译即可,有个问题需要注意的是,在Makefile文件中,LLIBS变量指定很多链接库(所有示例中这个变量的值都一样,估计是为了偷懒),如“LLIBS = -lopencv_imgcodecs -lopencv_core -llzma -ltiff -lpng16 -lz -ljpeg -lopencv_imgproc -ldl -lrt -lwebp -lopencv_features2d -lopencv_flann ” ,但在本示例中“LLIBS= -lopencv_core -lopencv_imgproc -lopencv_imgcodecs -ldl ” 即可 ,这样可以不用将其他一些不需要的库都转成32位的才能通过编译。

用户喜欢...

使用Xilinx系统生成器实现简单的DDS

在本文中,我们将讨论使用Xilinx System Generator实现简单的直接数字频率合成器(DDS)。 System Generator是一个功能强大的工具,它将Xilinx FPGA设计过程与MATLAB的Simulink集成,后者使用高级描述轻松实...


LVDS高速ADC接口, Xilinx FPGA实现

LVDS 即Low-Voltage Differential Signaling。FPGA的selecteIO非常强大,支持各种IO接口标准,电压电流都可以配置。其接口速率可以达到几百M甚至上千M。使用lvds来接收高速ADC产生的数据会很方便。像IS...


NI推出基于Xilinx Kintex UltraScale 技术的全新PXI FlexRIO架构

全新的PXI FlexRIO示波器与PXI FlexRIO协处理器模块相结合,无需通过自定义设计, 即可提供自定义硬件解决方案。 NI(美国国家仪器公司,National Instruments,简称NI) 作为致力于为工程师和科学家提...


Xilinx FPGA在基因组测序中大显身手!

作者:sleibso ,编译:蒙面侠客 引言: PrecisionFDA平台是基因组信息学社区和共享数据平台,这是一个为研究人员准备的开源、基于云的工具,它将为下一代测序诊断提供依据,并且为所有开...


Xilinx Zynq开发--修改官方的根文件系统

#前段时间在做zynq702评估的时候,提出了一种省事的制作和修改根文件系统的方法: #用dd命令将官方uramdisk----->ramdisk #或者直接用官方的ramdisk ,解压后得到ramdisk.image #1.将ramdisk 挂载到/mnt下...


Xilinx中的xapp1052理解

xapp1052是xilinx官方给出的一个有关DMA数据传输的样例,用于PC端和FPGA端之间的DMA数据传输。首先需要说的是,xapp1052并不是一个完整的DMA数据传输的终端硬件设计,这在下面会有详细解释。 首...


Xilinx FPGA复位浅析

1. 普通逻辑的复位 对于xilinx 7系列的FPGA而言,flip-flop支持高有效的异步复/置位和同步复位/置位。对普通逻辑设计,同步复位和异步复位没有区别,当然由于器件内部信号均为高有效,因此推...


Xilinx Vivado Zynq Pldma APB控制线调试

在xilinx vivado zynq pldma PL部分ILA调试中,观测APB总线上的数据是正常的,但PLDMA没有成功,分析代码发现在HP_DMA模块中使用m_apb_pclk与m_apb_presetn为悬空状态。由于Avnet的例程建立在2014年,所以使...


Xilinx petalinux2015.4安装流程

一直以来在Xilinx Zynq上进行Linux开发使用的是Digilent提供的linux源码,而近来发现petalinux也成为免费软件了,官网描述如下 “The PetaLinux Tools License is no longer required. Users can install and use PetaLinux...


Mellanox网卡嵌入Xilinx FPGA将降低背板插槽数量与CPU周期占用

Mellanox公司的下一代Innova网络适配器不仅将整合强制性高速接口,同时亦将嵌入一块Xilinx FPGA芯片。 分流工作负载已经成为Mellanox适配器发展策略中的一项重要组成部分,而这显然也迎合了一...


xilinx vivado zynq pldma PL部分ILA调试

通过前面的PL DMA设计,在SDK中运行,很正常的没有运行起来(block design与source desing都是自己手敲,明显的错误已经改正,能够生成bit文件启动SDK调试)。 首先在PL部分调试,作为PL DMA的控制...


Xilinx Zynq ZC702学习总结

Xilinx zynq zc702开发: 一、zynq开发整个生态系统搭建: 1.基础资料获取: https://github.com/Xilinx/ (包括:交叉编译工具,linux kernel源码,u-boot源码, device-tree源码, qemu, gdb等等) (提供 了几乎所...


让工厂更智能——Xilinx工业解决方案将集中亮相2017工博会

赛灵思公司(Xilinx, Inc. (NASDAQ:XLNX))宣布参展2017年11月7日即将在上海举行的工博会“2017 IAS 工业自动化展”, 围绕“赛灵思让工厂更智能”为主题现场演示八大工业解决方案,覆盖赛灵思最...


Xilinx RFSoC凭借先进技术的最佳运用荣膺ARM TechCon创新奖

赛灵思新型RFSoC产品系列完美集成了RF射频信号链以及FPGA逻辑和多核多处理ARM子系统 赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))今天宣布,其Zynq® UltraScale+™ RFSoC产品线凭借对先进技术的最佳运用...


Xilinx发布具有片上冗余特性的单芯片功能安全性解决方案、加速IEC 61508 认证并降低系统开发成本

Zynq-7000 All Programmable SoC 率先通过功能安全性权威机构 TÜV 莱茵的 SIL 3 结合 HFT=1 综合架构评估 赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))今天宣布推出一款单芯片Zynq®-7000 All Programmable SoC功能安全...


Xilinx平方根IP核的用法- 整形平方根算法

以下是算整形平方根的IP核,如果计算浮点数,可以用浮点数的平方根IP核。 标注1:数据省略格式: 第一种:Truncate:直接取整 第二种:Round Pos Inf:四舍五入,+0.5之后四舍五入,在负数时和...