zedboard开发板上移植opencv代码(立体匹配)
前言
公司要做立体匹配相关的项目,已有matlab和c++版本,可是不能做到实时显示立体信息,想要硬件实现实时,无奈本渣也是个硬件的新手,先按照实验室lyq同学的思路在zedboard开发板的纯ARM核里跑代码,嵌入式的实现过程是:硬件平台是zedboard开发板,运行的是里面的ARM-A9硬核,在里面运行的是ramdisk系统它是基于Linux的,软件使用的就是在Linux上,移植opencv到zedboard上面,在虚拟机linux系统下编译代码,再zedboard上面运行就行了。其中,ramdisk是ARM-A9硬核的运行系统。在编译的过程中,需要先配置opencv环境,而且需要将opencv的配置环境的镜像文件移植到zedboard开发板(挂载opencv库)。
移植过程:
1.搭建VMware虚拟机系统,配置交叉编译环境,配置opencv库,制作opencv配置环境的镜像文件,镜像文件中是移植好的opencv库;
2.需要将整个算法过程进行编译(不一定要使用QT,也可以直接使用cmake),生成.o文件,注意:这个过程中由于LYQ移植库的时候没搞好,不能是彩色图,只能是单色bmp图像格式(画图工具另存为单色bmp图像);
将算法整个过程需要用到的文件copy到sd卡或者U盘,包括opencv库的镜像文件、输入图像、编译生成的.o文件;
3.下载串口调试工具
下载了很多串口调试工具,最后只有SecurtCRT管用,需要生成注册码,参考网站:http://download.csdn.net/detail/cwb417/8580615
非常好用,之前已经下载的有这个软件,试用期过后必须使用注册码,在网上试了好多方法都不行,把这个下载下来按照注册机文件夹的readme的步骤来做,一下子就好了;注意:patch之后生成注册信息,然后打开pc端SecureCRT 这个软件,按步骤很快就ok啦~~
4.在嵌入式板子上运行程序
首先将sd卡或者u盘挂载到开发板的系统上,创建/usr/local/lib,将库文件加载到/usr/local/lib文件夹下,运行.o文件,最后得到结果(得到的是代码运行的时间)。
整个过程中遇到的问题:
1.打开SecureCTR,选择正确的com口,串口参数设为波特率115200、数据位8、停止位1、校验无。
2.1)开发板的SD卡启动的引脚设置(Zedboard的连接和短路块设置)

2)SD卡的读写模式:lock表示sd卡被写保护;在代码的运行过程中,出现内存区域为只读模式,不能在sd卡上运行代码;sd卡的名称;

原因:sd卡是只读模式,运行代码的区域是冲突区域;之后改用u盘进行文件挂载;
3.代码使用的图像和.o文件在同一个文件夹下
4.mount时候出现device or resource busy的问题

解决方法:
LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
顺便说一句,如果目前的库是高版本的,xxx.so.5 但是程序报错是xxx.so.4 找不到,可以做一个软链接,因为一般都是可以向下兼容的
ln -s /usr/local/lib/xxx.so.5 /usr/local/lib/xxx.so.4

疑问:
1.cd /mnt; mount ./opencv_lib.img /usr/local/lib
完
zedboard开发板上移植opencv代码(立体匹配)的更多相关文章
- 在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南
昨天在B站上突然看到了一个短视频,是在正点原子的战舰V3开发板上移植华为的Huawei LiteOS操作系统,就是这个视频:看完鸿蒙OS发布会,试用华为的物联网操作系统Lite OS(B站),于是呢, ...
- ZedBoard开发板学习记录(一)之开发环境的搭建(Ubuntu16.04)以及运行HelloWorld程序的测试
ZedBoard开发板由PL和PS两大部分组成, 对PS操作,一般有两个办法: (1).在Windows系统上面,使用SDK新建C Project SDK自带编译环境,编译后自动产生elf文件.使用U ...
- FS210开发板上Qt4.7.0移植过程
作者:冯老师,华清远见嵌入式学院讲师. 1. 搭建Qt开发环境平台 1.开发环境:ubuntu 12.04 2.交叉编译链:arm-cortex_a8-linux-gnueabi 3.开发板:FS21 ...
- 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上
在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...
- 【开发实录】在鸿蒙开发板上使用websocket(移植自librws库)
librws: Tiny, cross platform websocket client C library 相关代码可在下面下载,也可进入librws: 将librws移植到鸿蒙Hi_3861开发 ...
- zedboard上移植OPENCV库
zedboard上移植OPENCV库 之前做了很多移植OPENCV库的工作,但是需要包含的各种库,需要交叉编译,X264 ,JPGE ,FFMPGE等等 注意:在<嵌入式系统软硬件协同设计实战指 ...
- ARM开发板系统移植-----u-boot的编译
本文和另外两篇姊妹篇都是为了说明如何裁剪出适合在mini2440 开发板上运行的Linux系统,以记录自己的学习成果.其中本文先介绍了嵌入式系统的软件组成部分,然后介绍编译出适合在mini2440开发 ...
- 【分享】iTOP4412开发板-Bluetooth移植文档
[分享]iTOP4412开发板-Bluetooth移植文档 最近须要把Bluetooth移植到iTOP-4412 开发平台.查阅了相关资料,经过一段时间的研究.调试,最终成功的将蓝牙功能移植到了开发板 ...
- 使用Xilinx SDSoc在Xilinx zcu102开发板上编程HelloWorld
关于Xilinx SDSoc的介绍我就不再复述了,我理解的也不一定准确,可以阅读官方文档了解SDSoc,你可以把它理解为一个集成开发环境 (IDE),通过SDSoc我们能够简单快速的对Xilinx的开 ...
随机推荐
- pycham相关+Python基础
pycham 1.设置pycham和线上服务器同步代码 a.Tools--->Deployment--->Configuration b.设置连接的服务器IP c.设置连接的用户名+密 ...
- daal4py 随机森林模型训练mnist并保存模型给C++ daal predict使用
# daal4py Decision Forest Classification Training example Serialization import daal4py as d4p import ...
- git报错fatal: I don't handle protocol 'https'处理
一.背景说明 今天使用在Cygwin中git clone时报fatal: I don't handle protocol 'https',如下: 以为是Cygwin实现的git有点问题没太在意,换去 ...
- Dagger2不自动生成daggerXXXcomponent
在Fragment里面初始化dagger2创建对象时,不自动生成daggerXXXcomponent. 百思不得其解,后来发现是import android.app.Fragment;所以不自动生成. ...
- valgrind 工具介绍和简单的使用
最近老是遇上各种奇奇怪怪的core dump,不太会分析的情况下看到了这款工具.在这记录分享下. Valgrind 是个开源的工具,功能很多.例如检查内存泄漏工具---memcheck. Valgri ...
- 关于datetimepicker只显示年、月、日的设置
如下是只显示月的sample code: <link rel="stylesheet" href="css/datetimepicker/bootstrap-dat ...
- 隔行变色&&鼠标移入变色
<html lang="en"> <head> <meta charset="UTF-8"> <title>Do ...
- day14-python异常处理
1. 异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常.异常是Python对象,表示一个错误.当Pyt ...
- Django 前台通过json 取出后台数据
转载自:https://my.oschina.net/esdn/blog/814111 步骤1:后台数据通过 JSON 序列化成字符串 注意:1.json是1个字符串 2.通过json.dumps(' ...
- JXL生成Excel,并提供下载(1:生成Excel)
public String exportExcel(long id) { String preeReviewName = "文件名"; String filePath = 路径名; ...