海思3559单独编译ive模块
在3559上如果需要根据自己的需求进行开发的话,sample里面的例程是远远不够的,本文主要是自己在单独编译IVE模块时的一些经验总结,希望能对大家有所帮助。
主要包含需要的源代码如下图所示,如果需要使用c++编译的话,需要自己建立xx.cpp的文件。
需要的第三方库,opencv和Hisi。Hisi的.so和.a文件从out文件夹中获取
Opencv的库我用的是3.4.1,编译参考https://blog.csdn.net/Somnr_m/article/details/114655589
有了这些文件,就需要使用cmake进行编译,即可生成可执行文件。
cmake文件如下所示:
CMAKE_MINIMUM_REQUIRED(VERSION 3.18)project(3559Project)
SET(CMAKE_CXX_STANDARD 11)
# 设置编译器选项:O3优化,显示所有警告
SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O3 -Wall -g -lstdc++ -mcpu=cortex-a53")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -std=c++11 -Wall -g -lstdc++ ")SET(CROSS_TOOLCHAIN_PREFIX "/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin")
SET(CMAKE_C_COMPILER ${CROSS_TOOLCHAIN_PREFIX}/aarch64-himix100-linux-gcc)
SET(CMAKE_CXX_COMPILER ${CROSS_TOOLCHAIN_PREFIX}/aarch64-himix100-linux-g++)MESSAGE(STATUS "CMAKE_C_COMPILER:" ${CMAKE_C_COMPILER})
MESSAGE(STATUS "CMAKE_CXX_COMPILER:" ${CMAKE_CXX_COMPILER})# 设置Cmake查找主路径
SET(CMAKE_FIND_ROOT_PATH /opt/hisi-linux/x86-arm/aarch64-himix100-linux)# hisi
SET(HI_INCLUDE ${PROJECT_SOURCE_DIR}/thirdParty/Hisi/include)
SET(HI_LIB ${PROJECT_SOURCE_DIR}/thirdParty/Hisi/lib)
SET(HI_SVP_COMMON_INCLUDE ${PROJECT_SOURCE_DIR}/src/include)
INCLUDE_DIRECTORIES(${HI_INCLUDE})
INCLUDE_DIRECTORIES(${HI_SVP_COMMON_INCLUDE})
LINK_DIRECTORIES(${HI_LIB})#opencv
SET(OPENCV_INCLUDE ${PROJECT_SOURCE_DIR}/thirdParty/opencv3.4.1/include)
SET(OPENCV_LIB ${PROJECT_SOURCE_DIR}/thirdParty/opencv3.4.1/lib)MESSAGE(STATUS "OPENCV_INCLUDE:" ${OPENCV_INCLUDE})
MESSAGE(STATUS "OPENCV_LIB:" ${OPENCV_LIB})#SET(OPENCV_INCLUDE /home/zynq/build_hi3559a/install/include)
#SET(OPENCV_LIB /home/zynq/build_hi3559a/install/lib)
INCLUDE_DIRECTORIES(${OPENCV_INCLUDE})
LINK_DIRECTORIES(${OPENCV_LIB})FILE(GLOB OPENCV_LIBS "${OPENCV_LIB}/*")
FILE(GLOB HI_LIBS "${HI_LIB}/*")MESSAGE(STATUS "OPENCV_LIBS:" ${OPENCV_LIBS})#添加源文件路径
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src/. SRC)
AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src/common/. SRC)add_definitions(-DSENSOR0_TYPE=SONY_IMX334_MIPI_8M_30FPS_12BIT)
add_definitions(-DSENSOR1_TYPE=SONY_IMX334_MIPI_8M_30FPS_12BIT)
add_definitions(-DSENSOR2_TYPE=SONY_IMX334_MIPI_8M_30FPS_12BIT)
add_definitions(-DSENSOR3_TYPE=SONY_IMX334_MIPI_8M_30FPS_12BIT)
add_definitions(-DSENSOR4_TYPE=SONY_IMX277_SLVS_8M_30FPS_12BIT)
add_definitions(-DSENSOR5_TYPE=SONY_IMX277_SLVS_8M_30FPS_12BIT)
add_definitions(-DSENSOR6_TYPE=SONY_IMX277_SLVS_8M_30FPS_12BIT)
add_definitions(-DSENSOR7_TYPE=SONY_IMX277_SLVS_8M_30FPS_12BIT)ADD_EXECUTABLE(sample_ive_main ${SRC})
TARGET_LINK_LIBRARIES(sample_ive_main ${HI_LIBS} -lpthread -lrt -ldl -lm)
TARGET_LINK_LIBRARIES(sample_ive_main ${OPENCV_LIBS} -lpthread -lrt -ldl -lm)
海思3559单独编译ive模块相关推荐
- 海思3559编译live555
1.找到live555最新的安装包http://www.live555.com/liveMedia/public/ 下载live555-latest.tar.gz 2.安装live555,必须先安装o ...
- 1.海思项目整理 编译烧录+启动参数+sample编译+bayeRGBYUV+MPP(VB+VI+VPSS)
1.1.2.检测开发板 (4)SecureCRT监视打开,开发板开机,自动挂载到/home/aston/rootfs中 (5)自动加入/mnt中,执行./sample_venc即可 (6)在vlc中输 ...
- 海思3559万能平台搭建:DDR移植的一些问题
前言: 开发板是绝对无误的硬件环境,但是我们平时的开发肯定会接触自己搭建的硬件环境,难免会有这样那样的小问题,这里给出一次DDR的调试过程 问题描述 海思3559开发板可以用默认配置表格生成的 ...
- 海思3559 人脸识别
https://github.com/hanson-young/nniefacelib nniefacelib是一个在海思35xx系列芯片上运行的人脸算法库,目前集成了mobilefacenet和re ...
- 海思3559万能平台搭建:串口编程
前言 平常的工作使用中,总是免不了要和串口打交道,协议的收发也经常通过串口来实现,海思3559下的串口和标准的linux下串口大同小异,可以参考之前zynq的串口编程,也可以直接阅读本文 使能串口 ...
- 海思3559移植yolov3
此人博客上有完整教程: https://blog.csdn.net/avideointerfaces/article/category/8762084 海思3559移植yolov3 海思AI芯片(Hi ...
- 海思3559与全志a83t比较
全志 a838t 8核 cpu0主频 1800000m,cpu7 480000m 满负荷运行 1608000m 海思开发板运行 第一次 opencv 运行图像处理 全志开发板需要35ms 海思355 ...
- 海思3559A上编译ffmpeg
参考文章:<海思3559A上编译FFmpeg源码操作步骤> 其中遇到的几个问题: 1. 将提示的.o文件全部删除,再重新编译即可. 2. 参考文章:<ffmpeg 交叉编译 make ...
- 海思3559:百兆网口的配置
前言 海思3559的开发板网口是默认支持千兆/百兆的,这里的自适应,是从RJ45出来后和PC侧的自适应,而实际上3559对于网口的设置,默认都是RGMII模式,除了对应的软件配置,硬件部分需要通过 ...
最新文章
- CI框架常用函数(AR数据库操作的常用函数)
- java beans 组件_如何利用JavaBeans在应用程序中创建组件?
- js 中声明变量 “提前”
- kali linux 截图位置,Kali Linux中使用shutter截图工具 | CN-SEC 中文网
- python如何循环使用input_python基础知识input到while循环
- 辗转相除法应用之倒C语言实现
- 给定N个加号,M个减号以及N+M+1个整数,A1+A2+...+Am+An+1,小明想知道在所有由这n个加号,M个减号以及N+M+1个整数凑出的合法的后缀表达式中,结果最大的是哪一个?
- Linux下selinux简单梳理
- java concurrent 线程通信_java并发之线程间通信
- cad小插件文字刷_CAD实用小插件,这是一串让你效率提升相见恨晚的代码!
- VBScript 基础知识
- 笑来就是个鸡汤写手啊!
- C指针原理(32)--C语言-pvm并行计算
- Redis 列表(List)方法使用详解
- 如何在Ubuntu上方便使用OpenAI API key
- SPSS大学生毕业生就业问题分析
- Img2Lcd 使用
- (五)Vue之data与el的两种写法
- 【C++】String用法总结
- 华为WLAN基础全套学习笔记整理