单片机
返回首页

OpenCV2.0.0移植到ARM9(一)(JZ2440----S3c2440)

2022-07-19 来源:csdn

Linux系统:Ubuntu9.10


交叉编译器:arm-linux-gcc-4.3.2(已安装)


OpenCV:OpenCV-2.0.0.tar.bz2(OpenCV for Linux/Mac)


CMake:cmake-2.8.12-Linux-i386.tar.gz


1、OpenCV解压


将OpenCV-2.0.0.tar.bz2放到/work/systems/下。


解压命令: tar   -jxvf  OpenCV-2.0.0.tar.bz2 


2、CMake解压:


将cmake-2.8.12-Linux-i386.tar.gz放到/work/tools/目录下


解压命令 :tar   -zxvf   cmake-2.8.12-Linux-i386.tar.gz


解压后文件夹中

配置环境变量:修改配置文件:sudo vim  /etc/environment

在原来的环境变量PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games


:/usr/local/arm/4.3.2/bin/'中添加cmake所在目录/work/tools/cmake-2.8.12-Linux-i386/bin/

使生效:source /etc/environment


3、CMake编译opencv


通过cmake-gui命令启动cmake。

/work/systems/OpenCV-2.0.0/为OpenCV的安装包目录


/work/systems/OpenCVARM/用于生成Makefile的存储。


然后点击Configure按钮,选择为Unix Makefiles,选择Specify options for cross-compiling,点击Next

配置交叉编译器


配置前

配置后


之前arm-linux-gcc-4.3.2被安装到了/usr/local/arm/4.3.2/bin目录下。


然后点击Generate按钮生成Makefile;

 

4、编译


(1)进入之前Makefile的目录,即之前配置的/work/systems/OpenCVARM目录。


(2)编译:cd  /work/systems/OpenCVARM


      编译命令:$sudo  make


第一个报错

错误:exec:arm-none-linux-gnueabi-gcc:not found


解决方法:将CMake-gui中C(Compilers)/usr/local/arm/4.3.2/bin/arm/arm-linux-gcc


改为/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc,


继续执行$ sudo make。


然后继续编译,报第二错误。


错误:exec:arm-none-linux-gnueabi-g++:not found


解决方法:


将CMake-gui中C(Compilers)/usr/local/arm/4.3.2/bin/arm/arm-linux-gcc

改为/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc, 

C++(Compilers)/usr/local/arm/4.3.2/bin/arm/arm-linux-g++

改为/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g++, 

然后执行sudo make,则可以进行编译。


编译到87%,报第三个错误。

解决方法:修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread  -lrt,


重新编译,

(3)执行$sudo  make install。将opencv生成的库和头文件(在 /work/systems/OpenCVARM/lib下),如图所示

libcvaux.so、libcv.so 、libcxcore.so、  libcxts.so 、 libhighgui.so 、 libml.so


查看生成的库是否是arm库,可以通过file libcv.so 命令查看


将opencv生成的库( /work/systems/OpenCVARM/lib下)安装到目录/usr/local/arm/4.3.2/arm-none-linux-gnueabi/lib目录下。

将opencv的头文件拷贝到/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include目录下。 

其中,/usr/local/arm/4.3.2目录是arm-linux-gcc-4.3.2的安装目录。


5、在OpenCV应用程序往开发板上移植时,需要把这5个 .so 库文件拷贝到ARM板系统中的 /lib 目录下面。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 开关电源的基本组成及工作原理

  • 比较常见的功率整流器和滤波电路

  • 基于M66T旋律发​​生器的电路图解析

  • 一个简单的红外耳机电路

  • 基于CA3193的热电偶放大器电路

    相关电子头条文章