正点原子阿尔法IMX6ULL开发板移植mjpg_streamer

2024-03-10 16:59

本文主要是介绍正点原子阿尔法IMX6ULL开发板移植mjpg_streamer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

正点原子阿尔法IMX6ULL开发板移植mjpg_streamer


文章目录

  • 正点原子阿尔法IMX6ULL开发板移植mjpg_streamer
  • 1.nfs共享目录
  • 2.移植 MJPG 库
  • 3 移植 mjpg-streamer 服务器


1.nfs共享目录

首先已经搭建号nfs环境。在开发板下
先创建目录get

mkdir get

开发板终端执行下列命令

mount -t nfs -o nolock,nfsvers=3 192.168.10.100:/home/alientek/linux/nfs get/

ip地址自行设置,虚拟机的ip

然后查看get目录
在这里插入图片描述
如何搭建nfs环境见其他文章

2.移植 MJPG 库

使用 mjpg-streamer 要用到 MJPG 库, 所以我们要先把 MJPG 库移植到开发板上。
MJPG 库下载地址:
http://www.ijg.org/files/
在这里插入图片描述
在这里插入图片描述
将下载好的 jpegsrc.v8b.tar.gz 压缩包放到ubuntu中 自定义mjpg 文件夹下, 然后解压:

tar -vxf jpegsrc.v8b.tar.gz

在这里插入图片描述
然后在目录下创建文件夹用来存放编译生成文件,执行以下命令配置编译选项:

./configure --host=arm-poky-linux-gnueabi --prefix=/home/alientek/tools/mjpg/install/

参数说明:
–prefix=/home/alientek/tools/mjpg/install/: 为上步创建的文件夹路径, 根据实际填写。
–host=arm-linux-gnueabihf: 为交叉编译工具的名字。
在这里插入图片描述
执行 make 编译, 完成后如下图:

make

在这里插入图片描述

make install

进入install 文件夹查看, 有如图所示文件即为成功:
在这里插入图片描述
将install 的/lib/下的库文件拷贝到开发板的/lib/目录下:

在这里插入图片描述

3 移植 mjpg-streamer 服务器

mjpg-streamer 是一个命令行应用程序, 可通过网络将 JPEG 文件从网络摄像头流传输到各种类型的查看器, 例如浏览器, mplayer 等其他能够接收 MJPG 流的软件。
下载网站:
MJPG-streamer / Code / [r182] (sourceforge.net)
https://sourceforge.net/p/mjpg-streamer/code/HEAD/tree/

在这里插入图片描述
输入

svn checkout https://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code

下载, 目录下多出以下文件:

在这里插入图片描述
进入 mjpg-streamer/mjpg-streamer-code/mjpg-streamer/文件夹:
执行

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

使能交叉编译工具

make clean

输入以下命令修改交叉编译工具:

find -name "Makefile" -exec sed -i "s/CC = gcc/CC = arm-linux-gnueabihf-gcc/g" {} \;

正点原子阿尔法开发板是基于I.MX6UL芯片的ARM Linux开发板,它提供了两种交叉编译工具链:

  • 一种是Poky编译器,是Yocto项目编译出的,常用于编译Uboot和Linux出厂源码,以及快速编译Qt应用程序到开发板上运行。
    另一种是通用的交叉编译器,用于ARM Linux驱动和应用开发。
    这两种交叉编译工具链的名字分别为:
  • arm-poky-linux-gnueabi-
  • arm-linux-gnueabihf-
grep "arm-linux-gnueabihf-gcc" * -nR

在这里插入图片描述
继续修改编译选项, 搜索“CFLAGS” :
在这里插入图片描述
根据搜索出来的信息, 进入 plugins 文件夹, 修改 plugins/input_uvc/Makefile, 第 15 行添加

CFLAGS += -I /home/alientek/tools/mjpg/install/include/

更据1中安装的MJPG 库目录来,自行修改,下同
第 25 行改为:

LFLAGS += -L /home/alientek/tools/mjpg/install/lib/-ljpeg

在这里插入图片描述
回到 mjpg-streamer 目录下, 执行

make 

编译, 成功后如下图

在这里插入图片描述
在目录下会生成.so 库文件和 mjpg_streamer,
在这里插入图片描述
将.so 文件拷贝到开发板的/lib/目录下, mjpg_streamer 文件夹拷贝到开发板的/bin/目录下, www 拷贝
到/opt/目录下:
先将文件拷贝到nfs目录下

cp *.so start.sh mjpg_streamer /home/alientek/linux/nfs/mjpg
cp www /home/alientek/linux/nfs/mjpg -rf
cp mjpg_streamer /home/alientek/linux/nfs/mjpg

让后在板子终端下拷贝到相应位置
在这里插入图片描述

cp *.so /lib/
cp www /opt/ -rf
cp mjpg_streamer /bin/

在这里插入图片描述
到此移植结束,移植后自行测试
此处我使用正点原子的ov2640测试出了点问题,努力解决中

这篇关于正点原子阿尔法IMX6ULL开发板移植mjpg_streamer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794896

相关文章

移植对话框MFC

VC版 MFC程序对话框资源移植 以下均拷贝自上面,仅用来记录 (部分有删除) 法1: Eg:将B工程调试好的对话框移植到A工程中 1.资源移植         1.1  在2017打开B工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件,按Ctrl+C或点击Edit->Copy.         1.2. 关闭当前工程,注意不要关闭VC6,打开B工程(File

基于imx6ull开发板 移植opencv4.7.0

一、概述 本章节是针对opencv-4.7.0移植到Linux系统,运行在正点原子-I.MX6U ALPHA开发板 上,详细的移植流程如下。 二、环境要求 2.1 硬件环境 正点原子-I.MX6U ALPHA开发板虚拟机:VMware 2.2 软件环境 Ubuntu系统要求:20.04opencv版本: 4.7.0opencv贡献软件版本:4.x交叉工具链版本:gcc-linaro-6

conda环境的备份和移植

备份和移植 Conda 环境可以通过以下步骤实现: 克隆环境 conda create --name backup_myenv --clone myenv# 删除原环境# conda remove --name myenv --all 移植 Conda 环境 方法1:使用 environment.yml 文件移植环境 # 导出环境的依赖项conda env export --na

八、(正点原子)Linux内核定时器实验

定时器是我们最常用到的功能,一般用来完成定时功能,本章我们就来学习一下 Linux 内核提供的定时器 API 函数,通过这些定时器 API 函数我们可以完成很多要求定时的应用。 Linux内核也提供了短延时函数,比如微秒、纳秒、毫秒延时函数,本章我们就来学习一下这些和时间有关的功能。 一、Linux时间管理和内核定时器介绍         1、内核时间管理         在

52、U-boot2023的移植教程

uboot:https://ftp.denx.de/pub/u-boot/ nxp-uboot:https://github.com/nxp-imx/uboot-imx 1、顶层Makefile  文件加入编译的两种方式:以xxx/xxx.c文件为例         1、使用menuconfig:               先编辑.c所在目录下的Kconfig,加入配置项xxx

将OpenCV的代码从C++移植到C语言过程小记

目录 1、需求背景2、移植成C语言2.0 移除namespace特性2.1 移除template特性2.2 移除class特性2.3 移除vector特性2.4 移除std函数2.5 移除引用传值2.6 移除auto类型推导2.7 C++中的关键词2.8 其他语言差异 3、测试和杂项3.1 C语言和C++编译兼容3.2 GCC用C语言规则编译源文件3.3 修改文件名后缀 4、最终代码

cocos2dx移植android平台

尊重版主:http://www.cocoachina.com/bbs/read.php?tid=195182 Cocos2D-X SimpleGame & 初学者教程:http://cocos2d.cocoachina.com/resource/show?nid=82 本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是麻烦

linux内核开发板启动流程

声明:本文章是整理网上的资料和自己的理解 很早买了tiny6410开发板,内核使用配置好的,在内核Linux 2.6源码中包含了S3C6410 的驱动,最近想在自己的板子上移植Linux内核(内核源码没有中相关的配置),一直找不到思路,不知道Linux内核如何启动去配置相关的驱动的,在阅读内核启动的流程过程中(重点关注针对不同板子的驱动的加载流程,参考网上文章和博客),发现Linux的的板级的驱

移植SQLite到ARM开发板

最近在搞移植数据库到开发板,上网一搜都是sqlite ,所以就用这个吧,记录一下,特别简单, 首先要确保开发环境是好的,交叉编译器,NFS文件系统挂载等, 下载sqlite源码, http://www.sqlite.org/quickstart.html 拷贝到UBUTUN系统里,解压 tar -xzvf sqlite-autoconf-3080403.tar.gz 进入目录 cd

移植SDL2_ttf到ARM

下载最新源码,最新的才支持SDL2 然后执行命令,,编译通过,,,,前期准备是要成功安装freetype 和sdl2 ./configure --prefix=/gzz/cross_compile/SDL --host=arm-linux --with-sdl-prefix=/gzz/cross_compile/SDL --with-freetype-prefix=/gzz/cross_co